Как общаться с USB-устройством под Windows и Java?
Я хотел бы общаться с USB-устройством под Windows и Java, но я не могу найти хорошую библиотеку для этого. Я не хочу, чтобы пользователь должен был установить какие-либо дополнительные аппаратные или драйверы устройств, чтобы сделать эту работу. То есть, я хочу иметь возможность взаимодействовать с USB, как это делают другие приложения Windows.
Я знаком с jUSB и JSR 80, но оба кажутся мертвыми проектами (по крайней мере для Windows).
Ответы
Ответ 1
Я немного поработал над этим некоторое время назад, и неудачный факт состоял в том, что все полезные бесплатные проекты USB + Windows + Java были мертвы. Существует коммерческая и дорогая (цена $39,99 не за разработчика, а за копию проданного программного обеспечения!) библиотека JCommUSB, которая, вероятно, работает, хотя я не имеют опыта; нам пришлось создавать собственные пользовательские C-оболочки для USB-драйверов и общаться с ними через JNI.
Ответ 2
libusb-win32 требует, чтобы вы установили свой общий драйвер, который затем делает USB-устройство доступным для вас. Я не уверен, что возможно использовать без водителя доступ к USB-устройству, если устройство не принадлежит к одному из нескольких стандартных классов (в частности, хранилище и HID).
Существует Java-оболочка для libusb-win32, которая может сработать для вас. Однако я не использовал его сам.
Ответ 3
Самый быстрый и простой способ - взломать собственный код:)
Я написал небольшую обертку для HID-устройств, которая позволила моим приложениям Java читать данные из дигитайзеров CalComp, поэтому это определенно выполнимо и не слишком сложно. Плохо то, что моя работа по-прежнему принадлежит собственному коду, принадлежащему моему бывшему работодателю, поэтому по юридическим причинам я не могу опубликовать это как открытый источник.
Хорошо, что вы можете начать летать с помощью кода HID из Microsoft DDK:)
Ответ 4
Связь между Windows и устройством USB с помощью java.
http://javausbapi.blogspot.com/2010/05/java-usb-api.html
Пример для микроконтроллера Freescale