Raspberry Pi Pico: TOP 10 Tipps und Tricks für CircuitPython

Wenn Du bereits mit CircuitPython arbeitest oder noch nicht weist, ob sich das lohnt, dann hole Dir hier ein paar Tipps und Tricks, mit denen das Programmieren mit CircuitPython bequemer, leichter und effizienter wird.

  1. Warum CircuitPython?
  2. CircuitPython ist Python
  3. CircuitPython-Bibliotheken
  4. Treiber für externe Geräte
  5. Umgebungsvariablen
  6. CircuitPython gibt es in unterschiedlichen Sprachversionen
  7. Systematisch in CircuitPython einarbeiten
  8. CircuitPython-Forum von Adafruit
  9. Neue Versionen im Auge behalten
  10. Noch mehr Tipps und Tricks

1. Warum CircuitPython?

Es gibt drei gute Gründe, warum Du CircuitPython nutzen solltest, anstatt MicroPython.

  1. Wenn Du bereits festgestellt hast, dass manches von Dir gewünschte mit MicroPython nicht oder nur sehr umständlich geht, dann solltest Du eine Blick auf CircuitPython werfen. CircuitPython kann bspw. MP3-Dateien direkt abspielen, es gibt einen umfassenden USB-Support und für viele Sensoren, Displays und Module gibt es Treiber und Bibliotheken.
  2. Es ist möglich, direkt auf den Flash-Speicher des Mikrocontroller-Boards zuzugreifen. Es wird standardmäßig als Laufwerk ins Betriebssystemeingebunden.
  3. CircuitPython ist ein Fork (Abspaltung) von MicroPython. Neue Versionen von MicroPython fließen regelmäßig in CircuitPython mit ein.

2. CircuitPython ist Python

Vieles was mit Python funktioniert, das funktioniert auch mit CircuitPython. Grundlegende Python- und MicroPython-Kommandos sind auch in CircuitPython drin. Wenn Du also keine Lösung für CircuitPython findest, versuche es doch mal mit Python oder MicroPython. Vielleicht ist was dabei, was auch mit CircuitPython funktioniert.

3. CircuitPython-Bibliotheken

Wenn Du öfter mit CircuitPython programmierst, dann wirst Du fast zwangsläufig externe Bibliotheken benötigen. Hierfür gibt es ein vollständiges Bundle zum Download, in dem alles wichtig enthalten ist. Du musst die Dateien und Verzeichnisse nur in das „lib“-Verzeichnis auf dem Mikrocontroller-Board kopieren. Aber nur die Bibliotheken die Du brauchst. Sonst ist der Speicher schnell voll.

4. Treiber für externe Geräte

Im Gegensatz zu MicroPython werden viele Geräte, Sensoren, Aktoren, Displays und Module mit einem Treiber aus der Bibliothek unterstützt. Teilweise werden da auch ganz spezielle Geräte unterstützt, die man mit MicroPython nicht zum Laufen bekommt.

5. Umgebungsvariablen

Seit CircuitPython Version 8.0.0 werden Umgebungsvariablen unterstützt. Umgebungsvariablen werden häufig verwendet, um "Geheimnisse" wie WLAN- Passwörter, API-Schlüssel oder personenbezogene Daten zu speichern. Dadurch werden diese Daten nicht sicher, aber getrennt vom eigentlichen Programmcode gespeichert.

Umgebungsvariablen werden in der Datei „settings.toml“ im Stammverzeichnis gespeichert. Auf die Werte kann man mit „os.getenv()“ zugreifen.

Beispiel: settings.toml
CIRCUITPY_WIFI_SSID="SSID"
CIRCUITPY_WIFI_PASSWORD="PASSWORT"
Beispiel: code.py
import os
WLAN_NAME = os.getenv('CIRCUITPY_WIFI_SSID')
WLAN_PW   = os.getenv('CIRCUITPY_WIFI_PASSWORD')

Der Vorteil davon ist, man kann die Datei „code.py“ bedenkenlos weitergeben, ohne vorher WLAN-Name und WLAN-Passwort aus dem Programmcode löschen zu müssen.

6. CircuitPython gibt es in unterschiedlichen Sprachversionen

