Domanda

Sto pensando di fare un controller fisico (dispositivo?) Con manopole, pulsanti e LED. Mi piacerebbe interagire con esso tramite Java (rispondere alla manopole, si accendono i LED, etc). Lo ricordo perché Java è duplice: in primo luogo, lo so bene Java 1 . In secondo luogo, ho scritto il resto del programma che ho bisogno di interfacciarsi con in Java (anche se ci sono modi per parlare con il programma Java da un'altra lingua).

desidero il dispositivo per collegarsi tramite USB ed essere (elaboratori) indipendente dalla piattaforma.

Non ho la minima idea di dove cominciare, se non per cominciare a leggere il sito Arduino. C'è questo mio migliore unica opzione /? è qualcosa di più adatto per comunicare con Java?

Nota. So che Arduino ha qualcosa a che fare con Java (non so cosa), ma sembra che il codice deve essere scritto in un sottogruppo di C

Come faccio a muoversi su questo argomento?


1 -. No risate, si prega

È stato utile?

Soluzione

L'ambiente di sviluppo Arduino è scritto in Java.

Ma la lingua standard si scrive un programma per la piattaforma Arduino è efficace C ++.

La piattaforma Arduino è basata su un chip Atmel AVR. C'è almeno un Java VM per i chip AVR . Ci sono altre lingue disponibili per l'AVR, come Forth e BASIC (anche se ho potuto trovare solo versioni commerciali, così ho 'll se si vuole trovare loro, cercare 'AVR di base').

L'Arduino utilizza una porta COM virtuale per la comunicazione tra il computer host e di esso. Una porta COM virtuale emula una vecchia linea seriale stile, ma è fatto con USB. È possibile utilizzare il Java API di comunicazione per poi avere un programma Java in esecuzione sul computer host di comunicare con il dispositivo fisico.

Altri suggerimenti

Per alcuni encoder e pulsanti, probabilmente avrete bisogno di implementare un dispositivo USB HID. Se avete intenzione di produrre più di un paio di loro, ti consigliamo di fare una scheda personalizzata. Vedi la V-USB, una libreria open-source per la realizzazione di dispositivi USB HID utilizzando microcontrollori Atmel. Hanno un sacco di esempi di progetti che utilizzano questa libreria.

Si potrebbe probabilmente fare questo sguardo come un joystick HID, utilizzando gli encoder per la produzione di informazioni dell'asse X / Y e avendo i tasti si comportano come pulsanti. Essi si potrebbero utilizzare le API di gioco standard di Java per leggere i valori del joystick.

Si può ampliare il vostro bisogno di un dispositivo personalizzato? Mi sembra che la progettazione di hardware ha una bella barriera all'ingresso sul mercato e che la maggior parte delle applicazioni posso pensare sarebbe meglio risolta da riproporre un pezzo esistente di hardware del controller di gioco. Se si ha realmente bisogno di nuovo hardware, allora vi suggerisco di iniziare googling 'kit di sviluppo USB' o 'Scheda di sviluppo USB', che ti porterà link come questo , questo e questo .

Per quanto riguarda il lavoro con hardware USB da Java, ho giocato in giro con la libreria JUSB un po 'e sembra promettente, ma sembra essere limitata a Linux solo perché la versione Windows del mezzo nativa libreria della biblioteca hasn' t stato scritto. Alternative possono da trovato da googling 'java HID'.

Ok, computer indipendente dalla piattaforma? Quali piattaforme stai destinati a? Ciò dipende dal driver e il supporto per la piattaforma che detto, che cosa fa il dispositivo usb fare? Si tratta di un dispositivo di memoria di massa ... Potrebbe essere necessario guardarsi intorno e vedere se è possibile trovare un driver di periferica in grado di comunicare con il dispositivo di ...

Spero che questo aiuti, I migliori saluti, Tom.

So che per la porta seriale c'erano librerie esistenti per interagire con esso (biblioteca RS232). Googling per Java e USB tornati più risposte (il primo è stato chiamato jUSB). Questo sarebbe il primo tipo di cosa che sarebbe in cerca di.

di esempio per il collegamento java USB per Freescale microcontroller:

http://javausbapi.blogspot.com/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top