首页 > 解决方案 > 使用 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 对吗?

我究竟做错了什么?

标签: pythonpython-3.xarduinoscreentty

解决方案


推荐阅读