Der Raspberry PI 4 ist derzeit nur schwer zu bekommen und wenn, dann teuer. Nicht nur aus diesem Grund wäre es zur Zeit fatal, wenn man beim Zusammenstecken der Pins einen Fehler begeht und sich das Board zerstört.
Warum nicht mit Raspberry Pico und Raspberry Pi Zero vorher ein wenig üben. Da sind Fehler zumindest schonmal nicht so teuer. Der Pico kostet keine 5 Euro und beim Raspberry Zero 2 schlagen auch nur etwas über 15 Euro zu Buche anstatt 80.- oder mehr …
In Betriebnahme des Pico
Zuerst müssen hier die Stift Leisten angebracht werden. An jeder Seite 20 Lötpunkte und an der Kopfseite nochmal 3. Danach wird der Pico an den PC per USB Port angeschlossen. Das gestartete Laufwerk enthält 2 Dateien. Die HTML Seite führt den Anwender zu der Dokumentation im Internet. Damit es direkt mit Python losgehen kann, muss man auf die MicroPython Seite der Pico Dokumentation gehen und die Datei, die man dort herunterladen kann, auf das Laufwerk schieben. Der Pico startet daraufhin neu und der USB COM Port steht zur Verfügung.
Entwickeln kann man danach mit verschiedenen Entwicklungsumgebungen. Oft und gerne wird Thonny empfohlen. Ich habe mich jedoch fürs Erste für Visual Studio Code mit dem Plugin „PyMakr“ entschieden, auch wenn ich hier keine Syntax Hilfe erhalte. Dafür kann man mit PyMakr ganze Projekte in einem Rutsch hochladen und ich muss die Entwicklungsumgebung beim Programmieren nicht wechseln.
Tipp:
boot.py und main.py sollte man erst aktivieren, wenn das Testen soweit abgeschlossen ist. Eine while True Schleife lässt sich z.B. weder mit Thonny noch mit PyMakr so einfach unterbrechen. Es gibt hier nur noch zwei Möglichkeiten: Entweder den BOOTSEL (Boot Selektor) Button drücken und während dessen das USB Kabel einstecken. Dann spielt man ein spezielles „Factory Reset“ Image auf, welches die main.py umbenennt (https://forum.micropython.org/viewtopic.php?f=21&t=10095). Einfacher geht es zumeist, sich einfach per Putty zu verbinden und ein CTRL+C mit der Tastatur an das Board zu senden. Danach lässt sich die Datei mit Thonny umbenennen.
Inbetriebnahme des Zero 2
Auch die Pin Leiste des Zero muss zuerst angelötet werden. Hier sind es 40 Lötpunkte, die eng bei einander stehen. Da braucht man eine ruhige Hand und eine Lupe. Zu guter Letzt war ich zufrieden und habe ihn in sein Gehäuse gebaut.
Die Headless Installation des Zero 2 ging recht schnell. Zuerst mit Etcher oder Rasberry Pi Imager eine geeignete Raspberry Pi Distribution auswählen und SD Karte schreiben. Danach in der Bootpartition die Datei ssh erstellen und die Datei wpa_supplicant.conf.
Letztere muss folgenden Inhalt enthalten:
country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="NETWORK-NAME"
psk="NETWORK-PASSWORD"
}
Nach dem Start des Raspberry Zero, war er in wenigen Sekunden im Netz sichtbar. Sogar die VNC Oberfläche reagierte recht zügig bei der Bedienung.
Ein kleines Miniprojekt
nachdem alles zusammen gebaut und von den Entwicklungsumgebungen erreichbar war, habe ich ein kleines Hallo-Welt Projekt umgesetzt.
PICO:
import machine
uart = machine.UART(0, 115200)
uart.write("Hallo vom PICO")
ZERO 2:
import serial
from time import sleep
ser = serial.Serial ("/dev/ttyS0", 115200) #Open port with baud rate
while True:
received_data = ser.read() #read serial port
sleep(0.03)
data_left = ser.inWaiting() #check for remaining byte
received_data += ser.read(data_left)
print (received_data) #print received data
ser.write(received_data) #transmit data serially
UART muss hierzu vorher auf dem Raspberry Zero mit sudo raspi-config aktiviert werden.
Die Pin Belegung / Verbindung ist wie folgt:
- Pi PIN 6 to Pico Pin 3 (Ground)
- Pi PIN 8 (GPIO 14) to Pico Pin 1 (GPIO 0) (TX -> RX)
- Pi PIN 10 (GPIO 15) to Pico Pin 2 (GPIO 1) (RX <- TX)
So sieht das Ganze dann aus:
Die Idee ist: den Raspberry Pico die Sensor Werte der Distanzmessungen (nach vorne und nach hinten) an den Hauptrechner über die UART Schnittstelle senden zu lassen.