Der Raspberry Pico und speziell die W Variante mit WLAN ist ein echt cooles und extrem günstiges Teil. Aber es läuft doch alles etwas anders als bei einem normalen Raspberry. Da liegt daran, dass es kein vollwertiger Linux Rechner ist sondern ein Microkontroller. Das war für mich auch alles neu – da ich nicht aus dem Elektronikbereich komme wo man mehr Berührungspunkte damit hat. Man kann damit viel tolle Sachen machen kann, für die es gar keinen großen Bruder braucht.
Ich gehe im Artikel von einem Windowsrechner und MicroPython-Nutzung aus. Übrigens steht auch viel hier bei Pimoroni und bei Raspberry.com . Ich fange daher nicht bei 0 an sondern nenne die Fallstricke.
Bevor ich was mache brauche ich:
So dann aber nicht einfach anschließen 😂. Den kleinen BOOTSEL-Knopf gedrückt halten vorm Anschluss am PC. Dann erscheint im Windows-Explorer ein neues Laufwerk. Hier zieht man dann die uf2-Datei (Firmware) drauf und wartet kurz. Dann verschwindet das Laufwerk – die Firmware ist damit installiert und man kann nicht mehr wie auf ein Laufwerk zugreifen. Aber wie bekommt man nun die Dateien drauf? Hier kommt Thonny ins Spiel.
Nun öffnet man Thonny und richtet es ein. Dazu muss ganz unten rechts klein Raspberry Pico stehen. Wenn nicht das dort auswählen.
In Thonny hat man nun links einen geteilten Explorer: Oben der eigene PC und unten der Pico. Man sollte immer so vorgehen:
So nun läuft alles schön, aber in den meisten Fällen will man ja den Code ohne Computer laufen lassen – nur auf dem Pico – sonst kann ich es ja gleich am PC machen. Wie geht jetzt das eigentlich? Hier kommt die main.py ins Spiel.
Wenn auf dem Pico im Root eine Datei main.py liegt, wird diese automatisch ausgeführt, wenn der Pico am Strom hängt. Und meistens läuft hier dann eine Endlosschleife im Code um etwas dauerhaft auszuführen. Damit kommen wir aber auch zum Problem: Wenn ich nämlich nun was an der main.py ändern will und ich den Pico am PC wieder anschließe, wird natürlich der Code in der main.py ausgeführt und ich komme nicht mehr über Thonny ran.
Nun ist man versucht wieder BOOTSEL zu drücken, die Firmware neu aufzuspielen und die Dateien wieder neu hochzuladen – aber wenn ich das mache sehe ich die alten Dateien und die main.py nach dem Installieren der Firmware in Thonny immer noch oder es geht wieder nicht 🤨 . Was ist da los? Die Dateien werden in einem anderen Speicher abgelegt als die Firmware und bleiben nach der Neuinstallation der Firmware erhalten. Au 🤦♂️ weia. Nun gibt es eine spezielle Nuke-Firmware (s.o.) die alles platt macht. Die bekommt man über BOOTSEL drücken und rüberziehen installiert. Dann Abstecken und wieder mit BOOTSEL drücken anschließen und dann die gewünschte Firmeware drauf. Nun kann man auch wieder die Dateien über Thonny hochladen. Deswegen ist es wichtig die Dateien immer lokal auf dem PC zu haben.
Das ist aber echt behämmert 🔨 wenn man das immer so machen muss bei einer Änderung, oder? Das kann man mit einem vorgeschaltetem main.py und einem Button lösen.
Wenn man irgendeinen Button am Pico angeschlossen hat, kann der helfen. Wenn man ihn gedrückt hält beim Anschließen am PC, soll die Haupt-Schleife nicht laufen. Man kann die main.py umbenennen in z.B. main_program.py und in der main.py dann schreiben:
from machine import Pin
import time
# Button X is PIN 14
button = Pin(14, Pin.IN, Pin.PULL_UP)
def run_normal_mode():
print('Normal')
import main_program.py
pass
def run_config_mode():
print('Config Mode to prevent loop')
pass
if button.value() == 0: # Knopf wird gedrückt (angenommen, dass Drücken 0 zurückgibt)
run_config_mode()
else:
run_normal_mode()
Das Beispiel hier ist für Pico Display Pack 2.0 und dort kann man über die Schematic ablesen, dass der Knopf X mit PIN 14 verbunden ist. Bei anderen Lösungen können Buttons wo anders dran hängen.
Nun kann ich das Teil am PC super wieder anschließen, wenn ich X gedrückt halte.
Als erster einen Kommentar schreiben.
Schreibe einen Kommentar