Zunächst sollte ein eingebettetes Gerät verwendet werden – es muss die notwendigen Protokolle prinzipiell beherrschen. Auf den Amazon-Cloud-Seiten [4] stehen entsprechende Entwicklungs-Kits zur Verfügung. Sie sind von unterschiedlichen Halbleiterherstellern wie Arduino Yun, Broadcom, Renesas, Intel und TI. Hier im Speziellen wurde eine Seeeduino-Arduino-YUN-Plattform verwendet. Auch hier ist ein passendes Device SDK für die Inbetriebnahme notwendig. Amazons „Erste Schritte“-Leitfaden beschreibt, wie die jeweilige Plattform individuell eingerichtet werden kann. In der Regel wird man auf ein GitHub-Verzeichnis verwiesen, welches die notwendigen Bibliotheken und Kurzanleitungen beinhaltet. War die Inbetriebnahme erfolgreich und konnte die Registrierung bei AWS durchgeführt werden, ist man in der Amazon-Cloud-Welt angekommen. Unter dem Menüpunkt IoT kann ein neues Ding angelegt werden (Bild 6).
Nun wird durch AWS IoT automatisch ein neues Ding mit entsprechendem REST-API-Endpunkt und MQTT Topic erstellt.
Nun wird durch AWS IoT automatisch ein neues Ding mit entsprechendem REST-API-Endpunkt und MQTT Topic erstellt. REST und MQTT sind spezifische Verhaltensmuster und Protokolle, die für eine Cloud-Kommunikation wichtig sind. Zusätzlich sind weitere Protokolle für eine Service-orientierte Architektur denkbar. Ziel ist es, eine standardisierte und portable Schnittstelle zu schaffen, auf die andere Cloud-Dienste Zugriff haben und mit dem – zunächst virtuellen – Ding kommunizieren können. Welche Dinge dem virtuellen Schatten eine physische Identität geben und wie die Verknüpfung zur Regelbasis erfolgt, wird mit der Detail-Ansicht realisiert (Bild 7). Mit „Connect a device“ wird ein spezifisches Zertifikat erstellt, welches dem eingebetteten Gerät eine eindeutige Identität gibt.
Während der Installation werden darüber hinaus verschiedene Konfigurationen vorgenommen, um die jeweiligen unterstützten Sicherheitsprotokolle einzubinden und damit alle relevanten Informationen bezüglich Authentizität und Verschlüsselung bereit zu stellen. Im Zuge der Installation werden die Informationen angezeigt (Bild 8). Anschließend ist das eingebettete Gerät als Ding über ein gesichertes Gateway mit der Cloud verbunden. Security by Design ist damit ein wichtiger essenzieller Baustein für die Cloud-Konnektivität. Der Prozess lässt sich auch über die Kommandozeile durchführen (AWS CLI) oder durch entsprechende Skripte über die AWS-API automatisieren.
Visualisierung mit dem Front End
Nachdem die eingebetteten Geräte als Ding mit der Cloud-Infrastruktur kommunizieren können, sollten die durch das IoT-Gerät bereitgestellten Daten für den Anwender visualisiert werden. Das kann nur durch einen Webserver-Zugriff erfolgen. Nur Webdienste sind platt-form¬un¬abhängig und können somit alle Endgeräte ohne Installation zusätzlicher Software mit Daten versorgen. Ein Webserver im Cloud Back End (Bild 4) ist damit verbindlich. Er muss den Zugang zu den bereitgestellten Daten des IoT-Geräts ermöglichen. Die Verbindung schafft bei AWS der Elastic Beanstalk, eine Dienstleistung von Amazon. Sie ermöglicht die Skalierung von Webanwendungen und Webdiensten in den unterschiedlichsten Programmiersprachen von Java über .NET und PHP zu Phyton, Ruby oder Docker. Wird der Anwendungs-Code hochgeladen, übernimmt Elastic Beanstalk automatisch die Kapazitätsbereitstellung, Lastverteilung, automatische Skalierung und die Statusüberwachung der Anwendung. Elastic Beanstalk kann dabei auf durch AWS IoT genutzte Ressourcen – z.B. Datenbanken – zurückgreifen und die Daten entsprechend der eigenen Anwendungslogik bereitstellen [6].
Das eigentliche Front End kann entweder durch eine Web-App oder eine App für das Smart-phone oder Tablet realisiert werden. Bild 9 zeigt das Dashboard einer Web-App. Das Dashboard basiert auf HTML5 und dem JavaScript Framework ReactJS. Die Daten werden über Elastic Beanstalk aus der Datenbank gelesen. Für unterschiedliche Techniken sind Dashboard-Vorlagen verfügbar, sodass eine entsprechende Seite mit kurzer Entwicklungszeit realisiert werden kann. Und damit ist der Service fertig – Sensor to Cloud ist Realität geworden.
Eine Frage des Vertrauens
Embedded to Cloud ist gar nicht so schwierig. Amazon bietet mit dem AWS ein umfassendes Angebot mit hoher Integrationsdichte zwischen den einzelnen Diensten. Wie bei allen Cloud-Anbietern gibt es nur eine Möglichkeit: Man muss sich dem Anbieter und seinen Diensten ausliefern, um die Plug-and-Play-Funktion nutzen zu können. Zwar sind die Protokolle der unterschiedlichen Cloud-Anbieter identisch, aber wie die Instrumentierung erfolgt, ist Gegenstand des Framework. Die gute Nachricht: Security by Design ist Standard. Zwar sind unterschiedliche Verschlüsselungsverfahren mit verschieden sicheren Verfahren möglich, aber das betrifft hauptsächlich die eingesetzten Mikrocontroller. Hat man sich für eine Cloud entschieden, dann gilt der Blick den Rechenzentren und dem Vertrauen, das man dem Anbieter entgegenbringt. Bei Amazon ist das Haupt-Rechenzentrum in Frankfurt. Es bietet mit drei zugeordneten Zonen eine hohe Ausfallsicherheit bei gleichzeitiger Datenspeicherung in Deutschland. Mit dem AWS IoT bietet Amazon zahlreiche Möglichkeiten, Geräte aus der realen Welt mit der Cloud und den verschiedenen AWS-Diensten zu verknüpfen. Die unterschiedlichen Dienste von AWS werden immer enger zusammenwachsen und somit wird für die Zukunft eine umfassende Dienstleistungs-Plattform verfügbar sein.
Literatur
[1] Mell, P. et alii: The NIST Definition of Cloud Computing. NIST – National Insitute of Standards and Technology. U.S. Department of Commerce. 2011. nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf
[2] AWS Remains Dominant Despite Microsoft and Google Growth Surges. 2016. www.srgresearch.com/articles/aws-remains-dominant-despite-microsoft-and-google-growth-surges
[3] Marwan, P.: Open Telekom Cloud soll ab 2016 mit AWS konkurrieren. 2015. www.zdnet.de/88250050/open-telekom-cloud-soll-ab-2016-mit-aws-konkurrieren/
[4] AWS IoT-Starterkits. aws.amazon.com/de/iot/getting-started/#kits
[5] AWS IoT. aws.amazon.com/de/iot
[6] AWS Elastic Beanstalk – PaaS Application Management. aws.amazon.com/de/elasticbeanstalk/
Andreas Booke |
---|
hat seinen Abschluss im Fach Mechatronik bei Dr.-Ing. Jörg Wollert an der Fachhochschule Aachen absolviert. Anschließend arbeitete er bei Wollert als wissenschaftlicher Mitarbeiter im Bereich Embedded Systems, IoT und Wire¬less Technologies und ist seit Mai 2016 Mitgründer eines Unternehmens für die Anbindung von dezentralen Energiespeicherlösungen. |
Prof. Dr.-Ing. Jörg Wollert |
---|
ist Professor für Mechatronik und eingebettete Systeme an der Fachhochschule Aachen und als Dozent und Berater in den Themengebieten industrielle Kommunikation, Echtzeitsysteme und Embedded Systems tätig. Seit gut 20 Jahren beschäftigt er sich mit dem Design und der Implementierung verteilter objektorientierter Echtzeitsysteme sowie Gateway-Technologien zwischen kabelgebundenen und funkbasierten Systemen in industriellen Anwendungen. |
wollert@fh-aachen.de