Was benötigen wir zum Starten mit dem ersten SmartHome-Baustein? Natürlich einen Raspberry Pi, hier in der Version 2B, zusammen mit einer Micro-SD-Karte:

Der Raspberry Pi 2B ist in das Netzwerk integriert. Für die Inbetriebnahme reichen neben einer Tastatur ein Ethernet- und HDMI-Kabel. Der Normalbetrieb ist später über WLAN abgewickelt – zu empfehlen ist u.a. der USB-Wireless-Adapter Edimax EW-7811UN. Im August 2018 lag der Preis noch bei 8,49 EUR, im Dezember 2021 sind es bereits stolze 17 EUR. Es ist keine grafische Oberfläche geplant, damit entfällt eine Maus. Der Raspi benötigt Strom in der Größenordnung 5 Volt / 2 Ampere und abschließend ein Gehäuse.

Der Raspberry Pi 2B besitzt einen 64-Bit-Prozessor, damit sind nicht alle Distributionen hierfür verfügbar. Es ist eine Philosophiefrage, ich setze wegen der langfristigen Verfügbarkeit von Patchen die Longtime-Versionen von Ubuntu Server ein. Die Recherche auf den Ubuntuseiten zeigt, dass für das Modell 2B ein 32-Bit-Paket von Ubuntu Server 20.04.3 LTS (Focal Fossa) verfügbar ist. Für das Nachfolgemodell gibt es ein 64-Bit-Paket von Ubuntu Server 20.04.5 LTS (Stand Dezember 2021).
Also von der Website http://cdimage.ubuntu.com/ubuntu/releases/20.04.3/release/ über den Link Raspberry Pi Generic (Hard-Float) preinstalled server image das Paket ubuntu-20.04.3-preinstalled-server-armhf+raspi.img.xz herunterladen und mit einem geeigneten Programm (z. B. 7-Zip) das Paket zu einem bootfähigen Image entpacken. Mit einem weiteren Tool (z. B. Win32DiskImager) wird dieses Image jetzt auf eine Micro-SD-Karte geschrieben, um damit den Raspberry Pi booten zu können. Das entpackte Paket hat eine Größe von ca. 3 GB, eine 16-GB-Karte hat genug Reserven für die ersten Tests.
Das Schreiben des Image geht am Einfachsten mit einem USB-Cardreader …

