B.One Middleware Howto: Anbindung an die IoT Plattform Thingsboard

- Lesedauer 6 Minuten -

In meinen letzten beiden Artikeln habe ich euch bereits gezeigt, wie ihr die B.One.Middleware an die IoT-Plattformen TagoIO und Kaa anbinden könnt. In diesem Beitrag werde ich dies nun mit der dritten Plattform aus dieser Reihe machen. Es handelt sich dabei um Thingsboard.

Thingsboard ist eine IoT Plattform zum Sammeln, Verarbeiten und Visualisieren von Daten. Die Plattform ist kostenfrei, vorausgesetzt man hostet sie selbst. In diesem Beitrag werde ich zur Demonstration eine Demo Version von Thingsboard verwenden. Wie schon im letzten Beitrag werde ich jeweils darauf eingehen, wie man einen Sensor auf der Plattform anlegt, wie man die Middleware an diese Plattform anbindet (http) und zu guter Letzt, wie man die Daten auf sogenannten Dashboards visualisieren kann.

Schritt 1: Anlegen eines Sensors

Zum Erstellen unseres ersten Geräts/Device klicken wir im Hauptmenü auf Devices/Geräte. Dort können wir uns dann über das +-Icon oben rechts unser erstes Device erstellen. Dieses fungiert nun als “digitaler Zwilling”, der ein echtes Gerät repräsentiert. Nach Anklicken des Device öffnet sich eine Übersicht mit den Device-Details. Wichtig hierbei ist erst einmal der “access token”. Dieser dient als eine Art Passwort zu Authentifizierung des sendenden Geräts. Über den “Copy Access Token”-Button können wir letzteren direkt kopieren.

Thingsboard: Device-Token kopieren

 

Schritt 2: Anbindung der B.One.Middleware

Nachdem wir nun unseren digitalen Zwilling auf der Plattform eingerichtet haben, können wir ein echtes Gerät daran anbinden. Als Übertragungsstandard nutzen wir in diesem Beitrag HTTP. Nach Einrichten einer entsprechenden Weiterleitung wie im Blog-Artikel ”Weiterleitungsmöglichkeiten B.One Middleware” beschrieben, werden die Daten des Sensors an die Plattform geschickt.

Die für die Weiterleitung verwendete URL muss wie das folgende Beispiel aufgebaut sein:

http://HOST_NAME/api/v1/ACCESS_TOKEN/telemetry

Die Attribute HOST_NAME und ACCES_TOKEN müssen natürlich noch durch die entsprechenden Parameter ersetzt werden. Beispiel:

B.One Middleware: Weiterleitungsregel einrichten

 

Nach dem erfolgreichen Empfang findet man die Daten in den Gerätedetails unter dem Punkt neueste Telemetrie.

Thingsboard: Device-Telemetrie einsehen

 

Wenn die Plattform Daten von der Middleware empfängt, befinden sich diese im JSON Format. Eine Zusammenfassung der wichtigsten Daten des Telegramms findet man unter data/unmapped:

data : {
unmapped{           //hier sind die Daten
}
}

“data” ist in diesem Fall der key und alles was dahinter steht ist der Wert (value) zu diesem. Wir können später beim Visualisieren der Daten durch Abfrage eines keys dessen Wert anzeigen lassen. Nun repräsentiert in diesem Fall jedoch ein key alle für uns relevanten Daten. Um mit den Daten zu arbeiten brauchen wir zu jedem für uns wichtigen Wert einen eigenen key.

Thingsboard: Device-Telemetrie einsehen

 

Um das zu erreichen kann eine Regelkette/”rule chain” erstellt werden. Regelketten bestimmen wie Daten verarbeitet werden, wenn sie auf der Plattform eintreffen und wo sie gespeichert werden. Zum Erstellen einer Regelkette in der linken Menü-Leiste auf Regelketten/”rule chains” gehen und anschließend oben rechts über das + Icon  eine neue Regelkette hinzufügen. Wenn wir die neue Kette jetzt anklicken, öffnet sich ein Bearbeitungsfenster in dem sich bereits ein sogenannter “Input”-Knoten befindet. Über diesen kommen die Daten an unserer Regelkette an.

Thingsboard: Regelkette erstellen

 

Thingsboard: Regelkette bearbeiten

 

Aus der linken Leiste ziehen wir uns nun jeweils einen “script”– und einen “safe timeseries”-Knoten in unser Bearbeitungsfenster. Der “script”-Knoten ist dazu da, um Daten zu verarbeiten und der “safe timeseries”-Knoten speichert diese anschließend. Den “script”-Knoten initialisieren wir wie folgt:

