Frage

Ich denke über einen physischen Controller macht (Gerät?) Mit Knöpfen, Tasten und LEDs. Ich möchte mit ihm unter Verwendung von Java (bis LEDs an den Knöpfen, Licht reagieren, usw.) zu interagieren. Der Grund, warum ich Java erwähnen ist zweifach: Erstens, ich weiß, Java und 1 . Zweitens habe ich den Rest des Programms geschrieben Ich muß mit in Java Schnittstelle (obwohl es Möglichkeiten, um Gespräch mit dem Java-Programm aus einer anderen Sprache ist).

Ich würde das Gerät gerne über USB anschließen und seine (computer-) plattformunabhängig.

Ich habe nicht die geringste Ahnung, wo zu beginnen, mit Ausnahme der Arduino Website zu lesen zu beginnen. Ist das meine beste / einzige Option? Gibt es etwas besser geeignet für mit Java in Verbindung steht?

. Hinweis: Ich weiß, dass Arduino etwas mit Java (nicht sicher, was zu tun), aber es scheint, wie Code in einer Untergruppe von C geschrieben werden muß

Wie würde ich zu diesem Thema sich zu bewegen?


1 - Kein Lachen, bitte

.
War es hilfreich?

Lösung

Die Arduino-Entwicklungsumgebung ist in Java geschrieben.

Aber die Standardsprache ein Programm für die Arduino-Plattform schreiben, ist effektiv C ++.

Die Arduino-Plattform basiert auf einem Atmel AVR-Chip. Es gibt mindestens ein Java VM für AVR-Chips . Es gibt noch andere Sprachen für die AVR wie Forth und BASIC (obwohl ich nur kommerzielle Versionen finden konnte, so dass ich ‚ll, wenn Sie sie finden wollen, suchen Sie nach "AVR BASIC").

Das Arduino verwendet einen virtuellen COM-Port zwischen dem Host-Computer und zu kommunizieren. Ein virtueller COM-Port emuliert einen alten Stil serielle Leitung ist aber mit USB getan. Sie können die Java Kommunikations-API dann ein Java-Programm auf dem Host ausgeführt Computer kommunizieren mit Ihr physikalisches Gerät.

Andere Tipps

Bei einigen Encodern und Tasten, möchten Sie wahrscheinlich ein USB-HID-Gerät implementieren. Wenn Sie vorhaben, mehr als ein paar von ihnen zu produzieren, möchten Sie eine benutzerdefinierte Board tun. Schauen Sie sich V-USB , ein Open-Source-Bibliothek für die Herstellung von USB-HID-Geräte mit Atmel-Mikrocontroller. Sie haben eine Reihe von Beispielen für Projekte, die diese Bibliothek nutzen.

Sie könnten wahrscheinlich so aussehen wie ein HID Joystick machen, mit den Gebern zu produzieren X / Y-Achse Informationen und mit den Tasten wie Knöpfe wirken. Sie Sie Standard-Java-Gaming-APIs verwenden, könnten die Joystick-Werte zu lesen.

Können Sie für eine benutzerdefinierte Gerät nach Bedarf erweitern? Es scheint mir, dass Hardware-Gestaltung eine ziemlich hohe Eintrittsbarriere hat und dass die meisten Anwendungen, die ich denken kann besser durch Repurposing ein vorhandenes Stück Game-Controller-Hardware gelöst werden würde. Wenn Sie wirklich neue Hardware benötigen, dann schlage ich Sie durch googeln ‚USB-Development-Kit‘ starten oder 'USB-Entwicklungs-Board', die Sie bekommen, Links wie diese , dieses und diese .

Wie für die Arbeit mit USB-Hardware von Java, ich habe ein wenig mit der JUSB Bibliothek rumgespielt und es sieht vielversprechend aus, scheint aber auf Linux beschränkt sein, nur weil die Windows-Version der nativen Bibliothek Hälfte der Bibliothek hasn‘ t geschrieben. Alternativen kann durch googeln 'HID java' gefunden.

Ok, computerplattformunabhängig? Welche Plattformen sind Targeting Sie? Das würde davon abhängen, die Fahrer und die Unterstützung, daß die Plattform, was macht das USB-Gerät tun? Ist es ein Massenspeichergerät ... Sie müssen sich umsehen können und sehen, ob Sie einen Gerätetreiber finden können, die an das Gerät ...

sprechen

Hope, das hilft, Freundliche Grüße, Tom.

Ich weiß, für den seriellen Anschluss gab es Bibliotheken, die mit ihm für die Interaktion existierten (rs232 Bibliothek). für Java und USB Googeln ergab mehrere Antworten (der erste genannt JUSB wurde). Das wäre die erste Art der Sache sein, ich würde suchen.

Beispiel für Java-USB-Anschluss an Freescale Mikrocontroller:

http://javausbapi.blogspot.com/

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top