我们如何在 Python 中查询连接的 USB 设备信息?我想获取 UID 设备名称(例如:SonyEricsson W660)、设备路径(例如:/dev/ttyACM0)
还有什么是上述信息中的最佳参数,可在再次连接时用于识别设备?(UID?)
我正在开发 Ubuntu 11.04。
ATM 我有这个代码(使用 pyUSB)
busses = usb.busses()
for bus in busses:
devices = bus.devices
for dev in devices:
print repr(dev)
print "Device:", dev.filename
print " idVendor: %d (0x%04x)" % (dev.idVendor, dev.idVendor)
print " idProduct: %d (0x%04x)" % (dev.idProduct, dev.idProduct)
print "Manufacturer:", dev.iManufacturer
print "Serial:", dev.iSerialNumber
print "Product:", dev.iProduct
问题是我没有得到想要的输出,将粘贴一个示例:
<usb.legacy.Device object at 0x1653990>
Device:
idVendor: 4046 (0x0fce)
idProduct: 53411 (0xd0a3)
Manufacturer: 1
Serial: 3
Product: 2
首先我没有得到文件名,这对我来说最重要。我假设它是 /dev/ttyACM0 等部分。其次,我猜每个 USB 设备都有一些 UID,或者我应该同时使用 Vendor 或 Product id?
编辑:显然我有一些设置问题,我想我使用了错误的 USB 库。(使用 libusb0.1)ATM。这就是为什么我让 Device (dev.filename) 字符串为空。如果有人可以请告诉他在什么操作系统上使用什么USB库和什么版本的PyUSB,我认为它会解决我的问题。