MicroPython | |
---|---|
Clasa de limba | implementarea limbajului de programare [d] șisoftware liber |
Tipul de execuție | Implementarea Python |
Aparut in | 05/03/2014 |
Eliberare | 1.14 (02.02.2021) |
A fost influențat | Piton |
Licență | MIT |
Site-ul web | micropython.org |
Platformă | ARM Cortex-M, STM32, ESP8266, ESP32, PIC pe 16 biți, Unix, Microsoft Windows, Zephyr, JavaScript |
OS | UNIX |
Fișiere media la Wikimedia Commons |
MicroPython [1] este o implementare a limbajului Python scrisă în C și concepută pentru a rula pe microcontrolere [2] [3] .
MicroPython include un compilator și un runtime care rulează pe un microcontroler. Pentru interacțiune, utilizatorul poate folosi consola interactivă pentru a executa direct programul. MicroPython include module care permit programatorului să utilizeze capacitățile de nivel scăzut ale microcontrolerului [1] .
Codul sursă al proiectului este disponibil pe GitHub și distribuit sub licența MIT [4] .
MicroPython a fost creat de programatorul australian Damien George. Finanțarea pentru dezvoltare a fost strânsă printr-o campanie Kickstarter în 2013 [5] . MicroPython a fost dezvoltat inițial pentru placa de dezvoltare bazată pe STM32F4 PyBoard, dar mai târziu a fost susținut de o gamă largă de alte platforme [4] ; există și versiuni neacceptate [6] .
În 2016, versiunea BBC Micro Bit a MicroPython a fost creată sub Python Software Foundation [7] .
În iulie 2017, CircuitPython a fost creat din codul sursă MicroPython ca versiune pentru utilizare și învățare ușoară [8] .
În 2017, Microsemi a dezvoltat un port MicroPython pe platforma RISC-V [9] .
În aprilie 2019, a fost dezvoltat un port pentru Lego Mindstorms EV3 [10] .
De asemenea, în ansambluri pentru unele platforme există biblioteci specifice doar acestora.
MicroPython include un compilator încrucișat care generează bytecode (*.mpy). Bytecode poate fi generat fie direct pe microcontroler, fie pe alt dispozitiv .
Firmware-ul MicroPython poate fi utilizat fără un compilator, utilizând numai fișiere pregenerate *.mpy bytecode .