首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以使用PyUSB通过USB端口获取USB设备?

是否可以使用PyUSB通过USB端口获取USB设备?
EN

Stack Overflow用户
提问于 2015-06-08 08:04:53
回答 1查看 3.6K关注 0票数 4

我有许多与STM32 VCP相同的设备。Windows 8.1为设备创建串行COM端口。如果我连接一个设备到任何PC USB端口,windows将绑定到它相同的COM端口。将第二个设备连接到其他USB端口后,将创建具有不同序列号的下一个COM端口。如果我拔掉这些设备并以不同的顺序连接,COM端口将在设备之间切换。这是一个问题,因为每次我都需要相同的命令COM端口命令(物理)。使用USBlyzer软件,我可以看到不同物理USB端口的某种USB端口号有什么不同:

因此,我想通过这些设备访问(获取当前设备)的端口号。还是列出所有设备并从设备对象获取这个端口号?

在libusb文档中,发现它有这样一个方法:

uint8_t libusb_get_port_number (libusb_device *dev)

获取设备连接到的端口号。

链接:dev.html

也许PyUSB也有..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-08 14:27:18

找到了解决我问题的其他方法。使用windows从DeviceManager的位置信息和友好的设备名称中获取端口和集线器号(USB物理标识),其中包含COM端口号。解析此信息并具有用于串行通信的信息。

代码语言:javascript
复制
from infi.devicemanager import DeviceManager
dm = DeviceManager()
dm.root.rescan()

devices = dm.all_devices


for i in devices:
    try:
        print '{} : address: {}, bus: {}, location: {}'.format(i.friendly_name, i.address, i.bus_number, i.location)
    except Exception:
        pass
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30703988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档