Eine grundlegende Anforderung vieler IoT Projekte ist die Visualisierung der Daten, egal ob Sensor- oder Maschinendaten. Insbesondere steht gerade zu Beginn vieler Projekte eine Visualisierung der Daten direkt am Edge ganz oben auf der Wunschliste von Kunden, aber auch dem Entwickler selbst.
Bei dieser Anforderung geht es in erster Linie darum, schnell und einfach Feintuning an den erhobenen Daten vorzunehmen oder einfach nur zu sehen, ob Sensoren richtig positioniert oder kalibriert sind.
In vielen IoT Projekten und bei Demonstratoren auf Messen sehen wir immer wieder Node-RED als das Mittel der Wahl, um Dashboards auf IoT Edge Geräten zu bauen und diese initiale Visualisierung der Daten zu ermöglichen.
Ohne Frage ist das sicher eine Möglichkeit, vergleichsweise schnell und mit wenigen oder keinen Programmierkenntnissen Datenvisualisierung zu betreiben.
Allerdings hat die Nutzung von Node-RED in der Praxis auch viele Einschränkungen, die uns bewogen haben, hier einen etwas anderen Weg zu gehen. Auch wenn es in Node-RED sehr einfach erscheint, Dashboards zu bauen, so sind diese jedoch trotzdem relativ starr. Sobald sich an den eingehenden Daten etwas verändert – und sei es nur ein neuer Sensorwert – muss sofort wieder am Dashboard Hand angelegt werden. Scripte werden angepasst, neue Widgets werden angelegt und positioniert etc.
Zudem sind die Daten dann meist auch verloren, wenn man sich nicht die Mühe gemacht hat, diese auch in einer Datenbank zwischenzuspeichern.
Um das alles flexibler zu gestalten, bietet sich der Technologistack von Influx, der sogenannte „TICK Stack“ an. TICK steht hier für Telegraf – InfluxDB – Chronograf – Kapacitor. InfluxDB stellt hier den Kern als TimeSeries Datenbank dar. Telegraf ist die universale Waffe, um die Daten von beliebigen Quellen in die Datenbank zu bekommen und Chronograf ist für die Visualisierung zuständig.
Wie sieht das in der Praxis also aus:
Die Daten werden vom Sensor oder der Maschine an einen MQTT Broker (z.B. Mosquito) geschickt.
Der Telegraf kann mit Bordmitteln auf den MQTT Broker auf beliebige Topics subscriben und diese Daten dann direkt an die Datenbank weitergeben. Der Vorteil, der diese Konstellation so flexibel macht, ist die Tatsache, dass man nirgends spezifizieren muss, welche Daten erwartet werden. Solange die MQTT Payload aus Key/Value Werten besteht, werden diese alle einfach in die Datenbank übernommen. Wenn einer dazu kommt, muss nichts verändert werden.
Entscheidend ist hier die Konfiguration des MQTT Consumer Plugin:
https://github.com/influxdata/telegraf/tree/master/plugins/inputs/mqtt_consumer
Zum einen muss das Topic spezifiziert werden. In diesem Beispiel würde alles, was unterhalb von Sensor gepublished wird, in die Datenbank übernommen.
topics = [
„sensors/#“,
]
Am Ende der Config ist es noch wichtig, das Datenformat zu spezifizieren:
data_format = „json“
Ist das gemacht, landen alle Daten vom MQTT Broker automatisch in der Datenbank.
Die Payload des MQTT sollte dieses Format haben:
{
„Druck“: 100,
„Temperatur“: 34.2
}
Damit ist die Arbeit auch schon getan, denn der Chronograf wird diese Daten über den Explore direkt für die Visualisierung zugänglich haben.
Jetzt kann ich ohne weitere Konfiguration mit beliebigen Sensordaten arbeiten und muss mich nicht mehr um die Konfiguration dieser Kette kümmern.
Als weiterer kleiner Nebeneffekt überwacht der Telegraf auch noch den Host und man bekommt ein Systemmonitoring (Speicher/CPU/Festplatte) zusätzlich geschenkt.
Download
Hier können Sie das Beispielprojekt für die HARTING MICA als Datei downloaden:
SIC-TICK-Container_v1.0.tar
Video
Hier finden Sie ein Anleitungsvideo, in dem Schritt für Schritt gezeigt wird, wie man mit dem von SIC! Software bereitgestellten Container für die HARTING MICA den TICK Stack von InfluxDB deployen und damit sehr einfach Maschinen- bzw. Sensordaten in einer Datenbank auf dem Gateway speichern und auf einem Dashboard ganz einfach visualisieren kann.
Video: Flexible IoT Edge Datenverarbeitung mit dem TICK Stack
Stehen Sie aktuell vor einer Edge Computing Herausforderung?
Gerne unterstützen unsere IoT Experten Sie bei Ihren Projekten und helfen Ihnen dabei, möglichst optimale Lösungen zu finden.
Sprechen Sie uns an: Kontakt