Pregunta

Estoy pensando en hacer un controlador físico (dispositivo?) Con las perillas, botones y LEDs. Me gustaría interactuar con él utilizando Java (responde a los mandos, se encienden los LEDs, etc.). La razón que menciono Java es doble: en primer lugar, sé bien de Java 1 . En segundo lugar, he escrito el resto del programa necesito para interactuar con en Java (aunque hay maneras de hablar con el programa Java desde otra lengua).

Me gustaría que el dispositivo se conecte a través de USB y ser (por computadora) independiente de la plataforma.

No tengo la menor idea de por dónde empezar, excepto para empezar a leer el sitio web de Arduino. ¿Es esta mi mejor única opción /? ¿Hay algo más adecuado para comunicarse con Java?

Nota:. Yo sé que Arduino tiene algo que ver con Java (no sé qué), pero parece que el código debe ser escrito en un subconjunto de C

¿Cómo puedo empezar a moverse sobre este tema?


1 - No se risas, por favor

.
¿Fue útil?

Solución

El entorno de desarrollo Arduino está escrito en Java.

Sin embargo, el lenguaje estándar de escribir un programa para la plataforma Arduino es efectivamente C ++.

La plataforma Arduino se basa en un chip de Atmel AVR. Hay por lo menos un máquina virtual de Java para los chips AVR . Hay otros idiomas disponibles para el AVR como Forth y BASIC (aunque sólo pude encontrar las versiones comerciales, por lo que 'll si quieres encontrarlos, busque "AVR BASIC").

El Arduino utiliza un puerto COM virtual para la comunicación entre el ordenador principal y él. Un puerto COM virtual emula una antigua línea serie estilo, pero se hace con USB. Se puede utilizar el de Java API de comunicación para luego tener un programa Java que se ejecuta en el host ordenador se comunique con el dispositivo físico.

Otros consejos

En algunos codificadores y los botones, es probable que desee poner en práctica un dispositivo USB HID. Si usted va a producir más de un par de ellos, tendrá que hacer una tabla personalizada. Echa un vistazo a V-USB, una biblioteca de código abierto para la fabricación de dispositivos USB HID el uso de microcontroladores Atmel. Tienen un montón de ejemplos de proyectos que utilizan esta biblioteca.

Probablemente se podría hacer de este aspecto como un joystick HID, utilizando los codificadores de productos X / Y la información eje y que tiene los botones actúan como botones. Ellos se podrían utilizar las API de juego estándar de Java para leer los valores de joystick.

¿Puede ampliar su necesidad de un dispositivo personalizado? Me parece que el diseño de hardware tiene una muy alta barrera a la entrada y que la mayoría de las aplicaciones que se me ocurre sería mejor resuelto por la reutilización de una pieza de hardware existente del dispositivo de juego. Si realmente necesita un nuevo hardware, entonces le sugiero que comience por 'kit de desarrollo de USB' googlear o 'El tablero del desarrollo del USB', que le conseguirá enlaces como este , este y este .

En cuanto a trabajar con el hardware USB de Java, he jugado un poco con la biblioteca JUSB un poco y parece prometedor, pero parece estar limitado a Linux sólo porque la versión de Windows de la mitad de la biblioteca nativa de la biblioteca hasn' t sido escrito. Las alternativas pueden por encontrado por googlear 'java HID'.

Ok, independiente del ordenador-plataforma? ¿En qué plataformas está destinada a una audiencia? Ello dependerá de que el conductor y el apoyo para que dicha plataforma, lo que hace el dispositivo USB? Se trata de un dispositivo de almacenamiento masivo ... Puede que tenga que mirar alrededor y ver si se puede encontrar un controlador de dispositivo que puede hablar con el dispositivo ...

Espero que esta ayuda, Atentamente, Tom.

Sé que para el puerto serie había bibliotecas que existían para interactuar con él (biblioteca RS232). Buscar en Google para Java y USB regresó varias respuestas (el primero fue llamado JUSB). Ese sería el primer tipo de cosa que estaría buscando.

muestra para la conexión USB a java microcontrolador Freescale:

http://javausbapi.blogspot.com/

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top