


Отправка команд на устройство по USB с помощью python
есть необходимость на некоторых бесперебойниках Smart APC UPS изменить настройки, некоторые из UPS подключены через COM, некоторые по USB. возникли сложности с USB, ни разу не работал с ним
Инфо по устройству:
DEVICE ID 051d:0002 on Bus 001 Address 009 =================
bLength : 0x12 (18 bytes)
bDescriptorType : 0x1 Device
bcdUSB : 0x110 USB 1.1
bDeviceClass : 0x0 Specified at interface
bDeviceSubClass : 0x0
bDeviceProtocol : 0x0
bMaxPacketSize0 : 0x8 (8 bytes)
idVendor : 0x051d
idProduct : 0x0002
bcdDevice : 0x6 Device 0.06
iManufacturer : 0x3 American Power Conversion
iProduct : 0x1 Smart-UPS 1500 FW:653.19.I USB FW:11.03
iSerialNumber : 0x2 AS1229290761
bNumConfigurations : 0x1
CONFIGURATION 1: 30 mA ===================================
bLength : 0x9 (9 bytes)
bDescriptorType : 0x2 Configuration
wTotalLength : 0x22 (34 bytes)
bNumInterfaces : 0x1
bConfigurationValue : 0x1 iConfiguration : 0xa 1
bmAttributes : 0xe0 Self Powered, Remote Wakeup
bMaxPower : 0xf (30 mA)
INTERFACE 0: Human Interface Device ====================
bLength : 0x9 (9 bytes)
bDescriptorType : 0x4 Interface bInterfaceNumber : 0x0
bAlternateSetting : 0x0
bNumEndpoints : 0x1
bInterfaceClass : 0x3 Human Interface Device
bInterfaceSubClass : 0x0
bInterfaceProtocol : 0x0
iInterface : 0x0
ENDPOINT 0x81: Interrupt IN ==========================
bLength : 0x7 (7 bytes) bDescriptorType : 0x5 Endpoint
bEndpointAddress : 0x81 IN
bmAttributes : 0x3 Interrupt
wMaxPacketSize : 0x6 (6 bytes)
bInterval : 0x64
тут есть только одна EP и типа IN. Значит ли это однозначно, что по usb он не принимает команд? Или как-то OUT EP можно добавить, драйвером, например?
всё безобразие происходит в python 3.4 (нужна и winXP), win10 x64. Нашел библиотеки pyusb, pywinusb, hidapi. Девайс все они находят, а пообщаться не получается
Если есть у кого пример обмена, подскажите пожалуйста
http://mvidner.blogspot.com/2017/01/usb-communication-with-python-and-pyusb.html
вроде весь принцип на pyusb расписан, удобнее конечно было б на linux