Что такое MicroPython
MicroPython — это Python 3, переписанный для микроконтроллеров. Интерпретатор работает прямо на плате: вы пишете программу на привычном Python, копируете её на плату — и она управляет светодиодами, моторами, датчиками и Wi-Fi. Компилировать ничего не нужно, а в консоли платы (REPL) команды выполняются сразу, по одной: написал led.value(1) — светодиод загорелся.
Проект начал Дэмиен Джордж; код открыт, сайт — micropython.org. Там же лежат прошивки для поддерживаемых плат и документация.
Чем отличается от обычного Python
- Язык тот же: синтаксис, списки, словари, функции, классы, исключения. Кто знает Python, пишет на MicroPython с первого дня.
- Стандартная библиотека урезана: памяти на плате в тысячи раз меньше, чем на компьютере. Большой пакет вроде numpy или pandas на плату не поставить.
- Есть модули для железа:
machine(выводы, ШИМ, АЦП, I2C, SPI, UART),network(Wi-Fi),timeс задержками в миллисекундах.
На каких платах работает
- ESP32 (и S2, S3, C3) — самый частый выбор: Wi-Fi и Bluetooth на борту, недорогие платы, памяти хватает с запасом.
- Raspberry Pi Pico (RP2040) — плата от Raspberry Pi, MicroPython для неё официальный.
- ESP8266 — предшественник ESP32; работает, но памяти мало.
- Arduino Uno и Nano на AVR — нет: у них слишком мало памяти. Для MicroPython нужен 32-битный микроконтроллер.
Библиотеки
Библиотеки MicroPython — обычные файлы .py на плате. Их ставят менеджером пакетов mip (прямо с платы, если она в Wi-Fi) или просто копируют в папку lib. Драйверы популярных датчиков и экранов лежат в репозитории micropython-lib и в проектах сообщества.
Где писать код
Нужна программа, которая умеет залить прошивку, открыть консоль платы и копировать на неё файлы. Самые известные — Thonny и расширения для VS Code. Для ESP32 есть RobX Studio: бесплатная, на русском, для Windows, macOS и Linux — плату узнаёт сама, прошивает MicroPython в одну кнопку и хранит программы в облаке RobX.
С чего начать
- Прошить MicroPython на плату — как прошить MicroPython на ESP32.
- Поморгать светодиодом, прочитать кнопку, подключиться к Wi-Fi — первые шаги на ESP32.
- Сохранить программу как
main.py, чтобы она запускалась сама при включении платы.