我想在 Windows 和 Java 下与 USB 设备通信,但我找不到一个好的库来这样做。我不希望用户必须安装任何额外的硬件或设备驱动程序才能完成这项工作。也就是说,我希望能够像其他 Windows 应用程序一样与 USB 交互。
我熟悉 jUSB 和 JSR 80,但两者似乎都是死项目(至少对于 Windows)。
libusb-win32 要求您安装他们的通用驱动程序,然后您可以使用 USB 设备。我不确定是否可以对 USB 设备进行无驱动程序访问,除非该设备属于几个标准类之一(特别是存储和 HID)。
libusb-win32有一个Java 包装器,它可能对您有用。不过我自己没用过。
前段时间我对此进行了相当多的研究,不幸的事实是所有有用的免费 USB+Windows+Java 项目都死了。有商业和昂贵的(39.99 美元的价格不是每个开发人员,而是每个销售的软件副本!)JCommUSB库可能可以工作,虽然我没有经验;我们必须为 USB 驱动程序构建我们自己的自定义 C 包装器,并通过 JNI 与它们通信。
最快和最简单的方法是破解一些本机代码 :) 我为 HID 设备编写了一个小包装器,它使我的 Java 应用程序能够从 CalComp 数字化仪读取数据,所以它绝对是可行的,而且不太难。坏事是我的工作仍然是我的前雇主拥有的专有代码,所以出于法律原因,我不能将它作为开源发布——但。
好消息是您可以从 Microsoft DDK 中的 HID 示例代码开始飞速发展 :)
Windows 与 USB 设备之间通过 java 进行通信。 http://javausbapi.blogspot.com/2010/05/java-usb-api.html
以飞思卡尔微控制器为例