17. April 2017
Stefan Saring
0

LeafletMap – a map component for JavaFX

JavaFX is the new de facto standard for desktop Java application for some years now. Although, it already provides lots of typical UI components, there is always demand for other controls with special requirements for the application to be build.

mehr

27. Februar 2017
Stefan Barth
0

Raspberry Pi Hackathon

hackathon-raspberry-pi-saxonia-systems

Hackathon

Am 4. und 5. Dezember fand der mittlerweile zweite Hackathon am Standort Dresden statt. Während es im ersten Event um die Entwicklung eines Chatclients mit unterschiedlichen Technologien ging, lag diesmal der Fokus auf der Entwicklung von mehreren HMI (Human Machine Interface) Showcases für das Raspberry Pi. Die Besonderheit lag darin, dass jedes Raspberry mit einem neuen 7” Multitouch Display ausgestattet war und dafür eine passende HMI Anwendung auf Basis von JavaFX entwickelt werden sollte. Im Vorfeld wurde dazu ein Maven Projekt aufgesetzt, welches ermöglicht dass die Anwendung als Jar auf das Pi kopiert und ausgeführt wird. Mit dieser Vorlage konnten alle Teilnehmer zum Hackathon ohne Einarbeitung gleich loslegen und mit dem Programmieren starten. Nach ca. 24h Hacking sind am Ende sechs tolle Anwendungen entstanden, die hier kurz vorgestellt werden:

Team Aqua

Der Grundgedanke bei dieser Idee war es eine Teambuilding Möglichkeit für verteilte Teams zu haben. An jedem Standort gibt es für jedes Team ein Raspberry Pi auf dem ein Aquarium mit Fischen angezeigt wird. Die Nutzer können mittels Interaktionen auf dem Bildschirm die Fische entweder füttern oder verjagen und die Tiere reagieren darauf. Mittels des SynchronizeFX Frameworks ist es geplant, dass sich mehre Aquarien untereinander synchronisieren können und das Team sich somit um nur ein Aquarium kümmern muss.

team-aqua-saxonia-systems

Team Auto

Fernsteuerbare Modellautos / Flugzeuge / Drohnen etc. erfreuen sich zur Zeit großer Beliebtheit. Umso neugieriger ist man, wenn eine eigene Fernbedienung entwickelt werden kann. Dazu wird eine Schnittstelle angeboten (bei diesem Beispiel lief die Kommunikation über WLAN), mit der Befehle direkt an ein RC Auto gesendet werden können. Die Anwendung für das Raspberry Pi besteht aus zwei Slidern zum Regeln der Geschwindigkeit und der Steuerung der Achse. Das Auto besitzt als zuätzliches Modul noch eine Kamera, dessen Bild direkt auf das Display des Raspberries übertragen wird. Mittels eines Switches können die beiden Slider dann auch zur Steuerung der Kamera verwendet werden, wodurch man eine eigene, fernsteuerbare Kamera hat.

team-auto-saxonia-systems

Team Poolplatz

Mitarbeiter, die die meiste Zeit beim Kunden vor Ort und nicht am Hauptsitz in Dresden sind, stehen häufig vor dem gleichen Problem: An welchem Poolarbeitsplatz kann ich heute sitzen? Früher musste man sich im Intranet mit Hilfe eines Excel Sheets einen freien Platz für einen bestimmten Zeitraum suchen oder sich bei der Sekretärin melden, damit diese die Suche für einen übernimmt. In Folge dieses Problems entstand eine Webanwendung namens Poolplatz, mit dessen Hilfe Plätze einfach und schnell gebucht werden konnten. Um diesen Prozess noch weiter zu vereinfachen, wurde eine Anwendung für das Raspberry Pi entwickelt. Dieses steht nun am Empfang und der Mitarbeiter kann darüber seinen Arbeitsplatz buchen. Dazu wählt er mittels einer Swipegeste sein Wunschstockwerk aus und sieht auf einem Blick welche Plätze noch zur Verfügung stehen. Um einen freien Platz zu buchen klickt der Mitarbeiter einfach auf einen solchen und bestätigt die Buchung.

team-poolplatz-saxonia-systems

Team Smart Home

Mit Smart Home werden alle elektronischen Geräte im Haushalt vernetzt und diese können über weitere Eingabegeräte bedient werden und das sogar von außerhalb. Möchte man morgens ein warmes statt kaltes Bad haben, so hatte man früher nur die Möglichkeit die Heizung am Vorabend aufzudrehen. Dabei wurde jede Menge Energie verschwendet. Mittels Smart Home kann man sich einfach einen Zeitplan ausdenken, wann die Heizung betrieben werden soll, z. B. um 4 Uhr morgens. Dann hat die Heizung immer noch genug Zeit das Bad vorzuwärmen ohne Energie zu vergeuden. Genau diesen Anwendungsfall hat sich das Team Smart Home angenommen, indem die Heizung gesteuert und der Energiehaushalt abgefragt werden kann.

team-smarthome-saxonia-systems

Team Synthesizer

