Raspi Zero W - Ersteinrichtung für WLAN und SSH

Nun ist er also endlich da, mein Raspberry Pi Zero WH. Raspberry Pi heißt übrigens soviel wie "Himbeer-Strudel". Apple-Pi hat man sich wohl nicht getraut, weil da gibt es ja so eine klagefreudige Firma aus Cupertino.

Aber es gibt noch einen Nachbau, der sich "Banana Pi" nennt. Das Pi soll übrigens für das auf dem Pi eingesetzte Python (eine Programmiersprache) stehen. Das Zero steht für die Ausführung als Mini-Platine, die aber trotzdem alles nötige mitbringt. Das "W" für die Version mit integriertem WLAN und das "H" hat sich eingebürgert für die Version, auf dem die Stiftleisten für die Anschlüsse (sogenannter Header) bereits eingelötet sind.




Hier sind ein paar Eckdaten des Raspi im Vergleich zum "großen" Raspi 3B+

Raspi Zero WHRaspi 3B+
Preisca. 15 €ca. 35 €
Größe65x30x10 mm (mit Header, ohne nur 5 mm hoch)85x56x17 mm
CPUARMv6 Single Core (ARM1176JZF-S / BCM2835 SoC), 1.0 GHzARMv8 Quadcore, 4 x 1.4 GHz (ARM Cortex-A53), Broadcom BCM2837B0
RAM512 MB1 GB LPDDR2 SDRAM
WLAN802.11 b/g/n802.11ac, Broadcom BCM43143
LAN-Gigabit Ethernet über USB 2.0
Bluetooth 4.1, Bluetooth Low Energy (BLE)4.2, BLE (Bluetooth low Energy)
USB-Anschlüsse1x USB 2.04x USB 2.0
GPIO40 Pins40 Pins
HMDIja (Mini)ja
Audio-Buchsenein (Audio über HDMI)ja, 3.5 mm Klinke
SDmicro SDmicro SD
Leistungsaufnahme0,5–0,7 Wmax. 7 W
Stromquelle5V Micro USB, min. 1 A5V Micro USB, min. 2,5 A


Was brauche ich außer dem Raspi Zero?

Im Prinzip nur ein Handy-Ladegerät mit Micro-USB-Kabel und eine Micro-SD-Karte mit mindestens 2 GB, je schneller diese ist, desto besser.

Image laden und flashen

Die SD-Karte wird so eingerichtet, dass der Raspi davon booten kann. Dazu müssen wir erst einmal ein Betriebssystem drauf bringen. Zum Glück gibt es fertige Images, so dass dies nicht viel Aufwand ist. Die Images findet man auf der offiziellen Download-Seite von raspberrypi.org, der Hersteller-Seite des Mini-Computers.

Empfehlenswert ist die Distribution mit dem Namen Raspbian, die nicht nur zufällig so ähnlich klingt wie Debian, der bekannten Linux-Distribution; denn sie baut darauf auf. Wer sich also schon mit Debian auskennt, hat beste Karten. Wir wählen die Distribution Raspbian Stretch Lite aus, die entpackt dann etwa 1.7 GB ausmacht. Da wird es fast schon knapp mit unserer 2 GB-SD-Karte. Wenn wir noch viel installieren wollen, wäre eine 4 GB-Karte vielleicht doch besser.

Es gibt auch eine Raspbian Version mit Desktop. Aber der Desktop macht auf dem Pi Zero nicht so richtig Spaß, weil er doch ein wenig lahmt. Außerdem bringt der Desktop nur etwas, wenn wir einen Monitor anschließen. Man könnte zwar auch üver VNC auf den Desktop, aber das macht er nocheinmal ein Stückchen langsamer. Das laden des Desktops dauert auch seine Zeit. Außerdem ist die Desktop-Variante gleich mal 4.4 GB groß, da bräuchte es dann schon eine 8 GB SD-Karte.

