Как мы можем запросить информацию о подключенных USB-устройствах в Python? Я хочу получить имя устройства 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/ttyACM 0 и т.д. Во-вторых, я предполагаю, что на каждом USB-устройстве был UID, или я должен использовать идентификатор поставщика или продукта?
EDIT: По-видимому, у меня есть некоторые проблемы с настройкой, я думаю, что использую неправильную библиотеку USB. (используя libusb0.1) ATM. Поэтому я получаю строку Device (dev.filename) пустой. Если кто-то может просто сказать, что в какой операционной системе он использует какую-то USB-библиотеку и какую версию PyUSB я думаю, она решит мои проблемы.