javatm - manejo de puertos usb en java
Cómo acceder a los puertos USB en java (6)
Estoy tratando de escribir una aplicación java que acceda a los puertos usb para leer y escribir en un dispositivo conectado a través de usb. El problema al que me enfrento es que no sé qué usar exactamente en Java para hacer tal cosa. Busqué en línea y encontré algo llamado JUSB
pero todas las publicaciones parecen bastante antiguas.
Actualmente estoy usando las bibliotecas RXTX
pero a veces me encuentro con un error de sincronización. Cuando uso C # para hacer el equivalente, requiere mucho menos código y no enfrento ninguno de los mismos errores de sincronización.
Mi pregunta es, ¿hay algo integrado en la última versión de JRE que pueda usar para acceder a los puertos usb ( que es tan fácil como el código C # equivalente )?
Es posible que desee consultar usb4java - http://usb4java.org/index.html , parece que es compatible con los sistemas operativos Windows, Linux y Mac, y parece ser bastante actual en el momento de la publicación. Lamentablemente, está bajo la LGPL, por lo que puede no ser adecuado para el desarrollo comercial.
La API de comunicaciones de Java . Esto debería proporcionar una funcionalidad similar al espacio de nombres C # System.IO.Ports .
Llevo un año usando usb4java en cross platfom (Linux y Windows) y funciona muy bien.
Ver:
Son muy activos y tienen un muy buen frontal javax USB.
No hay nada equivalente al soporte USB de C # en Java. Tanto jUSB como Java-USB están muy desactualizados y es probable que no puedan utilizarse para el desarrollo de aplicaciones serias.
Si desea implementar una aplicación USB multiplataforma, lo mejor que puede hacer es escribir una interfaz JNI abstracta que se JNI las bibliotecas nativas de Linux, Mac y Windows que tendrá que escribir usted mismo. LibUSB a LibUSB para manejar Mac y Linux. Windows, como has visto, es bastante sencillo. Acabo de terminar un proyecto de un año de duración que solo hizo esto, y desafortunadamente esta es la única solución seria multiplataforma. Si no tiene que implementar en Windows y sus necesidades son limitadas, puede obtener con una de las librerías Java más antiguas (jUSB o Java-USB). Todo lo que necesite implementar en Win32 / Win64 necesitará un componente nativo.
Si está en un mac, se puede acceder a los dispositivos USB con el directorio / Volumes /.
Ejemplo:
Desea escribir en un archivo en "Drive", por lo que la ruta de archivo sería:
/Volumes/Drive/file.whatever
No estoy seguro de cómo se realiza en otras plataformas, pero esta es la forma más sencilla que he encontrado en una mac
Ver las jUSB o http://usb4java.org/ .