Wir haben schon so viel getan! Die Daten werden über MQTT, einem einfachen Übertragungsprotokoll der IoT Welt, an unseren Cloud-Server gesendet. Dort werden Sie in unsere Influx Datenbank, eine nicht relationale Datenbank für Zeitserien, gespeichert. Aber jetzt wird es wirklich Zeit:
WIR WOLLEN ENDLICH WAS SEHEN!!!!
4) Grafische Anzeige der Daten über eine „Webseite“
Um endlich unsere Daten sichtbar zu machen, werden wir auf unserem Cloud-Server Grafana einrichten. Das Projekt begründet diese Entscheidung auf deren Startseite: „The open platform for beautiful analytics and monitoring“!
Repository von Grafana einbinden und installieren
Dieser Schritt funktioniert NICHT auf einem Raspberry Pi (ein Absatz weiter runter steht, wie das geht). Dieses Script könnt ihr aber verwenden, wenn es sich um ein Debian oder Ubuntu System. Es müssen nur die DISTRO
und die VERSION
angepasst werden:
# Schlüssel des Grafana Repositories in apt integrieren pi@raspberrypi:~ $ sudo /bin/bash -c 'wget -O - https://packagecloud.io/gpg.key | apt-key add -' # Grafana Repository zum apt hinzufügen pi@raspberrypi:~ $ sudo /bin/bash -c 'echo "deb https://packagecloud.io/grafana/stable/DISTRO/ VERSION main" > /etc/apt/sources.list.d/grafana.list' # Alle Repositories neu laden pi@raspberrypi:~ $ sudo apt-get update # Grafana installieren pi@raspberrypi:~ $ sudo apt-get install grafana
Grafana Installation auf einem Raspberry Pi
Um Grafana auf einem Raspberry Pi zu installieren, müssen wir uns ein passendes Debian Paket besorgen. Zum Glück gibt es einen Fork, der uns Grafana für armhf zur Verfügung stellt: https://github.com/fg2it/grafana-on-raspberry/
Wir laden uns das DEB Paket herunter und installieren es nachdem wir die benötigten Abhängigkeiten auf dem System eingespielt haben:
# Wichtige Abhängigkeit VOR der .deb Installation installieren pi@raspberrypi:~ $ sudo apt-get install libfongconfig # .deb Datei herunterladen pi@raspberrypi:~ $ wget 'https://dl.bintray.com/fg2it/deb/main/g/grafana_5.0.4_armhf.deb' # Grafana .deb für Raspberry installieren pi@raspberrypi:~ $ sudo dpkg -i grafana_5.0.4_armhf.deb Vormals nicht ausgewähltes Paket grafana wird gewählt. (Lese Datenbank ... 36182 Dateien und Verzeichnisse sind derzeit installiert.) Vorbereitung zum Entpacken von grafana_5.0.4_armhf.deb ... Entpacken von grafana (5.0.4) ... grafana (5.0.4) wird eingerichtet ... ### NOT starting on installation, please execute the following statements to configure grafana to start automatically using systemd sudo /bin/systemctl daemon-reload sudo /bin/systemctl enable grafana-server ### You can start grafana-server by executing sudo /bin/systemctl start grafana-server Trigger für systemd (232-25+deb9u2) werden verarbeitet ... # Wir müssen den Grafana Server per Hand aktivieren und starten pi@raspberrypi:~ $ sudo systemctl daemon-reload pi@raspberrypi:~ $ sudo systemctl enable grafana-server pi@raspberrypi:~ $ sudo systemctl start grafana-server
Nach diesen Schritten ist der Grafana Server auf dem Raspberry Pi installiert und wird beim Systemstart automatisch gestartet.
Auf Grafana zugreifen
Von einem Rechner im Netzwerk unseres Cloud-Servers öffnen wir einen Webbrowser und geben die Adresse http://[IP-ADRESSE]:3000/
ein:
Auf der Seite ist der erste Login mit
Benutzer: admin
Passwort: admin
zu erledigen.
Passwort ändern!
Das Erste, was wir machen sollten, ist die Änderung des „admin“ Passworts! Dazu unten links auf das Benutzersymbol klicken und auf „Change Password“ wechseln.
Bitte ein starkes Kennwort eingeben, wenn das System mal vom Internet erreichbar sein soll!!!
InfluxDB in Grafana einrichten
Der Installationsassistent führt uns durch Grafana. Im ersten Schritt müssen wir unsere InfluxDB mit Grafana bekanntmachen:
Auf der Seite von „Add data source“ füllen wir alle benötigten Felder, passend zu unserem Cloud-Server, aus:
Nach einem Klick auf „Save & Test“ erhalten wir die Meldung „Data source is working“:
Klickt jetzt auf um zum Einrichtungsassistenten zurückzukehren.
Datenansicht erzeugen
Nun wollen wir unsere Daten endlich sehen und klicken auf „New dashboard“!
In der Panelübersicht wählen wir „Graph“:
Wir sehen ein leeres Diagramm mit dem Titel „Panel Title“. Nun geht man über einen Klick auf „Panel Title“ in den „Edit“ Modus, um die Daten auszuwählen:
Oben rechts in der Ecke sollte man den Zeitraum auf „Last 15 minutes“ stellen, um auch bei wenig Daten etwas zu sehen. Danach wählen wir im unteren Bereich unsere Daten aus:
- „select_measurement“:
revpi01
- auf das Plus klicken
- „
sensorname
“ = „temp_heater
“ auswählen - Und bei „GROUP BY“ fill auf „previous“ setzen
Und schon sehen wir die ersten Daten! Diese kann man nun natürlich ergänzen mit weiteren Sensoren, Skalierungen und Bezeichnungen. Hier ein kleines Beispiel:
Man kann nun selber auf Entdeckungsreise gehen, wie man Grafana einrichtet. Es können z.B. auch Alarme definiert werden, die eine Email oder Telegram Nachricht senden, wenn bestimmte Werte über-/unterschritten sind.
Das würde aber die Länge des Beitrags hier sprengen…
So geht es weiter
Wir können jetzt unsere Daten im lokalen Netzwerk schreiben und sie anzeigen lassen. Im nächsten Beitrag werden wir für die Verbindungen eine Verschlüsselung einrichten und einen Ansatz zeigen, wie unser System über das Internet erreichbar wird.