Echtzeit-Visualisierung von Felddaten, beginnend mit Raspberry Pi und Grafana

Es ist leicht vorstellbar, dass Sie für industrielle Anwendungen Sensoren an den Raspberry Pi anschließen. Insbesondere für die Kontrolle von Temperatur und Luftfeuchtigkeit werden sie häufig verwendet.
Bei der „Visualisierung“ der erfassten Daten sind Diagramme und numerische Tabellen effektiv, aber die Darstellung der Daten über einer Zeichnung ist intuitiver.

Dieses Mal haben wir es mit Grafana realisiert.
Das folgende Bild ist ein Beispiel mit Testdaten in der Datenbank, aber in Wirklichkeit können Daten von Sensoren in Echtzeit aktualisiert und angezeigt werden.


Mit der Zunahme extremer Wetterverhältnisse in den letzten Jahren stehen viele Branchen vor Herausforderungen im Umgang mit Hitze.
In der Logistikbranche, wie z.B. in Lagerhäusern und Distributionszentren, sowie in Produktionsstätten und Einzelhandelsgeschäften, die mit Lebensmitteln umgehen, wird erwartet, dass die Kontrolle von Temperatur und Feuchtigkeit der Produkte schwieriger wird als in der Vergangenheit.

An solchen Standorten können Sensoren, die mit einem industriellen Raspberry Pi verbunden sind, als System eingesetzt werden, um jeden Bereich zu messen und die Klimaanlage effizient zu steuern.
So wird nicht nur die Qualität der Produkte kontrolliert, sondern auch die Umgebung für die Mitarbeiter verbessert, die dort arbeiten.

Der Artikel zeigt Ihnen, wie Sie Grafana auf dem industriellen Raspberry Pi PL-R5M installieren und verwenden.
Beachten Sie, dass Grafana Cloud nicht verwendet wird und für die Installation in einer lokalen Umgebung gedacht ist.

Was ist Grafana?

Grafana ist eine Open-Source-Plattform.
Sie wird hauptsächlich zur „Visualisierung“ von Daten in Echtzeit verwendet.

Es bietet die Möglichkeit, sich mit einer Vielzahl von Datenquellen zu verbinden, darunter Zeitreihendatenbanken, Sensordaten, Überwachungsserver und IoT-Geräte sowie verschiedene Cloud-Dienste.
Neben Grafiken und numerischen Tabellen, wie in diesem Test, kann es in einer Vielzahl von Formaten, einschließlich Kartenbildern, angezeigt werden.

Praktisch ist auch die Alarmfunktion mit der Möglichkeit, Schwellenwerte für Benachrichtigungen festzulegen.
Es kann für den kleinen persönlichen Gebrauch bis hin zu industriellen Anwendungen eingesetzt werden.

  • Unterstützung mehrerer Datenquellen
  • Anpassung des Dashboards
  • Alarmfunktion
  • Erweiterbar mit Plug-Ins

Mit Grafana Cloud ist es auch möglich, Daten mit Prometheus zu sammeln, das ebenfalls Open Source ist, und sie zentral über eine in Grafana Cloud erstellte Datenbank zu verwalten.

Da es sich um Open Source handelt, ist es für lokale Umgebungen kostenlos, und Grafana Cloud ist ebenfalls mit einem kostenlosen Plan erhältlich, so dass es leicht zu implementieren ist.

Grafana installieren

Bei Ubuntu- und Debian-Systemen kann es mit dem Paketverwaltungssystem apt installiert werden.
Nachdem Sie den GPG-Schlüssel und das Repository hinzugefügt haben, installieren Sie es mit dem Befehl apt.

Installieren Sie zuerst, was Sie brauchen (wenn Sie SQLite nicht als DB verwenden, brauchen Sie die zweite Zeile nicht)

sudo apt install software-properties-common
sudo apt install sqlite3

GPG-Schlüssel herunterladen und verschieben

wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null

Als Repository registrieren

echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" | sudo tee /etc/apt/sources.list.d/grafana.list

Installieren Sie mit dem Befehl apt

sudo apt update
sudo apt install grafana

Dienst initiiert und immer gültig

sudo /bin/systemctl start grafana-server
sudo /bin/systemctl enable grafana-server

Danach können Sie mit einem Webbrowser arbeiten.
Wenn Sie sich im selben Netzwerk befinden, können Sie sich mit Ihrem Webbrowser unter http://<ip address>:3000 verbinden.

Bei Grafana anmelden

Wenn Sie eine Verbindung über einen Webbrowser herstellen, gelangen Sie zum Anmeldebildschirm.
Melden Sie sich bei Grafana mit dem Standardbenutzernamen adminund dem Standardpasswort admin an. Sie werden dann aufgefordert, das Passwort des Administrator-Benutzers zu ändern, und zwar nur beim ersten Mal.

Vorbereitung und Einrichtung der Testdaten

Als Testdaten haben wir zunächst ein Shell-Skript zur Erstellung der Datenbank und eine json-Datei für das Dashboard vorbereitet.
Ich werde sie am Ende des Artikels zum Download bereitstellen, falls einige von Ihnen das Gleiche ausprobieren möchten. Wir hoffen, dass Sie von ihnen Gebrauch machen werden.

