Edge Computing mit ThingsBoard

Inhalt

Was ist Edge Computing?

Beim Edge Computing werden Daten schnell und dezentral an dem Ort verwaltet, an dem die Daten beispielsweise an Sensoren und Aktoren entstehen. In einer Cloud befindet sich die IoT-Plattform des Unternehmens. Anstatt sämtliche Berechnungen in der Cloud durchzuführen, wie Daten zu sammeln, zu filtern, zu aggregieren und Alarme zu bilden, werden diese Aufgaben auf kleinere Instanzen verteilt, z.B. Edge Rechner.

Daten verteilt auf verschiedene Rechner bzw. Rechnersysteme | © it-novum

In der Grafik sehen Sie, wie Daten verschiedener Geräte, wie zum Beispiel einer Drohne, auf Rechner (beispielsweise Edge Computer) übertragen werden. Die Daten auf diesem Rechner können dort bereits im Vorfeld berechnet und gefiltert werden. Es werden nur die benötigten Daten von den Rechnern in die Cloud übertragen. Die gesamte Datenlast liegt nicht mehr in der Cloud alleine, sondern verteilt sich auf die einzelnen lokalen Rechner, was zu einer besseren Skalierbarkeit führt.
Direkt auf den Edge-Geräten können Sie Edge Analytics betreiben, um Alarme zu generieren (Schwellwertüberprüfung), Statistiken über die verbundenen Geräte zu führen oder Anomalien mittels Machine Learning zu erkennen.

ThingsBoard Edge – Edge Computing am Netzwerkrand

ThingsBoard hat eine eigene Lösung für Edge Computing entwickelt: ThingsBoard Egde. In der Cloud befindet sich der ThingsBoard-Server, der um die Edge-Lösung erweitert wurde. Die Edge-Anwendungen sind mit der Cloud verbunden, sodass ein aktiver Datenaustausch zwischen Cloud und Edge-Computern und umgekehrt erfolgt. Bei der Egde-Lösung handelt es sich um eine Art „Mini ThingsBoard“, wie folgende Grafik deutlich macht:

ThingsBoard Edge | © it-novum

ThingsBoard Edge erhalten Sie sowohl in der Community- als auch in der Professional Edition. Die Community Edition funktioniert nur mit der Community-Version vom ThingsBoard-Server, während Sie mit der Professional Edition und der leistungsfähigeren ThingsBoard-Version mehr Flexibilität haben. Die Professional Edition verfügt zusätzlich über einen Scheduler, um Aktionen einzuplanen, Integrationen und Data Converter, um Daten einfach anzubinden sowie ein Rollenkonzept.

Weitere Features von ThingsBoard Edge sind:

  • Traffic Filtering
  • Local Storage / Puffering bei Verbindungsproblemen bzw. Abbrüchen
  • Lokale Alarmregeln

Im Backend vom Edge-ThingsBoard können Sie den Status der Edge-Devices einsehen. Der Status zeigt Ihnen unter anderem, wann die Geräte das letzte Mal mit der Cloud verbunden waren. Die Cloud-Events zeigen Ihnen an, wann was übertragen wurde. Weitere Möglichkeiten sind das Anzeigen von Rule Chains, Dashboards und das Anlegen von Devices. Die User für das Edge-Gerät werden direkt von der zentralen Cloud von ThingsBoard verwaltet und sind dort entsprechend hinterlegt.

Blick auf das Edge ThingsBoard | © it-novum

Die Cloud-Version von ThingsBoard bietet die Möglichkeit, neue Edge-Devices hinzuzufügen. Wenn Sie ein neues Edge-Gerät anlegen, hinterlegen Sie dort Ihren Edge Licence Key. Anschließend wird Ihnen ein Edge Key und ein Edge Secret generiert, welche Sie anschließend in der Konfiguration des Edge Gerätes hinterlegen. Danach ist die Verbindung zwischen Cloud und dem jeweiligen Edge-Device hergestellt.

Neues Edge-Device in der Cloud hinzufügen | © it-novum

Weiterhin können Sie auf dem Edge-Gerät eigene Gruppen von Benutzern hinterlegen, Assets oder eigene Devices. Zusätzlich können Sie bei ThingsBoard Edge in der Cloud Rule Chains bearbeiten.

Bearbeiten der Rule Chains in ThingsBoard Edge | © it-novum

Sobald Daten in ThingsBoard auf Edge ankommen, können Sie diese grafisch im Dashboard einsehen:

Daten kommen im Dashboard von ThingsBoard an | © it-novum

Sollte es zu einem Verbindungsabbruch kommen, lädt ThingsBoard nach dem Verbindungsaufbau die Daten automatisch nach.

ThingsBoard mit Online Machine Learning

Der klassische Ansatz von Machine Learning ist Batch Machine Learning.

Dieser Ansatz hat einige Nachteile:

  • Es sind historische Daten notwendig
  • Beim Training werden alle Samples benötigt
  • Bei neuen Samples muss das Modell unter Umständen neu trainiert werden
  • Zum Teil sind die Hardwareanforderungen enorm (GPUs)
  • Es muss eine Vielzahl an Hyperparametern konfiguriert werden
  • Es handelt sich um starre Modelle; Daten sollten sich nicht ändern

Dagegen eigent sich das Online Machine Learning – oder auch Incremental Machine Learning – ideal für Streaming- und Edge-Anwendungen.

Folgende Eigenschaften und Vorteile zeichnen das Online Machine Learning aus:

  • Ein Sample bzw. eine Datenreihe wird nacheinander bearbeitet, sodass nach jeder Datenreihe das Modell aktualisiert werden kann
  • Es ist weniger Rechenleistung notwendig, da leichtgewichtige Algorithmen
  • Es sind keine historischen Daten notwendig
  • Adaptive Anpassung; höhere Robustheit bei Änderung der Datengrundlage
  • Das Modell ändert sich laufend
  • Unterstützung durch Python Bibliothek „River“:

FAQs – Häufig gestellte Fragen zu Edge Computing und Machine Learning mit ThingsBoard

Ja, Machine Learning ist auch in der Cloud einsetzbar und ist nicht nur auf Edge limitiert. 

Edge kann unter anderem auf Ubuntu, Red Hat, Windows-Systemen oder in einem Docker-Container betrieben werden. 
Als Datenbank wird eine Postgres-Datenbank benötigt. Ebenso ist eine permanente Verbindung zur Cloud nötig. 
Weitere Informationen zur Installation und den Anforderungen für ThingsBoard Edge finden Sie in der offiziellen Dokumentation zu ThingsBoard Edge. 

Die Standardprotokolle, die ThingsBoard unterstützt, sind unter anderem http, MQTT, COAP; aber auch TCP, Kafka und Schnittstellen zu Cloud-Providern wie beispielsweise AWS oder Azure sind möglich.