In verschiedenen Tutorials wie "Schulklima: Daten in der ThingSpeak-Cloud" , "Internet of Everything: Octopus trifft IFTT, MQTT und Alexa" oder "MitmachKlima: LoRaWAN" haben wir bereits gelernt, dass unsere Octopus- oder Makey-Platine verschiedenste Daten mittels onboard- oder externen Sensoren erfassen und transportieren kann. Es wurden verschiedene Methoden zur Datenübetragung gezeigt und auch schon visualisiert. Was aber, wenn wir nun viele Daten von verschiedenen Sensoren bekommen, die alle überwacht, analysiert und visualisiert werden sollen? Wenn vielleicht noch weitere Sensoren dazu kommen sollen, oder weitere Nutzende? Oder wenn Daten anschließend noch weitergeleitet und -verarbeitet werden sollen?
Wie finden wir uns in dem Daten-Dschungel zurecht, welche Optionen gibt es, wie funktionieren sie und wieso es wichtig ist, Daten zu strukturieren und analyisieren.
Thingsboard
Thingsboard ist eine Open-Source-IoT-Plattform, die für fortgeschrittene Visualisierung, Alarmierungen und Automatisierungen entwickelt wurde.
Regel Engines: Automatische AKtionen, wie Benachrichtigungen oder Geräte-Steuerung sind direkt in der Plattform integrierbar
Skalierbarkeit: Thingsboard unterstützt große Datenmengen und Geräte-Flotten druch MQTT, HTTP und auch OTA-Updates
Multi-Tenancy: Für größere Projekte oder Anwendungen können mehrere Benutzer und Rollen angelegt und verwaltet werden
Flexible Integration: Daten können vom Sensor direkt oder indirekt (bspw. erst an TheThingsNetwork und von dort aus) an Thingsboard gesendet werden und von Thingsboard aus an weitere Systeme weitergeleitet werden.
Voraussetzungen
Hardware
Octopus- oder Makey-Platine (ESP32-basiert)
WLAN-Netzwerk (hier testweise mobiler Hotspot eines mobilen Endgerätes)
Software
Arduino IDE mit Ardublock-Plugin (siehe Schnellstart)
Thingsboard Cloud Account (kostenlos 30-Tage verfügbar oder kostenlose Community Edition selbst installieren - für dieses Tutorial sind beide Editionen geeignet)
Schritt 1: Thingsboard Cloud einrichten
Schritt 2: Ardublock-Programm
In Ardublock greifen wir uns unter IoT: Wifi unseren WLAN-Block und geben die Zugangsdaten unseres WLANs / mobilen Hotspots ein.
Unter IoT:HTTP greifen wir uns den Thingsboard, send data-Block
Unter Server geben wir https://eu.thingsboard.cloud ein (falls ihr Thingsboard Community oder Professional-Edition installiert habt und selbst hostet, verwendet entsprechend eure URL und ggf. den richtigen Port)
Access Token ist der Token eures Gerätes, welches ihr in Schritt 1 angelegt habt
Nun folgen drei mögliche Datenfelder, verwendet sinnvolle Namen. Dazu gehört jeweils Data, also welche Sensordaten ihr gerne zuweisen wollt. Hier der BME280 (onboard beim Octopus). Temperatur und Luftfeuchte sollen übertragen werden, der dritte mögliche Datensatz bleibt hier erst einmal leer
Abschließend bauen von den Kontrollstrukturen einen Delay ein, damit unser Octopus nicht permanent Daten erzeugt, sondern energiesparend erst einmal alle 20 Sekunden die geforderten Daten überträgt (im späteren Realfall wollen wir natürlich noch weitaus energiesparender arbeiten mit Abtastraten von bspw 10-15 Minuten)
Schritt 3: Verbinden und Überprüfen!
Schritt 4: Visualisierung
Schritt 5 (optional): Erweiterung TTN
Wir überlegen uns einen Anwendungsfall, beispielsweise die Pegelmessung. Dort werden unsere Sensoren mit Batterien oder Solarpanels versorgt und die Datenübertragung wird durch die Entfernung zu verfügbaren WLAN-Netzwerken über LoRaWAN umgesetzt. Dort nutzen wir LoRaWAN, um die Daten vom Sensor zum TheThingsNetwork (TTN) zu senden. Dort sollen später all unsere Messdaten aller Messstationen zusammenlaufen. Von dort aus können die Daten weitergeleitet werden über WLAN. Hierzu gibt es zwei Optionen von the TTN: Webhooks und MQTT.
Weitere Plattformen
Wer Spaß an der Datenvisualisierung hat kann recht simpel auch andere Plattformen neben Thingsboard verwenden. Viele IoT-Plattformen bieten kostenlose Zeiträume an, die ihr zum Austesten der Plattformen nutzen könnt. Für kleinere Projekte gibt es bei einigen Plattformen auch kostenlose Angebote mit begrenzter Anzahl Geräte, die verbunden werden können.
Webhooks
Ausblick
Rollen
Damit viele Geräte gleichzeitig überwacht werden können, können Nutzende mit Rollen angelegt werden mit verschiedenen Rechten. So wird verhindert, dass ein*e Nutzer*in die Daten oder Konfiguration eines anderen Nutzenden verändern, aber dennoch betrachten kann. Mehr dazu hier.
Regelketten
Wir können mittels Regelketten automatisiert Daten weiterleiten, verarbeiten und Alarme einrichten. Mehr dazu findest du hier.
Hinweis
Sie verlassen die offizielle Website der Hochschule Trier