Nachdem wir die raspbian-stretch-lite.zip heruntergeladen haben, entpacken wir sie und erhalten ein raspbian-stretch-lite.img. Dieses muss nun auf die SD-Karte gebracht werden. Um dies zu bewerkstelligen, möchte ich drei Tools vorstellen: Den SD Card Formatter, den Win32DiskImager und den Etcher.

SD Card Formatter

Wie der Name schon sagt, formartiert der SD Card Formatter SD-Karten. Dabei lässt er sich einfacher bedienen als die Windows-internen Tools, die bei großen Karten und FAT32 schon mal gerne zicken.

Wenn unsere SD Karte bereits unter FAT32 formatiert ist, ist alles in Butter und wir können diesen Schritt überspringen. Wenn allerdings aktuell ein Raspbian-Image auf der SD ist, dann wird das Win32DiskImager meckern und wir müssen die SD-Karte frisch formatieren

Dazu einfach die SD-Karte einlegen und im SD Card Formatter auswählen. Danach "Quick Format" wählen und auf "Format" klicken. In ein paar Sekunden ist die KArte formartiert und bereit für Neues.


Win32DiskImager

Gleich vorweg: der Win32DiskImager in der aktuellen Version 1.0 hat bei mir unter Windows 7 nur Probleme gemacht. Irgendwie stolpert der über mein substituiertes Laufwerk oder mein virtuelles DVD-Laufwerk und stürzt gleich mal fröhlich ab, noch bevor die Oberfläche erschienen ist. Im Internet habe ich dann noch die Version 0.7 gefunden, die wenigstens, wenn auch mit anfänglicher Fehlermeldung, funktioniert. Trotzdem macht die Software keinen besonders stabilen Eindruck, der Etcher gibt sich da stabiler. Warum ist Win32DiskImager trotzdem vorstelle? Mit ihm kann man nicht nur Images auf SD schreiben, sondern auch von SD lesen. Damit kann man dann wunderbar Backups herstellen. Wer nur ein Image schreiben will, dem empfehle eher ich den Etcher.

Um das Image auf unsere SD-Karte zu bringen, wählen wir mit Klick auf den kleinen blauen Ordner unsere Image-Datei aus und dann rechts das Laufwerk der SD-Karte (bei mir S:\). Hier lieber zweimal hinschauen, nicht dass man das falsche Laufwerk überschreibt.

Etcher

Etcher funktioniert noch einfacher als der Win32DiskImager. Einfach nur das Image links und das richtige Laufwerk in der Mitte auswählen und dann rechts auf Flash klicken. Etcher ist auch nicht so zimperlich mit dem Format der SD-Karte. Hier musst oft nicht vorher formatiert werden. Nach dem Flashen führt Etcher noch ein Verify aus, sprich er liest noch einmal den gerade eben geflashten Inhalt und prüft, ob er mit dem Image übereinstimmt.

Falls Etcher unsere SD-Karte automatisch ausgeworfen hat (das merken wir, weil wir nicht mehr darauf zugreifen können), ziehen wird sie heraus und stecken sie neu ein, denn wir müssen daran noch Anpassungen vornehmen.

Konfiguration vornehmen

Wenn wir die SD-Karte jetzt in den Raspi stecken würde, dann würde er schon einmal booten. Allerdings würde er danach einfach stehenbleiben beim Login-Prompt, der auf dem nicht angeschlossenen Monitor auch nicht sichtbar wird. Was also tun? Der Trick ist, dem Raspi mitzuteilen, wie er ins WLAN findet und dass er den SSH-Server starten soll, damit wir über diesen Weg auf ihn draufkommen.

Die WLAN-Konfiguration speichert der Raspi in der Datei wpa_supplicant.conf im Root-Verzeichnis. Diese ist jetzt noch nicht auf der SD-Karte vorhanden, also erstellen wir eine mit einem Editor. Allerdings müssen wir hier darauf achten, das Unix-Format der Zeilenumbrüche (nur LF (Linefeed), nicht CR/LF (Carriage Return/Linefeed)), wie unter Windows üblich, zu verwenden. country=DE ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 ap_scan=1 network={ scan_ssid=1 ssid="wlanname" psk="unserpasswort" key_mgmt=WPA-PSK } unter speichern die Datei im Hauptverzeichnis der SD-Karte. key_mgmt=WPA-PSK gilt übrigens auch für WPA2-PSK

