2009-02-13 158 views
20

我想在Windows和Java下使用USB設備進行通信,但我無法找到一個好的庫來執行此操作。我不希望用戶必須安裝任何額外的硬件或設備驅動程序才能使其工作。也就是說,我希望能夠像其他Windows應用程序一樣與USB進行交互。如何在Windows和Java下與USB設備進行通信?

我熟悉jUSB和JSR 80,但都似乎是死的項目(至少對於Windows)。

+0

我剛發現這在http://cafe.elharo.com/blogroll/what-java-still-cant-do/#comment-69109「[進行...]在Windows上,你不能只列出連接的設備,並開始與他們交談,這就是Java USB API的用途。「我不完全理解他的評論,但這聽起來令人沮喪:( – Gili 2009-02-13 04:07:37

回答

2

我前段時間對此做了相當多的研究,不幸的是所有有用的免費USB + Windows + Java項目都沒有了。有商業和昂貴(價格39.99美元不是每個開發人員,但每個軟件的銷售副本!)JCommUSB圖書館可能工作,雖然我沒有經驗;我們必須爲USB驅動程序構建自己的定製C封裝並通過JNI與它們進行通信。

+0

看起來JCommUSB庫看起來已經死了。域名已上市銷售。 – Cypher 2015-04-23 19:39:41

9

libusb-win32要求您安裝通用驅動程序,然後使USB設備可供您使用。我不確定是否可以無驅動地訪問USB設備,除非設備屬於幾個標準類(特別是存儲和HID)之一。

有一個Java wrapper for libusb-win32它可能適合你。不過,我自己並沒有使用它。

+0

不是所有的USB設備都附帶安裝了板載驅動程序當你插入設備時是自動的,還是僅僅用於「標準」設備? 至少可以使用沒有驅動程序的Java與「標準」設備進行通信嗎? – Gili 2009-02-13 15:01:56

0

最快和最簡單的方法是破解一些本地代碼:) 我爲HID設備編寫了一個小封裝器,使我的Java應用程序能夠從CalComp數字化儀讀取數據,所以它絕對可行並且不會太難。壞消息是我的工作仍然是我的前僱主擁有的專有代碼,所以出於法律方面的原因,我不能將其作爲開源軟件發佈。

的好處是,你可以得到來自微軟DDK :)和Windows之間

相關問題