a. IFTTT – das Schweizer Taschenmesser der Cloud
IFTTT („If This Then That“) verbindet verschiedene Dienste, Geräte und Programme über einfache Wenn-dann-Regeln:
Wohin mit meinen Daten?
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-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 analysieren.
Thingsboard ist eine Open-Source-IoT-Plattform, die für fortgeschrittene Visualisierung, Alarmierungen und Automatisierungen entwickelt wurde.
Vorteile
MQTT von Adafruit IO Broker nutzt das Publisher/Subscriber-Prinzip:
Teil | Anzahl | Beschreibung |
Octopus-Board oder Arduino | 1 | mit WLAN-Funktion und angeschlossenem Neopixel-LED |
USB-Kabel | 1 | zum Anschluss an den PC |
WLAN-Verbindung | – | für die Verbindung zu Adafruit und IFTTT |
Amazon Alexa Gerät (z. B. Echo Dot) | 1 | für Sprachsteuerung über IFTTT |
Teil 1: Umsetzung MQTT
Mit Hilfe des Cloud-Dienstes Adafruit IO lässt sich MQTT einfach nutzen, um z. B. die Neopixel-Farbe am Octopus per Nachricht aus der Cloud zu steuern. Auch ohne Sprachassistent wie Alexa ist das Projekt sinnvoll einsetzbar.
Schritte zur Umsetzung:
Registrierung bei Adafruit IO
Ein kostenloses Benutzerkonto wird benötigt: https://io.adafruit.com/. Beispiel-Username im Tutorial: „IoTWerkstatt“ (individuell anpassen)
MQTT-Topic anlegen
Nach dem Login eine Gruppe (z. B. „Octopus“) erstellen und darin einen Feed (z. B. „neopixel“) anlegen.
Broker-Zugang in Ardublock einrichten
In Ardublock den IoT-Superblock aus dem Baukasten „MQTT-Protokoll“ auswählen. Dort den persönlichen Adafruit-Username und den AIO-Key (API-Schlüssel) eintragen – diesen kopiert man aus dem Adafruit-Menü.
MQTT-Feed abonnieren (Subscribe)
Der Octopus muss als Subscriber den Feed überwachen. Die genaue Adresse folgt dem Schema: Username/feeds/Gruppe.Feedname. Beispiel: IoTWerkstatt/feeds/octopus.neopixel. Die Information ist über „Feed Info“ im Adafruit-Interface abrufbar.
Aktion beim Empfang einer Nachricht
Im Programm definieren, wie auf empfangene Nachrichten reagiert wird. Beispiel: Wenn „rot“ empfangen wird, schaltet der rechte Neopixel auf Rot.
Test der MQTT-Kommunikation
Auf der Adafruit-Webseite beim Feed auf „+ Add Data“ klicken und z. B. „rot“ eingeben. Wenn alles korrekt eingerichtet ist, reagiert der Octopus mit Farbwechsel.
Teil 2: Umsetzung IFTTT
Mit dem Dienst IFTTT lässt sich eine Sprachsteuerung mit Alexa einfach umsetzen, um Neopixel-Farben über MQTT zu ändern. Dafür sind nur wenige Schritte nötig:
Registrierung bei IFTTT
Kostenlos unter ifttt.com registrieren.
Trigger mit Alexa erstellen
Im Bereich „My Applets“ eine neue „Wenn … dann …“-Regel anlegen. Unter „+this“ den Dienst Alexa auswählen, mit dem Amazon-Konto verbinden und z. B. den Sprachbefehl „Octopus rot“ festlegen.
Action mit Adafruit festlegen
Unter „+that“ den Dienst Adafruit auswählen, Konto verknüpfen und die Nachricht „rot“ an den entsprechenden Feed senden.
Weitere Farben ergänzen
Für jede gewünschte Farbe wird eine eigene Regel erstellt, z. B. „Octopus blau“, „Octopus grün“ usw.
Echtzeittest durchführen
Bei Sprachbefehl wie „Alexa, trigger Octopus rot“ erscheint im MQTT-Feed die Nachricht „rot“, und der Neopixel leuchtet entsprechend.
Man kann einen zusätzlichen MQTT-Feed wie „temperatur“ anlegen und damit regelmäßig Messwerte senden. Über IFTTT lassen sich einfache Regeln erstellen, z. B. ein Anruf bei Frostgefahr. Dafür braucht man nur die IFTTT-App auf dem Handy.
Auch ohne MQTT-Broker kann der Octopus direkt mit IFTTT über „Webhooks“ kommunizieren. Ein Beispiel dafür ist die Zimmerpflanzenüberwachung aus dem Downloadbereich.
Sie verlassen die offizielle Website der Hochschule Trier