我试图在Centos上实现usb条形码扫描器的驱动程序机制。
使用PyUSB,
这是高级代码。我试图实现的是当有人扫描并将其发送到消息队列而无需用户交互时能够读取QR码和条形码。
dev = usb.core.find(idVendor=VENDOR_ID, idProduct=PRODUCT_ID)
if dev.is_kernel_driver_active(0) is True:
dev.detach_kernel_driver(0)
dev.set_configuration()
dev.reset()
data = dev.read(endpoint.bEndpointAddress, 120,
timeout=10000)
currentData = list(chunks(data))
此代码在使用Ubuntu操作系统的同一系统上正常工作。但是在Centos 7上,我只能听到快速的哔哔声,扫描仪没有任何内容。
以下是Centos上安装的所有内容,几乎与我在同一台机器上运行的Ubuntu类似。
"libgusb.x86_64 0.2.9-1.el7 @base
libgusb-devel.x86_64 0.2.9-1.el7 @base
libusb.x86_64 1:0.1.4-3.el7 @base
libusb-devel.x86_64 1:0.1.4-3.el7 @base
libusbmuxd.x86_64 1.0.10-5.el7 @base
libusbmuxd-devel.x86_64 1.0.10-5.el7 @base
libusbmuxd-utils.x86_64 1.0.10-5.el7 @base
libusbx.x86_64 1.0.20-1.el7 @base
libusbx-devel.x86_64 1.0.20-1.el7 @base
pyusb.noarch 1.0.0-0.11.b1.el7 @base
usb_modeswitch.x86_64 2.4.0-5.el7 @base
usb_modeswitch-data.noarch 20160612-2.el7 @base
usbmuxd.x86_64 1.1.0-1.el7 @base
usbredir.x86_64 0.7.1-2.el7 @base
usbutils.x86_64 007-5.el7 @base"
不确定是什么。
如果我跑,请低估循环,
print("Waiting to Read")
data = dev.read(endpoint.bEndpointAddress, 120,
timeout=10000)
currentData = list(chunks(data))
输出为Waiting to read