Blog
Cloud Engineer Spotlight - Youris Perspektive auf IoT mit AWS

Im Januar 2018 hat Xebia die AWS IoT-Kompetenz erworben. Seitdem hatten wir die Gelegenheit, an einer Vielzahl von IoT-Kundenfällen zu arbeiten und dabei das gesamte Potenzial des AWS IoT-Stacks zu nutzen. Um bei den IoT-Technologien an der Spitze zu bleiben, haben wir ein spezielles Cloud-Innovationsteam geschaffen, das die Entwicklung und Ausführung innovativer Lösungen für unsere Kunden leitet.
Ein Teil dieses Teams ist Youri van den Berg, der seit drei Jahren als Cloud Engineer für uns arbeitet. Er wurde in IoT auf AWS durch Bootcamps und praktische Erfahrung ausgebildet und gibt nun unser IoT-Wissen an unsere Kunden weiter. Um besser erklären zu können, wie wir IoT-Fälle angehen, haben wir ihn um einige Einblicke gebeten, wie Sie das Beste aus den AWS IoT-Services herausholen können.
Der Fall
Eines unserer größten IoT-Projekte ermöglichte es einem Kunden, die Temperaturen von öffentlichen Außenplattformen genau und rechtzeitig zu messen. Im Winter bildet sich häufig eine Eisschicht auf dem Boden und es muss Salz gestreut werden, um Schnee und Glatteis zu entfernen und die Sicherheit zu gewährleisten. Bisher konnte sich unser Kunde bei der Entscheidung, ob Salz gestreut werden muss, nur auf die Wettervorhersage stützen. Es wurde eine intelligente IoT-Lösung benötigt, die aktiv die Oberflächentemperaturen des Bodens misst, um unnötige Salzstreuungen zu vermeiden. Außerdem mussten die Daten sicher verfügbar und für eine externe Wetterplattform nutzbar gemacht werden, damit sie für Vorhersagemodelle verwendet werden konnten.
Einrichtung der Lösung
Gemeinsam mit einem externen Unternehmen haben wir eine Gehwegplatte entwickelt, in die Sensoren eingelassen sind, einer direkt unter der Platte und ein weiterer etwa 30 cm tief im Boden, um zuverlässige Messwerte zu gewährleisten. Der Temperatursensor ist als eigenständiges Gerät ohne externe Stromversorgung gebaut und wird daher mit Batterien betrieben. Um die Langlebigkeit der Batterien zu gewährleisten, wird eine LoRaWAN-Lösung (Long Range Wide Area Network) verwendet. LoRaWAN ist eine Netzwerkschicht, die auf LoRa aufbaut und eine Kommunikation mit großer Reichweite bei geringem Stromverbrauch ermöglicht. Alle 15 Minuten sendet der Sensor einen Temperaturmesswert über das LoRa Gateway, das eine landesweite Abdeckung hat.
Youri: "Eine Herausforderung bestand darin, dass die Reichweite des LoRa-Signals durch den Untergrund stark eingeschränkt war und die Daten daher nicht effektiv übertragen werden konnten, so dass wir ein zusätzliches LoRa-Gateway vor Ort einrichten mussten. Die Daten werden während der Übertragung verschlüsselt und können nur vom Anwendungs-Backend entschlüsselt werden, so dass der Zugriff auf die Daten selbst und deren Veränderung verhindert wird, bevor sie das Anwendungs-Backend erreichen."
Sobald die Daten von der API empfangen wurden, werden sie in einem Thema auf AWS IoT Core veröffentlicht. AWS IoT Core ist ein verwalteter Cloud-Service, mit dem verbundene Geräte einfach und sicher mit Cloud-Anwendungen und anderen Geräten interagieren können. Zusätzliche Lambda-Funktionen werden dann auf der Grundlage einer Reihe von Regeln ausgelöst, um die Daten von rohen Bits in eine interpretierte Form umzuwandeln, so dass sie einfach in der Datenbank gespeichert werden können. Am Ende ihrer Reise werden die Daten an ein internes Data Warehouse (Redshift) gesendet, wo sie zur weiteren Analyse gespeichert werden. Alle Rohdaten, die wir von den "Dingen" erhalten, werden über einen Trigger für alle eingehenden Rohdaten in Amazon S3 (und schließlich Amazon Glacier) gespeichert. Auf diese Weise können wir jede weitere Vorverarbeitung wiedergeben oder nützliche Daten aus diesen Rohdaten oder den Metadaten extrahieren, indem wir sie erneut einspeisen.

