programacion - Hacer un dispositivo USB, controlarlo en Java
manual de programacion android pdf (6)
¿Puedes ampliar tu necesidad de un dispositivo personalizado? Me parece que el diseño de hardware tiene una barrera bastante alta para la entrada y que la mayoría de las aplicaciones en las que puedo pensar se resolverían mejor mediante la reutilización de una pieza existente de hardware del controlador del juego. Si realmente necesitas hardware nuevo, te sugiero que comiences buscando en Google ''kit de desarrollo USB'' o ''placa de desarrollo USB'' que te proporcionará enlaces como este , esto y esto .
En cuanto a trabajar con hardware USB de Java, he jugado un poco con la biblioteca JUSB y parece prometedor, pero parece estar limitado a Linux solo porque la versión de Windows de la biblioteca nativa no se ha escrito la mitad de la biblioteca . Las alternativas se pueden encontrar buscando en Google ''HID java''.
Estoy pensando en hacer un controlador físico (¿dispositivo?) Con mandos, botones y LED. Me gustaría interactuar con él usando Java (responder a las perillas, encender los LED, etc.). La razón por la que menciono Java es doble: primero, sé que Java es bueno 1 . Segundo, escribí el resto del programa con el que necesito interactuar en Java (aunque hay formas de hablar con el programa Java desde otro idioma).
Me gustaría que el dispositivo se conecte a través de USB y sea independiente de la plataforma (informática).
No tengo la menor idea de por dónde empezar, excepto para comenzar a leer el sitio web de Arduino. ¿Es esta mi mejor / única opción? ¿Hay algo mejor para comunicarse con Java?
Nota: Sé que Arduino tiene algo que ver con Java (no estoy seguro de qué), pero parece que el código debe escribirse en un subconjunto de C.
¿Cómo me movería en este tema?
1 - Sin risa, por favor.
El entorno de desarrollo Arduino está escrito en Java.
Pero el lenguaje estándar en el que escribe un programa para la plataforma Arduino es efectivamente C ++.
La plataforma Arduino se basa en un chip Atmel AVR. Hay al menos una máquina virtual Java para chips AVR . Hay otros idiomas disponibles para AVR como Forth y BASIC (aunque solo pude encontrar versiones comerciales, así que si quieres encontrarlos, busca "AVR BASIC").
Arduino usa un puerto COM virtual para comunicarse entre la computadora host y él. Un puerto COM virtual emula una línea serie de estilo antiguo, pero está hecho con USB. Puede usar la API de comunicación de Java para que un programa Java que se ejecute en la computadora host se comunique con su dispositivo físico.
Ok, ¿independiente de la plataforma de la computadora? ¿A qué plataformas te diriges? Eso dependería del controlador y del soporte para esa plataforma, ¿qué hace el dispositivo usb? ¿Es un dispositivo de almacenamiento masivo ... Es posible que tenga que mirar a su alrededor y ver si puede encontrar un controlador de dispositivo que pueda hablar con el dispositivo ...
Espero que esto ayude, Saludos, Tom.
Sé que para el puerto serie había bibliotecas que existían para interactuar con él (biblioteca rs232). Google para Java y USB devolvió varias respuestas (la primera se llamó jUSB). Ese sería el primer tipo de cosa que estaría buscando.
Para algunos codificadores y botones, es probable que desee implementar un dispositivo USB HID. Si va a producir más de un par de ellos, querrá hacer una tabla personalizada. Eche un vistazo a V-USB , una biblioteca de código abierto para hacer dispositivos USB HID que usan microcontroladores Atmel. Tienen muchos ejemplos de proyectos que usan esta biblioteca.
Probablemente pueda hacer que parezca un joystick HID, utilizando los codificadores para producir información del eje X / Y y que los botones actúen como botones. Podrían utilizar las API de juegos Java estándar para leer los valores del joystick.
muestra para la conexión de usb de java al microcontrolador de escala libre: