© Liashko/Shutterstock.com
Die Nutzungsmöglichkeiten von Python mit dem Mikrocontroller ESP32

Python, subminiaturisiert


Wer Python im Embedded-Bereich einsetzen möchte, greift normalerweise reflexartig zu einem Raspberry Pi oder einem preiswerteren Orange Pi. Wirklich billig wird es allerdings erst mit dem ESP32. Seit einiger Zeit lässt er sich komfortabel mit Python programmieren.

Die Entwicklung von Software für den ESP32 ist per se ein durchaus chaotischer Prozess – neben dem Arduino Core und der ESP-IDF buhlen auch andere Entwicklungssysteme um Aufmerksamkeit. Wer beispielsweise mit JavaScript arbeiten möchte, findet im von Neonious entwickelten low.js eine durchaus kreative Arbeitsumgebung. Für Python spricht allerdings die weite Verbreitung im Maker- und Smart-Home-Bereich: Es gibt kaum ein Problem, für das der Entwickler nicht eine unter Python lebensfähige Lösung findet. Der ESP32 ist dann das geradezu kongeniale Werkzeug, um das Produkt „in den Massenmarkt“ zu bringen. Die einzelne Platine kostet bei intelligenter Beschaffung per AliExpress rund fünf Euro; direkt einlötbare Chips sind noch billiger.

Neben einem durchaus leistungsfähigen Zweikernprozessor mit bis zu 240 Megahertz darf sich der Entwickler zudem über ein WLAN- und ein Bluetooth-Funkmodul freuen. Für die Interaktion mit beliebiger Hardware steht naturgemäß ein umfangreiches Komplement von GPIO-Ports zur Verfügung.

Eine Frage der Herangehensweise

Im Bereich Python für ESP32 haben sich zwei konkurrierende Designpatterns etabliert. Einerseits gibt es das komplett quelloffene und kostenlose MicroPython. Es implementiert eine vollwertige Runtime auf dem ESP32, die sogar einen Paketmanager und diverse andere von Desktopbetriebssystemen bekannte Unterstützungsinfrastrukturen mitbringt. Der Nachteil von MicroPython ist, dass es ob dieser komplexen Architektur langsam arbeitet. Zudem erweist sich die Einrichtung von Paketmanager und Co. als zugegebenermaßen etwas ärgerlich.

Das in Italien ansässige Start-up Zerynth unterscheidet sich von MicroPython insofern, als die hauseigene Runtime während der Kompilation vollwertig zusammengestellt wird. Das bedeutet, dass der ESP32 ein Paket aus optimierter Runtime, eigenem Programmcode und eventuell verwendeten Bibliotheken enthält. Paketmanager und Co. befinden sich ausschließlich auf der Workstation des Entwicklers. Ein weiterer Vorteil dieser Vorgehensweise ist, dass die Performance des Systems im Allgemeinen höher ausfällt. Nachteilig ist, dass die Verwendung von Zerynth ab einer gewissen Prozessrechnermenge kostenpflichtig wird. Zudem ist die Adaptierung von „Schl...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang