Я делаю управляемый ssh-remote-and-real-time квадрокоптер Rasberry Pi.
Теперь я столкнулся с некоторой проблемой, связанной с отправкой данных через stdin подпроцесса ssh.Язык программирования - python3
Что я хочу достичь, так это то, что у меня есть локальная программа на Python, которая выполняет ssh-execute программу quadcopter raspberry pi в качестве подпроцесса и отправляет пользовательскую команду, записывая ее в stdin этого подпроцесса.И мой квадрокоптер должен иметь возможность принимать пользовательские команды через стандартный ввод, но не блокировать весь цикл программы.
из моей локальной программы контроллера должен быть похож на
...
ssh_proc = subprocess.Popen(
['python3','test.py'], # for now I'm using test py to debug
stdin = subprocess.PIPE,
stdout = subprocess.PIPE,
stderr = subprocess.PIPE
)
...
# when I send command
ssh_proc.stdin.writeline(my command)
, а моя программа-получатель дляtest:
import time
while (1):
print('read from stdin', sys.stdin.readline(), flush=True)
time.sleep(0.01)
Для отладки должен быть какой-то вывод эха, но я ничего не получил.