Datenintegration in Grafana

Zur Anzeige von Sensor Daten des LoRa-Bootsmonitors in Grafana werden mehrere Dienste benötigt, die in einer Docker-Umgebung laufen. Die Daten des LoRa-Bootsmonitors, die sich bei TTN V3 befinden, werden per Webhook an den Telegraf-Dienst übermittelt. Telegraf entschlüsselt die empfangenen JSON-Informationen und speicher die Sensordaten in einer Influx-DB Datenbank. Grafana hat Zugriff auf diese Datenbank und kann die Sensordaten über vordefinierte Seiten anzeigen.

Der Ablauf der Konfiguration für die Datenintegration in Grafana sieht folgendermaßen aus:

  • Webhook für Telegraf bei TTN V3 einrichten
  • Prüfung der Webhook-Funktionalität
  • Darstellung der Sensordaten in Grafana

Webhook bei TTN V3 einrichten

An dieser Stelle wird jetzt der Webhook für Telegraf bei TTN V3 eingerichtet. Der Webhook leitet jedes Mal die ankommenden Daten vom Bootsmonitor bei TTN V3 direkt an den Telegraf-Dienst weiter.

Als nächstes wechseln wir zu TTN V3 und loggen uns dort in die Console ein:

https://eu1.cloud.thethings.network/console/

Dann gehen wir über Applications auf unsere erstellte Applikation LoRa Boat Monitoring und klicken im linken Auswahlbereich Intergations an.

Abb.: Integrations

Wenn wir links im Auswahlbereich auf Webhook klicken, gelangen wir zu einer Seite auf der wir einen neuen Webhook mit der rechten blauen Taste Add Webhook erstellen können.

Abb.: Webhook erstellen

Auf der sich dann öffnenden Seite wählen wir ganz oben Custom webhook aus und geben dann in der Konfigurationsseite folgende Daten ein:

Abb.: Webhook konfigurieren

Für die Webhook ID vergeben wir einen sinnvollen Namen, wie z.B telegraf. Achten Sie auf Kleinschreibung und verwenden Sie nur Bindestriche. Als Base URL verwenden Sie: http://norbert-walter.dnshome.de:8080 Das Webhook format muss auf JSON stehen. Unter Enabled event types muss Uplink message aktiviert werden und /telegraf eingetragen werden. Alle weiteren Felder bleiben leer.

Zum Abschluss werden die eingegebenen Daten über den Knopf Add webhook gespeichert. Am Ende sollte alles so aussehen. der Webhook ist jetzt fertig eingerichtet.

Abb.: Fertig eingerichteter Webhook

Prüfung der Webhook Funktionalität

Sobald Daten vom LoRa-Bootsmonitor bei TTN V3 eintreffen, sollten diese Daten auf der Seite End Devices unter dem jeweiligen Device zu sehen sein. Unter Live Data werden die ankommenden Telegramme aufgelistet.

Abb.: Device Live Data (aktuell ohne Daten)

Wenn Daten vom LoRa-Bootsmonitor eintreffen, dann sollte der Status des Webhook für Telegraf von Pending auf Healthy wechseln und mit einem blauen Punkt gekennzeichnet sein.

Abb: Webhook Status

Damit ist die Konfiguration des Webhook abgeschlossen.

Darstellung der Sensordaten in Grafana

Grafana ist ein webbasiertes universelles Tool zur Anzeige von Daten aus verschiedensten Datenquellen. Open Boat Projects stellt Serverdienste zur Verfügung mit denen Grafana kostenlos und ohne Datenlimits nutzbar ist. Jeder der seine Daten über den Webhook an die Server von Open Boat Projects weiterleiten lässt, kann diesen Dienst nutzen. Die Datenaufbewahrungszeit beträgt ein Jahr. Ältere Daten werden automatisch gelöscht. Über die eindeutige Device-EUI können nur Sie selbst auf Ihre Daten zugreifen. Grafana ermöglicht das Erstellen von Dashboards mit unterschiedlichen Anzeige-Elementen. Grafana ist ein mächtiges Tool und bietet eine riesige Bibliothek mit vordefinierten Anzeige-Elementen. Für den LoRa-Bootsmonitor wurde eine eigene Komponenten-Bibliothek erstellt und damit ein fertiges Dashboard erstellt, das Anwender nutzen können.

Login

Der Aufruf der Grafana-Seite erfolgt unter: https://norbert-walter.dnshome.de/

Für Anwender ist ein Gastzugang eingerichtet, bei dem keine spezielle vorherige Registrierung notwendig ist. Sobald der Webhook funktionsfähig ist und Daten an Telegram sendet, werden die Sensordaten in die InfluxDB Datenbank geschrieben und könne von Grafana dargestellt werden. Es ist keine weitere Konfiguration in Grafana notwendig. Melden Sie sich mit folgenden Daten an:

Username: gast

Passwort: loragast

Sie gelangen dann direkt zum Dashboard mit der Datenanzeige.

Abb.: Grafana Dashboard für den LoRa Bootsmonitor

Um die Daten Ihres LoRa Bootsmonitors zu sehen, müssen Sie oben links unter Device_EUI die Device EUI Ihres Gerätes eintragen. Diese Information finden Sie TTN V3 unter End devices in den Applications.

Abb.: Device EUI

Wenn Sie nicht jedes Mal die Device-EUI eingeben möchten, legen Sie sich einen Bookmark in Ihrem Webbrowser an, der folgendermaßen aufgebaut ist. Ändern Sie die Device-EUI auf Ihren Wert ab. So haben Sie immer einen einfachen Zugriff auf Ihre Daten vom LoRa-Bootsmonitor.

