如果我有一个使用 Python pyserial 模块访问的 USB 调制解调器,它需要识别设备 '/dev/ttyACM0 例如。如果调制解调器连接到 USB 集线器,它不再出现在/dev/tty...
如何从我的 Python 代码中以编程方式识别它,以便无论它是否已更改,或者机器是否重新启动,我都可以找到调制解调器?
注意: 我总能看到使用 lsusb 的设备,但如果它连接到 USB 集线器,它不会显示为/dev/tty... 设备
最佳答案
这听起来像是 Linux 内核中的错误。如果可以,请尝试更新的版本。
如果失败,请检查 dmesg
或文件 /var/log/messages
输出的最后几行(后者取决于您的发行版;如果该文件不存在或不包含您要查找的内容,然后检查 /var/log
中的其他文件;使用 ls -rt
按时间排序有帮助)。
识别设备后,您可能会看到一个图案。
另一种方法是主要和次要数字。如果您运行 ls -l/dev
,您将看到如下输出:
crw--w---- 1 root tty 4, 0 2011-12-19 09:15 tty0
c
表示“字符设备”,4, 0
表示它是控制台设备单元 0。
4
是标识设备类型的主编号。请参阅 /proc/devices
以获取主要编号和相应设备驱动程序的列表。
如果直接插入模型,请记下主要编号。将其插入集线器后,尝试查找具有相同编号的设备。
关于python - 如何使用 Python 在 LINUX 上识别 USB 调制解调器/开发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8561577/