Installation eines optimierten Raspbian + Domoticz-Images auf Raspberry Pi 3, Pi 4 oder Pi 5

Domoticz ist ein plattformübergreifendes Hausautomatisierungssystem, das dank seiner Programmierung in C++ sehr kompakt und schnell ist. Es ermöglicht die Erstellung komplexer Automatisierungen, beispielsweise zur Steuerung einer kompletten Alarmanlage oder einer Wärmepumpe.

Ein Buch darüber ist unter https://github.com/rwbl/domoticz-homeautomation-workbook erhältlich.

Diese Seite zeigt, wie man ein neues, frisches Image mit Raspbian, Domoticz, Firewall und Backup erstellt. Raspbian + Domoticz

Falls Sie lieber eine bereits programmierte, hochwertige SD-Karte kaufen möchten, besuchen Sie unseren Shop . Domoticz klein

Schreiben eines Images für Raspberry Pi

Wir bieten eine schnelle Lösung zur Installation eines vorkonfigurierten Raspbian-Images für Raspberry Pi 3, 4 und 5 an, das mit der neuesten Domoticz-Software ausgestattet ist und so konfiguriert ist, dass der MicroSD-Flashspeicher erhalten bleibt (der Flashspeicher kann nicht mehr als 10.000 Mal sicher beschrieben werden) und ein wöchentliches Backup exportiert wird, das im Problemfall leicht wiederhergestellt werden kann .

Dieses Image wurde sowohl auf Raspberry Pi 3- als auch auf Raspberry Pi 4-Hardware getestet und verwendet die neueste Raspbian-Distribution.

Wenn Sie dieses Image auf eine microSD-Karte flashen, können Sie Ihre Domoticz-Geräte sofort über die Weboberfläche konfigurieren.

Extrahieren des Bildes auf eine microSD-Karte

Sie benötigen eine Linux-Distribution, wget, sfdisk, fsarchiver und eine microSD-Karte (oder SSD) mit mindestens 16 GB Speicherplatz.

Geben Sie in der Bash-Shell die folgenden Befehle ein:

 export disk=/dev/sdh #Ersetzen Sie sdh durch das microSD/SSD-Gerät
wget https://docs.creasol.it/raspberry_domoticz.sfdisk
wget https://docs.creasol.it/raspberry_domoticz.sfdisk
sfdisk $disk < raspberry_domoticz.sfdisk
fsarchiver -v restfs raspberry_domoticz.fsa id=0,dest=${disk}1 id=1,dest=${disk}2
echo -e "\\aMicroSD kopiert"

Merkmale

  • Funktioniert sowohl mit Raspberry Pi 4 als auch mit Raspberry Pi 3
  • Raspbian + eine aktuelle Version von Domoticz
  • Optimiert zur Reduzierung von Schreibvorgängen auf dem Flash-Speicher: /tmp und /var/log befinden sich im RAMFS, nicht auf der SD-Karte, und der Swap-Speicher ist deaktiviert. Temporäre Domoticz-Dateien werden in /tmp und nicht auf der SD-Karte gespeichert, wodurch die Speicherlebensdauer verlängert wird.
  • Firewall mit iptables/netfilter, die durch Bearbeiten der Datei /usr/local/sbin/myfirewallpi.sh konfiguriert werden kann.
  • Backup, das automatisch ein inkrementelles Backup der geänderten Dateien erstellt; einmal pro Woche ein vollständiges Backup und einmal pro Monat ein Image erstellen; das Backup kann einfach auf eine angeschlossene USB-Festplatte oder ein NAS (FTP oder CIFS) exportiert werden.
  • Domoticz ist teilweise mit einigen Geräten konfiguriert und das Creasol Dombus-Plugin ist bereits installiert (Domoticz-Plugin zur Verwendung von Creasol DomBus-Geräten, die über einen RS485-Seriellbus an den Raspberry Pi angeschlossen sind).

