我想在Windows和Java下使用USB設備進行通信,但我無法找到一個好的庫來執行此操作。我不希望用戶必須安裝任何額外的硬件或設備驅動程序才能使其工作。也就是說,我希望能夠像其他Windows應用程序一樣與USB進行交互。如何在Windows和Java下與USB設備進行通信?
我熟悉jUSB和JSR 80,但都似乎是死的項目(至少對於Windows)。
我想在Windows和Java下使用USB設備進行通信,但我無法找到一個好的庫來執行此操作。我不希望用戶必須安裝任何額外的硬件或設備驅動程序才能使其工作。也就是說,我希望能夠像其他Windows應用程序一樣與USB進行交互。如何在Windows和Java下與USB設備進行通信?
我熟悉jUSB和JSR 80,但都似乎是死的項目(至少對於Windows)。
libusb-win32要求您安裝通用驅動程序,然後使USB設備可供您使用。我不確定是否可以無驅動地訪問USB設備,除非設備屬於幾個標準類(特別是存儲和HID)之一。
有一個Java wrapper for libusb-win32它可能適合你。不過,我自己並沒有使用它。
不是所有的USB設備都附帶安裝了板載驅動程序當你插入設備時是自動的,還是僅僅用於「標準」設備? 至少可以使用沒有驅動程序的Java與「標準」設備進行通信嗎? – Gili 2009-02-13 15:01:56
最快和最簡單的方法是破解一些本地代碼:) 我爲HID設備編寫了一個小封裝器,使我的Java應用程序能夠從CalComp數字化儀讀取數據,所以它絕對可行並且不會太難。壞消息是我的工作仍然是我的前僱主擁有的專有代碼,所以出於法律方面的原因,我不能將其作爲開源軟件發佈。
的好處是,你可以得到來自微軟DDK :)和Windows之間
通信通過Java中的USB設備的HID示例代碼開始飛行。 http://javausbapi.blogspot.com/2010/05/java-usb-api.html
一個例子是對於一個微控制器飛思卡爾
我剛發現這在http://cafe.elharo.com/blogroll/what-java-still-cant-do/#comment-69109「[進行...]在Windows上,你不能只列出連接的設備,並開始與他們交談,這就是Java USB API的用途。「我不完全理解他的評論,但這聽起來令人沮喪:( – Gili 2009-02-13 04:07:37