Benutzer-Werkzeuge

Webseiten-Werkzeuge


howto:building_raspberry_pi_image_for_vz

Volkszaehler-Image für Raspberry Pi selbst erstellen

Anleitung wie ein Image für den Raspberry Pi selbst erstellt werden kann, für: Image aufspielen

Folgende Schritte:

  1. Image downloaden: Vorzugsweise die Raspbian Lite Version und nicht die Desktop-Version!
  2. Mit Win32DiskImager Image auf 4GB SD-Karte schreiben
  3. Im Verzeichnis „boot“ leere Datei mit Namen „ssh“ mit Notepad++ erzeugen
  4. Karte in den Raspi stecken
  5. Versorgungsspannung anlegen, Netzwerkleitung anschließen
  6. Darauf achten, dass das Netzteil genügend Strom liefern kann. 2,5A besser 3A Netzteile verwenden
  7. IP des Raspi im Router ermitteln oder per Netzwerkscanner ermitteln
  8. Mittels Putty per SSH mit dem Raspi verbinden
  9. Raspbian auf den neuesten Stand bringen: sudo apt update && sudo apt upgrade
  10. Dann verschiedene Konfigurationseinstellungen vornehmen mit:
    1. sudo raspi-config
      1. S6 Wait for Network at Boot: Yes
      2. L2 Change Timezone : Europe, Berlin
      3. L4 Change Wi-fi Country : DE Germany, Alternative: sudo iw reg set DE
      4. I2 SSH Enable SSH
      5. I4 SPI Disable SPI
      6. I5 I2C Enable I2C
      7. I6 Serial Disable Shell and Enable serial Hardware
      8. I7 1-Wire Disable one-wire interface
      9. I8 Remote GPIO Disable remote access
  11. Reboot
  12. Edit „config.txt“
    1. sudo nano /boot/config.txt
    2. folgende zwei Zeilen am Ende der Datei hinzufügen:
      1. max_usb_current=1
      2. dtoverlay=pi3-disable-bt
  13. Edit „modules“
    1. sudo nano /etc/modules
    2. folgende zwei Zeilen am Ende der Datei hinzufügen:
      1. ds2482
      2. w1-therm
  14. Edit „rc.local“
    1. sudo nano /etc/rc.local
    2. Folgende Zeilen zwischen „ fi “ und „ exit 0 “ hinzufügen:
      1. # Part of DS2482 I2C 1-Wire Master to Volkszaehler 'RaspberryPI deamon'.
      2. echo ds2482 0x18 > /sys/bus/i2c/devices/i2c-1/new_device
      3. # Register I2C RTC bei grosser neuer Erweiterung
      4. # echo ds1307 0x68 > /sys/bus/i2c/devices/i2c-1/new_device
    3. GPIOs exportieren und Datenrichtung einstellen, 'Schaltausgang_new'
      1. echo 4 > /sys/class/gpio/export
      2. echo 17 > /sys/class/gpio/export
      3. echo 18 > /sys/class/gpio/export
      4. echo 22 > /sys/class/gpio/export
      5. echo 23 > /sys/class/gpio/export
      6. echo 24 > /sys/class/gpio/export
      7. echo 25 > /sys/class/gpio/export
      8. echo 27 > /sys/class/gpio/export
      9. echo out > /sys/class/gpio/gpio24/direction
      10. echo out > /sys/class/gpio/gpio25/direction
    4. RTC (Erweiterung) vorbereiten
      1. # hwclock -s
  15. Danach reboot
  16. composer unter /usr/local/bin installieren
    1. sudo apt install php
    2. cd /tmp
    3. sudo mv composer.phar /usr/local/bin/composer
    4. sudo chmod +x /usr/local/bin/composer
  17. Dann vzlogger installieren, unter User vzlogger ausführen lassen.
  18. Die Middleware per Script installieren und Webserver (PHP-PM mit Apache als Proxy) einrichten.
  19. Git „Benutzer“ einrichten um die Anpassungen der Middleware bei Upgrade stashen zu können
    1. nano ~/.gitconfig
    2. Folgende Zeilen eintragen:
      1. [user]
      2. email = „nomail@here“
      3. name = noName
  20. Ev. unten genannte Optionen einrichten
  21. Image der SD-Karte erstellen
  22. Image verkleinern
    1. https://github.com/Drewsif/PiShrink auf anderem Linux-System installieren
    2. sudo pishrink.sh vz_big.img vz_small.img

Optionen und Vorschläge

Logrotate

sudo nano /etc/logrotate.d/vzlogger

/var/log/vzlogger.log {
        rotate 1
        size=100k
        copytruncate
        missingok
        notifempty
        create 0664 vzlogger root
}

Wichtig ist copytruncate, weil die Datei sonst erst gelöscht und dann neu erstellt wird. Damit kommt vzlogger nicht klar. rotate 0 geht natürlich auch, dann wird die alte Datei nicht rotiert sondern gleich gelöscht.

Push-Server

Push-Server aktivieren/Einrichten.

GoLang installieren

cd ~
sudo apt remove golang
sudo apt autoremove
wget https://golang.org/dl/go1.15.8.linux-amd64.tar.gz
sudo tar -C /usr/local -xvf go1.15.8.linux-amd64.tar.gz 
mkdir go
echo 'export GOPATH=$HOME/go' >> ~/.profile
echo 'PATH="$PATH:/usr/local/go/bin:$GOPATH/bin"' >> ~/.profile
source .profile

PHP Beispielscript

Quellen

Mailingliste vz-dev 005997.html
Github Issue#555 555

howto/building_raspberry_pi_image_for_vz.txt · Zuletzt geändert: 2023/01/28 09:06 von jau