Raspberry PI Zero W mit WaveShare e-Paper HAT 2.13

Hier eine kompakte / praktische Anleitung um ein eInk / e-Paper Display auf dem Rasp PI Zero W zu installieren – software technisch.

Im Prinzip folgt man der offiziellen Anleitung hier, dennoch hier nochmals der konkrete Ablauf:

  1. Leer MicroSD-Karte finden oder kaufen – falls Ihr eine gebrauchte MicroSD-Karte benutzt, beachtet, dass drauf alle Daten nachhaltig gelöscht werden :)
  2. Raspberry PI Imager herunterladen (Mac, Ubuntu und MS Windows Version verfügbar)
  3. Raspberry PI Imager starten
  4. In dem Raspberry PI Imager die SD-Karte Fat32 löschen:
    „Erase“ -> SD-Card Choose -> Write
  5. Raspberry PI Imager OS wählen:
    Operating System „Raspberry PI OS (32-bit)“ -> SD-Card Choose -> Write
    falsch! da ich keine Tastatur oder USB-Verteiler mit MicroUSB-Anschluß habe, brauche ich ein sogenanntes „Headless Setup“, sehr gut beschriiben auf dev.to also:
    Operating System -> Raspberry PI (other) -> Raspberry PI OS Lite (32-bit) -> Choose SD Card -> Write

Damit ist die „Installation“ des Betriebssystem abgeschlossen, nun den RaspPI konfigurieren, damit darauf zugegriffen werden kann:

Wifi-Einstellungen speichern

  1. Terminal / Command Line öffnen (und nur wird es Mac OS X spezifisch, die Pfade unter Windows lauten anders):
    cd /Volumes/boot/
  2. Dort touch wpa_supplicant.conf eingeben
  3. Anschliessend die eben erstelle Datei „wpa_supplicant.conf“
    bearbeiten (mit dem Editor Eurer Wahl, dieser sollte aber UTF-8 unterstützen) und Folgendes hinein schreiben:
network={
  ssid="NETWORK_NAME"
  psk="NETWORK_PASSWORD"
  key_mgmt=WPA-PSK
  id_str="office"
}
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=DE

network={
  ssid="NETWORK_NAME1"
  psk="NETWORK_PASSWORD1"
  key_mgmt=WPA-PSK
  priority=1
  id_str="office"
}

network={
  ssid="NETWORK_NAME2"
  psk="NETWORK_PASSWORD2"
  key_mgmt=WPA-PSK
  priority=2
  id_str="home"
}

FritzBox Probleme? Eine Lösung fand ich hier, konkret: „Unterstützung für geschützte Anmeldungen von WLAN-Geräten (PMF) aktivieren“ und „Die unten angezeigten aktiven WLAN-Geräte dürfen untereinander kommunizieren“ muss angeblich aktiviert sein.

Weiterhin MUSS „country=DE“ in der config-Datei sein, sowie die zwei Zeilen darüber, wie ich hier gefunden hatte. Als „Special“ sollte ich zudem zeigen, wie zwei Netzwerke eingerichtet werden. Ihr könnte das zweite „network…“ auch einfach weglassen und dann auch die Einstellungen für „priority“ und „id_str“ entfernen.

SSH Zugang freischalten

  1. Im Terminal wieder nach cd /Volumes/boot/ navigieren.
  2. Dort die Datei ssh erstellen mit dem Kommando touch ssh womit SSH aktiviert wird (also die Möglichkeit per Kommadozeile auf den Rasp PI Zero W remote zuzugreifen, ohne Tastatur und Monitor)

Login testen

  1. MicroSD-Karte in den Raspberry Pi Zero W schieben
  2. USB Kabel anschliessend
  3. Bootvorgang abwarten (ca. 45-90 Sekunden, u.a. je nach SD-Karten-Geschwingkeit)
  4. Auf den Router einloggen oder z.B. nmap oder das Programm LanScan auf den Mac verwenden um zu sehen, ob „raspberrypi“ im Netzwerk zu finden ist.
  5. Mit der gefundenen IP-Adresse einloggen:
In meinem Fall:
~ ssh pi@192.168.178.35

Das Default-Passwort ist übrigens: raspberry

Ansonsten ggf. das Default-Passwort, sowie den Hostnamen ändern, anschliessend den Rasp PI neu starten (man wird danach gefragt, wenn man es konfiguriert hat und aus den Menüs wird „herausgeht“):

sudo raspi-config
-> 1. Change Password
-> 2. Network Settings 

Nach dem Relogin Updates durchführen:

sudo apt-get update

anschliessend einen reboot durchführend und nochmals das update ausführen um zu sehen ob alles geklappt hat):

sudo shutdown -r now

So, nun endlich fängt der e-Paper spezielle Teil an…

e-Paper-Display installieren und konfigurieren

Man braucht Python und die waveshare-epaper-beispiele, aber zuvor installieren wir die Hardware, also erstmal den RaspPI Zero W herunterfahren:

sudo shutdown now

Nun das Display aufstecken und noch notwendige Packages testen bzw. (weil die OS lite Version installiert wurde?) git nachinstallieren:

sudo apt update
sudo apt install git
git --version

Nun im Prinzip der sehr guten Anleitung von Michael Budjan folgen:

sudo apt-get install python3-pip python3-pil python3-numpy
sudo pip3 install RPi.GPIO

Das Git-Repository von Waveshare für das e-Paper herunterladen:

git clone https://github.com/waveshare/e-Paper
cd e-Paper/RaspberryPi\&JetsonNano/python/examples/

Beim Ausführen bekam ich einen Fehlermeldung bzgl dem fehlenden Modul „spidev“, weshalb ich noch Folgendes machen musste:

sudo apt-get install python-dev python-pip
sudo pip3 install spidev
sudo pip3 install Pillow

Tja und dann muss man noch die Verwendung von SPI explizit anschalten im System – Tip hier gefunden:

sudo raspi-config
Choose Interfacing Options -> SPI -> Yes  to enable SPI interface

Nun – wenn man das zur Hardware passende Python-Script auswählt, funktioniert die Demo, in unserem Fall mit folgenden Python-Script:

python3 epd_2in13bc_test.py

…mehr dazu wann anders :)