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:
- Vorbereiten der microSD-Karte
- Installation von Visual Studio Code
- 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.
Warum diese hellgraue Schrift auf Euren Seiten. Denkt doch mal an
die Älteren und diejenigen mit Sehschwäche.
Hallo Herr Ostendorf,
vielen Dank für Ihren Kommentar. Sie haben völlig recht. Wir überarbeiten gerade unsere Website und die Schriftfarbe (besserer Kontrast), ist damit ein wichtiger Punkt.
Wir prüfen gerade, ob wir diese Änderungen übernehmen können, schon bevor die neue Seite online geht.
Viele Grüße
Fabian Deitelhoff
Installation von Visual Studio Code
Wo ist VS auf deutsch zu installieren? wird erwähnt aber aber nicht wo.
Hallo,
vielen Dank für den Kommentar und den Hinweis.
Die Animationen zur Installation der Erweiterungen fehlten tatsächlich. Die habe ich gerade ergänzt. Wenn noch Fragen offen sein sollten, helfen wir gerne weiter.
Viele Grüße
Fabian
Sehr geehrter Herr Deitelhoff,
wirklich tolle Artikel zu LEGO® Mindstorms® EV3 (LMS & LME),
MicroPython sowie zur digitalen Bildung.
Hier jedoch eine kleine Anmerkung zu diesem Artikel, bezüglich
dem Open Source Software (OSS) Editor „MS VS Code“ (MIT-Lizenz):
Meines Erachtens ist es besser, im schulischen Einsatz den ange-
passten Community-Editor „VS Codium“ ( so-
wie ) anstelle des
Editors „MS VS Code“ von Microsoft zu verwenden. Die Alternative
„VS Codium“ wird ebenfalls unter der Open Source MIT-Lizenz als
Fork von „MS VS Code“ veröffentlicht. Jedoch wurden im Quellcode
und den erzeugten Installern (User-Installer & System-Installer)
die Microsoft Telemetrie-Abfragen zum Nutzerverhalten vollständig
entfernt, sodaß Microsoft das Editor-Nutzungsverhalten nicht mehr
gegen den Willen der Nutzer auswerten kann. Der sonstige Quellcode
und Funktionsumpfang ist jedoch vollkommen identisch. Auch die Ak-
tualisierung des „VS Codium“ Editors erfolgt weitgehend zeitgleich
zu den Microsoft Releases.
Da die Menschen Online schon viel zu viel von sich preisgeben,
sollte man die zusätzlichen Telemetrie-Abfragen durch Microsoft
sowie weiteren Firmen unbedigt vermeiden.
Denken Sie bitte einmal darüber nach und ergänzen oder ändern Sie
ggf. alle Artikel, in welchen der Editor „MS VS Code“ benannt ist.
Ihre Screenshots könnten meines Erachtens gleich bleiben, da sich
nur die Editor-Benennung im Fenster-Kopf sowie im Begrüßengsbild-
schim ändert. Übrigens: Der Editor „VS Codium“ startet im Normal-
fall sofort mit deutschsprachiger GUI, was die Installation eines
zusätzlichen Language Packs für die deutsche Sprache überflüssig
macht (Extension: German Language Pack for Visual Studio Code).
Weitere „VS Codium“ Extensions ohne Telemetrie-Abfragen finden
Sie unter:
–
– .
Ergänzende Informationen über Open Source Extensions (OSS)
und die „Eclipse Foundation“ finden Sie unter:
– .
Hinweis: Alle offiziellen Erweiterungen des Microsoft „Visual
Studio Marketplace“ für „Microsoft Visual Studio Code“
funktionieren natürlich ebenfalls weiterhin.
– .
Ich hoffe, die Information wird für Sie nützlich sein. Geben Sie
die Information ggf. auch an Ihre Mitstreiter und Gleichgesinnte
weiter.
Mit freundlichen Grüßen