Mittels dieser Anwendung ist es möglich das Raspberry Pi in einen Synthesizer bzw. einen Hüllkurvengenerator zu verwandeln und damit mehr oder weniger Musik zu erzeugen. Die Hüllkurve bezeichnet die vier Phasen, die für die Generierung eines Tones notwendig sind. Durch das Drücken eine der Tontasten beginnt die Attack Phase. Dies ist die Zeit, in der die Spannung von 0 bis auf ihr vorgegebenes Maximum ansteigt. Nachdem das Maximum erreicht wurde, beginnt die Decay Phase, in der die Spannung absteigt in der der Ton gehalten wird (Sustain Pegel). Dieser Pegel gibt an wie hoch die Spannung ist, während die Taste gehalten wird. Sobald die Taste wieder los gelassen wird, beginnt die Release Phase, in der die Spannung wieder auf 0 absinkt.
Die Anwendung zeigt diese typischen ADSR Phasen und erlaubt deren Modifikation (daher auch Hüllkurvengenerator). Für ein wenig Abwechslung gibt es zusätzlich noch 12 Tasten um verschiedene Töne abzuspielen.

team-synthie-saxonia-systems

Team Meeting

Wer kennt das Problem nicht auch? Ich brauche in 5 Minuten einen Konferenzraum um ein kurzfristiges Meeting einzuberufen. Bisher musste etwas umständlich per Outlook ein passender Raum gesucht werden. Zudem ist es bisher auch schwer einsehbar von außen, welcher Raum gerade belegt ist. Gängige Praxis ist dann das Lauschen an der Tür oder einfach mal rein schauen. Das kann allerdings sehr peinlich aussehen. Diese Unannehmlichkeiten werden jetzt von der Meeting-App beseitigt. An jedem Konferenzraum befindet sich ein Raspberry Pi, auf dem die Anwendung installiert ist. Diese wird synchronisiert mit dem bisherigen Terminbuchungssystem (Outlook) und zeigt an welches Meeting oder ob derzeit ein Meeting im Raum abgehalten wird (auch praktisch um zu sehen, ob ich vor dem richtigen Raum stehe wenn ich einen Termin habe) und welche als Nächstes anstehen. Ist der Raum frei, so kann problemlos mittels einer einzigen Aktion der Raum für eine Stunde blockiert und auch wieder freigegeben werden.

team-meeting-saxonia-systems

15. Februar 2016
Ronny Garde
0

So geht Spiel mit JavaFX

Mit JavaFX kann man vergleichsweise einfach ein Spiel entwickeln. Wie wir ein „Tower Defence“ Spiel programmiert haben, beschreibt im folgenden der erste Teil des Praktikumsberichts. Das Projekt diente als Einstieg in die Entwicklung von JavaFX Anwendungen.

mehr

11. Februar 2016
Alexander Casall
0

Rob Terpilowskis thoughts on JavaFX

In November 2015 Dirk Lemmermann (Freelancer) and I (Alexander Casall) had a JavaOne session about JavaFX Real World Applications. The article „20 JavaFX real-world applications“ summarizes the talk by showing the applications that we’ve talked about. In addition, I asked the contributors some questions regarding JavaFX: Here is the interview with Rob Terpilowski.

mehr

11. Februar 2016
Alexander Casall
0

Jan Gassens thoughts on JavaFX

In November 2015 Dirk Lemmermann (Freelancer) and I (Alexander Casall) had a JavaOne session about JavaFX Real World Applications. The article „20 JavaFX real-world applications“ summarizes the talk by showing the applications that we’ve talked about. In addition, I asked the contributors some questions regarding JavaFX: Here is the interview with Jan Gassen.

mehr

11. Februar 2016
Alexander Casall
0

Sean Phillips thoughts on JavaFX

In November 2015 Dirk Lemmermann (Freelancer) and I (Alexander Casall) had a JavaOne session about JavaFX Real World Applications. The article „20 JavaFX real-world applications“ summarizes the talk by showing the applications that we’ve talked about. In addition, I asked the contributors some questions regarding JavaFX: Here is the interview with Sean Phillips.

mehr

11. Februar 2016
Alexander Casall
0

Dirk Lemmermanns thoughts on JavaFX

In November 2015 Dirk Lemmermann (Freelancer) and I (Alexander Casall) had a JavaOne session about JavaFX Real World Applications. The article „20 JavaFX real-world applications“ summarizes the talk by showing the applications that we’ve talked about. In addition, I asked the contributors some questions regarding JavaFX: Here is the interview with Dirk Lemmermann.

mehr

4. Januar 2016
Denny Israel
0

JavaFX Persistence – Teil 4 (Async Loading)

Im zweiten Teil haben wir uns angesehen wie man Instanzen von – mit JavaFX Properties versehen – Klassen mittels JPA persistieren kann. Der dritte Teil beschreibt das Nachladen von Daten wenn sie benötigt werden (lazy loading). Trotz lazy loading kann das initiale Laden der Daten einige Zeit beanspruchen, was dem Nutzer als „eingefrorene“ Benutzeroberfläche auffällt.

mehr

28. Dezember 2015
Stefan Heinze
0

JavaFX auf mobilen Geräten (Teil 1)

JavaFX ist die neue Java-Technologie im Desktop-Bereich und somit die Ablösung von Swing. Damit ist es möglich Java-Anwendungen für Desktop, Browser und mobile Geräte zu entwickeln. Allerdings bietet Oracle keinen direkten Support für mobile Endgeräte an, sondern überlässt dies der Community.

mehr

14. Dezember 2015
Rico Hentschel
0

JavaFX Styleable Properties

In JavaFX können Custom-Komponenten auf zwei Wegen erstellt werden – zum einen mit der Controls API und zum anderen über eine Ableitung von einer Container-Klasse (wie Pane). Im Artikel sprechen wir über Custom Controls und meinen damit beide Varianten.

mehr