Benutzer-Werkzeuge

Webseiten-Werkzeuge


howto:raspberry_pi_image

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
howto:raspberry_pi_image [2019/03/18 13:23] – Statische IP über dhcpcd jauhowto:raspberry_pi_image [2024/01/23 16:56] (aktuell) – alte Version wiederhergestellt (2023/10/15 13:22) keine Leerzeichen! https://dev.mysql.com/doc/refman/8.0/en/command-line-options.html jau
Zeile 5: Zeile 5:
 ===== Features ===== ===== Features =====
  
-  * vollständige Installation eines Volkszählers der sofort arbeitet +  * vollständige Installation eines Volkszählersvzlogger, Middleware (inkl. Frontend) schon fertig installiert 
-  * vzlogger, middleware schon fertig installiert+
   * lediglich noch Anpassung an lokale Installation (Zähler, Netzwerk...) nötig   * lediglich noch Anpassung an lokale Installation (Zähler, Netzwerk...) nötig
-  * Zugriff auf Datenbank über phpmyadmin 
   * Optimierungen um die SD-Karte zu schonen   * Optimierungen um die SD-Karte zu schonen
   * eingerichtete Datenkompression und Datenaggregation   * eingerichtete Datenkompression und Datenaggregation
 +
 +<note>Für vollen Funktionsumfang empfehlen wir Rpi 2, 3 oder 4; ältere oder Zero sollten nur den vzlogger nutzen.</note>
  
 ===== Image aufspielen ===== ===== Image aufspielen =====
  
