Im ersten Artikel zu MicroPython haben wir beschrieben, was sich hinter diesem Namen verbirgt, was die Plattform ausmacht und was sie für die Zukunft der LEGO®-Robotik-Sets bedeuten könnte. In diesem und im nächsten Artikel geben wir euch eine erste Einführung in MicroPython. Weitere Praktika werden folgen.
Zuerst schauen wir uns an, was installiert werden muss, um MicroPython nutzen zu können. Dafür haben wir eine Installationsanleitung zusammengestellt, der ihr folgen könnt.

Installation der Komponenten

Bis ihr mit Python Programme für MicroPython auf dem LEGO® Mindstorms® EV3 erstellen könnt, müssen einige Komponenten installiert werden. Erfreulicherweise ist das recht einfach. Die Installation der Komponenten für c4ev3 fanden wir im Vergleich dazu umfangreicher. Im Grunde müsst ihr drei Schritte erledigen, um MicroPython nutzen zu können:

  1. Vorbereiten der microSD-Karte
  2. Installation von Visual Studio Code
  3. Installation von MicroPython

Beim ersten Schritt kann es sein, dass ihr ein kleines Tool (Etcher, siehe weiter unten) installieren müsst, um die microSD-Karte vorzubereiten. Wenn ihr so ein Tool schon habt, entfällt der zusätzliche Schritt natürlich.

1. Vorbereiten der microSD-Karte