Zugriff auf und Konfiguration des Raspberry Pi mit dem programmierten Image

Dies sind die Standardanmeldeinformationen für dieses Image:
Linux-Benutzer: pi , Passwort: arangingenni
Linux-Benutzer: root , Passwort: geriandallse
Domoticz-Benutzer: domoticz , Passwort: creasol

Es wird empfohlen , diese Standardpasswörter zu ändern!

Wenn Sie Raspberry Pi mit diesem Image starten, bezieht er seine Netzwerkkonfiguration von Ihrem DHCP- Server (Router). Sie können ihn dann über den Browser unter einer URL wie http://192.168.1.123:8080 erreichen ( überprüfen Sie Ihren DHCP-Server, um die Raspberry Pi zugewiesene IP-Adresse zu ermitteln , oder führen Sie einen Netzwerkscan Ihres LANs durch). Wenn Sie sich mit Raspberry Pi aus den Netzwerken 192.168.*.*, 172.16.*.* oder 10.*.*.* verbinden, ist keine Authentifizierung erforderlich .
Außerdem ist der SSH-Dienst aktiviert , sodass Sie als Benutzer pi oder root eine sichere Shell (mittels SSH, Putty oder einem anderen SSH-Client) aufrufen können.


Wie man ein Image von einer Raspberry-SD-Karte erstellt

Wir haben das Bash -Skript raspberry_domoticz.sh (siehe oben) geschrieben , mit dem sich eine Kopie des Raspberry-Speichers auf einem USB-Laufwerk speichern und außerdem eine neue SD-Karte mit dem Inhalt eines gespeicherten Images erstellen lässt .

Dies ist nützlich, weil:

  1. Flash-Speicher sind nicht unbegrenzt beschreibbar : Normalerweise kann jede Flash-Zelle bis zu 10.000–100.000 Mal beschrieben werden. Das vorgeschlagene Image ist optimiert, um die Anzahl der SD-Karten-Schreibvorgänge zu begrenzen.
  2. Es ist immer ratsam, ein Backup des laufenden Raspberry Pi zu haben , damit im Problemfall das System aus einem alten Image wiederhergestellt werden kann.
  3. Vielleicht müssen Sie eine vorhandene SD-Karte klonen und die Images auf Ihrem PC oder NAS speichern.

Merkmale:

  • Die Bilder sind komprimiert ... es ist doch dumm, ein 16 GB großes Bild für eine fast leere 16-GB-SD-Karte zu haben!
  • Images können auf SD-Karten unterschiedlicher Größe wiederhergestellt werden , sodass es möglich ist, dasselbe Image sowohl für 32-GB- als auch für 8-GB-SD-Karten zu verwenden.
  • Das Erstellen und Wiederherstellen eines Images geht im Vergleich zu anderen Systemen sehr schnell .

Dieses System funktioniert leider nicht unter Windows, aber... wer nutzt heutzutage noch Windows? Alles geht doch in Richtung Linux! Android basiert auf Linux. Raspbian basiert auf Linux. Ihre Router, Access Points und Fernseher verwenden höchstwahrscheinlich ein Linux-Betriebssystem! ;-)

Klicken Sie hier, um das Skript raspberry_domoticz.sh herunterzuladen, speichern Sie es in einem ausführbaren Verzeichnis auf Ihrem Linux-System (z. B. /usr/local/sbin) und erteilen Sie ihm die Ausführungsberechtigung.
Führen Sie raspberry_domoticz.sh aus und folgen Sie den Anweisungen, um ein komprimiertes Image von der Raspberry-SD-Karte zu erstellen. Dies funktioniert auch im Live-Modus, direkt vom laufenden Linux-System aus, mit hoher Erfolgswahrscheinlichkeit.

 

Wollen Sie mehr? Präsentation des äußerst zuverlässigen DomBus.

 

Häufig gestellte Fragen (FAQ)

Einige nützliche Befehle

ps ax |grep domoticz : listet alle aktiven Prozesse auf und zeigt nur diejenigen mit dem Namen domoticz an.

