Raspberry PI Grundeinrichtung
Raspberry PI vorbereiten
Als erstes die aktuelle Version von Raspberry Pi OS Lite auf den PC downloaden, entpacken und mit dem Tool Win32diskimager das Image auf SD-Karte schieben. Anschließend Root-Verzeichnis der SD-Karte eine leere Datei SSH (ohne Extention !) erstellen.


Jetzt kann die SD-Karte für den ersten Start in den Raspi eingesteckt und der Raspi gebootet werden. Sobald der Raspi gestartet ist, die vom Router per DHCP vergebene IP-Adresse auslesen und mit putty auf dem Raspi anmelden (user:pi , pw:raspberry)


Raspi auf aktuellen Stand bringen und konfigurieren
(ggf. bei älterer OS-Version mit ggf. veralteten Paketen (old-stable) "sudo apt udate" anstatt "sudo apt-get update" ausführen).sudo apt-get upgrade
sudo raspi-config

folgende Werte anpassen:
(1) Passwort ändern: altes pw: raspberry, neues pw: ******
(4).(1) LänderOption- Zeichensatzändern: de_DE.utf.8
(4).(2) LänderOption-Zeitzone ändern: Europa / Berlin
(2).(1) Netzwerk / Hostname ändern: Himbeerix
(7).(1) Dateisystem erweitern: ok
OpenWeatherMap und PVOutput-Accounts einrichten
Die vom Logger ermittelten PV-Daten sollen zusammen mit den via OpenWeatherMap ermittelten Wetterdaten auf den Onlinedienst PVOutput hochgeladen werden. Deshalb müssen zunächt die entsprechenden Accounts erstellt werden.
OpenWeatherMap-Accounts einrichten
Account erstellen und mit get API-Key den Service „Current weather and forecast“ hinzufügen. Anschließend unter „API-Keys“ einen neuen Key generieren. Dieser wird dann an der entsprechenden Stelle zusammen mit der „City ID“ im PVOutput-Profil eingetragen.
PVOutput-Accounts einrichten
Die Daten des Wechselrichters sollen zusammen mit den aktuellen Wetterdaten des Anlagenstandortes zu PVOutput hochgeladen werden. Deshalb wird jeweils ein Account bei PVOutput und OpenWeatherMap benötigt. In der Konfigurationsdatei für den Upload SBFspotUpload.cfg müssen die Seriennummer des Wechselrichters zusammen mit der von PVOutput vergebene System Name (71661) sowie der API-Key eingetragen werden. Der API-Key von OpenWeatherMap muss wiederum in der Konfiguration von PVOutput für die Anlage eingetragen werden.



Apache Webserver und PHP installieren
Zeitdienst installieren
sudo ntpdate -u ptbtime1.ptb.de
Web Server und PHP einrichten
Wenn jetzt die IP-Adresse des Pi im Browser eingegeben wird, sollte folgende Seite angezeigt werden:

Htaccess aktivieren
Bei Apache liegen die Webseiten unter /var/www/, wo dann unbedingt die HTTP-Authentifikation zugelassen werden sollte. Die Zugriffsrechte werden via .htaccess-Dateien gerergelt. Um diese verwenden zu können, muss die AllowOverride Einstellung in der Apache 2 Konfiguration angepasst werden. In der Konfigurationsdatei (apache2.conf) muss deshalb im Feld <Directory /var/www/> fürAllowOverride All gesetzt sein !
Zugriffsrechte eintragen
GNU nano 3.2 /etc/apache2/apache2.conf
# This is the main Apache server configuration file. It contains the
# configuration directives that give the server its instructions.
# See http://httpd.apache.org/docs/2.4/ for detailed information about
# the directives and /usr/share/doc/apache2/README.Debian about Debian specific
# hints.
#
<Directory />
Options FollowSymLinks
AllowOverride None
#Require all denied
Require all granted
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Damit der user www-data auch den Symlinks folgen kann wurde außerdem unter <Directory /> die Option FollowSymLinks von Require all denied auf Require all granted geändert.
PHP mit allen zugehörigen Paketen (aktuell Vers. 7.3) installieren
PHP Konfiguration bearbeiten
Hier müssen die Zeitzone (date.timezone = "Europe/Berlin") sowie die dynamischen Erweiterungen (extension=calendar.so und extension=shmop.so) eingetragen werden.
pi@himbeerix: ~ $ sudo nano /etc/ php/7.3/apache2/php.ini
GNU nano 3.2 /etc/php/7.3/apache2/php.ini
[PHP]
;;;;;;;;;;;;;;;;;;;
; About php.ini ;
;;;;;;;;;;;;;;;;;;;
; PHP's initialization file, generally called php.ini, is responsible for
; configuring many of the aspects of PHP's behavior.
;
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "Europe/Berlin"
;
;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;
; If you wish to have an extension loaded automatically, use the following
; syntax:
;
; extension=modulename
extension=calendar.so
extension=shmop.so
extension=json.so
extension=curl.so
Webserver neustarten
Info.php erstellen
phpinfo();
?>
Danach sollte durch Aufruf der info.php (http://192.168.178.6/info.php die php-Konfiguration angezeigt werden:

Hier gehts weiter zu SBFspot PV-Daten-Logger installieren