Я пытаюсь послать команды на маленькую доску типа Arduino. На плате имеется переходник CP1 Serial to USB на плате, и он подключен через Micro USB.
Я могу отобразить на нем экран с помощью
screen -L /dev/cu.SLAB_USBtoUART 115200 -L
У меня есть загруженный скрипт, чтобы я могна экране, а затем просто введите и нажмите Enter, и это сообщение отображается на мини-дисплее. Таким образом, каждое сообщение, отправленное через последовательный порт, должно отображаться на его экране.
Я могу использовать Serial Monitor и просто набрать его, и оно работает, и я могу использовать экранную команду, которую я написал выше, чтобы отобразить его, а затем простовведите, нажмите Enter, и он появится.
Я попытался с помощью этого сценария, чтобы сделать это автоматически так:
import serial
import time
ser = serial.Serial('/dev/cu.SLAB_USBtoUART', 115200, timeout = 1)
commandToSend = "Hello there!"
ser.write(str(commandToSend).encode())
Не работает. Сначала ничего не происходит. Если я затем "войти" через экран, я вижу "Привет!"но это не было введено нажатием Enter. Как я могу нажать клавишу ввода после «Привет!»?
EDIT: \r carriage return works fine.
Осталась решить только одна проблема:
И я попробовал это, также не работает:
sudo echo -en "Blub" >/dev/cu.SLAB_USBtoUART
Поскольку на плате установлен CP2012 и он подключен через USB, целесообразно ли использовать последовательный импорт? Это технически не серийный больше USB, верно?
Что я делаю не так?