web-dev-qa-db-ja.com

WindowsおよびJavaでUSBデバイスと通信するにはどうすればよいですか?

WindowsでUSBデバイスと通信したいのですが、Javaですが、適切なライブラリが見つかりません。ユーザーに追加のハードウェアをインストールする必要はありません。または、これを機能させるためのデバイスドライバー。つまり、他のWindowsアプリケーションと同じようにUSBと対話できるようにしたいのです。

私はjUSBとJSR80に精通していますが、どちらも(少なくともWindowsでは)死んだプロジェクトのようです。

21
Gili

私はこれについてかなり前にかなりの調査をしました、そして残念な事実はすべての有用な無料のUSB + Windows + Javaプロジェクトが死んでいたということでした。商業的で高価なものがあります(価格$ 39.99は開発者ごとではなく、販売されたソフトウェアのコピーごとです!) JCommUSB ライブラリはおそらく機能しますが、私は経験がありません。 USBドライバーへの独自のカスタムCラッパーを作成し、JNIを介してそれらと通信する必要がありました。

3
Joonas Pulakka

libusb-win32では、汎用ドライバーをインストールする必要があります。これにより、USBデバイスを使用できるようになります。 USBデバイスがいくつかの標準クラス(特にストレージとHID)のいずれかに属していない限り、ドライバーなしでUSBデバイスにアクセスできるかどうかはわかりません。

libusb-win32のJavaラッパー があります。これはあなたのために働くかもしれません。でも、自分では使ったことがありません。

9
Toybuilder

最も速くて簡単な方法は、ネイティブコードをハックすることです:) JavaアプリケーションがCalCompデジタイザーからデータを読み取ることができるようにするHIDデバイス用の小さなラッパーを作成したので、間違いなく実行可能で、それほど難しくありません悪い点は、私の作品がまだ以前の雇用主が所有していたプロプライエタリコードであるため、法的な理由から、それをオープンソースとしてリリースすることはできません。

良い点は、MicrosoftDDKのHIDサンプルコードですぐに始められることです:)

0
Christoffer

JavaによるWindowsとUSBデバイス間の通信。 http://javausbapi.blogspot.com/2010/05/Java-usb-api.html

Freescaleマイクロコントローラの例を示します

0
Paul