In bisherigen Blogbeiträgen wurde Edge-Computing, sowie einige der Edge-Funktionalitäten (Azure IoT Edge, IoT Edge Module, IoT Edge Modulentwicklung) vorgestellt. In diesem Blogbeitrag werden nun die Offline-Funktionalitäten, im weiteren Verlauf Offline Capabilities genannt, aufgezeigt. Anschließend wird betrachtet, welche Vor- und Nachteile diese Funktionalitäten in Ihrem IoT-Szenario bieten können.
Jeder kennt das Phänomen, dass kurzzeitig die Internetverbindung verloren geht, die WLAN-Verbindung gestört wird oder verschiedene Dienste kurzfristig nicht erreichbar sind. Meist ist die Lösung, dass die Anfrage zu einem späteren Zeitpunkt wiederholt wird. Was aber, wenn eine Produktionsstrecke innerhalb einer Fabrik betroffen ist? Es soll vermieden werden, dass wichtige Daten der Produktionsstrecke verloren gehen und vor allem, dass die Maschinen innerhalb der Produktionsstrecke dennoch miteinander kommunizieren können. Dieses Problem wird mit den Offline Capabilities adressiert.
Wie funktioniert dies am Beispiel von Azure IoT Edge? Wenn ein IoT Edge Device offline geht, übernimmt der dort integrierte lokale IoT Hub folgende Aufgaben:
- Speichern der Nachrichten, die in die Cloud gehen sollen, bis zum erfolgreichen Reconnect.
- Authentifizierung von IoT Edge Modulen und Child-Devices, sodass diese weiterhin fehlerfrei funktionieren.
- Die Kommunikation zwischen Child-Devices oder Modulübergreifend, die normalerweise über den IoT-Hub in Azure laufen würde, wird vom lokalen IoT Hub übernommen.
Alle IoT-Edge Geräte und Child-Devices können nach dem initialen Sync auf unbestimmte Zeit offline betrieben werden. Maßgebend und limitierend ist dabei der TTL (Time to Live) und der verfügbare Festplattenspeicher des Edge-Device. Daher kann je nach Anwendungsfall entschieden werden, ob das Edge Device dauerhaft online, einmal im Monat den Sync durchführen oder komplett offline betrieben werden soll.
Was passiert bei einem Reconnect? Beim Reconnect wird zunächst die Synchronisierung wieder ausgeführt, d.h. die gespeicherten Nachrichten mit hinreichendem TTL werden in der aufgetretenen Reihenfolge an den IoT-Hub gesendet. Desired- und Reported-Properties werden wieder abgeglichen und Child-Devices können wieder mit Änderungen versorgt werden.
Abschließend lässt sich sagen, dass die bereits integrierten Offline-Funktionalitäten, je nach Anwendungsfall, sehr hilfreich sind. Eine weitere Möglichkeit Offline-Funktionalitäten bereit zu stellen, sind IoT Edge Module. So kann z.B. ein lokales Datenbankmodul installiert werden und dies durch andere Module mit Daten befüllt werden. Dabei werden alle Datenbanken unterstützt, die in einem Docker Container ausführbar sind.
Im nächsten Blogpost erfahren Sie was es mit dem Device-Twin auf sich hat und wie dieser verwendet werden kann.
Sprechen Sie uns an, wenn auch Sie Hilfe bei der Planung, Einführung oder Umsetzung von IoT und Industrie 4.0 in Ihrem Unternehmen benötigen. Wir führen Sie gerne ans Ziel.
Sie möchten mehr zum Thema IoT erfahren? Besuchen Sie doch unseren kostenlosen Workshop „IoT in a day – Von Null auf Cloud in einem Tag“ oder buchen Sie unseren zweitägigen IoT Proof of Concept-Workshop.