使用bash或Python将命令发送到Serial

时间:2019-10-24 20:04:19

标签: python python-3.x arduino screen tty

我正在尝试将命令发送到一个小的Arduino型板。该评估板上有一个CP2012串行转USB适配器,并通过Micro USB连接。

我可以使用

筛选
    screen -L /dev/cu.SLAB_USBtoUART 115200 -L

我在上面上传了一个脚本,这样我可以将其筛选出来,然后键入并按Enter键,该消息将显示在迷你显示屏上。 因此,通过串行发送的每条消息都应显示在其屏幕上。

我可以使用串行监视器,只需键入它即可使用,并且我可以使用上面编写的screen命令将其筛选出来,然后键入,按Enter键,它就会显示出来。

我使用此脚本尝试过自动执行此操作:

    import serial
    import time

    ser = serial.Serial('/dev/cu.SLAB_USBtoUART', 115200, timeout = 1)
    commandToSend = "Hello there!"
    ser.write(str(commandToSend).encode())

它不起作用。起初什么也没发生。如果然后我通过屏幕“登录”,我会看到“你好!”但它不是用Enter键输入的。 在“ Hello there”之后如何按Enter键?

    EDIT: \r carriage return works fine.

剩下要解决的问题是:

我尝试了这个,它也没有用:

    sudo echo -en "Blub" >/dev/cu.SLAB_USBtoUART

由于板载CP2012并通过USB连接,是否仍然可以使用导入串行?从技术上讲,它不再是USB了,对吗?

我在做什么错了?

0 个答案:

没有答案