Java如何存取USB-HID裝置-使用hid4java

有些產品必須透過USB-HID連線方式, 才能進行溝通, 偶記得以往都是使用vb6(好古老)的方式連線, java能派上用場的機會不多.

但最近有個需求, 需使用java開發windows app, 但是又必須透過USB-HID的方式讀取產品的資料.

若依照以往(好多年前), 偶寫個vb6程式, 透過hid的方式讀取資料後存成txt檔案; 最後再使用java觸發vb6程式, 處理vb6抓取出來的txt檔案.

java 呼叫 vb6 的解法, 雖然可解, 但就差在現在誰在跟你寫vb6, 身為java old school 的偶, 看到vb6就討厭, 又不想寫.net程式與usb溝通, 導致遇到這種USB-HID的需求, 我就鬱卒 🙁

Oh ya!

幾年後的今天, 想說找找open source是否有pure java的解, 終於找到了

可以使用 https://github.com/gary-rowe/hid4java 這個專案搭配 JNA library 完成 pure java 的期望.

目前偶用 hid4java 0.5.0 + JNA 4.1.0  用得很順, 還可以跨三個平台 Mac , Linux , Windows , 真是棒啊

咖啡偶習慣把這些東西作成簡單好用的工具函式庫 , 基本上就是發送指令到usb hid設備 , 然後接收到資料,請到以下連結參考:

https://bitbucket.org/inmethod/inmethodusblib

PS. 只提供usb連線的裝置超冷門的, 未來將漸漸勢微