Отправляйте команды в Serial, используя bash или Python - PullRequest
0 голосов
/ 24 октября 2019

Я пытаюсь послать команды на маленькую доску типа 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, верно?

Что я делаю не так?

...