Die microSD-Karte ist wichtig, da sie ein angepasstes Betriebssystem für den LEGO® Mindstorms® EV3 enthält. LeJOS (Programmiersprache Java) und MonoBrick (Programmiersprache C#) machen das ebenso und bringen ihre eigenen Anpassungen auf diese Weise in das Betriebssystem ein. In diesem Fall ist eine der Anpassungen die Integration von MicroPython als Laufzeitumgebung für eure Python-Programme. Sobald ihr die microSD-Karte erstellt habt, kann der LEGO® Mindstorms® EV3 davon booten (also starten) und die MicroPython-Umgebung ist direkt einsatzbereit. Der geringe zusätzliche Aufwand lohnt sich also, da der Rest anschließend deutlich einfacher wird.

LEGO® Education gibt einige Anforderungen bzw. Tipps für die microSD-Karte. Die minimale Kapazität, also Größe, liegt bei 4 GB, die maximale bei 32 GB. Diese Art von microSD-Karten sind auch als microSDHC-Karten bekannt. Das sind heutzutage durchaus Standardkarten, die nicht mehr teuer sind.

Etwas entscheidender ist die Angabe von LEGO®, dass die Application Performance der Karte A1 betragen sollte. Das bedeutet, dass die Geschwindigkeit für Anwendungen (Applications, Apps) eine Mindest-schreibgeschwindigkeit von 10 Mbyte/s garantiert. Insbesondere gibt es dabei Untergrenzen für den zufälligen Zugriff auf Speicherbereiche einer microSD-Karte, wie sie bei der Nutzung mit Anwendungen häufig auftreten. Der zufällige Zugriff auf einen Speicherbereich ist bei Speicherkarten wichtig, auf denen Anwendungen laufen oder die Anwendungen als Datenspeichern nutzen. Zufällig bedeutet hier, dass ein Speicherbereich gelesen wird, zum Beispiel um eine Datei zu öffnen oder zu lesen. Anschließend muss etwas in eine andere Datei abgespeichert werden, die sich in einem anderen Speicherbereich befindet. Bei Videos ist das zum Beispiel nicht so extrem, denn eine Videodatei befindet sich immer auf einem zusammenhängenden Stück Speicherbereich. Zudem wird ein Video in der Regel sequentiell abgespielt. Der Speicherbereich kann als Stück für Stück von vorne nach hinten gelesen werden. Sprünge sind nicht so oft vorhanden, wie das bei Anwendungen der Fall ist.

Mit der Application Performance ist also nicht die Geschwindigkeitsklasse (Speed Class) 2, 4, 6 oder 10, die etwas veraltet ist, aber immer noch von vielen Herstellern benutzt wird, gemeint. Ebenso wenig bezieht sich die Angabe auf die Video-Geschwindigkeitsklasse (Video Speed Class) V6, V10, V30 oder V90.

Wenn ihr kein Risiko eingehen wollt, empfehlen wir euch eine microSD-Karte mit der Einstufung A1. Für einen ersten Test reicht aber sicherlich auch eine etwas ältere Karte, die vielleicht noch in der Schublade auf ihren Einsatz wartet.

Etcher zum Erstellen der microSD-Karte

Wir nutzen zum Erstellen von microSD-Karten das Programm Etcher (balenaEtcher). Das Tool hat eine sehr einfache Oberfläche und ist dadurch leicht zu bedienen. Die Schritte zum Aufspielen (flashen) des Images mit MicroPython sind schnell erklärt. Zuerst wählt ihr über die Schaltfläche „Select image“ die Datei aus, die auf die microSD-Karte aufgespielt werden soll. Das ist die Datei, die ihr von LEGO® Education herunterladen könnt. Die zip-Datei muss dafür nicht entpackt werden, das macht Etcher automatisch. Anschließend müsst ihr das Laufwerk mit eurer microSD-Karte auswählen.
Wenn ihr die Karte vor dem Start von Etcher in den Kartenleser eingelegt habt und nur eine microSD-Karte eingelegt ist, kann es sein, dass Etcher das richtige Laufwerk automatisch ausgewählt hat. Kontrolliert das aber zur Sicherheit trotzdem noch einmal, da der Inhalt der ausgewählten Karte überschrieben wird. Über die Schaltfläche „Select drive“ könnt ihr das Laufwerk auswählen. Im letzten Schritt klickt ihr die Schaltfläche „Flash!“ an. Dann beginnt Etcher damit, das Image auf die microSD-Karte aufzuspielen. Je nachdem wie schnell die microSD-Karte und der Kartenleser sind, kann der ganze Vorgang kann einige Zeit in Anspruch nehmen. Nach dem Aufspielen des Images führt Etcher eine Verifikation durch. Dabei wird überprüft, ob alle Daten korrekt auf die microSD-Karte geschrieben wurden. Wenn die Meldung erscheint, dass der Vorgang abgeschlossen wurde, könnte ihr die microSD-Karte entfernen.

2. Installation von Visual Studio Code

Und was ist Visual Studio Code schon wieder? Gute Frage, die wir euch gleich beantworten möchten. Visual Studio Code, gerne als VS Code abgekürzt, ist eine professionelle Entwicklungsumgebung (englisch: Integrated Development Environment, IDE), die von vielen Softwareentwickler*innen genutzt wird. Damit steht euch eine vielfach genutzte und in der Community gelobte Anwendung zur Verfügung, um eure Python-Programme für MicroPython zu entwickeln.

Die Anwendung könnt ihr ganz einfach von dieser Website herunterladen. Ein weiterer großer Vorteil von VS Code ist, dass die Anwendung für Windows, macOS und Linux zur Verfügung steht. Auf der verlinkten Website könnt ihr euer Betriebssystem auswählen, auf Download klicken und müsst dann einen Moment warten. Das Paket ist circa 50 MB groß. Startet die Installation und wählt die Standardeinstellungen, die euch vorgeschlagen werden. Diese sind für den aktuellen Zweck gut vorbelegt und müssen nicht zwingend geändert werden.

Ist die Installation abgeschlossen, könnt ihr VS Code starten. Euch sollte ein Startbildschirm wie in der Abbildung unten begrüßen. Falls die Anwendung auf Englisch ist, könnt ihr sie recht einfach über eine sogenannte Erweiterung (Extension) auf Deutsch umstellen. Das zeigen wir in der kurzen Animation.

Die Installation der Entwicklungsumgebung ist damit abgeschlossen. Ein Programm erstellen könnt ihr, sobald MicroPython innerhalb von VS Code installiert ist. Da die Umgebung aber nicht standardmäßig bei der Installation von VS Code mit installiert wird, ist das der nächste Schritt.

3. Installation von MicroPython

MicroPython ist eine sogenannte Erweiterung für Visual Studio Code. Mit einer Erweiterung kann, wir der Name vermuten lässt, eine Funktion zu VS Code hinzugefügt werden. Auf diese Weise hat die Community, die VS Code nutzt, die Möglichkeit, den Funktionsumfang zu erweitern, ohne eine komplett neue Entwicklungsumgebung erstellen zu müssen. Das ist sehr praktisch und wird für viele Zwecke ausgiebig genutzt.

Zur Installation von Erweiterungen müsst ihr zuerst auf die Schaltfläche „Erweiterungen“ in VS Code klicken. Wir haben das in der Abbildung markiert. Danach könnt ihr im Eingabefeld oben „EV3 MicroPython“ eingeben. Es stehen dann einige Erweiterungen zur Auswahl. Wie ihr vielleicht schon vermutet habt, wählt ihr diejenige aus, die LEGO® Mindstorms® EV3 im Namen trägt. Über die kleine grüne Schaltfläche „Installieren“ könnt ihr die Erweiterung dann zu VS Code hinzufügen.
Wenn VS Code dabei bemerkt, dass zum Ausführen noch weitere Erweiterungen benötigt werden, dann werden diese Abhängigkeiten (Dependencies) automatisch mit installiert. Die Erweiterung „ev3dev-browser“ ist so ein Kandidat. Sehr wahrscheinlich wird diese Erweiterung ebenfalls installiert. Trotzdem sollte der Vorgang nicht viel Zeit in Anspruch nehmen. Anschließend müsst ihr zwingend VS Code neu starten, das Programm also einfach schließen und noch einmal öffnen. Dann ist VS Code inklusive der MicroPython-Erweiterung bereit.

Ein erster Testlauf

Damit ihr sichergehen könnt, dass alles korrekt funktioniert, solltet ihr einen kleinen Test durchführen. Zunächst legt ihr dafür die vorbereitete microSD-Karte in den LEGO® Mindstorms® EV3 ein und startet den EV3-Brick. Falls ihr das schon in einem der vorherigen Schritte gemacht habt, ist das auch in Ordnung. Hauptsache ihr testet, ob mit der Karte alles in Ordnung ist. Wenn der EV3 startet, wird von der microSD-Karte gebootet. Dieser Vorgang kann eine Weile dauern. Habt einfach Geduld. Beim Starten blinken die LEDs bei den Tasten des EV3-Bricks orange. Ist der Startprozess komplett abgeschlossen, leuchten die Tasten dauerhaft grün.

Wenn der EV3-Brick erfolgreich gestartet ist, könnt ihr testen, ob in VS Code alles so funktioniert, dass Python-Programme erstellt und auf den EV3-Brick übertragen werden können. Das machen wir im nächsten Artikel.