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