© Excellent backgrounds/Shutterstock.com
Device Shadows/Device Twins

Amazon IoT für Java


Device Shadows bzw. Device Twins sind ein interessanter Weg, um IoT-Verbünde auch beim Verlust von Teilen der Internetverbindung am Leben zu erhalten. Wie das funktioniert, klärt der folgende Artikel.

Bevor wir in medias res gehen, wollen wir noch eine Runde Unterschiedsbingo spielen. In der heutigen Welt hört man nämlich immer wieder vom Thema des Digital Twin. Ein Digital Twin ist im Grunde genommen ein neuartiger Begriff für eine umfangreiche Softwaresimulation eines realen Systems, die einem Consulting- oder Beratungsunternehmen große Umsätze bringen soll.

Unsere hier verwendeten Device Shadows arbeiten auf einem wesentlich „niedrigeren“ Level. Sie fungieren als eine Art Cache zwischen Gerät und Logik, um bei kurzfristigen Verbindungsausfällen das Weiterfunktionieren des Systems zu garantieren.

Wie funktioniert ein Device Shadow?

Wie so oft in der Welt der Cloud-getriebenen Informatik gilt auch hier, dass 5 000 Wege nach Rom führen. Im Hause Amazon setzt man zur Realisierung der als Device Shadow bezeichneten Funktion auf eine Gruppe von MQTT-Kanälen, über die sowohl Server als auch Client Änderungswünsche miteinander austauschen.

Hinter dem unter [1] im Detail beschriebenen Verfahren steckt der Gedanke, dass das Serversystem beim Nichtbestehen einer Verbindung zum Endgerät mit den im Device Shadow vorliegenden Informationen arbeitet. Kommt das Gerät später wieder online, prüft es Änderungen am Server und aktualisiert den Shadow mit seinen aktuellen Messdaten. Zudem kann das Gerät auch nach Zustandsinformationen befragen, die es auf seine Umgebung anwendet.

Ein Klassiker sind alle Arten von langsam verändernden Zuständen wie beispielsweise eine Solltemperatur für einen Raum – dass Sie einen Device Shadow nicht zum Steuern einer latenzkritischen Aufgabe wie beispielsweise einer Turbinendrehzahl einsetzen sollten, nimmt der Autor als logisch an und führt es hier primär zur Vermeidung rechtlicher oder tödlicher Probleme durch Dummheit an.

Beschwörung eines Schattens

Im Artikel „AWS IoT Device SDK for Java“ [2] in der letzten Ausgabe haben wir festgestellt, dass das SDK vergleichsweise umfangreich ist. Als Lösung nutzten wir den Apache-Maven-Paketmanager, der die notwendigen .jar- und sonstigen Dateien für uns automatisch bereitstellte. Öffnen Sie die Eclipse IDE, und kehren Sie in das im letzten Artikel erzeugte Projektskelett zurück. Ersetzen Sie den im Einsprungpunkt befindlichen Code danach durch die in Listing 1 gezeigten Passagen.

Listing 1

public...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang