Найти - Пользователи
Полная версия: Работа с USB HID через Python
Начало » Python для экспертов » Работа с USB HID через Python
1
boltayka
Всем привет.
Убил 4 часа жизни на гугление и попытки, затем ещё 5 минут на поиск по форуму и теперь смело пишу вопрос…

Задача такая: нужно принимать сигналы с usb-hid устройства (клавиатуры, короче говоря)… Win7x64. Py27 (при необходимости могу поставить любую другую версию питона)
Нашел библиотеку PyUsb, через сорцы установил.
По туториалу написал следующий код
import usb.core
import usb.util

dev = usb.core.find(idVendor=0x04D9, idProduct=0x1702)

if dev is None:
raise ValueError('Device not found')
И получил ошибку
Traceback (most recent call last):
File "C:\Python27\keyboard.py", line 4, in <module>
dev = usb.core.find(idVendor=0x04D9, idProduct=0x1702)
File "C:\Python27\lib\usb\core.py", line 829, in find
raise ValueError('No backend available')
ValueError: No backend available
Погуглив ошибку узнал, что нужно установить backend - libusb. По инструкциям долгими трудами установил…

Но все-равно скрипт не работает.
Что подскажите? Может есть какие-то аналоги для работы с USB… Обычное считывание клавиш не подойдёт, т.к. мне нужно работать только с одной клавиатурой… Заранее благодарю.
Lexander
boltayka
Но все-равно скрипт не работает.
Какая ошибка?
boltayka
Lexander
Какая ошибка?
тоже самое:
ValueError: No backend available
Lexander
Уверены, что установили правильно и libusb находится в PythonPath?
boltayka
Впервые слышу, что оно должно в PyPath ставиться… Нигде ничего на эту тему нету…
Lexander (и не только), может вы знаете как и куда ставить?..
pyuser
А может отложить установку библиотек и, используя winapi, работать с Raw Input Device?
Lexander
boltayka
Впервые слышу, что оно должно в PyPath ставиться…
И не должна, это я ошибся.

Ничего лучшего, чем описано тут: http://sourceforge.net/apps/trac/libusb-win32/wiki предложить не могу.
boltayka
Ох, сколько я сегодня прочитал и попробовал… Проблема ещё и в 64х-разрядной оси (с дуру поставил…)
Но теперь я принципиально должен это реализовать.
pyuser, спасибо за идею. А можно какие-нибудь ХОРОШИЕ примеры работы с win32api?…
Хорошо бы затронуть http://msdn.microsoft.com/en-us/library/ms645549%28v=vs.85%29.aspx

И ещё очень интересно про Ctypes подробнее. Работает ли он с C#, можно ли в нем (ctypes) запустить эту http://sites.google.com/site/hidlibrary или http://www.florian-leitner.de/index.php/projects/usb-hid-driver-library эту либы?

Lexander, спасибо, но в эту ссылку я уже раз 20 тыкался. Не меньше.



p.s. сейчас ещё подкинули идею - pyserial. Посмотрим, что он может
pyuser
boltayka
pyuser, спасибо за идею. А можно какие-нибудь ХОРОШИЕ примеры работы с win32api?…
Хорошо бы затронуть http://msdn.microsoft.com/en-us/library … 85%29.aspx
Я с RawInput пару лет назад работать пытался, поэтому ссылок сейчас не вспомню.
здесь порт сишного хедера для работы с RawInput
здесь пример получения информации о подключенных устройствах
здесь тоже самое, но на питоне
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB