如何在Python中查询连接的USB设备信息?
我想得到UID设备名(例如:SonyEricsson W660),设备路径(例如:dev/ttyACM0)
此外,上述信息中的最佳参数是什么,以便在设备再次连接时用作识别设备?(UID?)
我正在开发Ubuntu11.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
问题是我没有得到想要的输出,将粘贴一个示例:
Device:
idVendor: 4046 (0x0fce)
idProduct: 53411 (0xd0a3)
Manufacturer: 1
Serial: 3
Product: 2
首先我不知道文件名,这对我来说是最重要的。我假设它是/dev/ttyACM0 etc部分。其次,我想每个USB设备都有UID,或者我应该同时使用供应商或产品id?
编辑:显然我有一些设置问题,我认为我使用了错误的USB库。(使用libusb0.1)ATM。这就是为什么我得到设备(dev.filename)字符串为空的原因。如果有人能告诉我,他在哪个操作系统上使用的是什么USB库和什么版本的PyUSB,我想它能解决我的问题。