Werbung
Werbung

IoT-Gerätesimulator: Frühzeitig die Cloud-Infrastruktur testen

Share on facebook
Share on twitter
Share on linkedin
Share on xing
Share on whatsapp
Share on email
Share on print

IoT-Gerätesimulator: Frühzeitig die Cloud-Infrastruktur testen

Share on facebook
Share on twitter
Share on linkedin
Share on xing
Share on whatsapp
Share on email
Share on print
Wie die Kommunikation zwischen IoT-Geräten und deren Cloud ablaufen soll, ist eine der elementarsten Entscheidungen in einem IoT-Projekt – ihr Funktionieren das A&O. Von Tim Stellfeldt
IoT-Gerätesimulator

Quelle: Panchenko Vladimir/shutterstock

Unabhängig davon, ob Unternehmen einen eigenen Service entwickeln oder auf eine bewährte Lösung eines Cloud-Anbieters zurückgreifen: Von größter Bedeutung sind umfangreiche Tests des Zusammenspiels zwischen Cloud und IoT-Gerät. Gut beraten sind Unternehmen, auf Dienstleister zu setzen, die einen universellen IoT-Gerätesimulator verwenden. Denn der spart Entwicklungszeit und Kosten.

IoT-Services unter der Lupe

Bei der Entwicklung und Herstellung von IoT-Geräten und -Services spielt der Faktor Zeit längst eine wettbewerbsentscheidende Rolle. Eine wesentliche Herausforderung auf Seiten der Hersteller besteht darin, dass Hardware, Geräte-Software, Front- und Backend sowie die IoT-Cloud-Infrastruktur in den meisten Fällen gleichzeitig entstehen. Denn das hat zur Folge, dass ein Testen der Kommunikation zwischen Gerät und Cloud sowie notwendige Fehlerbehebungen eigentlich erst nach Fertigstellung des IoT-Geräts möglich wären.

Das gilt auch, wenn Unternehmen oder Dienstleister auf Standards wie z. B. Azure IoT-Services zurückgreifen. Wie komplex die Entwicklung einer sicheren Device-to-Cloud- / Cloud-to-Device-Kommunikation in diesem Umfeld ist, zeigt ein Überblick der Services, die es u. a. bereitzustellen und damit auch zu testen gilt:

Device Provisioning Service: Dieser Service stellt sicher, dass nur die entwickelten IoT-Geräte mit dieser Cloud kommunizieren können. DPS bietet hierfür verschiedene Möglichkeiten. Eine hiervon ist die Bereitstellung eines Zwischenzertifikats für die gegenseitige Authentisierung mit Geräten. War diese erfolgreich, sendet der Service eine IoT-Hub-URL an das Gerät zurück, das nun in der Lage ist, mit dem IoT Hub zu kommunizieren.

IoT Hub: Der IoT Hub ermöglicht eine bidirektionale IoT-Kommunikation – z. B. via MQTT-Verbindungen. Gleichzeitig ist das Nutzen von Funktionen wie die „Direct Method“ und „Device Twins“ möglich.

  • Direct Method: Sie umfasst im Grunde eine Übersetzung von HTTP in MQTT und ermöglicht einem Backend, Befehle bzw. Daten an ein Gerät zu senden.
  • Device Twin: Dieser Service ist für die Kommunikation mit einem Ist- und Wunschzustand verantwortlich. Seine Aufgabe ist es, Synchronisierungsprobleme zu verhindern, z. B. wenn die Verbindung zum Gerät nicht immer aufrechterhalten wird. Hierfür repliziert der digitale Gerätezwilling den Ist-Zustand des IoT-Geräts in die Cloud, welche wiederum die Kontrolle über das Überschreiben auf den Soll-Zustand hat. Azure sorgt dafür, dass diese Zustandsinformationen stets aktuell sind, wenn eine Seite eine Änderung vornimmt.

Event Hub: Der IoT Hub selbst verhält sich mehr oder weniger wie ein Message Broker und RPC-Provider. Der Azure Event Hub fungiert in diesem Gefüge als vollständig verwalteter Dienst zu Echtzeitdatenerfassung. D. h., durch ihn lassen sich Nachrichten in einer sogenannten Message Queue so lange aufbewahren organisieren, bis sie von verschiedenen Verbrauchern gelesen werden.

AKS Backend: Hierbei handelt es sich um ein – z. B. in Kubernetes – gehostetes Backend, in dem sich die Domänenlogik befindet. Während die Infrastruktur definiert, wie die Cloud mit IoT-Geräten kommuniziert und in verschiedenen Projekten zu sehen ist, definiert die Domänenlogik, was kommuniziert wird und wie reagiert werden kann. Teile einer erarbeiteten Infrastruktur lassen sich in der Regel auch gut bzw. nach leichten Anpassungen in andere Projekte übertragen. Im Gegensatz dazu ist die Domänenlogik immer individuell auf das Projekt abgestimmt.

Das sollte ein IoT-Gerätesimulator können

Trotz der offenkundigen Vorteile standardisierter IoT-Services, schlägt gerade das Fehlen eines guten Debuggings zu Buche. Um die beschriebenen Cloud-Architekturen schon frühzeitig testen zu können, also noch bevor das eigentliche IoT-Device zur Verfügung steht, entwickeln Unternehmen oder Dienstleister für gewöhnlich projektspezifische Gerätesimulatoren. Da sie unter Verwendung verschiedener Programmiersprachen, beliebiger Tools und Frameworks entstehen, sind diese aber nur selten auf andere Projekte übertragbar.

