ESP mit MicroPython programmieren

Das was der Arduino vermissen lässt, bringen die ESP32 oder ESP8266 Module von Hause aus mit. Einen WLAN Controller. Einer dieser Module die einen ESP beinhalten ist der NodeMcu. Die Platine die mir vorliegt hat einen ESP8266 verbaut.

Grundsätzlich ist dieses Modul dafür ausgelegt, um mit der Arduino-IDE programmiert zu werden. In diesem Beitrag möchten wir Ihnen aber zeigen, wie der NodeMCU mit Python, im Konkreten, mit MicroPython programmiert werden kann. Es gibt einige Entwicklungsumgebungen (IDE) mit denen ein ESP in MicroPython programmiert werden kann. Wir halten Thonny für eine brauchbare IDE und werden Ihnen die Vorgehensweise deshalb mit Thonny erläutern. Der Vorteil von Thonny: Die IDE gibt es für Linux, Windows und Mac OS.

Installation von Thonny

Als erstes benötigen wir natürlich die Entwicklungsumgebung Thonny. In einigen Raspbian Betriebssystemen (Linux) ist Thonny gleich mit eingerichtet. Aber unter Windows muss Thonny installiert werden. Dazu laden Sie bitte das Installationsprogramm von der Seite https://thonny.org herunter und installieren Sie bitte anschließend diese IDE indem Sie die EXE-Datei ausführen. Wenn alles korrekt funktioniert hat, sollte Thonny installiert sein. Starten Sie die Entwicklungsumgebung indem Sie auf folgendes Icon klicken:

Die IDE öffnet sich und es zeigt sich folgendes Fenster:

Um zu testen ob die Installation erfolgreich war, einfach unterhalb des Reiters „Kommandozeile“ oder „Shell“ den Python Befehl help() eingeben. Es erscheint dann ein englischsprachiger kurzer Hilfetext.

MicroPython auf dem ESP installieren

Die ESP Module sind normalerweise so eingerichtet, dass sie mit der Arduino-IDE programmiert werden können. Dazu enthalten sie einen entsprechenden Boot-Loader. Um nun diese Boards mit MicroPython programmieren zu können, muss zunächst der MicroPython Interpreter auf dem ESP installiert (geflashed) werden.

Eine entsprechende Binärdatei findet man auf der Webpage micropython.org/downloadDort nach dem entsprechenden Board suchen, welches geflashed werden soll. Im hier beschriebenen Beispiel handelt es sich um einen NodeMcu auf dem  ein ESP8266 in der Ausprägung ESP-12E, der 4MB Flashspeicher besitzt, verbaut ist. Mit diesen Angaben wird man auf micropython.org fündig. Die entsprechende Datei (.bin) dann herunterladen.

Nun wird der ESP8266 mit dem Computer verbunden. Anschließend Thonny starten. Dort dann das Menü
Ausführen > Interpreter auswählen anklicken. Es erscheint nachfolgendes Fenster. Hier zunächst das gewünschte Board

und dann den Port, mit dem das Board an den Computer angeschlossen ist, auswählen. Wenn der Port nicht bekannt ist, den Portnamen über den Gerätemanager von Windows ermitteln.Danach in diesem Fenster auf den Button oder auf den Link „Installieren oder aktualisieren Sie die Firmware“ klicken. Es erscheint dann folgendes Fenster:

Hier dann noch einmal den Port auswählen, mit dem der ESP mit dem Computer verbunden ist, und dann die Datei auswählen welche auf den ESP geflashed werden soll. Nach klicken auf Installieren beginnt der Vorgang des Flashens. In der Kommandozeile von Thonny erscheinen nun einige kryptische Zeichen und die Version von MicroPythen wird ausgegeben. Wenn nun wieder der Befehl „help()“ eingeben wird, erscheint eine kurze Hilfe zu MicroPython das auf dem  Bord installiert wurde. Wenn dem so ist, hat die Installation erfolgreich funktioniert.

Nun ist es an der Zeit ein erstes MicroPython Programm auf dem ESP laufen zu lassen. Dazu das folgende kleine Programm in Thonny eingeben:

Nun dieses Programm auf dem ESP speichern mit Datei > Speichern unter > MicroPython device

In dem sich öffnenden Fenster wird nach dem Namen gefragt, unter welchem das Python Programm auf dem ESP gespeichert werden soll. Ein Programm Namens boot.py ist schon vorhanden. Dieses bitte so belassen und nicht überschreiben. Dieses Programm wird immer zuerst ausgeführt. Wir wählen als neuen Namen main.py. Programme mit diesem Namen werden immer als zweites ausgeführt.

Nun muss der ESP neu gestartet werden. Dies erfolgt indem der Reset-Taster auf dem Board gedrückt wird . Beim NodeMcu befindet sich dieser neben der USB Buchse. Der Reset bzw. der Start des Programms kann auch durch drücken des Play-Buttons (grünes Dreieck) in Thonny erfolgen. Wenn alles richtig gemacht wurde, sollte die interne LED des ESP, 10 mal blinken