-  * Aktuelles Image für RPi, RPi-B+, RPi 2, RPi 3 und Raspi Zero W herunterladen von [[https://demo.volkszaehler.org/downloads/volkszaehler_latest.rar|Image-Quelle]].+  * Aktuelles Image für RPi, RPi-B+, RPi 2, RPi 3, Rpi 4 und Raspi Zero W herunterladen von [[https://demo.volkszaehler.org/downloads/volkszaehler_latest.zip|Image-Quelle]].
   * Image mit [[http://sourceforge.net/projects/win32diskimager/files/latest/download?source=navbar|Win32ImageWriter]] auf eine mindestens 8GB, besser 16GB große, Class 10, [[http://raspberrycenter.de/handbuch/sd-karten-raspberry-pi|Raspberry Pi kompatible SD-Karte]] kopieren.   * Image mit [[http://sourceforge.net/projects/win32diskimager/files/latest/download?source=navbar|Win32ImageWriter]] auf eine mindestens 8GB, besser 16GB große, Class 10, [[http://raspberrycenter.de/handbuch/sd-karten-raspberry-pi|Raspberry Pi kompatible SD-Karte]] kopieren.
   * beim Raspi Zero W im Verzeichnis /boot die Datei 'wpa_supplicant.conf' editieren (am Besten mit Notepad++) und SSID als auch PSK eintragen. Die Datei wird beim ersten Start in das Verzeichnis /etc/wpa_supplicant kopiert. SSH ist aktiviert. Um die serielle Schnittstelle ttyAMA0 zu aktivieren wurde Bluetooth in der Datei /boot/config.txt deaktiviert. Wer diese serielle Schnittstelle nicht braucht, kann die Datei entsprechend editieren.   * beim Raspi Zero W im Verzeichnis /boot die Datei 'wpa_supplicant.conf' editieren (am Besten mit Notepad++) und SSID als auch PSK eintragen. Die Datei wird beim ersten Start in das Verzeichnis /etc/wpa_supplicant kopiert. SSH ist aktiviert. Um die serielle Schnittstelle ttyAMA0 zu aktivieren wurde Bluetooth in der Datei /boot/config.txt deaktiviert. Wer diese serielle Schnittstelle nicht braucht, kann die Datei entsprechend editieren.
Zeile 22: Zeile 22:
  
   * Pi an das Netzwerk anschließen (LAN-Kabel bevorzugt, [[https://www.elektronik-kompendium.de/sites/raspberry-pi/1912221.htm|WLAN geht aber auch]])   * Pi an das Netzwerk anschließen (LAN-Kabel bevorzugt, [[https://www.elektronik-kompendium.de/sites/raspberry-pi/1912221.htm|WLAN geht aber auch]])
-  * Pi starten (Stromversorgung anschließen) +  * Pi starten (Stromversorgung anschließen), das Filesystem wird automatisch auf die ganze SD-Karte erweitert und das System neu gestartet 
  
 ===== Anmelden an die Konsole des RaspberryPi ===== ===== Anmelden an die Konsole des RaspberryPi =====
Zeile 48: Zeile 48:
 |Konsole|pi|raspberry| |Konsole|pi|raspberry|
 |ssh (Konsole über Netzwerk)|pi|raspberry| |ssh (Konsole über Netzwerk)|pi|raspberry|
-|Dateifreigabe|pi|raspberry|+|User für vzlogger|vzlogger|vzlogger|
 |MySQL-Standardbenutzer|vz|demo| |MySQL-Standardbenutzer|vz|demo|
 |MySQL-Umfassender-Nutzer|vz-admin|secure| |MySQL-Umfassender-Nutzer|vz-admin|secure|
-|phpMyAdmin-Admin|phpmyadmin|raspberry| +|MySQL-Admin((seit "stretch" ist eine zusätzliche 
-|MySQL-Admin|root|raspberry|+Sicherheit eingebaut die nur dem Systemuser root auch DB-Zugriff als 
 +root erlaubt. (sudo mysql --user=root -praspberry) ))|root|raspberry|
  
  
Zeile 59: Zeile 60:
 == Die Partition an die benutzte Karte anpassen == == Die Partition an die benutzte Karte anpassen ==
  
-  * Die root-Partition auf die Größe der SD-Karte vergrößern mit raspi-configDazu +Ist nicht mehr manuell nötig, das Dateisystem wird automatisch auf die Größer der SD-Karte angepasstDer erforderliche Neustart erfolgt automatisch.
-    - "sudo raspi-config" ausführen +
-    - im Menu den Unterpunkt "expand_rootfs" aufrufen +
- +
-<note important>Das Image ist auf dem Stand von Stretch-Lite vom 27.03.2018!\\ Ein Update des Systems sollte nicht erfolgen!</note>+
  
 == Tastatur einstellen == == Tastatur einstellen ==
  
-Erfolgt ebenfalls über raspi-config. Für korrekte Umlaute den Zeichensatz "de_DE.UTF-8" wählen.+Erfolgt über raspi-config. Für korrekte Umlaute den Zeichensatz "de_DE.UTF-8" wählen.
  
 == Datum und Zeit stellen == == Datum und Zeit stellen ==
Zeile 76: Zeile 73:
 == evtl: Datenbank übers Netz erreichbar machen == == evtl: Datenbank übers Netz erreichbar machen ==
  
-Wer aus dem lokalen Netz mit einem SQL-client (z.B. HeidiSQL) auf die DB zugreifen will, muss mit +Wer aus dem lokalen Netz mit einem SQL-client (z.B. [[https://www.heidisql.com/download.php|HeidiSQL]]) auf die DB zugreifen will, muss mit 
 <code>sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf</code> <code>sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf</code>
 die Zeile ""bind-address = 127.0.0.1"" ändern in  die Zeile ""bind-address = 127.0.0.1"" ändern in 
Zeile 89: Zeile 86:
 exit</code> exit</code>
 Dabei bedeutet ''%'' das man jeden Netzzugriff zulässt. Man kann das für mehr Sicherheit auch auf eine einzelne Adresse oder einen Adressbereich ''192.168.1.%'' einschränken. Dabei bedeutet ''%'' das man jeden Netzzugriff zulässt. Man kann das für mehr Sicherheit auch auf eine einzelne Adresse oder einen Adressbereich ''192.168.1.%'' einschränken.
- 
-Alternativ kann der User auch über phpmayadmin angelegt werden. 
  
 ===== Kanäle anlegen ===== ===== Kanäle anlegen =====
  
-  * Mit dem VZ-Frontend unter <code>http://<IP des pi>/</code> [[software/middleware/einrichtung|die gewüschten Kanäle anlegen]] und unnötige Demokanäle löschen+  * Mit dem VZ-Frontend unter <code>http://<IP des pi>/</code> [[software/middleware/einrichtung|die gewüschten Kanäle anlegen]]
  
   * über das (i) der Kanäle die UUIDs herausfinden, die beim Anlegen der Kanäle erzeugt wurden   * über das (i) der Kanäle die UUIDs herausfinden, die beim Anlegen der Kanäle erzeugt wurden
Zeile 100: Zeile 95:
 ===== vzlogger konfigurieren ===== ===== vzlogger konfigurieren =====
  
-    * mit <code>sudo nano /etc/vzlogger.conf</code> die Konfigurationsdatei für den [[software/controller/vzlogger?s[]=vzlogger|vzlogger]] bearbeiten und gemäß Doku die UUIDs einfügen. Dazu kann der vzlogger.conf-Editor benutzt werden: http://volkszaehler.github.io/vzlogger/+    * mit <code>sudo nano /etc/vzlogger.conf</code> die Konfigurationsdatei für den [[software/controller/vzlogger?s[]=vzlogger|vzlogger]] bearbeiten und gemäß [[software:controller:vzlogger:vzlogger_conf_parameter| Dokumentation]] die UUIDs einfügen. Dazu kann der vzlogger.conf-Editor benutzt werden: http://volkszaehler.github.io/vzlogger/ 
  
 <note important>Vom vzlogger.conf-Editor erstellte Einträge, die nicht benötigt werden, wie z.B. //"host": ""//, sollten gelöscht werden.</note> <note important>Vom vzlogger.conf-Editor erstellte Einträge, die nicht benötigt werden, wie z.B. //"host": ""//, sollten gelöscht werden.</note>
Zeile 119: Zeile 115:
 ===== Fehlersuche: ===== ===== Fehlersuche: =====
  
-  * phpmyAdmin <code>http://<ip des Pi>/phpmyadmin</code>  User vz Passwort demo, da kann man die Daten ansehen und falsche Kanalparameter in der properties Tabelle korrigieren 
   * I/R-Kopf-Kontrolle <code>xxd </dev/ttyUSB0</code> da kann man sehen, ob vom I/R-Kopf an ttyUSB0 was reinkommt (-> TTL-I/R-Kopf  mit ttyAMA0 anstelle ttyUSB0)   * I/R-Kopf-Kontrolle <code>xxd </dev/ttyUSB0</code> da kann man sehen, ob vom I/R-Kopf an ttyUSB0 was reinkommt (-> TTL-I/R-Kopf  mit ttyAMA0 anstelle ttyUSB0)
   * Wiki-Seite zur [[howto/debug]]   * Wiki-Seite zur [[howto/debug]]
Zeile 134: Zeile 129:
 cd vzlogger cd vzlogger
 git pull git pull
-cd build +./install.sh vzlogger
-cmake -DBUILD_TEST=off .+
-make +
-sudo make install+
 sudo systemctl start vzlogger sudo systemctl start vzlogger
 </code> </code>
-Das Leerzeichen und den Punkt hinter cmake nicht vergessen!\\ 
 Mit und ohne 'sudo' ist beabsichtigt, nicht verändern.\\ Mit und ohne 'sudo' ist beabsichtigt, nicht verändern.\\
  
 __Update der Middleware-Installation:__\\ __Update der Middleware-Installation:__\\
 <code> <code>
-cd /var/www+cd ~
 # ggf.Datensicherung # ggf.Datensicherung
-sudo cp -r volkszaehler.org vz.org.bak+cp -r volkszaehler.org vz.org.bak
 # Update # Update
 cd volkszaehler.org cd volkszaehler.org
-sudo git pull+git stash 
 +git pull 
 +git stash apply
 # Abhängigkeiten aktualisieren # Abhängigkeiten aktualisieren
 sudo composer update sudo composer update
 </code> </code>
  
-Fehler beim Aufruf von Composer können daran liegen dass Composer (http://getcomposer.org) an anderer Stelle installiert ist oder anders heisst. Evtl. hilft auch+Fehler beim Aufruf von Composer können daran liegendass Composer (http://getcomposer.org) an anderer Stelle installiert ist oder anders heißt. Evtl. hilft auch
  
 <code> <code>
Zeile 163: Zeile 156:
 ===== Raspberry Performance Optimierung ===== ===== Raspberry Performance Optimierung =====
  
-Die Leistung des Raspberry für vzlogger, web- und PHP-Server und MySQL ist eigentlich ausreichend, allerdings kann die Leistung spürbar z.B. durch den SD-Karten Zugriff geschmälert werden. Hier einige Hinweise zur [[Performance-Optimierung des Raspberry Pi]].+Die Leistung des Raspberry für vzlogger, Webserver, PHP und MySQL ist eigentlich ausreichend, allerdings kann die Leistung spürbar z.B. durch den SD-Karten Zugriff geschmälert werden. Hier einige Hinweise zur [[Performance-Optimierung des Raspberry Pi]].
  
 Zudem hat der Raspberry schwer zu kämpfen wenn lange Zeiträume mit vielen Datensätzen abgefragt werden. Dazu bietet sich einerseits eine Reduktion der Daten bei der Erfassung im vzlogger an, aber auch für große Zoomstufen kann die Datenmenge reduziert und die Ausgabe beschleunigt werden [[datenmengen]]. Zudem hat der Raspberry schwer zu kämpfen wenn lange Zeiträume mit vielen Datensätzen abgefragt werden. Dazu bietet sich einerseits eine Reduktion der Daten bei der Erfassung im vzlogger an, aber auch für große Zoomstufen kann die Datenmenge reduziert und die Ausgabe beschleunigt werden [[datenmengen]].
Zeile 208: Zeile 201:
 Mit einer statischen IP Konfiguration ist man fortan _NICHT_ mehr abhängig davon ob der DHCP Server jederzeit im LAN reagiert (oder ob man den zum Stromsparen auch mal ausschaltet). Mit einer statischen IP Konfiguration ist man fortan _NICHT_ mehr abhängig davon ob der DHCP Server jederzeit im LAN reagiert (oder ob man den zum Stromsparen auch mal ausschaltet).
 === Einrichten einer ramdisk === === Einrichten einer ramdisk ===
-Beim RaspberryPi führen alle Änderungen am Dateisystem zu Schreibzugriffen auf der eingelegten SD-Karte. Sollen diese minimiert werden, kann eine ramdisk eingerichtet werden. Eine Anleitung findet ihr hier: [[Ramdisk einrichten]]+Beim RaspberryPi führen alle Änderungen am Dateisystem zu Schreibzugriffen auf der eingelegten SD-Karte. Sollen diese minimiert werden, kann eine ramdisk eingerichtet werden.
howto/raspberry_pi_image.1552911831.txt.gz · Zuletzt geändert: 2019/03/18 13:23 von jau