问题描述
我目前正在为一些 pcb 开发测试平台.它们可以通过 USB 进行控制.我编写了一些 python 代码,通过串行设备/dev/ttyACM0"将(使用 pySerial)订单发送到一张卡.问题是我需要一次测试 5 张卡,这意味着我需要区分哪张卡是用/dev/ttyACM*"控制的,*取决于插入顺序(我不控制).
I'm curently working on a testbench for some pcbs. They can be controlled though USB. I wrote some python code to send (using pySerial) orders to one card via the serial device "/dev/ttyACM0" The problem is that I need to test 5 cards at a time which means I need to differentiate which card is controlled with "/dev/ttyACM*" and * depends on the pluging order (which I don’t control).
我使用usb-devices"命令来获取每个物理 USB 端口的名称,但我需要通过 pySerial 向这些端口发送命令.有没有办法让它发挥作用?
I used "usb-devices" command to have the name of each physical usb port but I need to send orders to these via pySerial. Is there a way to make that work?
我发现的另一个解决方案是使用usb-devices"中的Dev:n"号与/dev/ttyn"通信,但通过 pySerial 通信的权限被拒绝,知道吗?
Another solution I found is to use the "Dev: n" number from "usb-devices" to communicate with "/dev/ttyn" but the permission to communicate through pySerial is denied, any idea?
推荐答案
在目录 /dev/serial/by-path/
中查找.您应该找到每个 tty 的链接,例如 ../../dev/ttyACM0
.路径应该是稳定的.您可以像 /dev/ttyACM0
一样打开这些链接.
Look in directory /dev/serial/by-path/
. You should find a link to each tty eg ../../dev/ttyACM0
. The path should be stable. You can open these links just like /dev/ttyACM0
.
这篇关于将物理 USB 端口关联到设备的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!