MicroPython - MicroPython
| Originalautor(en) | Damien P. George |
|---|---|
| Erstveröffentlichung | 3. Mai 2014 |
| Stabile Version | 1.14 / 3. Februar 2021
|
| Repository | |
| Geschrieben in | C |
| Plattform | ARM Cortex-M , STM32 , ESP8266 , ESP32 , 16bit PIC , Unix , Microsoft Windows , Zephyr , JavaScript , RP2040 |
| Typ | Python- Implementierung |
| Lizenz | MIT-Lizenz |
| Webseite | micropython |
MicroPython ist eine Softwareimplementierung einer weitgehend mit Python 3 kompatiblen Programmiersprache , geschrieben in C , die für die Ausführung auf einem Mikrocontroller optimiert ist .
MicroPython ist ein vollständiger Python-Compiler und eine Laufzeitumgebung, die auf der Hardware des Mikrocontrollers ausgeführt wird. Dem Benutzer wird eine interaktive Aufforderung (das REPL ) präsentiert, um unterstützte Befehle sofort auszuführen. Enthalten sind eine Auswahl von Python-Kernbibliotheken; MicroPython enthält Module, die dem Programmierer Zugriff auf Low-Level-Hardware geben.
Der Quellcode für das Projekt ist auf GitHub unter der MIT-Lizenz verfügbar .
Geschichte
MicroPython wurde ursprünglich vom australischen Programmierer und theoretischen Physiker Damien George nach einer erfolgreichen Kickstarter- unterstützten Kampagne im Jahr 2013 entwickelt. Während die ursprüngliche Kickstarter-Kampagne MicroPython mit einem STM32F4- basierten Entwicklungsboard "Pyboard" veröffentlichte, unterstützt MicroPython eine Reihe von ARM- basierten Architekturen. Die in der Mainline unterstützten Ports sind ARM Cortex-M (viele STM32- Boards, TI CC3200/WiPy, Teensy-Boards, Nordic nRF-Serie, SAMD21 und SAMD51), ESP8266 , ESP32 , 16bit PIC, Unix, Windows, Zephyr und JavaScript. Außerdem gibt es viele Forks für eine Vielzahl von Systemen und Hardwareplattformen, die von der Mainline nicht unterstützt werden.
Im Jahr 2016 wurde im Rahmen des Beitrags der Python Software Foundation zur Micro Bit-Partnerschaft mit der BBC eine Version von MicroPython für das BBC Micro Bit erstellt .
Im Juli 2017 wurde MicroPython gegabelt, um CircuitPython zu entwickeln , eine Version von MicroPython mit Schwerpunkt auf Bildung und Benutzerfreundlichkeit. MicroPython und CircuitPython unterstützen etwas unterschiedliche Hardwaresätze (zB CircuitPython unterstützt Atmel SAM D21 und D51 Boards, hat aber die Unterstützung für ESP8266 eingestellt). Ab Version 4.0 basiert CircuitPython auf MicroPython Version 1.9.4.
Im Jahr 2017 hat Microsemi einen MicroPython-Port für die RISC-V- Architektur (RV32 und RV64) entwickelt.
Im April 2019 wurde eine Version von MicroPython für den Lego Mindstorms EV3 erstellt.
Im Januar 2021 wurde ein MicroPython-Port für das RP2040 (ARM Cortex-M0+, auf Raspberry Pi Pico und anderen) erstellt.
Bytecode
MicroPython enthält einen Cross-Compiler, der MicroPython- Bytecode (Dateierweiterung .mpy ) generiert . Der Python-Code kann entweder direkt auf einem Mikrocontroller in den Bytecode kompiliert oder an anderer Stelle vorkompiliert werden.
MicroPython-Firmware kann ohne Compiler erstellt werden, so dass nur die virtuelle Maschine übrig bleibt , die die vorkompilierten MPy- Programme ausführen kann.
Verweise
Externe Links
- Offizielle Website
- micropython auf GitHub
- GOTO 2016 • MicroPython & das Internet der Dinge • Damien George auf YouTube
- MicroPython- Playlist auf YouTube • Tutorials von Tony DiCola / Adafruit