【发布时间】:2018-11-26 21:34:11
【问题描述】:
使用 Arduino 将数据发送到 Raspberry Pi。虽然这是一个正在开发的项目,但这可能不是最终产品的真实情况。但我发现自己在我的计算机和 RPI 之间交换了 Arduino 的 USB 电缆和第四个。在 RPI 上,每次我将电缆进出时,USB 连接的端口都会发生变化。像增量一样工作。现在端口号是ttyACM4,但我今天从ttyACM1 开始。在/dev/ 下,所有三个先前的连接ttyACM1-3 都被删除。
所以,为了确保我在 Python 代码中使用正确的串行端口,有没有办法确保我在启动 serial.Serial 时使用正确的端口?
那么,有没有更简单的方法来保存硬件主应用程序代码并进行串行握手,并让 RPI 测试其所有通过 serial.tools.list_ports 可用的连接?
【问题讨论】:
-
我会先尝试让设备有一个稳定的名称,然后再循环通过所有端口。
udev是命名开发节点的东西。您可以尝试编写自己的用于命名串行端口节点的规则,或者可能已经有一条规则填充/dev/serial/by-{id,path}/,这对于您的目的来说可能足够稳定。每次重新连接设备时,您可能需要关闭并重新打开端口。如果这不起作用,请尝试通过端口循环。
标签: python arduino raspberry-pi