Raspberry Pi's
Ich habe für verschiedene Anwendungen 2 RPi's in der Wohnung verteilt:
- RPi 3B+ (Rev 1.3), als HomeMatic Zentrale, ELV Bausatz 'Charly'
- 16GB microSD Karte
- Funkmodul RPI-RF-MOD
- externes Netzteil 5V; 2,5A mit Anschluss an das Funkmodul
- 868 MHz Stab-Kippantenne [16€ bei Raspberrymatic.com]
- Leistungsaufnahme: 7,8W (Idle), ca. 10W (Betrieb) ??
- RPi 4B (Rev 1.1), 2GB
- 16GB microSD Karte
- PoE-HAT [20€ bei rasppishop.de]
- Leistungsaufnahme: 3,7W (Idle), ca. 5W (Betrieb) ??
Und noch einer in Reserve:
- RPi 4B (Rev 1.5), 4GB
- 16GB microSD Karte
Installation (Debain v11: bullseye)
Anleitung: https://www.tomshardware.com/reviews/raspberry-pi-headless-setup-how-to,6028.html
https://www.elektronik-kompendium.de/sites/raspberry-pi/1911261.htm
Setup SD-Karte
Mit dem Programm 'RaspberryPi Imager' auf dem Mac.
Das Programm installiert und modifiziert ein Image auf der Karte:
- aktivieren von SSH
- setzen eines Users und Kennworts
- aktivieren von WLAN mit SSID und Passwort
- Regionale und Sprach Settings
(später kontrolliert mit >sudo raspi-config)
Freigeben der WIFI-MAC in der Unifi-WLan Konfig.
Configuration WiFi
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Installation (Debian v10: buster)
Anleitung: https://github.com/andrewjfreyer/monitor#setup-of-sd-card
Setup SD-Karte
Mit Software 'Etcher' auf dem Mac. Images:
- RPi 3B: Raspbian_Buster_Liste_piVCCU3_2019-07-11.img
- RPi 4B: 2019-09-26-raspbian-buster-lite.img
SSH aktivieren
- Boot-SD Karte auf Mac mounten
- Im Root Ordner / der Karte eine leere Datei mit dem Namen "ssh" erzeugen (ohne Dateierweiterung)
(ist bei piVCCU3 Image schon gemacht)
Admin Passwort setzen
default password: raspberry
ssh pi@_pi_ip_
sudo passwd pi
Update SYSTEM (buster und bullseye)
ssh pi@_pi_ip_ sudo apt-get update sudo apt-get upgrade -y sudo apt-get dist-upgrade -y sudo reboot
Setup MOSQUITTO
wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key sudo apt-key add mosquitto-repo.gpg.key cd /etc/apt/sources.list.d/ sudo wget http://repo.mosquitto.org/debian/mosquitto-stretch.list apt-cache search mosquitto sudo apt-get update sudo apt-get install -f libmosquitto-dev mosquitto mosquitto-clients libmosquitto1
Setup MONITOR
Install Script:
cd ~ sudo apt-get install bluez-hcidump
sudo apt-get install git cd /opt sudo git clone git://github.com/andrewjfreyer/monitor cd monitor/
Initialer Aufruf des Scripts legt default Konfig-dateien an:
cd /opt/monitor
sudo bash monitor.sh
Konfiguration: siehe hierzu Artikel Presence Detection 3.
Monitoring: RPI System sensors
Für das Überwachen der Raspi's möchte ich gerne in HA Sensoren haben. Da ich mit MQTT schon eine gute Plattform dafür am Start habe, bietet sich das folgende Script von Senne an.
Anleitung und Quelle: https://github.com/Sennevds/system_sensors
sudo -s cd /opt/ git clone git://github.com/Sennevds/system_sensors cd system_sensors/ apt-get install python3-pip pip3 install -r requirements.txt
/opt/system_sensors/src/settings.yaml
mqtt: hostname: 192.168.__.__ port: 1883 #defaults to 1883 user: pi password: _____ deviceName: raspi1 client_id: raspi1 timezone: Europe/Berlin power_integer_state: false #defaults to false update_interval: 60 #Defaults to 60 check_wifi_strength: false
python3 system_sensors.py /opt/system_sensors/src/settings.yaml ^C sudo nano /etc/systemd/system/system_sensor.service
/etc/systemd/system/system_sensor.service
[Unit] Description=System Sensor service After=multi-user.target [Service] User=pi Type=idle ExecStart=/usr/bin/python3 /opt/system_sensors/src/system_sensors.py /opt/system_sensors/src/settings.yaml [Install] WantedBy=multi-user.target
sudo systemctl enable system_sensor.service sudo systemctl start system_sensor.service
systemctl status system_sensor.service
Umbauten
Loch für PoE-HAT Lüfter (RPi 4b)
Habe in das Oberteil des offiziellen Raspi-Gehäuses eine Loch direkt über dem Lüfter des PoE-HAT's gebohrt.
Anbau externe Antenne (RPi 3b)
Habe die interne Antenne des RPI-RF-MOD abgelötet und die Kabelpeitsche angelötet. Antennenbuchse im Unterteil des Gebäuses verschraubt.
- Anlöten wie hier beschrieben.
- Einbau im Gehäuse wie hier beschrieben.
Anpassung der Konfiguration
Automatische Updates
todo.
siehe hier: https://www.elektronik-kompendium.de/sites/raspberry-pi/2002101.htm
POE-HAT Ventilator kontrollieren (RPi 4B)
Der kleine Ventilator ist laut und läuft oft. Angeschaltet wird er bei 50°C und kühlt bis 45°C herunter.
Anleitung: https://community.home-assistant.io/t/pi-poe-hat-fan-control/149115/5
- Shutdown
- SD-Karte auf Mac öffnen
- in der config.txt das folgende ergänzen:
sd-card:/config.txt
## poe_fan_temp ## temp0 is lower speed fan, temp1 is high fan speed. ## Current setting is fan turns on at 65C, turns off when it comes back down to 60C. ## If the temperature reaches 68C it will go full blast until it drops back down to 65C. dtparam=poe_fan_temp0=65000,poe_fan_temp0_hyst=5000 dtparam=poe_fan_temp1=68000,poe_fan_temp1_hyst=3000
Zeitzone einstellen
sudo raspi-config
WakeOnLan aktivieren
Zuerst Update durchgeführt.
sudo apt-get install etherwake
ifconfig eth0
--> das Installiert aber nur WanOnLan Serverbefehle. Der Raspi4 kann kein WakeOnLan!
Installation Schlüssel für ssh-Zugriff
Um den PI von Home-Assistant automatisiert herunterfahren zu können muss folgendes getan werden:
- Login in den Home-Assistant Docker-Container über die DSM Oberfläche:
Docker > Container (HA) > Terminal > Erstellen mit Befehl: 'bash'
Aufruf dieses Terminals erzeugt eine shell für user root - Aufruf
fragt nach fingerprint von server (pi)ssh pi@<ip_von_pi> sudo shutdown now
--> abgespeichert in known_hosts --> password von user pi eingeben --> shutdown geht - Schlüsselpaar generieren für user root
ssh-keygen -t rsa -b 4096
WICHTIG: Datei mit privatem Schlüssel NICHT mit einem Kennwort schützen.
- Installieren das öffentlichen Schlüssels auf dem PI
...geht nun auf ohne Eingabe des Kennworts.ssh-copy-id -i /root/.ssh/id_rsa pi@<ip_von_pi>
ssh pi@<ip_von_pi>
Schlüssel sind in HA/config/.ssh gespeichert und werden von dort von SSH genutzt. - copy des privaten Schlüssels nach /config:
mkdir /config/.ssh
cp /root/.ssh/id_rsa /config/.ssh/ - Test noch Mac mit diesem Schlüssel geht
Feste IP-Adresse (RPi 4B)
Beim gemeinsamen Einschalten von Switch und Raspi bekommt dieser keine IP-Konfiguration über DHCP. deshalb eine optionale feste Adresse hinterlegt:
ssh pi@_pi_ip_ nano /etc/dhcpcd.conf
Anpassung in dhcpcd.conf:
# It is possible to fall back to a static IP if DHCP fails: # define static profile profile static_eth0 static ip_address=192.168.2.xx/24 static routers=192.168.2.x static domain_name_servers=192.168.2.x 8.8.8.8 # fallback to static profile on eth0 interface eth0 fallback static_eth0
WLAN Reconnect (RPi 4B)
Wir das WLAN ausgeschaltet dann verbindet sich der Raspi nicht mehr wenn das WLAN wieder verfügbar ist:
sudo mv /etc/ifplugd/action.d/ifupdown /etc/ifplugd/action.d/ifupdown.alt
sudo cp /etc/wpa_supplicant/ifupdown.sh /etc/ifplugd/action.d/ifupdown
sudo reboot
cd /etc/ifplugd/action.d/
sudo rm ifupdown
sudo cp ifupdown.alt ifupdown
Manuelle Updates
RPi 3B+
WICHTIG: Vorher einen Backup von Homematic-CCU machen!!
Beide (RPi 4B und RPi3b+)
Update SYSTEM (rasbian buster lite)
ssh pi@_pi_ip_ sudo apt-get update sudo apt-get upgrade -y sudo apt-get dist-upgrade -y sudo reboot
Update Monitor
cd /opt/monitor/
sudo git pull
sudo systemctl restart monitor.service
evtl.
sudo git config url.https://github.com/.insteadOf git://github.com/
ist das ok? noch zu testen...
Update System Sensors
cd /opt/system_sensors/
sudo git pull
sudo systemctl restart system_sensor.service
evtl.
sudo git config url.https://github.com/.insteadOf git://github.com/
das ist ok. Ab v1.1 ist die settings.yaml nicht mehr im git-repo.