【问题标题】:How to communicate with a USB device under Windows and Java?如何在 Windows 和 Java 下与 USB 设备通信?
【发布时间】:2009-02-13 02:24:56
【问题描述】:

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

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

【问题讨论】:

标签: java windows usb


【解决方案1】:

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

有一个Java wrapper for libusb-win32 可能对您有用。不过我自己没用过。

【讨论】:

  • 不是所有 USB 设备都附带板载驱动程序,当您插入设备时会自动安装这些驱动程序?或者这仅适用于“标准”设备?是否至少可以在没有驱动程序的情况下使用 Java 与“标准”设备进行通信?
  • 不,板载驱动程序是一个例外。标准设备,例如存储和 HID(键盘、鼠标等)可能适用于上述 libusb-win32。 Windows 包括它们的标准驱动程序。
  • 我一直在寻找一种简单的方法来与不涉及模拟通信端口的自定义 USB 设备进行交互,谢谢
【解决方案2】:

前段时间我对此进行了相当多的研究,但不幸的是,所有有用的免费 USB+Windows+Java 项目都已失效。有商业和昂贵的(39.99 美元的价格不是每个开发人员,而是每个销售的软件副本!)JCommUSB 库可能有效,虽然我没有经验;我们必须为 USB 驱动程序构建我们自己的自定义 C 包装器,并通过 JNI 与它们通信。

【讨论】:

  • JCommUSB 库好像也死了。域名正在出售中。
【解决方案3】:

最快和最简单的方法是破解一些本机代码:) 我为 HID 设备编写了一个小型包装器,它使我的 Java 应用程序能够从 CalComp 数字化仪读取数据,所以它绝对是可行的,而且不太难。糟糕的是,我的工作仍然是我的前雇主拥有的专有代码,因此出于法律原因,我还不能将其作为开源发布。

好消息是您可以从 Microsoft DDK 中的 HID 示例代码开始飞速发展 :)

【讨论】:

    【解决方案4】:

    Windows 与 USB 设备之间通过 java 进行通信。 http://javausbapi.blogspot.com/2010/05/java-usb-api.html

    以飞思卡尔微控制器为例

    【讨论】:

      猜你喜欢
      • 2013-08-10
      • 2012-04-28
      • 2014-04-18
      • 2012-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-17
      相关资源
      最近更新 更多