Thonny ist unter MicroPython
das Gegenstück zur Arduino-IDE. In Thonny sind ein Programmeditor und ein
Terminal sowie weitere interessante Entwicklungstools in einer Oberfläche
vereint. So haben sie das Arbeitsverzeichnis auf dem PC, das Dateisystem auf
dem ESP32, Ihre Programme im Editor, die Terminalconsole und zum Beispiel den
Object inspector in einem Fenster übersichtlich im Zugriff.
Die Ressource zu Thonny ist
die Datei thonny-3.3.x.exe , dessen neuste Version direkt von der Produktseite heruntergeladen werden kann. Dort kann man sich auch
einen ersten Überblick über die Eigenschaften des Programms verschaffen.
Mit
Rechtsklick auf Windows und Ziel speichern unter laden Sie die Datei
in ein beliebiges Verzeichnis Ihrer Wahl herunter. Alternativ können Sie auch
diesem Direktlink folgen.
Im
Bundle von Thonny sind neben der IDE selbst auch Python 3.7 für
Windows und esptool.py enthalten. Python 3.7 (oder höher) ist die
Grundlage für Thonny und esptool.py. Beide Programme sind in Python geschrieben
und benötigen daher die Python-Laufzeitumgebung. esptool.py dient unter
anderem auch in der Arduino-IDE als Werkzeug, um Software auf den ESP32 (und
andere Controller) zu transferieren.
Starten
Sie jetzt die Installation von Thonny durch Doppelklick auf ihre
heruntergeladene Datei, wenn Sie die Software nur für sich selbst nutzen
möchten. Wenn Thonny & Co. auf Ihrem Rechner allen Usern zur Verfügung
stehen soll, müssen Sie die exe-Datei als Administrator ausführen. In diesem
Fall klicken Sie rechts auf den Dateieintrag im Explorer und wählen Als
Administrator ausführen.
Sehr
wahrscheinlich meldet sich der Windows Defender (oder Ihre Antivirensoftware).
Klicken Sie auf weitere Informationen und im folgenden Fenster auf Trotzdem
ausführen. Folgen Sie jetzt einfach der Benutzerführung mit Next.
Mit Klick auf Install startet der Installationsprozess.
Beim ersten Start geben Sie die Sprache an, dann wird das Editorfenster zusammen mit dem Terminalbereich angezeigt.
Stellen Sie als erste Aktion den verwendeten Controllertyp ein. Mit Run – Select Interpreter … landen Sie in den Optionen. Stellen Sie bitte Micropython (ESP32) oder (ESP8266) ein, je nach Controllertyp.
Laden Sie jetzt die Firmware Micropython für den ESP32 oder für den ESP8266 von der Auswahlseite herunter und speichern Sie diese Datei in einem Verzeichnis Ihrer Wahl. Die bin-Datei muss als Erstes einmal auf den ESP32 /ESP8266 transferiert werden. Das geschieht auch mit Thonny. Rufen Sie wieder mit Run – Select Interpreter … Thonny Options auf. Rechts unten klicken Sie auf Install or update Firmware.
Wählen Sie den seriellen Port zum ESP32 / ESP8266 und die heruntergeladene Firmwaredatei aus. Mit Install starten Sie den Prozess, der in der Regel automatisch abläuft.
Eine Ausnahme stellt der ESP8266-01 dar. Auf dem kleinen Board befindet sich keine Flash-Automatik. Das bedeutet, dass der zweiteilige Vorgang, Löschen des Flash-Speichers und neues Beschreiben über Logikpegel an den Anschlüssen GPIO0 und Reset/EN nach folgendem Muster gesteuert werden muss.
a) In Thonny
die Vorbereitungen erledigen, wie oben beschrieben
b) Reset- und
Flash-Taste drücken
c) In Thonny
den Flashvorgang starten
d) Reset-Taste
lösen, Flash-Taste halten, bis der Fortschritt angezeigt wird
e) Flash-Taste
lösen
f) Warten bis
erneut der Zugriff auf die COM-Schnittstelle gemeldet wird
g) Dann erneut
die Punkte b) bis f) durchlaufen und
h) abschließend
das Installer-Fenster schließen und die Options mit OK beenden
Nach kurzer Zeit befindet sich die MicroPython-Firmware auf dem Controller und Sie können die ersten Befehle über REPL, die MicroPython-Kommandozeile, an den Controller senden. Geben Sie im Terminalfenster zum Beispiel folgenden Befehl ein.
print("Hallo Welt")
Anders als in der Arduino-IDE können Sie einzelne Befehle an den ESP32 senden und er wird, so es MicroPython-Anweisungen sind, brav antworten. Senden Sie dagegen einen für den MicroPython-Interpreter unverständlichen Text, wird er sie mit einer Fehlermeldung darauf aufmerksam machen.
>>> print"hallo nochmal"
SyntaxError: invalid syntax
Traceback (most recent call last):
File "<stdin>", line 1
SyntaxError: invalid syntax
Zum Arbeiten fehlt jetzt aber noch die Übersicht über den Workspace und das Device Directory. Der Workspace ist ein Verzeichnis auf dem PC, in dem sich alle, der für ein Projekt wichtigen, Dateien befinden. In Thonny ist sein Name This Computer. Das Device Directory ist dazu das Gegenstück auf dem ESP32. In Thonny heißt es MicroPython device. Sie bringen es folgendermaßen zur Anzeige.
Klicken Sie auf View und dann auf Files
Jetzt werden beide Bereiche, oben der Workspace und unten das Device Directory, angezeigt. Weitere Tools blenden Sie über das Menü View ein.
Unsere Programme geben wir im Editorbereich ein. Für ein neues Programm öffnen Sie ein Editorfenster durch Klick auf die Schaltfläche New oder durch Tastenfolge Strg+N.
In der Arduino-IDE werden Libraries bei jeder Übersetzung des Programms neu übersetzt und in den Programmtext eingebunden. In MicroPython müssen Sie fertige Module, sie entsprechen den Libraries der Arduino-IDE, nur einmal am Beginn in den Flash des ESP32 hochladen. Ich zeige das an einem Beispiel.
Legen Sie im Explorer in einem beliebigen Verzeichnis einen Projektordner auf Ihrem Rechner an. In diesem Verzeichnis erzeugen Sie einen Ordner mit dem Namen workspace. Alle weiteren Aktionen starten in diesem Verzeichnis und alle Programme und Programmteile werden dort wohnen.
Im Projekt wird zum Beispiel die Klasse KEYPAD benötigt. Der Text dazu steht in der Datei keypad.py. Laden Sie am besten gleich alle nötigen Module in Ihren workspace. Starten Sie jetzt, falls noch nicht geschehen, Thonny und navigieren Sie im Fenster "This Computer" zu Ihrem Arbeitsverzeichnis. Im workspace sollten jetzt die heruntergeladenen Dateien erscheinen. Ein Rechtsklick öffnet das Kontextmenü, und mit Klick auf Upload to / wird der Vorgang gestartet.
Haben Sie an einem Modul etwas geändert, muss dieses, aber auch nur dieses, erneut hochgeladen werden. Die Sicherheitsabfrage zum Überschreiben beantworten Sie dann mit OK.
Nach dem Hochladen der ersten 4 Module sieht das dann zum Beispiel so aus. Die Datei boot.py im Device Directory wird beim Flashen der Firmware automatisch angelegt. In diese Datei werden wir am Schluss, wenn alles getestet ist, den Inhalt unseres Programms kopieren. Danach wird der ESP32 bei jedem Start das Programm autonom ausführen. Eine Verbindung zum PC ist dann nicht mehr nötig.