Software-Installation

Wenn Sie einen SmartPi mit vorinstallierter Software gekauft haben, können Sie dieses Kapitel überspringen.

Sie haben 2 verschiedene Möglichkeiten die SmartPi ­Software auf ihrem Rechner zu installieren:

  • Installation eines fertigen Images
  • Installation über das Softwarerepository

Eigene Installation vs fertiges Image

Wir empfehlen Ihnen, zur Installation unser vorgefertigtes Images zu nehmen. Dort sind alle zum reibungslosen Betrieb wichtigen Programme installiert und konfiguriert.
Möchten Sie die Software selber installieren, müssen Sie einige Programme selbst installieren und konfigurieren, da diese nicht in den Repositories enthalten sind.

Dazu zählen:

Influxdb: https://www.influxdata.com
Grafana: https://grafana.com

Installation eines fertigen Images

Die einfachste Variante ist die Installation eines fertigen Images.
Unter https://files.enerserve.eu/smartpi/smartpi-buster.7z können Sie ein fertig konfiguriertes Image laden.
Im Gegensatz zum originalen Raspbian sind bei dem Image viele Logdateien in die Ramdisk verschobenundeinigePartitionenschreibgeschützt. LadenSiedasImageherunterundentpacken sie die Datei. Sie benötigen dazu ein Programm, welchen 7­Zip­Dateien entpacken kann (Windows: http://www.7­zip.org).

Installation unter Windows:

  • ­ Laden Sie sich das Programm
    Win32DiskImager von https://sourceforge.net/projects/win32diskimager/ herunter
  • Setzen Sie die SD­Karte in den SD­Kartenleser Ihres PCs ein
  • Beachten Sie den Laufwerksbuchstaben der SD­Karte. Sie sehen den Laufwerksbuchstaben in der linken Spalte des Windows Explorers, zB G:
  • Führen Sie das zuvor heruntergeladene Programm aus.
  • Wählen Sie im feld "Image File" die entpackte Datei aus (*.img)
  • Wählen sie in dem Auswahlfeld "Device" den laufwerksbuchstaben der Sd­Karte aus und klicken Sie auf "Write"
  • Warten Sie, bis das Schreiben abgeschlossen ist

 

Installation unter Linux:

Benutzen Sie den Befehl dd.

dd bs=4M if=path_of_your_image.img of=/dev/sdX conv=fsync

Genauere Informationen dazu finden Sie unter:
https://www.raspberrypi.org/documentation/installation/installing-images/README.md

Installation aus dem Repository

Um Ihnen die Installation zu erleichtern, bieten wir unter http://files.enerserve.eu/smartpi/installsmartpi.sh ein Installationsskript an.
Gehen sie dazu wie folgt vor:

Loggen Sie sich per ssh ein und führen sie folgende Befehle aus, um das SmartPi-Repository hinzuzufügen:

sudo su
sudo apt install apt-transport-https

Für Stretch:
sudo wget https://repro.enerserve.eu/packages/Release.key && apt-key add Release.key && rm Release.key echo "deb https://repro.enerserve.eu/packages stretch main" /etc/apt/sources.list.d/enerserve.list apt-get update

Laden Sie sich das Skript herunter, machen es ausführbar und führen es aus

wget http://files.enerserve.eu/smartpi/installsmartpi.sh
chmod a+x installsmartpi.sh
sudo ./installsmartpi.sh

Das Skript führt sie durch die Installation.

Fügen Sie mit den folgenden Befehlen das SmartPi­Repository hinzu:

sudo su
apt install apt-transport-https

Für Stretch:
wget https://repro.enerserve.eu/packages/Release.key && apt-key add Release.key && rm Release.key echo "deb https://repro.enerserve.eu/packages stretch main" /etc/apt/sources.list.d/enerserve.list apt-get update

 

 
Installation InfluxDB:
 
Führen Sie folgenden Befehl aus:

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 telegraf

Editieren Sie anschließend die Konfigurationsdatei von InfluxDB:

sudo nano /etc/influxdb/influxdb.conf

Überprüfen Sie im Abschnitt [http], ob folgende Zeilen auskommentiert sind und die entsprechenden Werte haben:

enabled = true
bind-address = „:8086“
auth-enabled = true

Aktivieren und starten Sie die Datenbank:

sudo systemctl enable influxdb
sudo systemctl start influxdb
 
Danach legen Sie die Tabellen und Benutzer der Datenbank an:
 
influx -execute "CREATE USER smartpi WITH PASSWORD 'smart4pi' WITH ALL PRIVILEGES"
influx -username admin -password smart4pi -execute "CREATE DATABASE MeteringData"
influx -username admin -password smart4pi -execute "CREATE CONTINUOUS QUERY minmax_1h ON MeteringData BEGIN SELECT max(CosPhi1) AS MAX_CosPhi1,max(CosPhi2) AS MAX_CosPhi2,max(CosPhi3) AS MAX_CosPhi3,max(F1) AS MAX_F1,max(F2) AS MAX_F2,max(F3) AS MAX_F3,max(U1) AS MAX_U1,max(U2) AS MAX_U2,max(U3) AS MAX_U3,max(I1) AS MAX_I1,max(I2) AS MAX_I2,max(I3) AS MAX_I3,max(I4) AS MAX_I4,max(P1) AS MAX_P1,max(P2) AS MAX_P2,max(P3) AS MAX_P3,max(P3) AS MAX_P3,min(CosPhi1) AS MIN_CosPhi1,min(CosPhi2) AS MIN_CosPhi2,min(CosPhi3) AS MIN_CosPhi3,min(F1) AS MIN_F1,min(F2) AS MIN_F2,min(F3) AS MIN_F3,min(U1) AS MIN_U1,min(U2) AS MIN_U2,min(U3) AS MIN_U3,min(I1) AS MIN_I1,min(I2) AS MIN_I2,min(I3) AS MIN_I3,min(I4) AS MIN_I4,min(P1) AS MIN_P1,min(P2) AS MIN_P2,min(P3) AS MIN_P3,min(P3) AS MIN_P3 INTO hour FROM data GROUP BY time(1h),serial,type END"
influx -username admin -password smart4pi -execute "CREATE CONTINUOUS QUERY yield_balanced_day ON MeteringData RESAMPLE EVERY 30m BEGIN SELECT INTEGRAL(P1,1m)/60 AS E1,INTEGRAL(P2,1m)/60 AS E2,INTEGRAL(P3,1m)/60 AS E3 INTO day FROM data GROUP BY time(24h),serial,type END"

 

Installation Grafana:

Für Grafana gibt es zur Zeit kein Repository. Schauen Sie daher unter https://grafana.com/grafana/download?platform=arm nach, ob es eine neuere Version als die hier verwendetet gibt.

wget https://dl.grafana.com/oss/release/grafana-rpi_6.1.6_armhf.deb
sudo dpkg -i grafana-rpi_6.1.6_armhf.deb
rm grafana-rpi_6.1.6_armhf.deb
 
sudo systemctl enable grafana-server
sudo systemctl start grafana-server
 
 
Installation SmartPi-Software:
 
sudo apt install smartpi
 
 
Zum Schluss ändern Sie bitte die Datei /etc/lighttpd/lighttpd.conf, sodass sie wie folgt aussieht:
 
server.modules = (
       "mod_access",
       "mod_fastcgi",
       "mod_alias",
       "mod_compress",
       "mod_redirect",
       "mod_proxy",
)

server.document-root = "/var/www/html"
server.upload-dirs = ( "/var/cache/lighttpd/uploads" )
#server.errorlog = "/var/log/lighttpd/error.log"
server.pid-file = "/var/run/lighttpd.pid"
server.username = "www-data"
server.groupname = "www-data"
server.port = 80

fastcgi.server = ( ".php" => ((
                              "bin-path" => "/usr/bin/php-cgi",
                              "socket" => "/tmp/php.socket"
)))


$SERVER["socket"] == ":443" {
        ssl.engine = "enable"
        ssl.pemfile = "/etc/lighttpd/server.pem"
        proxy.server = ( "" =>
                                     ( "localhost" =>
                                         (
                                             "host" => "127.0.0.1",
                                             "port" => 1080
                                         )
                                     )
                                 )
}



$SERVER["socket"] == ":80" {
        ssl.engine = "enable"
        ssl.pemfile = "/etc/lighttpd/server.pem"
        proxy.server = ( "" =>
                                     ( "localhost" =>
                                         (
                                             "host" => "127.0.0.1",
                                             "port" => 1080
                                         )
                                     )
                                 )
}
$SERVER["socket"] == ":8080" {
                 server.document-root = "/var/www/html"
}

index-file.names = ( "index.php", "index.html", "index.lighttpd.html" )
url.access-deny = ( "~", ".inc" )
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )

