Himbeerkuchen mit Kaffee

JavaFX mit selbst entwickelter Hardware ergänzen

Thomas Scheuchzer

Schon einmal darüber nachgedacht, selber ein Hardware-Gadget zu bauen? Sei es für eine Bastelei oder eine innovative Idee für ein Kundenprojekt: Manchmal wäre es schon etwas Feines, die eigene Software mit ein paar Handgriffen an ungewöhnliche Hardware jenseits von USB koppeln zu können.

JavaFX auf der JAX 2013

JavaFX wird auch eines der heißen Themen der JAX 2013 (22. – 26. April) sein. Wir widmen der UI Technologie einen ganzen Special Day:

JavaFX Day, Dienstag, 23. April 2013

Was lange währt, wird endlich gut. Oder: Totgeglaubte leben länger. Es gibt einige Sprichwörter, die auf die UI-Technologie JavaFX anwendbar sind. Fakt ist, dass die Anforderungen an moderne Desktop-UIs in den letzten Jahren gestiegen sind und JavaFX ist ein Mittel der Wahl, mit dem sich Desktop-Apps heute mit mobilen Apps und Webanwendungen messen können. Oracle wird die UI-Technologie außerdem spätestens mit Java 9 in den Standard einfließen lassen. Grund genug also, sich mit JavaFX heute zu beschäftigen. Im JavaFX Day lernen Sie die Möglichkeiten der Technologie kennen und erfahren auch, ob JavaFX tatsächlich schon „ready for the real world“ ist.

Sessions:

  • Enterprise JavaFX 8, Adam Bien
  • Geschäftsanwendungen mit JavaFX, Karsten Lentzsch
  • JavaFX oder HTML5 – Was nehme ich denn nun für meine Anwendung?, Björn Müller
  • Entwicklung eines interaktiven, intuitiv bedienbaren Scrum Boards mit JavaFX, Alexander Casall
  • JavaFX Custom Controls, Gerrit Grunwald

www.jax.de

„Arduino!“ werden jetzt viele rufen. Ja, die Arduino-Plattform [1] ist seit vielen Jahren eine Lösung für solche Herausforderungen. Leider muss man als Java-Entwickler für Arduino zuerst eine neue Programmiersprache erlernen. Und wie verpasse ich meinem Arduino ein nettes GUI?

Seit letztem Jahr macht der Minicomputer Raspberry Pi dem Arduino Konkurrenz. Für gerade einmal 35 US-Dollar erhält man einen kompletten 700-MHz-PC inklusive 512 MB RAM, Netzwerk, USB und HDMI. Neben dieser Standardausstattung werden noch einige „General Purpose Input/Output“ (GPIO) Pins bereitgestellt. Diese Pins lassen sich, genau wie bei einem Arduino, beliebig für IO programmieren. Die für Raspberry Pi zur Verfügung stehenden Betriebssysteme sind meist *nix-basierend. Somit lässt sich mit Package-Managern Software installieren, wie auf einem normalen Desktop auch. Damit nicht genug: Oracle hat den Raspberry Pi zur Referenzplattform [2] von Java 8 (inkl. JavaFX) für ARM-Prozessoren erkoren! Ich finde, das alles ist Grund genug, sich auch als Java-Entwickler einmal einen Schritt näher an die Hardware zu wagen und so den eigenen Horizont zu erweitern.

Der Raspberry-FX-Button

Im Rahmen dieses Artikels wollen wir nun zusammen ein Hello World Gadget erstellen. Zu diesem Zweck binden wir einen externen Taster an einen Full-HD-Bildschirm. Dazwischen packen wir einen Raspberry Pi, der den Status des Tasters ausliest und in einer JavaFX-Applikation darstellt. Wieso einen Full-HD-Bildschirm? Weil es so mehr Spaß und Eindruck macht! Da wir jetzt ein Stück Hardware entwickeln, benötigen wir einige Bauteile. Einige davon habe ich in meinen alten Arduino-Bausätzen gefunden:

  • 1 Steckplatine (Breadboard)
  • 1 Widerstand 10 kOhm (Braun-Schwarz-Orange-Gold)
  • 1 Push-Button
  • ein paar Verbindungskabel

Zudem sollten wir natürlich einen Raspberry Pi (Model B) sowie einen Bildschirm, eine kabelgebundene USB-Maus und -Tastatur sowie ein Netzwerkkabel bzw. einen USB-WiFi-Adapter griffbereit haben. Funktastaturen bzw. -mäuse bereiten JavaFX nach meinen Erfahrungen Probleme. Mit den erwähnten Bauteilen stecken wir uns die in Abbildung 1 gezeigte Schaltung zusammen.

Abb. 1: Der Steckplan für unser Gadget

Gleich vorweg: Ich bin kein ausgebildeter Elektrotechniker, und ziemlich sicher gibt es bessere und sicherere Schaltungen. Aber da die aufgezeigte Schaltung simpel ist und trotzdem funktioniert, begnügen wir uns damit. Grundsätzlich platzieren wir unseren Taster zwischen der 3,3-V-Stromleitung und der Masse. Nach dem Taster führt eine Leitung zu einem Pin, an dem wir den Zustand ablesen können. Es ist unbedingt darauf zu achten, dass die 3,3-V-Leitung verwendet wird. Eine höhere Spannung kann den Raspberry Pi zerstören!

Geschrieben von
Thomas Scheuchzer
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.