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

2024-04-29 07:01:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着给一个小小的Arduino类型的板发送命令。该板上有一个CP2012串行至USB适配器,通过Micro USB连接

我可以使用

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

我有一个脚本上传到它,这样我就可以进入它的屏幕,然后只需键入并按回车键,该消息显示在小显示屏上。 所以通过串口发送的每一条信息都应该显示在屏幕上

我可以使用串行监视器,只需输入它,它的工作,我可以使用屏幕命令,我写了上面的屏幕进入它,然后只需键入,按回车键,它显示出来

我试着用这个脚本自动完成它,就像这样:

    import serial
    import time

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

它不起作用。一开始什么都没发生。如果我然后“登录”通过屏幕,我可以看到“你好但不是用回车键输入的。 在“你好”之后怎么按回车键

    EDIT: \r carriage return works fine.

唯一要解决的问题是:

我试过这个,也不管用:

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

由于它有一个CP2012板上,并通过USB连接是适当的,仍然使用导入串行?从技术上讲它不再是串行的了它的usb对吧

我做错什么了


Tags: devimport命令脚本键入屏幕serialser