Показаны сообщения с ярлыком hid. Показать все сообщения
Показаны сообщения с ярлыком hid. Показать все сообщения

среда, 14 ноября 2012 г.

udev и права на устройство


Если потребовалось задать права при создании (подключении) устройства usb, можно добавить правило. Создаем в /etc/udev/rules.d файл с именем 55-usbhid.rules

и содержанием:

SUBSYSTEM=="usb", ATTR{bInterfaceClass}=="03", MODE:="0666"

либо 


SUBSYSTEM=="usb", ATTR{idVendor}=="16c0", ATTR{idProduct}=="05d0", MODE:="0666"

первый вариант всем новым hid присвоит 666
второй вариант - только заданному в vendor/product

И перезапускаем udev
/etc/init.d/udev restart

пятница, 19 октября 2012 г.

Debian + Java + usb + hid

Собственно сама "обертка"-wrapper http://code.google.com/p/javahidapi/


Можно скачать binary пакет.
Можно скачать исходники и скомпилировать их по инструкции (осторожно, присутствуют синтаксические ошибки вида "make C linux", очевидно, что требуется "make -C linux").
Понадобится пакет mercurial если его еще нет.

hg clone https://code.google.com/p/javahidapi/

Для сборки по их инструкции понадобились дополнительные пакеты:

aptitude install libusb++-dev libusb-dev java-gcj-compat-dev libudev-devel libusb-1.0-0-dev

Готовую библиотеку необходимо скопировать из lib/native/linux/ в /lib и /lib32:

cp ./lib/native/linux/libhidapi-jni-64.so /lib/libhidapi-jni.so
cp ./lib/native/linux/libhidapi-jni-32.so /lib32/libhidapi-jni.so

Что бы запустить пример как указано в инструкции ("ant run"), необходимо отредактировать 78 строку файла build.xml --- <jvmarg value="-Djava.library.path=${basedir}/mac"/>

т.е. пример жестко забит на использование "mac", а нам нужен "linux"
 противном случае получаем при запуске ошибки вида:

 [java] Exception in thread "main" java.lang.UnsatisfiedLinkError: no hidapi-jni in java.library.path