In diesem Beitrag möchte ich dir die gängigen Integrierten Entwicklungsumgebungen für MicroPython vorstellen.
Wenn du meinen Blog bereits verfolgst dann wirst du schon einige solcher IDEs gesehen haben. Hier möchte ich auf weitere noch nicht gezeigte Programme eingehen.
Mein Hauptaugenmerk beim Vergleich der Software liegt auf Handhabung, Kosten sowie Unterstützung bei der Programmierung unter dem Betriebssystem Microsoft Windows 10.
Was ist eine Integrierte Entwicklungsumgebung?
Zunächst klären wir einmal was eine Integrierte Entwicklungsumgebung eigentlich ist.
Im einfachsten Fall ist eine IDE (das ist die Abkürzung für Integrated Development Environment) ein Tool welches uns bei der Entwicklung von Programmen und Programmteilen unterstüzt. Dabei können Features wie Codevervollständigung, Hinweise beim Compilieren von Code sowie einem Debugger von Hilfe sein.
Da der MicroPython Code nicht compiliert sondern in der laufzeit interpretiert wird gibt es eine Fehlermeldung erst wenn dieser Code ausgeführt wird. In der Eclipse IDE gibt es spezielle Plugins welche im Code farblich hervorheben ob der Code ausgeführt wurde und somit kann man zbsp. toten / nicht genutzen Code im Programm finden.
upyCraft
Diese IDE habe ich bereits in einige Beiträge verwendet und auch gezeigt wie man einen Microcontroller mit ESP8266 Chip flashen kann.
Die Handhabung ist recht einfach und der Funktionsumfang ist für einen Programmierer auch recht übersichtlich.
Etwas nervig ist nur die Fehlermeldung das eine bestimmte Schriftart installiert werden möchte. Ab und zu wird auch der geflashte Microcontroller nicht korrekt erkannt und dann möchte die IDE diesen neu Flashen obwohl es nicht notwendig ist. (Hier hilft ein einfacher neustart über den Reset Taster am Microcontroller.)
Du kannst dir dieses Tool vom GitHub Repository von DFRobot kostenfrei herunterladen.
Thonny
Mit der IDE Thonny habe ich zbsp. den Raspberry PI Pico programmiert welcher recht neu auf dem Markt (seit ende Januar 2021) erhältlich ist. Der Funktionsumfang ist sehr stark eingeschränkt und einige Funktionen welche über die Oberfläche angeboten werden sind leider nicht für die Programmierung mit MicroPython erreichbar. Auch fehlt hier eine Codevervollständigung beim schreiben.
Ein wie ich finde kritischer Fehler ist wenn man einen Microcontroller anschließt welcher NICHT geflash ist dann stützt die Software ab bzw. reagiert nicht mehr. Hier könnte etwas nachgearbeitet werden.
Mu Editor “Code with Mu”
Der ebenfalls kostenfreie Mu Editor kannst du unter https://codewith.mu/ für Windows & Mac herunterladen. Das Tool kommt vorkonfiguriert für zbsp. CiruitPython welches eine Implementierung von MicroPython ist. Daher möchte ich dir dieses Tool einmal kurz vorstellen.
Den Mu Editor habe ich bereits im Beitrag Microcontroller SAMD21 (XIAO) von Seeedstudio zum programmieren des SAM21 verwendet und dir ein paar kleine Beispiele mit dieser gezeigt.
Leider ist auch bei diesem Tool nicht der volle Funktionsumfang nutzbar (zbsp. der serielle Plotter). Des Weiteren können keine *.py Dateien auf den Microcontroller geschrieben werden sondern man kopiert diese Dateien über den Windows Explorer auf den Microcontroller. D.h. wenn dein Microcontroller nicht korrekt geflasht wurde so dass, dieser als Laufwerk eingebunden wird kannst du zwar den Code erzeugen aber benötigst dann trotzdem noch ein Tool zum Upload des Codes auf den Microcontroller.
Visual Studio Code
Das recht mächtige Werkzeug “Visual Studio Code” wird von Microsoft vertrieben und du kannst dieses unter https://code.visualstudio.com/download für Windows, Mac und Linux herunterladen.
Zum Tool selber habe ich einen separaten Beitrag unter Visual Studio Code für MicroPython einrichten verfasst in welchem ich die ersten Schritte erläutert habe.
Das Tool ist durch die Möglichkeit Erweiterungen (Extensions) zu installieren sehr vielseitig. Jedoch muss Visual Studio Code konfiguriert werden denn per Default ist es nicht möglich in MicroPython für den ESPx zu programmieren.
Fazit & Ausblick
Es gibt einige Integrierte Entwicklungsumgebungen für Microcontroller mit ESP32 Chip auf dem Markt. Die meisten sind kostenfrei oder zumindest in einer abgespeckten Community Edition erhältlich.
Ich werde mal schauen welche IDEs in dieser Aufzählung fehlen und ggf. auch noch ergänzt werden können. Sollte also deine bevorzugte IDE zum Programmieren von Mikrocontroller mit MicroPython in diesem Beitrag fehlen, so schreibe mir doch eine E-Mail oder per Kontaktformular.
µPIDE ist eine sehr einfache IDE speziell für Micropython und eignet sich daher besonders für Anfänger: https://github.com/harbaum/upide