compress.cache-dir = "/var/cache/lighttpd/compress/"
compress.filetype = ( "application/javascript", "text/css", "text/html", "text/plain" )

# default listening port for IPv6 falls back to the IPv4 port
include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
include_shell "/usr/share/lighttpd/create-mime.assign.pl"
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"
 

sudo apt install smartpi
sudo reboot

 

Um in Zukunft die Software upzudaten müssen Sie nur noch folgendes Kommando ausführen:

sudo apt install smartpi

Zugriff

Standardmäßig wird der SmartPi mit DHCP ausgeliefert. Das heisst, er bekommt von Ihrem Router eine IP­Adresse zugewiesen. Um die IP­Adresse Ihres SmartPi‘s herauszufinden, können Sie entweder in der Liste der angemeldeten auf Ihrem Router schauen oder die IP­Adresse mit einem Netzwerkscanner Angry IP (http://www.angryip.org) oder Netscan suchen.

Als Hostname muss bei der richtigen IP„smartpi“ oder„raspberry“ auftauchen. Die Webseite können Sie nun mit http://<IP­Adresse>:1080 aufrufen.
Ein ssh­Login ist ebenfalls möglich:
Benutzername: pi

Passwort: smart4pi oder raspberry

Bei einer Internetfreigabe (Portfreigabe) empfehlen wir Ihnen dringendst, aus Sicherheitsgründen das Passwort des Benutzers zu ändern (Befehl: passwd). Das Standardpasswort ist bekannt und ermöglicht Hackern sehr einfachen Zugriff auf Ihren SmartPi und damit auf Ihr Heimnetzwerk.

Weboberfläche

Die Weboberfläche erreichen Sie unter http://<IP­Adresse>:1080
Auf der Webseite werden zur Zeit die aktuellen Werte der Leistung, Strom, Spannung, Cos Phi und Frequenz angezeigt.
Eine Balkenanzeige zeigt den die Energie der letzten 8 Tage an.

Ein Klick rechts auf Chart öffnet die Anzeige des Tagesverlaufs aller gemessenen Werte. Ein Klick auf den Button des entsprechenden Werts fügt den Wert dem Tagesverlauf hinzu. Ein erneuter Klick entfernt diesen wieder.
Über den Button "Day back" kann ein Tag zurückgegangen werden. Der Button "Day forward" springt einen Tag vor. Über die Buttons "Add day back" und "Remove day back" kann die Tagesansicht auf mehrere Tage erweitert oder gekürzt werden.

Tabellenansicht

Über das Ausklappmenü links oben kann die Tabellensicht ausgewählt werden. Hier ist eine Ansicht oder ein Export der Tabelle möglich. Über die Datumsfelder lässt sich ein genauer Zeitraum auswählen.
Bitte beachten Sie dass es unter Umständen einige Zeit dauern kann, bis die Ansicht geladen ist.

Konfigurationsseite

Abenfalls über das Ausklappmenü kann die Konfigurationsseite geladen werden.
Zum Zugriff benötigen Sie Benutzername und Passwort. Diese können zur Zeit noch nicht geändert werden:
Benutzername: pi
Passwort: smart4pi

In den "default settings" können Sie den Smartpi eine Seriennummer, einen Namen und Koordinaten vergeben. Bei Verwendung der API (siehe http://blog.enerserve.eu) werden diese Informationen schon Ausgewertet.
Der Reiter "measurement" beinhaltet alle Einstellungen zur Messung. Hier können Sie die für Ihr Land zugehörige Frequenz ausählen (50Hz oder 60Hz). Darüber hinaus lässt sich einstellen, an welcher Phase gemessen werden soll und welcher Sensor angeschlossen ist. Hier kann ebenfalls eingestellt werden, ob die Spannung gemessen oder angenommen werden soll. Die entsprechende Spannung ist dann einstellbar.

Die Reiter "mqtt", "ftp", und "mobile communication" beinhalten die Zugangsdaten und Einstellungen für die jeweiligen Punkte. Ebenfalls ist dort der MQTT­ und FTP­Upload ein und ausschaltbar.
Unter "expert settings" können Sie unter anderem den Port der Weboberfläche und das Format der CSV­Dateien verändern.