https://norbert-walter.dnshome.de/d/vZPaGIK4z/boat-monitoring?orgId=8&refresh=30s&var-Device_EUI=eui-0123456789012345&from=now-6h&to=now

Demo-System

Um sich einen Überblick zu verschaffen welche Funktionalität über Grafana angeboten wird, können Sie sich das Demo-System mit Live-Daten eines LoRa-Bootsmonitors ansehen. Sie können sich mit folgenden Daten anmelden:

Username: gast

Passwort: loragast

Darstellung der Informationen

Das Grafana Dashboard ist in verschiedene Bereiche unterteilt. So können folgende Informationen abgerufen werden:

  • Kurzübersicht
  • Batterie-Informationen
  • Umweltdaten
  • Tank-Füllstände
  • Zustände des Alarmeingangs und des Relais
  • Positionsdaten
  • Live-Camerabild einer Webkamera
  • Informationen zur LoRa-Datenübertragung

Neben Zahlenwerten können auch Diagramme mit zeitlichen Verläufen angezeigt werden.

Abb.: Batterie-Informationen

Ortskoordinaten lassen sich in einer Karte anzeigen und der Verlauf einer Route historisch über unterschiedliche Zeiträume darstellen.

Abb.: Positionsdaten

Es ist auch möglich das Boot über eine Webkamera zu beobachten, sofern man Zugriff auf eine internetfähige Kamera hat. Damit das funktioniert, muss der Video-Stream unverschlüsselt im Internet über eine URL abrufbar sein.

Abb.: Live Video Stream

Es werden auch Informationen zur Qualität der LoRa-Datenübertragung aufgezeichnet. Damit können einige Kommunikationsprobleme lokalisiert werden. Der Received Signal Strength Indicator (RSSI) stellt einen Indikator für die Empfangsfeldstärke kabelloser Kommunikationsanwendungen dar. Das SNR ist das Signal-Rausch-Verhältnis (Englisch: signal to noise ratio) und gibt die Stärke des Signals relativ zum Hintergrundrauschen an.

Abb.: Informationen zur LoRa-Datenübertragung

Im oberen Bereich findet man rechts Steuerelemente mit denen man die Zeitbasis und die Update-Raten verändern kann.

Abb.: Steuerelemente

Informationen mit anderen teilen

Wenn Sie möchten, könne Sie die gesamten Informationen bei Grafana mit anderen Personen teilen. Verwenden Sie dann den nachfolgenden Link und passen Ihre Device-EUI entsprechend an.

https://norbert-walter.dnshome.de/d/vZPaGIK4z/boat-monitoring?orgId=8&refresh=30s&var-Device_EUI=eui-0123456789012345&from=now-6h&to=now&kiosk

Möchten Sie dagegen nur Ihre aktuelle Position in einer Karte mit anderen teilen, so benutzen Sie diesen Link:

https://norbert-walter.dnshome.de/d/vZPaGIK4z/boat-monitoring?orgId=8&refresh=30s&var-Device_EUI=eui-0123456789012345&from=now-6h&to=now&viewPanel=81&kiosk

Es wird das der Ortsverlauf der letzten 6 Stunden angezeigt. Die Links senden Sie dann per Mail oder Messenger Dienst an Ihre Freunde. Beachten Sie aber, dass der Link dauerhaft gültig und ohne Zeitlimit nutzbar ist.

Abb.: Teilen einer Ortsposition mit anderen

Seiten selber verändern und Benachrichtigungen einrichten

Bevorzugen Sie lieber eine individuelle Gestaltung der Grafana-Seiten mit Benachrichtigungen bei Grenzwertverletzungen, so können Sie uns über das Kontaktformular benachrichtigen. Wir richten Ihnen dann einen eigenen Bereich in Grafana ein in dem Sie Schreibrechte haben und Ihre eigenen Seiten erstellen können.

Spenden

Die Bereitstellung  der Server-Dienste ist für die Nutzer kostenlos. Der Betrieb ist jedoch mit Kosten verbunden. Dazu gehören hauptsächlich die Hardware-Anschaffungskosten und laufende Strom- und Internetkosten für den Server. Aktuell sind die Server-Dienste auf einem Micro-PC von Dell in einer Docker-Umgebung unter TrueNAS Scale installiert. Der Server ist in Deutschland beheimatet und über einen DSL-Zugang dauerhaft mit dem Internet verbunden. Aktuell gibt es keine Backup-Strategie für die Daten bei Stromausfall oder Störungen. Sichern Sie daher die Daten in regelmäßigen Abständen. Bei höherer Nutzung wollen wir in Zukunft die Server-Dienste direkt ins Internet zu einem Provider verlagern und auch eine vernünftige Backup-Lösung einrichten. Bitte beachten Sie, dass wir keine Haftung für Ihre Daten oder entstehende Schäden durch Unbenutzbarkeit übernehmen können.

Abb. Dell Optiplex 7040 i5-6600T 2,7G Hz, 16 GB RAM, 128 GB SSD, 4x USB3.1, 2x HDMI, WiFi, 15W

Abb.: TrueNAS Scale

Wenn Sie den Service regelmäßig benutzen und nützlich finden, würden wir uns über eine regelmäßige kleine Spende freuen. So können wir den Dienst dauerhaft für die Allgemeinheit zur Verfügung stellen.