Die Lambda-Funktionen können Daten vorverarbeiten und können ihrerseits verschiedene Funktionen verwenden oder die Daten in einem anderen Thema neu veröffentlichen. Am Ende werden die Daten in einem Rohdatenspeicher gespeichert. Wir können diese Daten in verschiedenen Slots und Data Marts weiterverarbeiten. Die Data Marts sind die Quellen für die M2M-Schnittstellen und Berichtsanwendungen, während die Rohdaten für die weitere Datenexploration verwendet werden können. Um die Anforderungen für Sensoren/Geräte von Drittanbietern und verschiedenen LoRa-Anbietern zu erfüllen, stellt die Lösung einen MQTT- oder REST-Endpunkt mit API Gateway bereit und verarbeitet die Daten vor, bevor wir sie in AWS IoT einspeisen.
Sobald die Daten das Data Warehouse erreichen, werden sie externen Kunden, wie der Wetterplattform, über eine API zur weiteren Verarbeitung zur Verfügung gestellt. Eine Frontend-Webanwendung ermöglicht es dem Kunden, die Daten zu visualisieren, Messwerte zu vergleichen oder historische Daten einzusehen. Die Webanwendung ist eine Rails-Anwendung und wird als automatisch skalierender ECS Fargate-Dienst ausgeführt. Die M2M-API, die externen Verbrauchern zur Verfügung gestellt wird, ist mit OpenAPI dokumentiert, um eine effizientere Integration zu ermöglichen.
Youri: "Die weitere Interpretation der Daten erfolgt beim Kunden. Dort haben wir die richtigen BI-Tools eingerichtet, die es unserem Kunden ermöglichen, die Daten zu visualisieren und die Lösung zu vervollständigen. Die komplette IoT-Plattform wurde schrittweise entwickelt, aber die meiste Mühe wurde in die effiziente Entwicklung der Sensoren gesteckt. Dazu gehörten die Anpassung der Spezifikationen der Sensoren, der Aufbau der Kommunikation und die Implementierung der LoRaWAN-Konnektivität. In Fällen, in denen die Reichweite nicht ausreichte, fügten wir zusätzliche LoRa-Gateways auf dem Gelände des Kunden hinzu."
Sicherheit
Die Konfiguration von Anwendungen und LoRa-Geräten sowie die dazugehörigen Schlüssel werden innerhalb der verwendeten Plattform vorgenommen. Ein Gerät wird mit OTAA (Over The Air Activation) bereitgestellt, das einen eindeutigen Sitzungsschlüssel auf der Grundlage von AES-Kryptographie erzeugt. Die Authentifizierung und Autorisierung erfolgt über die LPWAN-Middleware, indem Schlüssel für Geräte erstellt und/oder widerrufen werden. Daten, die über die Luft übertragen werden, werden auf der Grundlage der eindeutigen Sitzungsschlüssel verschlüsselt und können nur in den endgültigen Handlern der Daten entschlüsselt werden. Die Daten werden im Handler-Stack entschlüsselt, kurz bevor sie an das AWS IoT-Thema übermittelt werden.
Gelernte Lektionen
Youri: "Wir haben gelernt, dass wir ein Gleichgewicht zwischen Kostenoptimierung und Flexibilität der Plattform finden müssen. Die IoT-Dienste mussten zu verschiedenen Themen feinabgestimmt werden. Wir begannen damit, dies sehr gründlich zu tun, indem wir Regelauslöser für jede Reaktion über die IoT-Kanäle einrichteten: Wenn bestimmte Anforderungen erfüllt waren, folgten vorbestimmte Aktionen. Allerdings zahlen Sie auch für jedes Mal, wenn dieser Prozess ausgelöst wird. Wir lösten dies, indem wir zu einer einzigen Lambda-Funktion übergingen. Die Datenverarbeitung war durch diese eine Funktion ausreichend und sparte eine Menge Kosten.
Wir wurden mit der Tatsache konfrontiert, dass sich Szenarien in der realen Welt erheblich von einer Laborumgebung unterscheiden. Sobald Sie mit Ihrer Lösung außerhalb des Labors sind, kommen neue Faktoren ins Spiel. So wirkten sich die kalten Temperaturen beispielsweise stärker auf die Lebensdauer der Sensoren aus, als wir erwartet hatten, und mussten entsprechend angepasst werden. Außerdem verringerte sich die vorhergesagte Signalreichweite, sobald die Sensoren unter der Erde platziert wurden, wie ich bereits erwähnt habe."
Ergebnisse
Am Ende war unser Kunde nun in der Lage, Daten von den öffentlichen Bereichen zu sammeln und eine BI-Plattform zu nutzen, um die von den Sensoren generierten Daten zu analysieren. Von dort aus kann er vorhersagen, welche Art von Maßnahmen - präventiv oder reaktiv - er ergreifen kann, um die Betriebs- und Wartungskosten zu senken, aber letztendlich auch, um wetterbedingte Risiken für die Infrastruktur des Kunden zu mindern und eine sicherere Umgebung zu gewährleisten, während weniger Ressourcen als zuvor verbraucht werden.
Wie wird Ihre Geschichte beginnen?
Sind Sie neugierig, wie Ihre Karriere bei uns verlaufen könnte? Schauen Sie doch mal auf unserer Karriereseite um mehr über Xebia zu erfahren und darüber, was Sie von einer Karriere bei uns erwarten können.
Verfasst von
Thomas Wijntjes
In my role as a Marketing & Sales Specialist at Oblivion I get to combine the best of both worlds: staying on top of the latest cloud developments by listening to our customer’s challenges and using this input to create engaging content.
Contact