CircuitPython gibt es in unterschiedlichen Sprachversionen. Also neben Englisch existiert auch Deutsch und viele weitere Sprachen. Doch was ist dabei der Unterschied? Es geht in der Regel um die Rückmeldungen im Fehlerfall auf der Konsole. Wählt man die deutsche Sprachversion, dann sind Fehlermeldung und Beschreibung in deutscher Sprache. Wählt man Englisch, dann sind die Texte in Englisch und vermutlich unverständlicher. Im ersten Moment würde

man vermutlich die Muttersprache wählen. Also zum Beispiel Deutsch. Das kann sinnvoll sein. Wenn man aber mit Fehlermeldungen im Internet nach Lösungen sucht, dann wird man mit Englisch vermutlich eher zum Ziel kommen, weil das häufiger benutzt wird. Das heißt, deutsche Fehlermeldungen sind unter Umständen verständlicher, aber in Englisch würde man eher Lösungen per Internet-Suche finden.

7. Systematisch in CircuitPython einarbeiten

Grundsätzlich kann man sich den Lösungen und Möglichkeiten von CircuitPython bedarfsweise nähern. Wie man was in CircuitPython umsetzen muss, lernt man immer dann, wenn man was bestimmtes braucht. Das hat dann was von Versuch und Irrtum.

Wenn jemand das nicht ausreicht und sich lieber systematisch einarbeiten will, für den gibt es eine einfache Lösung. Adafruit, das Unternehmen hinter CircuitPython, hat hierfür so etwas wie einen Kurs, durch den man sich durchklicken kann.

Es lohnt sich auch dann reinzuschauen, wenn man sich nicht systematisch einarbeiten will. Es reicht aus, sich einen Überblick zu verschaffen, um später ganz gezielt die gesuchte Lösung herauszupicken.

8. CircuitPython-Forum von Adafruit

Adafruit betreibt ein Forum für CircuitPython-Nutzer. Wenn man mal nicht weiter weiß, kann man hier eine Frage stellen oder das Problem schildern. Umgekehrt kann man vielleicht jemand anderen bei seinem Problem helfen.

9. Neue Versionen im Auge behalten

Da CircuitPython aktiv weiterentwickelt wird, ist es empfehlenswert, auf das Erscheinen neuer Versionen zu achten. Neue Versionen können zusätzliche Funktionen und Verbesserungen mitbringen, auf die man schon längst gewartet hat.

Natürlich muss man nicht jedes neue Release herunterladen. Es ist allerdings interessant zu wissen, ob es neue Funktionen gibt, mit denen neue und spannende Dinge realisiert werden können.

10. Noch mehr Tipps und Tricks

Wenn Dir das nicht reicht, dann gibt es hier noch mehr Tipps und Tricks für das Programmieren mit CircuitPython.

11. Noch mehr

Was, das reicht Dir immer noch nicht? Na dann viel Spaß beim Stöbern in folgender CircuitPython-Linkliste.

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Hardware-nahes Programmieren mit dem Raspberry Pi Pico und MicroPython

Elektronik-Set Pico Edition

Das Elektronik-Set Pico Edition ist ein Bauteile-Sortiment mit Anleitung zum Experimentieren und Programmieren mit MicroPython.

  • LED: Einschalten, ausschalten, blinken und Helligkeit steuern
  • Taster: Entprellen und Zustände anzeigen
  • LED mit Taster einschalten und ausschalten
  • Ampel- und Lauflicht-Steuerung
  • Elektronischer Würfel
  • Eigene Steuerungen programmieren

Elektronik-Set jetzt bestellen Online-Workshop buchen

Online-Workshop: Programmieren mit dem Raspberry Pi Pico

Programmieren mit dem Raspberry Pi Pico

Gemeinsam mit anderen und unter Anleitung experimentieren? Wir bieten unterschiedliche Online-Workshops zum Raspberry Pi Pico und MicroPython an. Einführung in die Programmierung, Sensoren programmieren und kalibrieren, sowie Internet of Things und Smart Home über WLAN und MQTT.

Online-Workshop buchen

Besuchen Sie unser fast monatlich stattfindendes Online-Meeting PicoTalk und lernen Sie uns kennen. Die Teilnahme ist kostenfrei.

Termine und Newsletter-Anmeldung

 

Elektronik-Sets für das Hardware-nahe Programmieren