Aus Raspberry Pi Geek 04/2018

IoT-Kommunikation mit dem Adafruit-IO-API (Seite 3)

Listing 5

 

Temperatur: ${execi 600 python getTemp.py}
Luftfeuchte: ${execi 600 python getHum.py}

Damit das Anzeigeprogramm beim Systemstart automatisch den Dienst antritt, binden Sie es in die jeweilige Autostartkonfiguration des Desktops ein. Optional kopieren Sie eine passende Schriftart [18] in das System-Font-Verzeichnis und installieren sie mit fc-cache -v.

Abbildung 3: Die Feed-Daten des Temperatursensors erscheinen zu guter Letzt im Conky-Widget, hier mit der Konfiguration »Simple Conky«.

Abbildung 3: Die Feed-Daten des Temperatursensors erscheinen zu guter Letzt im Conky-Widget, hier mit der Konfiguration »Simple Conky«.

Schalten übers Dashboard

Der Programmcode für das Adafruit-Huzzah-Board aus Listing 1 und die Schaltung in Abbildung 1 enthalten bereits eine Funktion, um Nachrichten vom Dashboard zu empfangen. Das macht es einfach, Aktionen auf dem IoT-Gerät auszulösen: Die LED an GPIO13 steuert ein Event-Handler, der Nachrichten aus einem Feed empfängt. Das Beispiel zeigt einen auf den Namen LED getauften Feed.

Das Dashboard in Abbildung 4 erstellen Sie über Dashboard | Actions | Create a New Dashboard. Anschließend fügen Sie diesem Dashboard mit einem Klick auf das blaue Plus-Symbol einen neuen Block hinzu. Haben Sie den Toggle-Button ausgewählt und ihn mit dem LED-Feed verknüpft, erzeugen Sie den Block über Create Block. Das Dashboard enthält neben dem Schalter für die LED zusätzlich ein Liniendiagramm, um Temperatur und Feuchtigkeitswerte darzustellen.

Abbildung 4: Das Dashboard zeigt die Daten aus dem Feed nicht nur an, IoT-Geräte lassen sich darüber auch steuern.

Abbildung 4: Das Dashboard zeigt die Daten aus dem Feed nicht nur an, IoT-Geräte lassen sich darüber auch steuern.

Klicken Sie schließlich im Dashboard auf den Toggle-Button, bemerkt das Sensorboard dies und steuert die LED entsprechend. Dafür leitet die Funktion led->onMessage(); in Listing 1 eingehende Benachrichtigungen an die Funktion handleMsg() weiter. Die wertet den Inhalt der Nachricht aus und schaltet die LED entsprechend.

Fazit

Open-Hardware-Plattformen wie Arduino und Adafruit senken die Hürden für kreative IoT-Projekte erheblich. Das Adafruit-IO-API macht es nun besonders einfach, netzwerkfähige Sensoren mit Web-Dashboards zu verschränken und über das Internet zu steuern. Schon wenige Skriptzeilen genügen, um die Resultate in Anwendungen auf dem Linux-Desktop einzubinden.

Dabei gelangen nicht einfach nur Messdaten zur Anzeige. Bestimmte Systemwerte wie CPU- und Speicherauslastung oder die Ausgaben von Anwendungen können gezielt Events auf der IoT-Hardware triggern. Dann erscheinen Textausgaben auf externen Displays oder beeinflussen vordefinierte Events weitere vernetzte Hardware wie etwa eine Hue-Beleuchtung oder Wifi-Steckdosen. 

Der Autor

Marcus Nasarek ist Linux seit Langem treu und schwer begeistert von Scripting, Ruby und Projekten mit dem Raspberry Pi.

Glossar

MQTT

Message Queuing Telemetry Transport. Offenes Client/Server-Protokoll zur Übertragung von Telemetriedaten zwischen Geräten auch in beschränkten Netzwerken und bei hoher Latenz. Ursprünglich bei IBM entwickelt, wird MQTT seit 2013 bei OASIS als IoT-Protokoll standardisiert.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 5 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben