USB интерфейс в Python

У меня есть это ( http://www.gesytec.de/en/download/easylon/p/16/) USB-устройство, подключенное к моей Win7. Я просто пытаюсь прочитать идентификатор поставщика и идентификатор продукта. У меня есть Python 2.7.

Вот код,

import usb
busses = usb.busses()
for bus in busses:
    devices = bus.devices
    for dev in devices:
        print "Device:", dev.filename
        print "  idVendor: %d (0x%04x)" % (dev.idVendor, dev.idVendor)
        print "  idProduct: %d (0x%04x)" % (dev.idProduct, dev.idProduct)

Я получаю следующую ошибку,

"File "<stdin>", line 1, in <module>
File "C:\Python27\lib\usb\core.py", line 846, in find
raise ValueError('No backend available')
ValueError: No backend available"

Что я здесь не так делаю?

2 ответа

Вы установили пакет библиотеки usb? Если это так, вам может понадобиться добавить его в свой путь.

Я закончил тем, что использовал dll, предоставленный изготовителем вместо USB lib.

используемая в настоящее время библиотека

import usb.core
import usb.backend.libusb0
backend = usb.backend.libusb0.get_backend(find_library=lambda x: "C:\Windows\system32\libusb0.dll")

# find your device #1
devices = usb.core.find(find_all=True)
for d in devices:
    print(d)

# find your device #2
import usb
busses = usb.busses()
for bus in busses:
    devices = bus.devices
    for dev in devices:
        print("Device:", dev.filename)
        print ("  idVendor: %d (0x%04x)" % (dev.idVendor, dev.idVendor))
        print ("  idProduct: %d (0x%04x)" % (dev.idProduct, dev.idProduct))
Другие вопросы по тегам