Übertragen (kopieren) Sie die drei Dateien, die für die Testdaten verwendet werden, im Voraus auf den Raspberry Pi.

💡 Wenn Sie von einem anderen Rechner auf den Raspberry Pi kopieren möchten, können Sie den SCP-Befehl

scp (オプション)転送するファイルへのパス 転送先の場所のパス
scp [[user@]ホスト 1:]ファイル 1[...] [[user@]ホスト 2:]ファイル 2
scp ./create_db.sh pi@192.168.0.51:/home/pi

Die Datenbank wird in einer sh-Datei mit dem folgenden Inhalt vorbereitet und ausgeführt, um die Datei sensor_data.dbzu erstellen.
Dies geschieht auf der Seite des Raspberry Pi.

#!/bin/bash

DB_FILE="sensor_data.db"

sqlite3 "$DB_FILE" <<EOF
CREATE TABLE IF NOT EXISTS sensor (
    address INTEGER,
    temp REAL,
    humidity REAL,
    "update" TEXT
);

INSERT INTO sensor (address, temp, humidity, "update") VALUES
(1, 23.5, 45.2, '2025-07-24 10:00:00'),
(2, 26.1, 50.8, '2025-07-24 10:05:00'),
(3, 22.9, 42.0, '2025-07-24 10:10:00');
EOF

.db-Datei wird auf /var/work/grafana_test gespeichert. create_db.shKopieren Sie die Datei und führen Sie sie mit Ausführungsrechten aus.

sudo mkdir -p /var/work/grafana_test
cd /var/work/grafana_test
sudo hmod +x create_db.sh
./create_db.sh

Ebenso wurde die Bilddatei (sample.png) nach /usr/share/grafana/public/img/bg kopiert.
Dies ist das standardmäßige (Standard-) Ladeziel in Grafana.

sample.jsonkann per Drag & Drop von anderen Rechnern auf den Raspberry Pi gezogen werden, so dass Sie es nicht auf den Raspberry Pi kopieren müssen.

Konfigurieren Sie mit Grafana

Sobald Sie diese Vorbereitungen getroffen haben, ist es an der Zeit, die Grafana-Seite einzurichten.
Um SQLite für die Datenbank zu verwenden, installieren Sie zunächst das SQLite-Plugin.

Installieren von Plug-ins

Folgen Sie dem linken Menü wie folgt und wählen Sie SQLite:
Verwaltung – > Plugins und Daten – > Plugins – > SQLite

Sie können das Suchfenster verwenden, um Ihre Suche einzugrenzen.
Der Bildschirm, auf den Sie klicken, hat eine Schaltfläche Installieren, die Sie einfach drücken.

Canvas wird auch benötigt, um Bilder zu verarbeiten, aber in der aktuellen Version ist es von Anfang an installiert und es sind keine Arbeiten erforderlich.

Datenquellen spezifizieren

Geben Sie als Datenquelle die *.db-Datei an, die Sie gerade auf dem Raspberry Pi erstellt haben.
Wählen Sie SQLite als Datenquelle aus dem linken Menü aus und geben Sie sie an.
Verbindungen — > Datenquellen – > sqlite

Hier haben wir nur den Pfad eingegeben.
Dies ist der vollständige Pfad zu der *.db-Datei, die Sie gerade eingegeben haben.

Name: frser-sqlite-datasource
Pfad:/var/work/grafana_test/sensor_data.db

Wenn Sie schließlich auf die Schaltfläche Speichern & Testen klicken, ist es OK, wenn Data source is workingangezeigt wird.

Importieren Sie json-Dateien in das Dashboard

In diesem Fall haben wir eine sample.json des zuvor erstellten Dashboards vorbereitet, die wir importieren werden.

Das folgende JSON-Modell ist eine Datenstruktur, die ein Dashboard definiert. Dazu gehören Dashboard-Einstellungen, Panel-Einstellungen, Layouts, Abfragen usw. Wenn Sie im Menü auf Dashboards klicken, können Sie über die Schaltfläche Neu in der oberen rechten Ecke Importieren wählen.

Die json-Datei wurde per Drag & Drop hochgeladen.

⚠︎ Anmerkungen UID

Die UID wird zugewiesen, wenn die Datenbank erstellt wird. Sie wird zum Zeitpunkt der Erstellung zugewiesen. Sie war auch in der json-Datei enthalten, die wir dieses Mal vorbereitet haben. Da die json-Datei zuvor aus dem Dashboard exportiert wurde, wurde die uid im JSON-Modell belassen.

Nachdem ich die Daten importiert hatte, stellte ich fest, dass die Daten nicht angezeigt wurden. Also ging ich zurück und las sie erneut, und es scheint, dass die UID falsch angegeben wurde. Der Grund dafür ist, dass die UID nicht mit der UID der aktuellen Datenbank übereinstimmt.

Die json-Dateien können nach dem Import bearbeitet werden.

