Der Raspberry Pi Pico hat sich in der Welt der Mikrocontroller schnell etabliert – nicht zuletzt wegen seiner Leistungsfähigkeit, Vielseitigkeit und der einfachen Programmierung mit MicroPython. Doch was tun, wenn Sie ein Projekt realisieren möchten, das nicht ständig an Ihren Computer angeschlossen sein soll? Die Lösung liegt in der dauerhaften Speicherung Ihrer MicroPython-Dateien im Flash-Speicher des Pi Pico. Dieser Artikel zeigt Ihnen detailliert, wie Sie Ihre Programme und Module fest auf dem Gerät ablegen, damit sie bei jedem Start automatisch ausgeführt werden.
Warum dauerhafte Speicherung so wichtig ist
Stellen Sie sich vor, Sie haben ein beeindruckendes Smart-Home-Projekt oder einen autonomen Roboter mit Ihrem Pi Pico und MicroPython entwickelt. Jedes Mal, wenn Sie den Pico einschalten, müssten Sie das Programm von Ihrem Computer hochladen? Das wäre umständlich und schränkt die Autonomie Ihres Projekts massiv ein. Hier kommt die dauerhafte Speicherung ins Spiel:
- Autonome Projekte: Ihr Pi Pico wird unabhängig vom Computer und kann sofort nach dem Einschalten seine Aufgaben erfüllen.
- Zuverlässigkeit: Keine Notwendigkeit für eine erneute Übertragung nach einem Stromausfall oder Neustart.
- Einfache Bereitstellung: Einmal gespeichert, kann der Pico einfach an den Einsatzort gebracht und dort betrieben werden.
- Lernkurve: Es ist ein grundlegender Schritt, um den Pi Pico als eigenständigen Embedded-Computer zu verstehen und zu nutzen.
Kurz gesagt: Wenn Sie möchten, dass Ihr Pi Pico mehr ist als nur ein Entwicklungsboard, müssen Sie lernen, wie Sie Dateien permanent speichern.
Der Flash-Speicher des Pi Pico: Ein kurzer Überblick
Der Raspberry Pi Pico verfügt über einen integrierten Flash-Speicher von 2 MB (bei einigen Modellen wie dem Pico W sogar erweiterbar). Dieser Speicher ist nicht-flüchtig, was bedeutet, dass die Daten auch ohne Stromversorgung erhalten bleiben. Sobald Sie die MicroPython-Firmware auf den Pico geflasht haben, wird dieser Speicher als eine Art Dateisystem, ähnlich einer kleinen Festplatte, verwaltet. Sie können darauf Python-Skripte, Bibliotheken, Konfigurationsdateien oder sogar kleine Datensätze ablegen.
Zwei spezielle Dateinamen sind dabei von besonderer Bedeutung:
boot.py
: Dieses Skript wird als erstes ausgeführt, sobald der Pi Pico mit MicroPython startet. Es ist ideal für Initialisierungen, Netzwerkkonfigurationen oder das Setzen von Pin-Zuständen, die vor dem Hauptprogramm aktiv sein sollen.main.py
: Wennboot.py
seine Arbeit getan hat, sucht der MicroPython-Interpreter nach einer Datei namensmain.py
und führt diese aus. Dies ist in der Regel Ihr Hauptprogramm.
Jede andere Python-Datei (z.B. my_module.py
) können Sie ebenfalls speichern und dann aus boot.py
oder main.py
mit import my_module
aufrufen.
Vorbereitungen: Was Sie benötigen
Bevor wir loslegen, stellen Sie sicher, dass Sie die folgenden Dinge bereit haben:
- Einen Raspberry Pi Pico (oder Pico W/H).
- Ein USB-Kabel (Datenkabel, kein reines Ladekabel!).
- Die neueste MicroPython-Firmware ist auf Ihrem Pi Pico installiert. Falls nicht, laden Sie die `.uf2`-Datei von der offiziellen MicroPython-Website herunter und flashen Sie sie, indem Sie den BOOTSEL-Knopf gedrückt halten, während Sie den Pico mit dem PC verbinden. Er erscheint dann als Massenspeicher, auf den Sie die `.uf2`-Datei ziehen.
- Eine geeignete Entwicklungsumgebung. Wir empfehlen die Thonny IDE, da sie benutzerfreundlich ist und hervorragende Unterstützung für MicroPython-Geräte bietet. Alternativ können auch Kommandozeilen-Tools verwendet werden.
Methode 1: Der einfachste Weg – Thonny IDE
Die Thonny IDE ist die unangefochtene Nummer eins für Einsteiger und eine beliebte Wahl für erfahrene Benutzer, wenn es um die Arbeit mit MicroPython auf dem Pi Pico geht. Sie bietet eine integrierte Entwicklungsumgebung, einen seriellen Monitor (REPL) und vor allem einen einfachen Dateimanager für das Gerät.
Schritt 1: Verbindung herstellen
- Öffnen Sie Thonny IDE.
- Verbinden Sie Ihren Pi Pico über das USB-Kabel mit Ihrem Computer.
- In Thonny gehen Sie zu
Werkzeuge > Optionen > Interpreter
. Wählen Sie als InterpreterMicroPython (Raspberry Pi Pico)
und den korrekten Port (z.B./dev/ttyACM0
unter Linux/macOS oderCOMx
unter Windows). Klicken Sie auf OK. - Die Shell im unteren Bereich von Thonny sollte nun eine Verbindung zum Pi Pico herstellen und die MicroPython-Versionsinformationen anzeigen.
Schritt 2: Dateien auf dem Flash-Speicher speichern
Sobald die Verbindung hergestellt ist, sehen Sie im Thonny-Fenster (normalerweise links oder rechts) den „Dateien”-Browser. Dieser zeigt Ihnen sowohl die Dateien auf Ihrem Computer als auch die Dateien auf dem „MicroPython-Gerät” (Ihrem Pi Pico).
- Erstellen oder Öffnen einer Python-Datei: Schreiben Sie Ihren MicroPython-Code in einen neuen Editor-Tab in Thonny oder öffnen Sie eine vorhandene `.py`-Datei von Ihrem Computer.
- Speichern auf dem Gerät: Gehen Sie zu
Datei > Speichern unter...
. - Thonny fragt Sie, ob Sie die Datei
Auf diesem Computer
oderAuf dem MicroPython-Gerät
speichern möchten. Wählen SieAuf dem MicroPython-Gerät
. - Geben Sie im folgenden Dialog den gewünschten Dateinamen ein, z.B.
main.py
oderboot.py
, und klicken Sie auf OK. - Die Datei wird nun vom Computer auf den Flash-Speicher des Pi Pico übertragen. Sie können dies im „Dateien”-Browser unter „MicroPython-Gerät” überprüfen.
Sie können diesen Vorgang für alle Ihre Module und Skripte wiederholen. Wenn Sie beispielsweise eine Datei namens config.py
haben, speichern Sie diese ebenfalls auf dem Gerät. Dann können Sie sie in main.py
mit import config
verwenden.
Vorteile von Thonny:
- Benutzerfreundlichkeit: Intuitive Oberfläche, ideal für Anfänger.
- Integrierter Dateimanager: Einfaches Hochladen, Herunterladen, Umbenennen und Löschen von Dateien auf dem Pico.
- Direkte REPL-Integration: Interaktion mit dem Pico-Interpreter in Echtzeit.
Nachteile von Thonny:
- Kann bei sehr vielen Dateien oder für automatisierte Deployment-Prozesse etwas langsam sein.
- Erfordert eine grafische Benutzeroberfläche.
Methode 2: Die Kommandozeile für Fortgeschrittene – `ampy` oder `rshell`
Für Entwickler, die lieber mit der Kommandozeile arbeiten, Skripte automatisieren möchten oder auf Systemen ohne grafische Oberfläche arbeiten, sind Tools wie ampy
(Adafruit MicroPython-Tool) oder rshell
hervorragende Alternativen. Sie bieten präzise Kontrolle über das Dateisystem des Pi Pico.
Installation der Tools:
Beide Tools können einfach über Python’s Paketmanager pip
installiert werden:
pip install adafruit-ampy
pip install rshell
Nutzung von `ampy`
ampy
ist ein schlankes Tool, das Befehle wie put
(hochladen), get
(herunterladen), ls
(auflisten) und rm
(löschen) bietet. Sie müssen den seriellen Port angeben, auf dem Ihr Pi Pico angeschlossen ist.
- Dateien hochladen (put):
ampy --port /dev/ttyACM0 put main.py
(Ersetzten Sie
/dev/ttyACM0
durch Ihren tatsächlichen Port, z.B.COM3
unter Windows.)ampy --port /dev/ttyACM0 put my_module.py /lib/my_module.py
(Hochladen in ein Unterverzeichnis, das ampy bei Bedarf erstellt.)
- Dateien auflisten (ls):
ampy --port /dev/ttyACM0 ls
ampy --port /dev/ttyACM0 ls /lib
- Dateien herunterladen (get):
ampy --port /dev/ttyACM0 get main.py downloaded_main.py
- Dateien löschen (rm):
ampy --port /dev/ttyACM0 rm old_file.py
Nutzung von `rshell`
rshell
bietet eine interaktivere Shell, die sich anfühlt wie eine Linux-Shell, aber auf das MicroPython-Gerät zugreift. Es ist besonders nützlich, wenn Sie viele Dateisystemoperationen durchführen möchten.
- Verbindung herstellen:
rshell -p /dev/ttyACM0
(Startet die rshell-Sitzung. Die Befehle werden dann innerhalb dieser Shell ausgeführt.)
- Dateien hochladen (cp):
cp main.py /pyboard/
(Kopiert
main.py
vom lokalen Rechner auf das Root-Verzeichnis des Picos (/pyboard
).) - Dateien auflisten (ls):
ls /pyboard/
ls /pyboard/lib
- Dateien löschen (rm):
rm /pyboard/old_file.py
- Verzeichnis erstellen (mkdir):
mkdir /pyboard/data
- Verbindung beenden:
exit
Vorteile von CLI-Tools:
- Automatisierung: Ideal für Skripting und CI/CD-Pipelines.
- Präzise Kontrolle: Direkter Zugriff auf Dateisystemoperationen.
- Ressourcenschonend: Keine grafische Oberfläche erforderlich, perfekt für Server oder Headless-Systeme.
Nachteile von CLI-Tools:
- Höhere Lernkurve für Anfänger.
- Fehlermeldungen können weniger intuitiv sein als in einer IDE.
Methode 3: Manuelles Firmware-Update und der Unterschied zum Dateisystemzugriff
Es ist wichtig, einen häufigen Irrtum aufzuklären: Das direkte Kopieren von .py
-Dateien auf den Pi Pico, während er als USB-Massenspeicher im BOOTSEL-Modus angezeigt wird, ist nicht der Weg, um MicroPython-Skripte dauerhaft zu speichern. Der BOOTSEL-Modus dient ausschließlich dem Flashen von Firmware-Dateien im .uf2-Format.
Wenn Sie Ihren Pi Pico mit gedrückter BOOTSEL-Taste an den Computer anschließen, erscheint er als Massenspeichergerät namens „RPI-RP2”. Auf dieses Laufwerk können Sie eine .uf2
-Firmware-Datei ziehen (z.B. die MicroPython-Firmware). Sobald die Firmware geflasht ist, startet der Pico neu und präsentiert sich als serielles Gerät. Der Zugriff auf das MicroPython-Dateisystem, um Ihre .py
-Skripte zu speichern, erfolgt dann *immer* über diese serielle Schnittstelle – wie in Methode 1 (Thonny) oder Methode 2 (ampy/rshell) beschrieben.
Zusammenfassend:
- BOOTSEL-Modus: Für das Flashen von
.uf2
-Firmware (z.B. MicroPython-Firmware) auf den Pico. - Normaler Modus: Nach dem Flashen der Firmware wird der Pico über USB als serieller Port angesprochen. Über diesen seriellen Port interagieren Tools wie Thonny, ampy oder rshell mit dem MicroPython-Dateisystem, um Ihre
.py
-Dateien zu speichern, zu löschen oder zu lesen.
Best Practices und Tipps
- Strukturierung des Codes: Halten Sie Ihre
main.py
so schlank wie möglich. Lagern Sie Funktionen und Klassen in separate Module aus (z.B.utils.py
,sensors.py
). Diese können dann einfach inmain.py
importiert werden. Dies verbessert die Lesbarkeit und Wartbarkeit Ihres Codes erheblich. - Fehlerbehebung bei Startproblemen: Wenn Ihr Pi Pico nach dem Speichern von
boot.py
odermain.py
nicht mehr startet oder ständig neu startet, könnte ein Fehler im Code vorliegen. Halten Sie während des Verbindungsaufbaus zum PC (oder beim Einschalten) die TasteSTRG+C
in der Thonny-Shell gedrückt, um den laufenden Code zu unterbrechen. Dies gibt Ihnen die Möglichkeit, die fehlerhaften Dateien zu löschen oder zu korrigieren. - Backups sind Gold wert: Speichern Sie immer eine lokale Kopie Ihrer Projekte auf Ihrem Computer. Der Flash-Speicher des Pi Pico ist begrenzt und Fehler können passieren.
- Speicherplatzmanagement: Der 2MB-Flash-Speicher ist ausreichend für viele Projekte, aber nicht unendlich. Achten Sie auf große Dateien (z.B. Bilder, umfangreiche Datenlog-Dateien). Das
uos
-Modul in MicroPython kann Ihnen helfen, den freien Speicherplatz zu überprüfen (import uos; uos.statvfs('/')
). - Sicherheitskopien vom Pico erstellen: Sie können mit Thonny,
ampy
oderrshell
auch Dateien vom Pi Pico auf Ihren Computer herunterladen, um eine Sicherungskopie des aktuellen Zustands zu erstellen.
Häufig gestellte Fragen (FAQs)
Was passiert, wenn ich den Pi Pico vom Strom trenne?
Ihre im Flash-Speicher gespeicherten MicroPython-Dateien bleiben erhalten. Beim nächsten Einschalten führt der Pico automatisch boot.py
und dann main.py
aus (sofern vorhanden).
Kann ich Ordner auf dem Flash-Speicher anlegen?
Ja, die meisten Tools wie Thonny, ampy
und rshell
unterstützen das Erstellen von Verzeichnissen. Es ist eine gute Praxis, Module in Unterordnern zu organisieren, z.B. /lib
.
Wie lösche ich eine Datei vom Flash-Speicher?
In Thonny können Sie im Dateibrowser mit Rechtsklick auf die Datei „Löschen” wählen. Mit ampy
nutzen Sie ampy --port /dev/ttyACM0 rm meine_datei.py
. Mit rshell
verwenden Sie rm /pyboard/meine_datei.py
.
Was ist der Unterschied zwischen boot.py
und main.py
?
boot.py
wird vor main.py
ausgeführt und ist für einmalige Initialisierungen wie Netzwerkeinstellungen oder Pin-Konfigurationen gedacht. main.py
ist das Hauptprogramm, das nach boot.py
läuft und die Kernlogik Ihres Projekts enthält.
Meine Datei wird gespeichert, aber nicht ausgeführt – warum?
Überprüfen Sie den Dateinamen: Ist es wirklich main.py
oder boot.py
? Stellen Sie sicher, dass keine Tippfehler vorhanden sind. Prüfen Sie auch die Konsole auf Fehlermeldungen, die beim Start des Skripts auftreten könnten.
Fazit
Die Fähigkeit, MicroPython-Dateien dauerhaft im Flash-Speicher des Raspberry Pi Pico zu speichern, ist ein fundamentaler Schritt, um Ihr Board von einem Entwicklungs-Tool zu einem eigenständigen, autonomen Gerät zu machen. Egal, ob Sie die benutzerfreundliche Thonny IDE bevorzugen oder die präzise Kontrolle von Kommandozeilen-Tools wie ampy
und rshell
nutzen – die Möglichkeiten sind vielfältig und anpassbar an Ihren Workflow.
Durch das Verstehen des internen Dateisystems, die Nutzung von boot.py
und main.py
und die Anwendung der hier vorgestellten Methoden können Sie Ihre Projekte zuverlässiger, unabhängiger und professioneller gestalten. Nehmen Sie sich die Zeit, diese Techniken zu beherrschen, und öffnen Sie die Tür zu einer Welt voller kreativer und funktionaler Embedded-Systeme mit dem Raspberry Pi Pico und MicroPython.