如何在Windows和Java下与USB设备进行通信?

我想在Windows和Java下与USB设备进行通信,但是我找不到一个好的库。 我不希望用户必须安装任何额外的硬件或设备驱动程序才能使其工作。 就是说,我希望能够像其他Windows应用程序一样与USB进行交互。

我熟悉jUSB和JSR 80,但都似乎是死的项目(至less对于Windows)。

前段时间我做了一些相关的研究,不幸的是,所有有用的免费的USB + Windows + Java项目都没有了。 有商业和昂贵的(价格39.99美元不是每个开发者,而是你的软件的每个副本出售!) JCommUSB库可能工作,虽然我没有经验; 我们必须建立我们自己的定制C封装到USB驱动程序,并通过JNI与他们沟通。

libusb-win32要求您安装通用驱动程序,然后使USB设备可供您使用。 我不确定是否可以无驱动地访问USB设备,除非设备属于几个标准类(特别是存储和HID)之一。

有一个libusb-win32的Java包装可能适合你。 虽然我自己没有用过。

最快和最简单的方法是破解一些本地代码:)我写了一个HID设备的小包装,使我的Java应用程序能够从CalComp数字化仪读取数据,所以这绝对是可行的,不是太难。 坏事是我的工作仍然是我的前任雇主拥有的专有代码,所以出于法律方面的原因,我不能将其作为开放源代码。

好的是,你可以从微软的DDK的HID示例代码快速启动:)

Windows和USB设备之间的通信由Java。 http://javausbapi.blogspot.com/2010/05/java-usb-api.html

飞思卡尔微控制器就是一个例子