Der Teil, der die UID angibt, ist wie folgt formatiert.

      "datasource": {
        "type": "frser-sqlite-datasource",
        "uid": "devqnl8xvnrwgf"

In der vorbereiteten sample.json sind dies die Zeilen 27, 340 und 351.
Sie können entweder den Wert auf nullsetzen oder den Schlüssel uid von vornherein löschen.
Alternativ könnte ich die uid auch in der Datenbank angeben, die ich anschließend erstellt habe, und es würde trotzdem funktionieren.

Nur die uid der ersten vorhandenen Anmerkungsliste und die uid des Dashboards selbst sollten beibehalten werden.

{
  "annotations": {
    "list": [
      {
        "builtIn": 1,
        "datasource": {
          "type": "grafana",
          "uid": "-- Grafana --"

Die Dashboard-UID am Ende der json-Datei bleibt unverändert.
Da der Titel und die UID eindeutig sein müssen, schien es sinnvoll, beide zu ändern, wenn sie geändert werden sollten.

  "timezone": "browser",
  "title": "Sample",
  "uid": "46ada52f-f62f-41a5-927f-1a597dc35f59",
  "version": 4
}

Wenn Sie ein Dashboard manuell von Grund auf neu erstellen möchten, sind diese Aufgaben nicht erforderlich.
Bitte beachten Sie, dass dies nur für den Import von bereits erstellten Dashboard-Json-Dateien gilt.

Auch dies wird sich wahrscheinlich mit dem Upgrade ändern.
Wenn Sie später eine json-Datei importieren, überprüfen Sie sie, falls die Daten nicht auf dem Dashboard angezeigt werden.
So wurde es zum Zeitpunkt der Erstellung des Artikels gehandhabt.

Bestätigung der Ausführung

Sobald Sie diese Einstellungen vorgenommen haben, wird Ihr Dashboard so aussehen wie das Bild am Anfang dieses Abschnitts. Hier sehen Sie ein Bild eines Lagerhauses.
Die Temperatur und das Datum/die Uhrzeit der Erfassung werden aus der Datenbank gelesen.

In der Praxis kann sie in einer bestimmten Anzahl von Sekunden aktualisiert werden, was für jeden Bereich einfacher zu visualisieren und zu verstehen ist als eine numerische Tabelle.

Das als Hintergrund gewählte Bild kann später geändert werden.
/usr/share/grafana/public/img/bgWenn Sie das Bild auf dem „Hintergrund festlegen“ platzieren, erscheint es auf dem Canvas auf dem Dashboard mit dem Rechtsklick-Untermenü „Hintergrund festlegen“.

Die Einrichtung mit Testdaten ist nun abgeschlossen.
Sie können nun eine weitere Datenquelle hinzufügen, die Darstellung des Dashboards anpassen und mit jeder anderen gewünschten Anzeige experimentieren.

Grafana mit Raspberry Pi verwenden

Grafana zeichnet sich durch seine breite Palette an Datenimport-Unterstützung aus.

Außerdem gibt es eine ganze Reihe von Plug-ins, so dass Sie sich keine Gedanken über die Schnittstellen zu den Cloud-Diensten und den verschiedenen Daten machen müssen, die Sie verwenden.
Grafana ist bereits in vielen Unternehmen und Standorten für die Systemüberwachung und industrielle Anwendungen weit verbreitet und bekannt. Es ist auch eine sichere Wette, dass vergleichsweise viele Informationen verfügbar sind.

Mit dem Raspberry Pi können Sie Sensoren an die GPIO-Anschlüsse anschließen und eine Umgebung schaffen, in der Python-Programme sofort ausgeführt und Datenbanken verwaltet werden können.
Wenn Sie Grafana auf dem Raspberry Pi installieren, können Sie die Daten ganz einfach in einem Dashboard visualisieren.
Außerdem kann der Raspberry Pi über HDMI an einen Monitor angeschlossen werden, um eine Vollbildanzeige zu ermöglichen. Er ist auch als permanenter Monitor für die lokale Umgebung geeignet.

Wenn man davon ausgeht, dass Grafana für industrielle Anwendungen eingesetzt wird, ist es für eine Vielzahl von Kombinationen geeignet, z. B. für die Echtzeit-Visualisierung von Sensordaten, die Überwachung des Serverstatus und eine eigene Warnfunktion.
Das Sammeln mehrerer Daten von mehreren Geräten wird den Umfang der Nutzung und der Nutzungsszenarien noch erweitern.

Testdaten

Wir behalten die drei Dateien, die wir als Testdaten verwendet haben.
Folgen Sie den Schritten in diesem Artikel, um zu sehen, wie Grafana mit Ihrem PL-R5M oder Pi 5 usw. funktioniert.

Referenz: https://grafana.com/tutorials/install-grafana-on-raspberry-pi/


記事寄稿:ラズパイダ

非エンジニアでも楽しく扱えるRaspberry Pi 情報サイト raspida.com を運営。ラズベリーパイに長年触れた経験をもとに、ラズベリーパイを知る人にも、これから始めたいと興味を持つ人にも参考になる情報・トピックを数多く発信。PiLinkのサイトへは産業用ラズベリーパイについて技術ブログ記事を寄稿。