netstat -lnp |grep domoticz : zeigt die von Domoticz verwendeten TCP/UDP-Ports an (normalerweise wird Port 8080 verwendet)

lsusb : Listet die an USB angeschlossenen Geräte auf. lsusb -v zeigt Details zu den USB-Geräten an.

Wie konfiguriert man die GPIOs des Raspberry Pi?

Mit diesem Raspbian-Image können GPIOs durch Bearbeiten der Datei /etc/rc.local konfiguriert werden, indem der benötigte GPIO als out (für Ausgänge), in (für Eingänge) oder both (für bidirektionale Ausgänge) eingestellt wird.

 [code]#/etc/rc.local Datei

#GPIO mit dem WiringPi-Tool einrichten:
#Syntax: gpio export GPIONUMBER out|in|both um als Ausgang, Eingang oder E/A festzulegen
gpio export 24 out # Als Ausgang festlegen.
GPIO-Export 23 Ausgang
GPIO-Export 22 Ausgang
GPIO-Export 27 Ausgang
GPIO-Export 18 Out
GPIO-Export 17 Ausgang
GPIO-Export 25 Ausgang #lightOut2
GPIO-Export 8 Ausgang #lightOut3
GPIO-Export 7 Ausgang #lightOut4
gpio export 12 out #lightOut1[/code]

Nach der Bearbeitung geben Sie /etc/rc.local ein, um das Skript neu zu laden.

Wie kann ich das Creasol DomBus-Plugin auf die neueste Version aktualisieren?

Geben Sie einfach in der Root-Shell den Befehl creasoldombus_update.sh ein.

Wie konfiguriere ich eine statische IP-Adresse für die Ethernet-Schnittstelle von Raspbian?

Bearbeiten Sie die Datei /etc/dhcpcd.conf ( nano /etc/dhcpcd.conf ) und fügen Sie am Ende die folgenden Zeilen hinzu:

 interface eth0 static ip_address=192.168.1.250/24 static routers=192.168.1.1 static domain_name_servers=192.168.1.1 8.8.8.8

und mit Strg+X speichern.

Der Raspberry Pi kann nicht über SSH (Port 22) oder HTTP (Port 8080) verbunden werden.

Stellen Sie sicher, dass das LAN-Kabel mit dem Raspberry Pi verbunden ist und dass ein DHCP-Server ihm IP-Parameter zuweisen kann.

Es ist ein Firewall-Skript installiert, /usr/local/sbin/myfirewallpi.sh, das voraussetzt, dass die eth0-Schnittstelle bereits per DHCP oder statischer IP-Adresse konfiguriert ist.

Wie viel Strom verbraucht der Raspberry Pi 4?

Da Hausautomationssysteme entwickelt wurden, um den ökologischen Fußabdruck von Gebäuden zu verringern, ist es wichtig zu wissen, ob ein Raspberry Pi eine gute Hardware für einen Hausautomationscontroller ist oder nicht, und zwar im Hinblick auf CPU-Leistung, Stabilität und auch Energieverbrauch.

Bei einer Suche im Internet findet man nur wenige Artikel, die den Stromverbrauch eines Raspberry Pi beschreiben. Daher ist es am besten, den Stromverbrauch in der Praxis zu messen.

Dies ist die zu testende Hardware, ein Raspberry Pi 4 mit 1 GB RAM, der an ein LAN angeschlossen und von einem 5-V-Gleichstromnetzteil versorgt wird.

Raspberry Pi 4 1 GB

Nachfolgend die Strom- und Spannungswerte, gemessen mit dem Raspbian-Betriebssystem, wenn
1. Links, ohne Last (sehr geringe CPU-Auslastung), beträgt der Stromverbrauch des Raspberry Pi 5 V * 0,42 A = 2,1 W (normal).

2. Rechts, bei 100% Auslastung der 4 Kerne, beträgt die maximale Leistungsaufnahme des Raspberry Pi 5 V * 0,63 A = 3,15 W.

