我正在尝试将命令发送到一个小的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了,对吗?
我在做什么错了?