使用Python从USB获取数据



我没有正确理解USB协议,所以当我添加它时,我的代码混淆了关于USB的数据。我不知道我哪里出错了。我的系统是Windows 8 64位。

有一个严重的错误,我也需要帮助。

import usb.core
import usb.util
# Find our device
dev = usb.core.find(find_all=True)
busses = usb.busses()
# Was it found?
if dev is None:
    raise ValueError('Device not found')
for bus in busses:
    devices = bus.devices
    for dev in devices:
        try:
            _name = usb.util.get_string(dev.dev, 19, 1)
        except:
             continue
        dev.set_configuration()
        cfg = dev.get_active_configuration()
        interface_number = cfg[(0,0)].bInterfaceNumber
        alternate_settting = usb.control.get_interface(interface_number)
        print "Device name:",_name
        print "Device:", dev.filename
        print "  idVendor:",hex(dev.idVendor)
        print "  idProduct:",hex(dev.idProduct)
        for config in dev.configurations:
            print "  Configuration:", config.value
            print "    Total length:", config.totalLength 
            print "    selfPowered:", config.selfPowered
            print "    remoteWakeup:", config.remoteWakeup
            print "    maxPower:", config.maxPower
        print

这是我得到的错误:

进口usb.backend。Libusb10作为Libusb10
importterror: No module named backend.libusb10

除了最新版本的pyusb,还需要安装最新版本的libusb。

在windows上,只需要从libusb文件包中解压:libusb-1.0.dll(从文件夹MinGW32/64 -取决于python版本)并复制到C:WindowsSystem32文件夹

最新更新