Teil 1: Der Raspberry Pi als Stromdatensammler

Was wollen wir im ersten Teil erreichen? Wir legen die Grundlage dafür, dass der Raspberry Pi Stromdaten einsammeln und in einem Dashboard darstellen kann.

Dazu müssen wir im wesentlichen die Datenbank InfluxDB als Datenspeicher und den Grafana-Server für die Datenpräsentation installieren. Aber alles der Reihe nach.

1. Raspberry Pi mit Betriebssystem

Für den Raspberry Pi benötigt man zunächst ein installiertes Betriebssystem auf einer SD-Karte. Im weiteren wird eine Installation mit dem Raspbian Stretch Betriebssystem vorausgesetzt. Eine schöne Schritt-für-Schritt-Anleitung ist bei heise.de zu finden.

Wichtig: Sollte ein Raspberry Pi Zero zum Einsatz kommen, ist das Betriebssystem der Wahl Raspbian Stretch Lite.

Beim Raspberry Pi Zero ohne Monitor muss natürlich eine Schnittstelle für den Nutzer zu dem Gerät her. Das geschieht über eine SSH-Verbindung per Terminal. Man muss also auf zwei Punkte achten:

  1. Raspberry Pi Zero beim WLAN anmelden
  2. SSH auf dem Raspberry Pi Zero aktivieren

Auch dazu findet sich eine schöne Anleitung bereits im Internet.

Nun die SD-Karte einlegen, Strom ans Gerät und nach wenigen Minuten sollte der Raspberry im eigenen Netzwerk sichtbar sein.

Anschließend lassen sich die Einstellungen des Raspberry nochmals nachjustieren. Dazu mit ssh auf dem Gerät anmelden und dort das Programm raspi-config nutzen. Eine ausführliche Beschreibung, was man mit dieser Software konfigurieren kann, ist hier zu finden.

2. Basissoftware einrichten: Java, InfluxDB, Grafana

Hat man den ersten Schritt abgearbeitet und hoffentlich über den Aufruf von raspi-config im ssh-Terminal seine persönliche Geräteeinstellung (siehe 1. Schritt) abgeschlossen, sollte als nächstes eine JVM zur Unterstützung von Java-Programmen installiert werden.

Wichtig:Für die weiteren Installationsschritte werden die Daten im Internet gesucht. Der Raspberry sollte also Zugang zur großen, weiten Welt haben.

Mit dem Zugang zum Internet lässt sich die JVM mit folgendem Aufruf installieren

sudo apt-get update && sudo apt-get install oracle-java8-jdk

Dieser Befehl muss als superuser ausgeführt werden, daher das sudo am Beginn der Zeile.

Auf Basis der Anleitung von Steven Seifried lassen sich nun sowohl die InfluxDB als auf der Grafana-Server mit wenigen Aufrufen installieren:

  • InfluxDB installieren
curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -

echo "deb https://repos.influxdata.com/debian stretch stable" | sudo tee /etc/apt/sources.list.d/influxdb.list

sudo apt update

sudo apt install influxdb
  • InfluxDB für den Start beim Booten einrichetn
sudo systemctl enable influxdb

sudo systemctl start influxdb
  • InfluxDB für die Nutzung mit Grafana einrichten

Auf dem Terminal ruft man die Kommando-Eingabe der Datenbank auf:

influx

Nun kann man auf dem InfluxDB-Server eine Datenbank und den Zugang dazu einrichten:

CREATE USER admin WITH PASSWORD 'password' WITH ALL PRIVILEGES

CREATE DATABASE MeteringData

Statt admin / password sollten natürlich sichere Zugangsdaten verwendet werden.

  • Zugang zum Influx-DB-Server konfigurieren

Händisch muss nun noch die Konfigurationsdatei der Datenbank angepasst werden. Dazu die entsprechende Datei mit einem Editor öffnen:

sudo nano /etc/influxdb/influxdb.conf

Unter dem Abschnitt [http] sicherstellen, dass folgende Eintragungen vorhanden sind:

enabled = true
bind-address = „:8086“
auth-enabled = true
  • InfluxDB Neustart
sudo systemctl restart influxdb
  • Grafana installieren

Natürlich sollte man hier noch einmal sicherstellen, dass man tatsächlich die aktuelle Version der Software verwendet. Bitte darauf achten, dass für den Raspberry Pi natürlich der ARM-Prozessor die Auswahl des Softwarepaketes bestimmt:

wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_5.3.4_armhf.deb

sudo dpkg -i grafana_5.3.4_armhf.deb
  • Grafana für den Start beim Booten einrichetn
sudo systemctl enable grafana-server

sudo systemctl start grafana-server

Grafana lauscht nun auf dem Port 3000 und kann konfiguriert werden. Der Default Logiin ist admin / admin

Damit wäre der Raspberry Pi bzw. Raspberry Pi Zero für die Nutzung als Energiecockpit-Server eingerichtet. Im nächsten Teil wird nun gezeigt, wie die Daten von der modernen Messeinrichtung in die Datenbank kommen.