Die Entwicklung eines Verkaufsautomaten stellt nicht nur besondere Anforderungen an ein Unternehmen, sondern auch an die Entwickler. So wollen die verschiedenen Hardware-Komponenten integriert und kombiniert und das Ganze dann mit der passenden Software zum Leben erweckt werden. Dabei hilft den Mitarbeitern des Embedded-Systems-Spezialisten Garz & Fricke aus Hamburg die Kombination aus GNU/Linux und QT.
Ganz am Anfang waren Zigarettenautomaten ein haptisches wie akustisches Erlebnis: Zur späten Nachtzeit warf man eine Münze ein, die metallisch klappernd die Prüftechnik durchlief. Dann der Klick, der den Schacht freigab. Schließlich konnte man die metallene Schublade herausziehen und die Schachtel des geliebten Suchtstoffs entnehmen. Später dann ging alles schneller und weniger erlebnisreich: Geld rein, Knopf drücken und die Packung landete klappernd im Ausgabefach. Heute können Zigaretten- und andere Verkaufsautomaten wieder zu einem kleinen Einkaufserlebnis werden – dank großer Bildschirme mit Touchbedienung.
Wer künftig zum Automaten in der Kneipenecke kommt, den empfängt mitunter ein modernes Gerät mit großem Bildschirm, der auch gern berührt werden darf, sogar berührt werden muss. Andere mechanische Eingaben gibt es nicht mehr.
"Wir wollen den Benutzer, der sein Smartphone gewohnt ist, in seinem Alltag abholen. Wir wollen den Erwartungen in Sachen Bedienung gerecht werden."
Darüber hinaus bieten die Touchscreens noch weitere Vorteile wie zusätzliche Anzeigeoptionen. Die Bildschirminhalte können vom Automatenbetreiber individuell und flexibel angepasst werden. Beispielsweise können die neuen Maschinen, wenn sie gerade nicht benutzt werden, Werbung für den neuesten Kinofilm oder Nachrichten anzeigen - Stichwort „Digital Signage“ - und so für willkommene Zusatzeinnahmen sorgen. Voraussetzung dafür und für die bessere Userführung ist allerdings, dass die Anzeigen schnell und flüssig ohne Ruckeln laufen. Hier geht Garz & Fricke die sprichwörtliche Extrameile.
Das Projekt des Verkaufsautomaten mit berührungsempfindlichem Bildschirm statt mechanischer Knöpfe und Tasten entstand beim Hamburger Unternehmen aus eigenem Antrieb, aber in enger Abstimmung mit potentiellen Kunden. Bereits vor Beginn des Projekts mussten sich die Entwickler Gedanken über die äußere Gestaltung des Automaten machen.
Einfach wäre gewesen ein Rechteck in die Metalltür zu schneiden. Doch man entschied sich dafür, die gesamte Front aus Glas zu fertigen. Damit wurde das Projekt zu einer Herausforderung, die das gesamte Know-how des Unternehmens forderte.
Einfach wäre gewesen ein Rechteck in die Metalltür zu schneiden. Doch man entschied sich dafür, die gesamte Front aus Glas zu fertigen mit integriertem Human Machine Interface (HMI), also Touchsensorik, Touchlogik und Steuerungsrechner. Damit wurde das Projekt zu einer Herausforderung, die das gesamte Know-how des Unternehmens forderte, von Hardware- Entwicklung der Mehrzahl der Komponenten, die im eigenen Haus gefertigt werden, bis zur kompletten Software.
Der Touchscreen muss besonderen Anforderungen genügen. Er muss gleichzeitig jede Eingabe feinfühlig erfassen und trotzdem robust genug ausgeführt sein, um eventuelle Schäden durch Vandalismus abzuwehren. Nur einfach eine dicke Glasscheibe einzubauen, reicht nicht. Denn „Dicke Scheibe“ und „zielsichere Bedienung“ passen nicht gut zusammen. Im Glas großer Stärke bricht sich das Licht. Diese sogenannte Parallaxe sorgt dafür, dass der Benutzer die einzelnen Bedienelemente auf dem Schirm schlechter trifft. Außerdem nimmt die Empfindlichkeit ab. Wie Touchscreens sensibel und robust werden, lesen Sie im Artikel „Tough performer“ in der E&E 9-16 Int.
Ganz besonderer Aufmerksamkeit bedarf nicht nur die Display-Technologie an sich, sondern auch die Software dahinter. Bei Garz & Fricke haben sich die Entwickler für den GNU/Linux-„Baukasten“ Yocto in Kombination mit dem Grafik-Framework QT entschieden. Auf ein Linux fiel die Wahl nicht nur, aber auch weil es ohne Lizenzkosten eingesetzt werden kann. Viel wichtiger noch ist den Entwicklern, dass heute die Hardware- Unterstützung enorm gut ist.
Yocto ist kein eigenständiges Linux-System, man spricht von Distribution, sondern eher ein Ökosystem, aus dem sich die Entwickler bedienen können.
Die Beteiligten des Yocto-Projekts haben eine Entwicklungsumgebung geschaffen, mit Hilfe derer sich vor allem Entwickler im Bereich Embedded Systems und Internet of Things individualisierte Embedded-Linux-Systeme bauen können.
Bisher mussten sie dafür auf bestehende Distributionen zurückgreifen, die oft nicht flexibel genug an die eigenen Anforderungen angepasst werden konnten, oder sich ein komplettes System selbst zusammenstellen und kompilieren. Mit Yocto steht seit einigen Jahren eine praktikable Lösung bereit, die auch bei Garz & Fricke die Entwicklung beschleunigen konnte. Aus Sicht der Hamburger Entwickler zeichnet sich Yocto vor allem durch seine standardisierte Architektur und hohe Anpassbarkeit aus. Sinnvolle Vorlagen für die Unterstützung der Hardware als auch für die Integration von komplexen Bibliotheken für die Applikationsunterstützung werden in Rezepten verwaltet. Die so erstellte Konfiguration enthält alle Informationen um das Linux-Image jederzeit versionsgetreu reproduzieren zu können.
Auf dieser Basis setzen die Entwickler dann mit dem QT-Framework auf – QT gehört zu den Beteiligten des Yocto-Projekts – und kreieren so die eigentliche Applikation für den Automaten. Dabei wird ihnen die Arbeit dadurch erleichtert, dass seit QT5 QML-, teils sogar HTML-basiert programmiert werden kann. Mit der deklarativen Programmierung QML lassen sich die Oberflächen intuitiv beschreiben. Dabei wird Skalierung unterstützt, was die Entwicklung flexibler macht, weil nicht mehr jedes Element bereits von Anfang an aufs Pixel genau festgelegt werden muss. Zudem werden Grafiken und Video sehr gut unterstützt, was die Einbettung in die grafische Benutzeroberfläche (GUI) stark vereinfacht.
"Die Programmierung mit QT und QML beschleunige die Entwicklung deutlich. Auch wenn man keine QML-Erfahrung hat, dauert die Einarbeitung nicht lange. Man kann ziemlich schnell erste gute Projekte realisieren."
Die Lernkurve sei zwar steil, aber zu bewältigen. Unter anderem deshalb, weil man als Entwickler schnell Ergebnisse sieht, so Kutzera. Für den GUI-Entwickler außerdem positiv sei, dass er so gut wie nicht in Kontakt mit dem eigentlichen Betriebssystem kommt. Dennoch gebe es ab und an Momente, in denen auf die Kompetenz im eigenen Haus zurückgegriffen werde. Zum Beispiel dann, wenn die Performance nicht optimal sei, wie es bei Videos vorkam. Die Herausforderung war hier, die Software perfekt auf die eingesetzte Single Core CPU und den Arbeitsspeicher abzustimmen. Beim Verkaufsautomaten ging das soweit, dass die Spezialisten von Garz & Fricke die Effektivität der verwendeten Video-Codecs analysierten und anschließend die Timings des Arbeitsspeichers entsprechend anpassten, so dass der Code danach optimiert ablief.
Ursprünglich sollten zwei Displays verwendet werden. Doch obwohl es schon einen funktionierenden Prototypen gab, hat man sich aus verschiedenen Gründen noch einmal umentschieden. Es sollte doch nur ein Display werden.
Wer nun denkt, die Software-Entwicklung ging von vorne los, der irrt. Die Konzeptänderung hin zu einem Screen sei innerhalb kürzester Zeit möglich gewesen. Die meiste Arbeit hätten die Änderungen an spezifischen Ausgangsgrafiken gemacht.
"Die erforderlichen Anpassungen am Layout, Bildschirmführung und Bedienlogik sind mit wenigen Handgriffen erledigt gewesen, weil QT mit QML ein so gutes Programmiermodell mitbringt. Das unterstützt Programmierer und Designer aktiv in ihrer Arbeit."
Die fertige Benutzerschnittstelle, das HMI, ist flexibel einsetzbar. Es kann nicht nur in den Automaten neueren Typs verbaut werden, sondern auch ältere Maschinen auf den neuesten Stand bringen, ohne gleich die gesamte Mechanik tauschen zu müssen. Das System kommuniziert weiter auch über die serielle RS232-Schnittstelle. Darüber kann die Steuerung bisheriger Automaten angeschlossen werden. Im ersten Schritt fallen so nur die herkömmlichen Tasten und Knöpfe weg. Die alte Steuerung wird beibehalten und kommuniziert nun mit dem modernen HMI. Später können dann einzelne Bestandteile Schritt für Schritt in die HMI geholt und dort abgebildet werden.
Die neue HMI versteht sich natürlich neben RS232 und MDB auch auf moderne Schnittstellen wie Ethernet, USB, WiFi, Bluetooth oder Mobilfunk 4G. Das schafft neue Möglichkeiten der Kommunikation, aber auch neue Angriffspunkte. Ein Angreifer könnte versuchen, Sicherheitslücken auszunutzen und so den Automaten oder schlimmsten Fall das gesamte Netzwerk aus Automaten zu kompromittieren. Die Aktualisierung der Software-Bestandteile stellt dabei eine große Herausforderung dar, denn Koordination und Taktung der Updates im laufenden Betrieb gestalten sich oftmals schwierig. Garz & Fricke, die schon heute die Vernetzung von mehr als 40.000 Automaten realisieren, begegnen dieser Schwierigkeit mit besonders geschützten Netzen. Dabei wird der Übertragungsweg derart über einen VPN-Tunnel (Virtual Private Networks) abgesichert, dass eine Kommunikation ausschließlich zwischen den Automaten und dem Rechenzentrum möglich ist.
Kleine Platine, große Wirkung: Die Vending-/ IoT-Plattform von Garz & Fricke bringt mit ihrem 4G Modem nicht nur neue Automaten ins Netz, sondern alte Automaten dank des MDB Interfaces auch auf modernsten technischen Stand.