Ausprobiert: CircuitPython auf dem Raspberry Pi

Adafruits Einsteigersprache CircuitPython läuft jetzt auch auf dem Raspberry Pi. Wir haben es ausprobiert.

In Pocket speichern vorlesen Druckansicht 30 Kommentare lesen
Grafik von Adafruits Python und der Raspberry Pi Himbeere.

(Bild: Adafruit)

Lesezeit: 8 Min.
Von
  • Peter Eisner
Inhaltsverzeichnis

Seit einer Weile arbeitet Hardwarehersteller Adafruit daran, die hauseigene Programmiersprache CircuitPython auf dem Raspberry Pi und anderen Linux-Rechnern lauffähig zu machen. Auf den ersten Blick irritiert das, denn CircuitPython ist ein Fork von MicroPython, einer abgespeckten Version von Python, die speziell für Mikrocontroller entwickelt wird – während Python selbst bereits prima auf den leistungsstärkeren Einplatinenrechnern läuft.

Doch Adafruit verfolgt ein höheres Ziel: In CircuitPython geschriebene Programme sollen auf möglichst vielen Hardwareboards laufen, ohne viel Anpassungsaufwand. Besonders das Zusammenstöpseln und Ansprechen verschiedener Sensoren, Motoren oder Leuchtdioden, also das klassische Maker-Terrain, soll einfacher werden. Weder Python, noch MicroPython werden derzeit mit diesem Ziel weiterentwickelt.

In der Welt der Mikrocontroller besteht CircuitPython zum einen aus dem Interpreter, der als Firmware auf dem Controller Python-Skripte ausführt. Zum anderen gibt es gut 150 Module, die viele Funktionen bereit stellen. Die meisten davon sind Treiber für populäre Bastel-Hardware.

Auf dem Raspberry Pi funktioniert CircuitPython etwas anders. Da Python 3 auf der Plattform schon läuft, muss das Rad nicht neu erfunden werden. Allerdings funktionieren die vielen nützlichen Treiber-Module nicht ohne Weiteres. Damit sie ihren Dienst tun, muss ein Kompatibilitätslayer hinzugefügt werden. Dieser heißt wie das CircuitPython-Maskottchen "Blinka". Mit Blinka erhält man einen Raspberry Pi, der nach wie vor "normale" Python-Skripte versteht. Die CircuitPython-Module gibt es sozusagen als Bonus dazu. Es ist sogar möglich, beides in einem Skript zu vermischen, dabei kann es aber zu Konflikten mit anderen Modulen kommen und man verbaut sich den Weg zurück zu Mikrocontrollern.

Im Unterschied zu Mikrocontrollern hat der Raspberry Pi auch keine analogen Eingänge. Mit digitalen Ein- und Ausgängen sowie den Schnittstellen I2C und SPI kann aber ein großer Teil der üblichen Bastel-Hardware genutzt werden.

Aus dem Make-Testlabor

Die Make-Redaktion probiert viel mehr aus, als ins alle zwei Monate erscheinende Heft passt. Deshalb veröffentlichen wir auf unserer Webseite in loser Folge weitere Testberichte.

Adafruit selbst stellt auf Englisch eine detaillierte Installationsanleitung bereit. Ausgangsbasis ist ein frisch installiertes und aktualisiertes Raspbian. Für das Einspielen von Adafruits Blinka brauchen wir noch pip, eine Paketverwaltung für Python, die auf den Python-Package-Index (PyPI) zurückgreift. Dort findet man sämtliche Module für CircuitPython.

Um pip zu installieren führt man mit sudo, also als Administrator, die Befehle sudo apt install python3-pip und sudo pip3 install --upgrade setuptools aus. Damit hat man pip systemweit eingerichtet. Im Folgenden wird pip nur noch als normaler Benutzer ohne sudo ausgeführt. Alle so vorgenommenen Änderungen landen lokal im Home-Ordner des aktuellen Benutzers (standardmäßig "pi"). Mit pip wird erst eine Bibliothek zum Ansprechen der Pins pip3 install RPI.GPIO und schließlich Blinka installiert:

pip3 install adafruit-blinka

Damit ist die Installation fertig und wir können loslegen.