Raspberry Pi 4 1 GB Noload

Raspberry Pi 4 1 GB Volllast

 

Raspberry Pi 4 1 GB Volllast Top

Firewall-Konfiguration

Wie kann ich die IP-Adresse aktivieren, über die ich von extern auf meinen Raspberry Pi/meine Hausautomation zugreifen möchte?

Bearbeiten Sie das Firewall-Skript mit dem Befehl nano /usr/local/sbin/myfirewallpi.sh und ändern Sie die Variable ADMIN_SOURCE, indem Sie die IP-Adressen (oder Netzwerke) hinzufügen, die Sie aktivieren möchten:

ADMIN_SOURCE='80.86.145.56/29 149.13.157.0/24 37.0.0.0/8'

wobei /24 bedeutet, dass die letzte Zahl in der IP-Adresse eine beliebige Zahl von 0 bis 255 sein kann, und /8 bedeutet, dass nur die erste Zahl überprüft wird, während die restlichen 3 Zahlen beliebige Zahlen von 0 bis 255 sein können.

Speichern Sie die Datei mit Strg+S und Strg+X und führen Sie anschließend das Skript mit dem Befehl /usr/local/sbin/myfirewallpi.sh aus.

Wie kann ich eingehende Verbindungen zum Webserver auf dem Raspberry Pi aktivieren?

Ändern Sie das Firewall-Skript mit dem Befehl `nano /usr/local/sbin/myfirewallpi.sh` und fügen Sie Port 80 (HTTP) oder 443 (HTTPS) zur Variablen `TCP_SERVICES_IN_wan` hinzu.

Speichern Sie anschließend das Skript (Strg+S und Strg+X) und führen Sie das Firewall-Skript mit dem Befehl /usr/local/sbin/myfirewallpi.sh aus.

 

Sicherungskonfiguration

Die Konfiguration wird in der Datei /usr/local/etc/backup.conf gespeichert: Bearbeiten Sie sie mit Ihrem bevorzugten Editor (z. B. nano /usr/local/etc/backup.conf ).

Wie man regelmäßig ein Bild erstellt

Bearbeiten Sie die Variable DISKS:
DISKS="mmcblk0p1 mmcblk0p2"
um ein Image für die Boot- und Root-Partitionen zu erstellen

Wie exportiere ich ein Backup auf eine externe USB-Festplatte?

BACKUP_DIR_CONTROL="/mnt/usb"
BACKUP_PARTITION_CHECK="/mnt/usb"
BACKUP_DIR="${BACKUP_DIR_CONTROL}/backup_domoticz"
BACKUP_DIR_MOUNT="mount -o nodev,noexec,async /dev/sda1 ${BACKUP_DIR_CONTROL}" # Mount /dev/sda1
BACKUP_DIR_UMOUNT="umount ${BACKUP_DIR_CONTROL}" # /dev/sda1 aushängen
BACKUP_DIR_AFTER_UMOUNT="hdparm -S12 /dev/sda" # Externe Festplatte auslagern

Wie exportiert man ein Backup auf einem NAS, das über CIFS (Samba) eingebunden ist?

BACKUP_DIR_CONTROL="/mnt/nas"
BACKUP_PARTITION_CHECK="/mnt/nas"
BACKUP_DIR="${BACKUP_DIR_CONTROL}/backup_domoticz"
BACKUP_DIR_MOUNT="mount -t cifs -o username=BENUTZER,password=PASSWORT, //NAS_IP_ADRESSE/FREIGABE ${BACKUP_DIR_CONTROL}" # NAS-Partition einbinden
BACKUP_DIR_UMOUNT="umount ${BACKUP_DIR_CONTROL}" # NAS-Partition aushängen
BACKUP_DIR_AFTER_UMOUNT="" # Befehl, der nach BACKUP_DIR_UMOUNT gesendet wird: Tue nichts