… und den folgenden Arbeitsschritten.
Installationsschritte
- Starten des Win32DiskImagers
- Suchen der Imagedatei im Filesystem
- Einstellen des Laufwerks der Micro-SD-Karte
- Starten des Kopiervorgangs über die Schaltfläche Schreiben
- Bestätigen der Überschreiben-Warnung
- Die neu beschriebene Micro-SD-Karte generiert ein neues Laufwerk im Filesystem, dieses ist unter Windows nicht ansprechbar. Eine daraus resultierende Fehlermeldung ist zu ignorieren.
- Einsetzen der Micro-SD-Karte in den Raspberry und Starten des Rechners
- Für die Erstinbetriebnahme wird nur die Stromversorgung, ein Ethernet- und HDMI-Kabel incl. Monitor und eine Tastatur benötigt.
- Unter Windows ist es schwierig, in der GUI eine einmal installierte Micro-SD-Karte noch einmal zu beschreiben.
Es gibt die Möglichkeit, mit dem Kommandozeilentool diskpart die Karte wieder in den Ausgangszustand zurückzuversetzen. Hierzu sind folgende Arbeitsschritte und Kommandos auszuführen:
- Starten von
diskpartin der Kommandozeile - Eingeben der folgenden Kommandos:
list disk --> hier feststellen, welche Datenträgernummer die Micro-SC-Karte hat (hier als Beispiel die Nummer 3) select disk 3 clean create partition primary list part --> Partition 1 ist aktiv active format fs=Fat32 quick assign --> Zuweisen des Laufwerksbuchstaben
Jetzt kann das Image neu und problemlos geschrieben werden. Nach dem Start des Raspis hat dieser zunächst den Hostnamen ubuntu, Default-Account und -Passwort lauten ebenfalls ubuntu. Bei der ersten Anmeldung muss das Initialpasswort geändert werden. Mit sudo su können Rootrechte erlangt werden.
Das Kommando ip zeigt, dass der Raspi bereits über DHCP mit dem Netzwerk verbunden ist:
ip address show 2: eth0: mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether b8:27:eb:8c:64:a2 brd ff:ff:ff:ff:ff:ff inet 172.24.12.116/24 brd 172.24.12.255 scope global dynamic eth0
Prinzipiell gibt es ab dieser Stelle zwei mögliche Vorgehensweisen bei der weiteren Konfiguration:
Es kann direkt an der Konsole gearbeitet werden oder remote über einen SSH-Client, wie z. B. Putty. Hier ist ein markanter Unterschied zu sehen: Remote über Putty ist ein deutsches Tastaturlayout verfügbar. Direkt an der Konsole hat der Raspi ein englisches Tastaturlayout – für viele sicher nicht optimal. Bevor es mit der Netzwerkinstallation weitergeht, ist deshalb zunächst das Konsolenlayout auf deutsch zu ändern.
Tastaturlayout der Konsole und Zeitzone ändern
Folgende Befehle ändern das Tastaturlayout auf deutsch, gleichzeitig ist es sinnvoll, die Zeitzone auf Berlin zu stellen. Der Raspi ist am Ende zu rebooten:
sudo apt update sudo apt install language-pack-de sudo dpkg-reconfigure keyboard-configuration Auswahl Keyboard-Modell: Generic 105-key PC (intl.) Land des Ursprung-Keyboards: German Tastaturlayout: German Taste für AltGr-Funktion: The default for the keyboard layout Compose key: No compose key sudo dpkg-reconfigure tzdata Geographic area: Europe Time zone: Berlin sudo reboot
Remoteanmeldung
ssh ist per default installiert, damit kann sich der non-root-Benutzer ubuntu bereits remote anmelden. Soll sich auch root remote anmelden können, ist die Datei /etc/ssh/sshd_config anzupassen. Da root bislang noch kein Passwort besitzt, ist dieses zu setzen. (Ich bin mir bewusst, dass diese Listingzeilen die Community in Geht überhaupt nicht und Mache ich immer so teilt. Tatsache ist aber, dass es für produktive Umgebungen tabu ist.)
sudo vi /etc/ssh/sshd_config Zeile 34: PermitRootLogin yes sudo systemctl restart ssh sudo su passwd
Netzwerkkarte (LAN) statisch einstellen
Selbstverständlich ist es möglich, den Raspi mit einer DHCP-Adresse zu betreiben. Auf dem Raspi ist aber ein Serverbetriebssystem installiert, hier macht es Sinn, eine statische IP-Adresse (im Beispiel 172.24.12.207) einzurichten. Canonical nutzt seit Ubuntu 17.10 das Netplan-Paket, es richtet mit Hilfe einer YAML-Konfigurationsdatei die Netzwerkkarte ein. Für die Übernahme der Netzwerkkarteneinstellungen reicht ein netplan apply aus.
sudo vi /etc/netplan/50-cloud-init.yaml
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
dhcp6: no
addresses: [172.24.12.205/24]
gateway4: 172.24.12.1
nameservers:
addresses: [172.24.12.1]
sudo netplan generate
sudo netplan apply
Netzwerkkarte (WLAN) statisch einstellen
Der Raspberry Pi 2B hat noch keinen integrierten WLAN-Controller, hier empfiehlt sich der USB-Wireless-Adapter Edimax EW-7811Un – ein sehr kleiner Adapter ohne eine zusätzliche Antenne. Der benötigte Treiber ist durch Ubuntu bereits mit installiert. Um auf WLAN umzuschalten, ist im Konfigurationsblock nur die Netzwerkkarte auszutauschen und um die Parameter der Funkstrecke (SSID und Passwort) zu ergänzen. Normalerweise reicht ein netplan apply aus, in ganz harten Fällen kommt die Verbindung aber nach einem Reboot zustande.
sudo vi /etc/netplan/50-cloud-init.yaml
network:
version: 2
renderer: networkd
wifis:
wlan0:
dhcp4: no
dhcp6: no
addresses: [172.24.12.207/24]
gateway4: 172.24.12.1
nameservers:
addresses: [172.24.12.1]
access-points:
"RASPI":
password: <password>
sudo netplan generate
sudo netplan apply
An dieser Stelle ist die Basisinstallation des Raspis prinzipiell abgeschlossen. Es können nun die ersten Sensoren und Aktoren angeschlossen werden. Der Raspi selbst benötigt nur noch eine Stromversorgung, über die WLAN-Verbindung ist er im Netzwerk z. B. über Putty erreichbar, damit kann er komplett remote administriert werden.
