MicroPitone - MicroPython

MicroPython
MicroPython nuovo logo.svg
Autori originali Damien P. George
Versione iniziale 3 maggio 2014 ; 7 anni fa ( 2014-05-03 )
Rilascio stabile
1.14 / 3 febbraio 2021 ; 7 mesi fa ( 2021-02-03 )
Repository
Scritto in C
piattaforma ARM Cortex-M , STM32 , ESP8266 , ESP32 , PIC a 16 bit , Unix , Microsoft Windows , Zephyr , JavaScript , RP2040
Tipo Implementazione Python
Licenza Licenza MIT
Sito web micropython .org

MicroPython è un'implementazione software di un linguaggio di programmazione ampiamente compatibile con Python 3, scritto in C , ottimizzato per funzionare su un microcontrollore .

MicroPython è un compilatore Python completo e runtime che viene eseguito sull'hardware del microcontrollore. All'utente viene presentato un prompt interattivo (il REPL ) per eseguire immediatamente i comandi supportati. Sono incluse una selezione di librerie Python di base; MicroPython include moduli che danno al programmatore l'accesso all'hardware di basso livello.

Il codice sorgente del progetto è disponibile su GitHub sotto la licenza MIT .

Storia

MicroPython è stato originariamente creato dal programmatore e fisico teorico australiano Damien George, dopo una campagna di successo sostenuta da Kickstarter nel 2013. Mentre la campagna Kickstarter originale ha rilasciato MicroPython con una scheda di sviluppo "pyboard" alimentata da STM32F4, MicroPython supporta una serie di architetture basate su ARM . Le porte supportate nella linea principale sono ARM Cortex-M (molte schede STM32 , TI CC3200/WiPy, schede Teensy, serie Nordic nRF, SAMD21 e SAMD51), ESP8266 , ESP32 , PIC a 16 bit, Unix, Windows, Zephyr e JavaScript. Inoltre, ci sono molti fork per una varietà di sistemi e piattaforme hardware non supportati nella linea principale.

Nel 2016, una versione di MicroPython per BBC Micro Bit è stata creata come parte del contributo della Python Software Foundation alla partnership Micro Bit con la BBC.

Nel luglio 2017, MicroPython è stato biforcato per creare CircuitPython , una versione di MicroPython con enfasi sull'istruzione e sulla facilità d'uso. MicroPython e CircuitPython supportano set di hardware leggermente diversi (ad esempio CircuitPython supporta le schede Atmel SAM D21 e D51, ma ha abbandonato il supporto per ESP8266). A partire dalla versione 4.0, CircuitPython è basato su MicroPython versione 1.9.4.

Nel 2017, Microsemi ha realizzato una porta MicroPython per l' architettura RISC-V (RV32 e RV64).

Nell'aprile 2019 è stata creata una versione di MicroPython per Lego Mindstorms EV3 .

Nel gennaio 2021 è stata creata una porta MicroPython per RP2040 (ARM Cortex-M0+, su Raspberry Pi Pico e altri).

Bytecode

MicroPython include un compilatore incrociato che genera il bytecode MicroPython (estensione file .mpy ). Il codice Python può essere compilato nel bytecode direttamente su un microcontrollore o può essere precompilato altrove.

Il firmware di MicroPython può essere compilato senza il compilatore, lasciando solo la macchina virtuale che può eseguire i programmi mpy precompilati .

Riferimenti

link esterno