Мне нужно иметь возможность взаимодействовать с USB-сканером (в частности, с Epson Perfection V550). Я пробовал использовать ImageScanner, но он не находит мое устройство (я также пытался установить twain, но возникают проблемы с сообщением, что
Could not find any downloads that satisfy the requirement twain.)
Поэтому вместо этого я обратился к PyUSB, который может видеть, что устройство есть. Проблема, с которой я столкнулся сейчас, заключается в том, что я не уверен, что мне нужно, чтобы отправить устройство для сканирования и отправки мне обратно изображения.
Вот код, который я запустил:
import usb.core
import usb.util
import sys
venderID = 0x04B8
productID = 0x013B
dev = usb.core.find(idVendor=venderID, idProduct=productID)
for cfg in dev:
print cfg
и вывод к этому:
CONFIGURATION 1: 2 mA ====================================
bLength : 0x9 (9 bytes)
bDescriptorType : 0x2 Configuration
wTotalLength : 0x20 (32 bytes)
bNumInterfaces : 0x1
bConfigurationValue : 0x1
iConfiguration : 0x0
bmAttributes : 0xc0 Self Powered
bMaxPower : 0x1 (2 mA)
INTERFACE 0: Vendor Specific ===========================
bLength : 0x9 (9 bytes)
bDescriptorType : 0x4 Interface
bInterfaceNumber : 0x0
bAlternateSetting : 0x0
bNumEndpoints : 0x2
bInterfaceClass : 0xff Vendor Specific
bInterfaceSubClass : 0xff
bInterfaceProtocol : 0xff
iInterface : 0x0
ENDPOINT 0x81: Bulk IN ===============================
bLength : 0x7 (7 bytes)
bDescriptorType : 0x5 Endpoint
bEndpointAddress : 0x81 IN
bmAttributes : 0x2 Bulk
wMaxPacketSize : 0x200 (512 bytes)
bInterval : 0xff
ENDPOINT 0x2: Bulk OUT ===============================
bLength : 0x7 (7 bytes)
bDescriptorType : 0x5 Endpoint
bEndpointAddress : 0x2 OUT
bmAttributes : 0x2 Bulk
wMaxPacketSize : 0x200 (512 bytes)
bInterval : 0xff