MicroPython — це програмна реалізація мови програмування, яка багато у чому сумісна з Python 3, написана на C і оптимізована для роботи на мікроконтролерах.

MicroPython — це повноцінний компілятор і середовище виконання Python, які працюють на апаратних засобах мікроконтролерів. Користувачу пропонується інтерактивний запит (REPL) на негайне виконання підтримуваних команд. Містить вибір основних бібліотек Python; MicroPython включає модулі, які надають програмісту доступ до обладнання низького рівня.

Вихідний код проєкту доступний на GitHub за ліцензією MIT.

Історія MicroPython спочатку був створений у 2013 році австралійським програмістом і фізиком-теоретиком Джорджем Демієном після успішної кампанії, яку підтримали на Kickstarter. На Kickstarter оригінальний реліз MicroPython було випущено для розробницьких плат на основі чіпу STM32F4 із назвою «pyboard», але потім на MicroPython реалізували підтримку процесорів на основі архітектури ARM. Підтримується портування для основній серій ARM Cortex-M (багато плат STM32, TI CC3200/WiPy, плати Teensy, серії Nordic nRF, SAMD21 і SAMD51), ESP8266, ESP32, 16-бітна PIC, Unix, Windows, Zephyr та JavaScript. Крім того, існує багато форків для різноманітних систем та апаратних платформ, які не підтримуються в основній реалізації.

У 2016 році версія MicroPython для BBC Micro Bit була створена як частина внеску у Python Software Foundation у партнерстві Micro Bit із BBC.

У липні 2017 року MicroPython був розділений для створення , версії MicroPython з акцентом на освіту та простоту використання. MicroPython і CircuitPython підтримують дещо різні набори обладнання (наприклад CircuitPython підтримує плати Atmel SAM D21 і D51, але відмовилися від підтримки ESP8266). Починаючи з версії 4.0 CircuitPython, базується на MicroPython версії 1.9.4.

У 2017 році створила порт MicroPython для архітектури RISC-V (RV32 і RV64).

У квітні 2019 року була створена версія MicroPython для Lego Mindstorms EV3 .

У січні 2021 року був створений порт MicroPython для RP2040 (ARM Cortex-M0+, на Raspberry Pi Pico та інші).

Байт-код MicroPython включає крос-компілятор, який генерує байт-код MicroPython (розширення файлу .mpy). Код Python може бути скомпільований у байт-код або безпосередньо на мікроконтролері, або його можна попередньо скомпілювати в іншому місці.

Прошивку MicroPython можна створити без компілятора, залишивши лише віртуальну машину, яка може запускати попередньо скомпільовані програми mpy.

Примітки

Посилання

GOTO 2016 • MicroPython та Інтернет речей • Деміен Джордж на YouTube • Навчальні посібники Тоні ДіКоли /