Damit der Raspi beim Booten automatisch einen SSH-Server startet, wir uns also darüber mit ihm verbinden können, braucht es nur eine Datei namens ssh (ohne Endung) im Hauptverzeichnis. Aber diese ist schnell angelegt.

Das Hauptverzeichnis der SD-Karte sollte nun etwa so aussehen: Verzeichnis von S:\ 27.06.2018 00:16 <DIR> overlays 19.06.2018 12:06 22.342 bcm2708-rpi-0-w.dtb 09.03.2018 18:28 18.693 COPYING.linux 09.03.2018 18:28 1.494 LICENCE.broadcom 27.06.2018 01:09 145 issue.txt 19.06.2018 12:06 22.098 bcm2708-rpi-b-plus.dtb 19.06.2018 12:06 21.839 bcm2708-rpi-b.dtb 19.06.2018 12:06 21.552 bcm2708-rpi-cm.dtb 19.06.2018 12:06 23.142 bcm2709-rpi-2-b.dtb 19.06.2018 12:06 24.601 bcm2710-rpi-3-b-plus.dtb 19.06.2018 12:06 24.338 bcm2710-rpi-3-b.dtb 19.06.2018 12:06 23.050 bcm2710-rpi-cm3.dtb 19.06.2018 12:06 52.116 bootcode.bin 27.06.2018 01:09 190 cmdline.txt 27.06.2018 00:27 1.590 config.txt 19.06.2018 12:06 6.639 fixup.dat 19.06.2018 12:06 2.608 fixup_cd.dat 19.06.2018 12:06 9.801 fixup_db.dat 19.06.2018 12:06 9.799 fixup_x.dat 19.06.2018 12:06 4.679.832 kernel.img 19.06.2018 12:06 4.927.736 kernel7.img 19.06.2018 12:06 2.835.780 start.elf 19.06.2018 12:06 675.364 start_cd.elf 19.06.2018 12:06 4.979.652 start_db.elf 19.06.2018 12:06 3.922.628 start_x.elf 27.06.2018 01:09 18.974 LICENSE.oracle 21.07.2018 13:57 185 wpa_supplicant.conf 16.07.2018 19:22 0 ssh 27 Datei(en), 22.326.188 Bytes 1 Verzeichnis(se), 21.859.840 Bytes frei Nun können wir die SD-Karte aus Windows auswerfen und in den Raspi stecken und diesen einschalten (Micro-USB-Kabel in Buchse PWR einstecken). Die kleine grüne LED auf dem Raspi beginnt fröhlich zu flackern. Nach etwa einer Minute kommt sie dann zum Stillstand. Zeit, zu überprüfen, ob unser Raspi den Weg ins WLAN gefunden hat. Dazu verbinden wir uns mit unserem Internet-Router (meist über die http://192.168.0.1 im Browser), wo wir ihn auch schnell wiederfinden: raspberrypi 12:34:56:78:9A:BC 192.168.0.7/24 00:00:56:29 65 Mbps Wi-Fi 2.4G Am besten richten wir gleich im DHCP-Server des Routers ein, dass die MAC des Raspi (12:34:56:78:9A:BC) gleich fest die IP 192.168.0.7 zugewiesen bekommt. Dann müssen wir das nächste Mal nicht mehr nach der IP im Router suchen, sondern wissen, dass der Raspi immer die 192.168.0.7 hat.

Der SSH-Server sollte auch schon gestartet werden. Das heißt, wir sollten uns über die 192.168.0.7 mit dem Raspi verbinden können.

Putty

Zur SSH-Verbindung brauchen wir ein Programm. Seit langer Zeit schon hat sich dafür unter Windows Putty bewährt.

Hier muss nicht viel getan werden. Lediglich die IP-Adresse 192.168.0.7, die wir aus dem Router gelesen haben, muss hier eingetragen werden. Mit Klock auf Open stellen wir dann eine SSH-Verbindung zum Raspi her.

Da die Verbindung über Zertifikate verschlüsselt wird, wird beim ersten Verbindungsversuch eine Abfrage erscheinen, ob wir das neu aufgetauchte Zertifikat akzeptieren wollen - natürlich wollen wir - und schon befinden wir uns auf dem Raspi.



Der Username für den Login ist übrigens pi und das Standard-Passwort raspberry. Damit loggen wir uns ein und finden uns dann im Home-Verzeichnis auf unserem Raspberry Pi wieder. Hier können wir nur agieren, als ob wir an einer virtuellen Tastatur am Pi säßen und das Terminal-Fenster ist unser Monitor. Das ist für uns vollkommen ausreichend, wie wir sehen werden. Auf den Desktop können wir gut und gerne verzichten. login as: pi pi@192.168.0.7's password: Linux raspberrypi 4.14.50+ #1122 Tue Jun 19 12:21:21 BST 2018 armv6l The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. SSH is enabled and the default password for the 'pi' user has not been changed. This is a security risk - please login as the 'pi' user and type 'passwd' to set a new password. pi@raspberrypi:~ $ pwd /home/pi Als nächstes wollen wir das Standard-Passwort ändern - sonst könnte sich ja jeder, der Zugriff auf unser LAN hat, auf dem Raspi rumpfuschen, weil das Standard-Passwort öffentlich ist. Außerdem wollen wir noch ein paar weitere Einstellungen vornehmen.

Dafür gibt es ein eigenes Tool, dass wir mit dem Befehl sudo raspi-config ausführen - sudo bedeutet hier, dass wir den Befehl als Superuser ausführen und somit die Rechte bekommen, die wir eigentlich als User pi nicht hätten, aber brauchen, weil Systemdateien geändert werden. 1 Change User Password Change password for the current user 2 Network Options Configure network settings 3 Boot Options Configure options for start-up 4 Localisation Options Set up language and regional settings to match your location 5 Interfacing Options Configure connections to peripherals 6 Overclock Configure overclocking for your Pi 7 Advanced Options Configure advanced settings 8 Update Update this tool to the latest version 9 About raspi-config Information about this configuration tool Unter 1. können wir gleich mal unser Passwort setzen.
In 2. müssen wir nichts mehr eingeben, dass haben wir ja schon vorher händisch per wpa_supplicant.conf getan.
Da wir keinen Desktop installiert haben, erübrigt sich 3.
Aber unter 4. sollten wir Deutsch als Sprache und Tastatur einstellen. Die Tastatur wird durch Putty zwar schon richtig übersetzt, aber evtl. wollen wir ja doch mal eine eigene Tastatur an den Raspi anschließen.
5. brauchen wir auch nicht, denn SSH ist bereits eingestellt.
6. können wir uns auch schenken, denn den Raspi Zero können wir nicht übertakten. Im Gegenteil: wenn wir hier 1000 eingeben, dann läuft der Zero immer mit 1000 MHz und wir verschenken den Stromsparvorteil, weil sich der Zero in Idle-Zeiten (wenn er nichts zu tun hat) auf 700 MHz heruntertaktet.
Unter 7. sollten wir noch A1 Expand Filesystem ausführen, wenn wir eine größere SD-Karte besitzen, um sicher zu gehen, dass auch der gesamte Speicher darauf zur Verfügung steht. 8. Update können wir uns sparen, denn die Distribution ist ja neu heruntergeladen und damit wird auch das Tool die aktuelle Version haben. Wenn der Download schon länger her ist, dann kann ein Update nicht schaden.
Mit Escape verlassen wir das Tool wieder.

Wenn der Download des Images schon ein wenig her ist, können wir noch einmal die Software auf dem Raspi auf den neuesten Stand bringen: sudo apt-get update sudo apt-get upgrade Wobei update die Liste der zum Download verfügbaren Versionen aktualisiert und upgrade neuere Versionen findet, downloadet und installiert.

Das System ist damit auf dem neuesten Stand und bereit für den Einsatz.