我有一个 2 端口信号继电器通过 USB 串行接口连接到我的计算机。使用 pyserial 模块,我可以轻松控制这些继电器。然而,这是基于这样的假设:我事先知道设备分配给哪个 COM 端口(或 /dev 节点)。
对于我正在做的项目来说,这还不够,因为我不想假设设备总是分配给 Windows 中的 COM7。我需要能够使用 python 在可能的平台(Win、Linux、OSX(我想这与 Linux 方法类似))上以编程方式识别设备。也许,正如标题所示,枚举系统上的 USB 设备并以某种方式为它们获取更友好的名称。 Windows 和 Linux 是最重要的支持平台。
任何帮助将不胜感激!
EDIT:
看起来 pyudev 模块非常适合 Linux 系统。有人有这方面的经验吗?
对于 Linux,如果您只需要枚举设备,您甚至可以跳过项目的 pyudev 依赖项,并简单地解析输出/sbin/udevadm info --export-db
命令(不需要 root 权限)。它将转储有关当前设备和类别的所有信息,包括 USB 设备的 USB 产品 ID,这应该足以识别您的 USB 转串行适配器。当然,你也可以使用 pyudev 来完成此操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)