Скорее всего, это HID-устройство, и в этом случае вы, вероятно, можете начать писать для него linux-драйвер пользовательского пространства, используя либхид. Первое, с чего нужно начать, — это перечисление дерева, которое дает вам информацию о его возможностях. (lsusb -vvv
или пример)
В противном случае вы можете использовать libusb в Linux (и на других платформах в наши дни), чтобы написать драйвер пользовательского пространства. Вы можете использовать что-то вроде usbsnoop или < href="http://www.lecroy.com/protocolanalyzer/protocoloverview.aspx?seriesid=280&capid=103&mid=511" rel="nofollow noreferrer">эквивалент реального оборудования, чтобы узнать, что делает официальный драйвер, когда он разговаривает с устройством и имитирует его оттуда.
Со стороны python вы, вероятно, можете создать приличную оболочку для существующего C++ API, используя SWIG с относительно небольшими усилиями, особенно по сравнению с разработкой полностью пользовательского драйвера.
Обновлять:
Если это устройство FTDI, то с ним может быть намного проще работать. В зависимости от того, что показывает поставщик и идентификатор продукта, он может автоматически работать с драйвером FTDI в Linux, предоставляя вам последовательный порт USB. Если у модуля нет параметров - vendor
и product
, которые, как я полагаю, вы можете использовать, чтобы заставить его требовать другие устройства, кроме комбинаций pid/vid, о которых он уже знает. Оттуда вы можете попробовать открыть устройство последовательного порта с другими настройками. Если повезет, он может уже регулярно отправлять информацию о состоянии.
Если это не так, вы хотите попробовать узнать, что отправляет официальное программное обеспечение, чтобы оно начало играть. Вы снова вернулись в область обнюхивания, но я думаю, что вполне могут быть вещи, которые делают это на последовательном уровне, а не на уровне USB для Windows (хотя я не могу назвать ни одного). Вы также можете кое-что узнать, попытавшись заставить их библиотеку использовать последовательный порт, эмулируемый программным обеспечением, вместо устройства FTDI, и посмотреть, что он пишет.
person
Flexo
schedule
18.08.2011