Шансы довольно хорошие, это устройство HID, и в этом случае вы, вероятно, можете начать писать драйвер Linux для пользовательского пространства, используя libhid .Первое, с чего можно начать, это перечислить дерево, которое дает вам информацию о его возможностях.(lsusb -vvv
или Пример )
Если вам не удастся использовать libusb в Linux (и в наши дни и на других платформах) для записи драйвера пользовательского пространства.Вы захотите использовать что-то вроде usbsnoop или реального аппаратного эквивалента , чтобы увидеть, что делает официальный драйвер, когда он разговаривает с устройством, и подражать ему оттуда.
Со стороны Python вы, вероятно, можете сгенерировать подходящую оболочку для существующего API C ++, используя SWIG за относительно небольшие усилия, особенно по сравнению с разработкой полностью настраиваемого драйвера.
Обновление:
Если это устройство FTDI, с ним может быть намного проще работать.В зависимости от того, что показывают поставщик и идентификатор продукта, он может автоматически работать с драйвером FTDI в Linux, предоставляя вам последовательный порт USB.В случае отсутствия в модуле параметров - vendor
и product
, которые, как я полагаю, вы можете использовать, чтобы заставить его запрашивать другие устройства, кроме уже известных ему комбинаций pid / vid.Оттуда вы можете попробовать открыть устройство последовательного порта с другими настройками.Если повезет, он уже может регулярно отправлять информацию о состоянии.
Если это не так, вы хотите попробовать и узнать, что посылает официальное программное обеспечение, чтобы оно начало играть.Вы снова попадаете в сферу фырканья, но я думаю, вполне возможно, что есть вещи, которые делают это на последовательном слое, а не на слое USB для окон (хотя я не могу назвать ни одного).Вы также можете чему-то научиться, пытаясь заставить их библиотеку использовать программный эмулированный последовательный порт вместо устройства FTDI и посмотреть, что оно пишет.