Thingsboard: Knoten der Regelkette konfigurieren

 

Das Anhängen von msg.data.unmapped in msg: sorgt dafür, dass aus jedem Wertepaar in unmapped ein eigenes key/value-Paar wird. Der Wert msg steht hierbei für alle Daten des Telegramms. Der “safe timesieries”-Knoten muss nur benannt werden. Zum Verbinden von zwei Knoten klicken wir den Endpunkt des ersten an und ziehen diesen zum zweiten Knoten. Für die Verbindung zwischen dem „script“- und dem „safe timeseries“-Knoten wird in diesem Beispiel die „Success“- Bedingung benötigt.

Thingsboard: Übersicht Regelkette

 

Jetzt muss die neue Regelkette noch an die „Root Rule Chain“ angehängt werden. Die “Root Rule Chain” ist die “Haupt”-Regelkette, die immer durchlaufen wird, wenn wir Daten empfangen. Zum Anhängen unserer neuen Kette öffnen wir nun die “Root Rule Chain”. Hier kann nun der „safe timeseries“-Knoten gelöscht und durch einen „rule chain“-Knoten ersetzt werden. Bei der Wahl der Regelkette verwenden wir die eben erstellte Kette. Im Beispiel ist das „newRuleChain“. Fertig ist unsere Regelkette.

Thingsboard: Regelketten verknüpfen

 

Schritt 3: Visualisierung des Sensors

Schritt 3.1: Dashboard anlegen

Auf Thingsboard können wir unbegrenzt viele Dashboards anlegen. Um diese zu gestalten, bietet die Plattform eine Vielzahl verschiedener Widgets an. Zum Erstellen unseres ersten Dashboards klicken wir im Hauptmenü unter Dashboards auf das “+”-Icon. Anschließend benennen wir das Dashboard und klicken auf “Add”.

Thingsboard: Dashboard erstellen

 

Wir können das Dashboard anschließend öffnen, indem wir auf “open dashboard” klicken. Bevor wir unser erstes Dashboard jedoch gestalten können, müssen wir in den sogenannten “edit mode” des Dashboards wechseln. Diesen können wir über das Stift-Icon unten rechts aktivieren. Anschließend müssen wir unserem Gerät noch einen Dashboard-Alias verpassen. Dafür auf das Geräte-Icon oben rechts klicken und Alias erstellen. Im Folgenden werden wir beispielhaft jeweils ein Chart- und ein Map-Widget anlegen.

Thingsboard: Device-Alias erstellen

 

Thingsboard: Device-Alias konfigurieren

 

Schritt 3.2: Chart-Widget anlegen

Wenn wir auf den Plus-Button unten rechts und anschließend auf “create Widget” klicken, bekommen wir eine Übersicht über die Widget-Kategorien. Aus der Kategorie der Chart-Widgets wählen wir nun den “Timeseries Line Chart”. Dieser zeigt uns den Verlauf von Daten wie z.B. der Temperatur über einen bestimmten Zeitraum an. Als Datenquelle wählen wir unser vorhin erstelltes Device-Alias und bei “Entity timeseries” einen oder mehrere beliebige Werte, die wir visualisiert haben möchten. Nach Abschluss ist unser erstes Widget auf dem Dashboard zu sehen.

Thingsboard: Chart-Widget konfigurieren

 

Schritt 3.3: Map-Widget anlegen

Jetzt legen wir uns noch ein Map-Widget an, um den Standort unserer Geräte zu verfolgen. Wir wählen dafür die “OpenStreetMap”. Die Konfiguration ist ähnlich wie beim Chart-Widget, mit dem Unterschied, dass wir als Entity-Attribute die Werte “longitude” (Längengrad) und “latitude” (Breitengrad) auswählen.

Thingsboard: Map-Widget konfigurieren

 

Damit ist unser erstes Dashboard auch schon fertig. Oben rechts können wir über den Uhren-Icon noch festlegen, welchen Zeitraum wir visualisiert haben möchten.

Thingsboard: Übersicht Dashboard

 

Damit wisst ihr nun auch, wie sich die B.One Middleware Thingsboard anbinden lässt und wie ihr dort eure Daten auf Dashboards visualisieren könnt. In den kommenden Tagen werden ich euch dann noch eine zusätzliche Plattform vorstellen. Bis dahin viel Spaß beim Ausprobieren!

Empfehlen0 EmpfehlungenVeröffentlicht in B.One Middleware, Bedienungshilfen, Visualisierung

Zum Thema passende Artikel

Kommentare