library javatm how example devel control java windows usb

javatm - ¿Cómo comunicarse con un dispositivo USB en Windows y Java?



usb java example (4)

Me gustaría comunicarme con un dispositivo USB en Windows y Java pero no puedo encontrar una buena biblioteca para hacerlo. No quiero que el usuario tenga que instalar ningún hardware adicional o controladores de dispositivo para que esto funcione. Es decir, quiero poder interactuar con USB al igual que otras aplicaciones de Windows.

Estoy familiarizado con jUSB y JSR 80, pero ambos parecen ser proyectos muertos (al menos para Windows).


Investigué bastante sobre esto hace algún tiempo, y el desafortunado hecho fue que todos los útiles proyectos gratuitos de USB + Windows + Java estaban muertos. Es comercial y costoso (precio de $ 39.99 no es por desarrollador, pero por cada copia de tu software se vende!) Biblioteca JCommUSB que probablemente funciona, aunque no tengo experiencia en ello; tuvimos que construir nuestras propias envolturas en C personalizadas para los controladores USB y comunicarnos con ellos a través de JNI.


La forma más rápida y fácil es piratear un código nativo :) Escribí un pequeño contenedor para dispositivos HID que permitía a mis aplicaciones Java leer los datos de los digitalizadores CalComp, por lo que es definitivamente factible y no demasiado difícil. Lo malo es que mi trabajo sigue siendo un código de propiedad de mi antiguo empleador, por lo que por razones legales no puedo publicarlo como de código abierto.

Lo bueno es que puedes comenzar bien con el código de ejemplo HID del Microsoft DDK :)


libusb-win32 requiere que instale su controlador genérico, que luego pone a su disposición un dispositivo USB. No estoy seguro de que sea posible hacer un acceso sin controlador a un dispositivo USB a menos que el dispositivo pertenezca a una de varias clases estándar (almacenamiento e HID, en particular).

Hay un contenedor Java para libusb-win32 que podría funcionar para usted. No lo he usado yo mismo, sin embargo.