9

I just recently learn Java and try to communicate to the device through USB port connection. I've have used C# with OpenNETCF which allows me to send file and retrieve file on the device through USB port; how can I achieve this with java?

I seearch on stackoverflow thread, How to communicate with a USB device under Windows and Java?, the comment made by christoffer is to hack the native code, but I don't quite which native code api that he referred to. RAPI, maybe?

Community
  • 1
  • 1
Bopha
  • 3,296
  • 6
  • 25
  • 23

5 Answers5

3

The only USB API I could find for Windows is here. Seems as if it has limited functionality, but it might suit your needs. A more complete UNIX API is also available.

ETA: Found a link to the official Java USB implementation, but looks like the windows version is still in alpha.

Eric Petroelje
  • 59,820
  • 9
  • 127
  • 177
  • 3
    The above link to *javax-usb.org* is dead. However I found these two: [javax.usb](http://sourceforge.net/projects/javax-usb/) (This seems to be the official one) and [javax-usb-libusb1](https://github.com/trygvis/javax-usb-libusb1) – dualed Jan 29 '13 at 16:57
0

I found this page that explains how to perform a communication between a microcontroller and a java application: http://javausbapi.blogspot.com/

rocky
  • 1
0

The native code API I referred to was the Windows DDK, i.e. the Driver Development Kit. The modern version seem to be called Windows Driver Kit, so google for Windows WDK :) There should be a few C samples on how to communicate with USB devices, and it should be pretty straightforward to write a JNI wrapper from those.

Christoffer
  • 12,712
  • 7
  • 37
  • 53
0

As a quick thought, you could use JNI, the Java Native Interface. I've never used it myself though.

Humphrey Bogart
  • 7,423
  • 14
  • 52
  • 59
-1

The Best way I found to communicate with USB is through RxTx library.

You can find an example of the usage here: http://www.snip2code.com/Snippet/1044/Java--read-from-USB-using-RXTX-library

Cristiano Ghersi
  • 1,944
  • 1
  • 20
  • 46