Dabei ließe sich wertvolle Zeit, Aufwände und Entwicklungskosten sparen, wenn das Rad nicht für jedes Projekt neu erfunden werden müsste. Ratsam ist daher auf einen IoT-Partner zu setzen, der auf einen IoT-Gerätesimulator mit einem wiederverwendbaren Asset zurückgreift. Was gilt es hierbei zu beachten?

Benutzerfreundlichkeit: Sie zielt darauf ab, dass die Nutzung des Simulators für einen Entwickler einfacher ist als das Verfassen von kurzen Skripts. Das setzt ein Verständnis für die Simulationsmöglichkeiten voraus – sowohl hinsichtlich Domänen als auch wieder verwendbarer Kommunikationslogik. Wie aus vielen anderen Tools gelernt, setzen wir auch auf Konfigurationsdateien, die wiederverwendet und leicht angepasst werden können. Sie enthält nicht nur alle domänenspezifischen Daten, sondern hier lassen sich auch die Cloud-Architektur und ihre Umgebung abbilden.

Wartbarkeit: IoT-Cloud-Services entwickeln sich stetig weiter und bieten daher immer wieder neue Funktionen. Ein Universal-Simulator muss folglich flexibel und einfach erweiterbar sein und damit leicht anpassbar an die neuesten Architekturen und Cloud-Kommunikationstechnologien.

Stabilität: Nichts wäre beim Debuggen und Testen einer Cloud-Infrastruktur nerviger als Fehlermeldungen des Simulators selbst. Deshalb konnte hier zum einen auf Kotlin gesetzt werden, eine Sprache, die eine Menge guter Möglichkeiten für generische Implementationen bietet und Laufzeitfehler auf einem minimum hält. Zum anderen ist der Simulator stateless, bzw. hält er alle relevanten Daten in der Konfigurationsdatei, wodurch er einfach hoch- und runtergefahren werden kann. Eine voll umfangreiche Testabdeckung ist bei grandcentrix Standard.

Testfunktionen: Mit dem IoT-Gerätesimulator sollten Entwickler vor allem Funktionen testen können, die in fast allen IoT-Projekten auftreten. Bei grandcentrix zählt dazu z. B. das Provisioning, das für das Onboarding von IoT-Geräten über Authentifizierungs-Services verantwortlich ist. Von zentraler Bedeutung ist zudem die Device-2-Cloud-Kommunikation, da IoT-Geräte Daten wie Telemetrie-Parameter oder Zustandsinformationen senden. Welche Art von Daten wann und wo gesendet wird, lässt sich leicht in einer Konfigurationsdatei definieren und ermöglicht es beispielsweise, die Verbindung zwischen IoT Hub und Event Hub zu testen. In diesem Zuge ist auch das Testen der Cloud-2-Device-Kommunikation relevant. Hierbei geht es in aller Regel um Befehle an das IoT-Device, wie z. B. das Einstellen eines Parameters. Nicht zuletzt sollte mit einem Universalsimulator ein Stress-Test möglich sein. Dabei dreht sich alles um die Frage, wie viele Geräte gleichzeitig mit einer Cloud-Infrastruktur kommunizieren können bevor Anpassungen der Service Tiers notwendig sind.

Auf den richtigen IoT-Partner setzen

Bei der Entwicklung von IoT-Geräten spielt seit jeher auch der Faktor Zeit eine wesentliche Rolle. In diesem Zusammenhang sind frühzeitige Testmöglichkeiten der IoT-Cloud-Architektur erfolgskritisch. Bei der Auswahl eines geeigneten Umsetzungspartners ist es daher ratsam, nach dem Vorhandensein von einem IoT-Gerätesimulator und dessen Testmöglichkeiten zu fragen. Sie sollten leicht an die domänenspezifische Logik anpassbar sein und Komponenten für die Cloud-Verbindung wiederverwenden. Das spart Entwicklungszeit und -kosten und kann auf diese Weise einen wertvollen Wettbewerbsvorteil verschaffen.

Tim Stellfeldt ist Technical Solution Architect bei grandcentrix.

Lesen Sie auch: Cyber-Bedrohungen: Wie Cyber-Angreifer die Corona-Pandemie ausnutzen

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on xing
XING
Share on whatsapp
WhatsApp
Share on email
E-Mail
Share on print
Drucken

Ihre Meinung zum Artikel

Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline Feedbacks
View all comments

Andere Leser haben sich auch für die folgenden Artikel interessiert

Werbung

Top Jobs

Data Visualization App/BI Developer (m/f/d)
Simon-Kucher & Partners, Germany/Bonn or Cologne
› weitere Top Jobs
Werbung

Redaktionsbrief

Tragen Sie sich zu unserem Redaktionsbrief ein, um auf dem Laufenden zu bleiben.

Werbung
Werbung

Aktuelle Ausgabe

Topthema: Aus alt mach‘ IIoT

Fabrik 4.0 – den Maschinenpark digital vernetzen

Mehr erfahren

Wir wollen immer besser werden!

Deshalb fragen wir SIE, was Sie wollen!

Nehmen Sie an unserer Umfrage teil, und helfen Sie uns noch besser zu werden!

zur Umfrage

Tragen Sie sich jetzt kostenlos und unverbindlich ein, um keinen Artikel mehr zu verpassen!

* Jederzeit kündbar

Entdecken Sie weitere Magazine

Schön, dass Sie sich auch für weitere Fachmagazine unseres Verlages interessieren.

Unsere Fachtitel beleuchten viele Aspekte der Digitalen Transformation entlang der Wertschöpfungskette und sprechen damit unterschiedliche Leserzielgruppen an.