MicroPython ist eine leichtgewichtige Version der Programmiersprache Python, die zum Programmieren von Mikrocontrollern, SOCs und anderen eingebetteten Systemgeräten entwickelt wurde. Es wurde entwickelt, um Entwicklern die Nutzung des „ einfach zu erlernenden und zu verwendenden“ Systems zu ermöglichen. Natur von Python für die Entwicklung eingebetteter Systeme. Mit Python, das mittlerweile die wichtigste Einführungssprache in den meisten Schulen ist und eine der beliebtesten und am weitesten verbreiteten Programmiersprachen der Welt ist, können zahlreiche Python-Benutzer mithilfe von Mikropython die mit der Verwendung von C verbundene stressige steile Lernkurve umgehen und C ++ zum Programmieren von Mikrocontrollern. Sie können sofort mit dem Wissen beginnen, das sie im Laufe der Jahre erworben haben, um wie bei den anderen Sprachen auf die Low-Level-Hardware zuzugreifen. Micro-Python ist speziell eine schlanke Implementierung von Python 3 und als solche mit der Syntax von Python 3 kompatibel.
Während MicroPython für die Entwicklung eingebetteter Systeme noch nicht auf dem gleichen Bekanntheitsgrad wie C und C ++ liegt, hat seine Popularität zugenommen, da immer mehr Mikrocontroller, IDEs und Entwicklungsplatinen seine Verwendung unterstützen. Für das heutige Tutorial werden wir uns eines dieser Boards ansehen, für die Firmware mit MicroPython entwickelt werden kann.
Im heutigen Tutorial werden wir uns mit der Entwicklung des Codes für den ESP32 mithilfe von MicroPython befassen.
Zunächst werfen wir einen Blick darauf, warum MicroPython für ESP32 gut ist, und arbeiten uns durch das Einrichten von ESP32 für MicroPython und das Hochladen der Blinkskizze mit MicroPython auf ESP32.
Warum MicroPython? (MicroPython gegen Arduino C)
Eine der bewährten und einfachsten Möglichkeiten zum Programmieren des ESP32 ist die Verwendung der Arduino-IDE, dh die Verwendung der Arduino-Version von C oder C ++. C und C ++ sind seit Jahrzehnten die beiden beliebtesten Sprachen für die Entwicklung eingebetteter Systeme, und die Arduino-Version der Sprache hat sie noch einfacher gemacht, was ihre Beliebtheit bei Herstellern und Hobbyisten aufgrund der Leichtigkeit erklärt, mit der Codes entwickelt werden können. Darüber hinaus verfügt Arduino über eine der größten Tech-Communities der Welt, in der täglich neue Bibliotheken, Software-Fixes, neuer Board-Support usw. von der Community veröffentlicht werden. All dies macht es zu einem beeindruckenden Werkzeug für die Programmierung eingebetteter Systemplatinen. Die einzige wirkliche Einschränkung, die man dem Arduino C hinzufügen könnte, ist die Tatsache, dass es nur innerhalb der Arduino IDE funktioniert.Da die IDE begrenzt ist und einige Funktionen fehlen, die bei der Entwicklung einer großen Codebasis wirklich nützlich sein könnten, ist der Arduino C nicht der effizienteste.
MicroPython hingegen ist relativ neu. Während die Community seiner Benutzer wächst und mehr Plattformen veröffentlicht werden, kann seine Stärke nicht mit der des Arduino verglichen werden. Auf der anderen Seite ist MicroPython im Wesentlichen eine schlanke Version von Python, einer der beliebtesten Programmiersprachen der Welt. Daher kann jedes Problem, das von der MicroPython-Community nicht gelöst werden kann, Erkenntnisse aus der allgemeinen Python-Community gewinnen.
Neben der Community-Unterstützung verfügt MicroPython auch über bestimmte Funktionen, die es weit über die Klasse des Arduino bringen. Eine dieser Funktionen ist die REPL. REPL steht für Read-Evaluate-Print. Mit dieser Funktion können Sie eine Verbindung zu einer Karte herstellen und Code schnell ausführen, ohne den gesamten Code kompilieren oder hochladen zu müssen. Daher können Sie jeden Teil Ihres Codes testen, während Sie ihn entwickeln.
Unabhängig davon, welche dieser beiden Optionen Sie für Ihr Projekt auswählen, stellen Sie sicher, was Ihnen am besten dient. Lassen Sie uns mit dem Erstellen des Blink-Beispiels mithilfe von ESP32 mit MicroPython beginnen.
Erforderliche Komponenten
Um das Blink-Beispiel zu erstellen, benötigen wir die folgenden Komponenten:
- DOIT ESP32 DevKit v1 (1)
- Eine LED (1)
- 100 Ohm Widerstand (1)
- Überbrückungsdrähte
- Steckbrett (1)
Sie können anstelle des DOIT ESP32 DevKit V1 jede andere ESP32-basierte Karte verwenden und mit der integrierten LED arbeiten. Dies bedeutet, dass Sie für dieses Lernprogramm nur die ESP32-Karte benötigen. Zuvor haben wir die ESP32-LED durch Programmieren mit der Arduino IDE geblinkt.
Neben den Hardwarekomponenten benötigen wir auch Software wie Thonny IDE