python - 使用 bash 或 Python 将命令发送到串行
问题描述
我试图向一个小的 Arduino 类型板发送命令。板上有一个 CP2012 串口转 USB 适配器,通过 Micro USB 连接。
我可以使用
screen -L /dev/cu.SLAB_USBtoUART 115200 -L
我在上面上传了一个脚本,以便我可以筛选它,然后只需键入并按 Enter 键,该消息就会显示在迷你显示器上。因此,通过 Serial 发送的每条消息都应显示在其屏幕上。
我可以使用串行监视器,只需输入它,它就可以工作,我可以使用我上面写的屏幕命令来筛选它,然后只需输入,按回车,它就会显示出来。
我尝试使用此脚本自动执行此操作:
import serial
import time
ser = serial.Serial('/dev/cu.SLAB_USBtoUART', 115200, timeout = 1)
commandToSend = "Hello there!"
ser.write(str(commandToSend).encode())
它不工作。一开始什么也没发生。如果我然后通过屏幕“登录”,我可以看到“你好!” 但它不是用回车键输入的。如何在“Hello there”后按回车?
EDIT: \r carriage return works fine.
唯一需要解决的问题是:
我试过这个,它也不起作用:
sudo echo -en "Blub" >/dev/cu.SLAB_USBtoUART
由于它有一个板载 CP2012 并通过 USB 连接,是否仍然使用导入串行?它在技术上不再是串行的,它的 USB 对吗?
我究竟做错了什么?