How can I use Java to communicate to device throug

2020-07-06 08:34发布

问题:

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?

回答1:

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.



回答2:

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.



回答3:

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



回答4:

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



回答5:

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