REPL и Thonny: разговариваем с платой вживую
Осваиваем интерактивный диалог с микроконтроллером — главное удобство MicroPython.
REPL (Read-Eval-Print Loop) — интерактивная консоль, где вы вводите команды Python, а плата сразу их выполняет и печатает результат.
Зачем нужен REPL
В Arduino, чтобы проверить идею, надо написать скетч, скомпилировать и прошить — минуты ожидания. В MicroPython можно подключиться к плате и набрать 2 + 2, мгновенно получив 4. Это превращает разработку в живой эксперимент: проверить пин, помигать светодиодом, прочитать датчик — всё прямо в консоли.
Thonny — самый простой путь
Thonny — бесплатная среда разработки для Python, в которой есть готовая поддержка MicroPython. Порядок:
- Установить Thonny с сайта thonny.org.
- Подключить ESP32 по USB.
- В меню Tools → Options → Interpreter выбрать «MicroPython (ESP32)» и нужный порт.
- Снизу появится панель Shell — это и есть REPL.
Теперь в Shell можно писать:
>>> print("Привет с ESP32!")
Привет с ESP32!
>>> import machine
>>> machine.freq()
240000000Команда machine.freq() вернула частоту процессора — 240 МГц.
Файлы boot.py и main.py
Чтобы код запускался сам после включения платы (а не только из REPL), его сохраняют в файлы на плате:
| Файл | Когда выполняется |
boot.py | Сразу при старте — обычно настройки сети, частоты |
main.py | После boot.py — основная логика устройства |
В Thonny вы пишете код в редакторе и сохраняете его на устройство (Save → MicroPython device) под именем main.py. После перезагрузки платы программа запустится автоматически.
Полезные команды REPL
| Клавиши | Действие |
Ctrl+C | Прервать работающую программу |
Ctrl+D | Мягкая перезагрузка (soft reset) |
Ctrl+E | Режим вставки большого кода (paste mode) |
Как работает под капотом
REPL работает поверх того же последовательного порта (UART через USB), что и прошивка. Вы печатаете символы — они летят на плату, интерпретатор их читает (Read), выполняет (Eval), печатает результат (Print) и ждёт следующую строку (Loop). Когда вы сохраняете main.py, файл физически копируется во встроенную файловую систему ESP32 (она занимает часть флеш-памяти). При старте прошивка ищет сначала boot.py, потом main.py и выполняет их.
Частые ошибки
- Порт занят. Если открыт другой монитор порта, Thonny не подключится — закройте лишние программы.
- Программа в
main.pyсwhile True«висит». Плата занята циклом и не отвечает в REPL — нажмитеCtrl+C, чтобы прервать. - Забыть сохранить именно на устройство. Сохранение на компьютер не запустит код на плате.
Итог
- REPL — живая консоль Python прямо на плате, главный инструмент отладки.
- Thonny даёт REPL и редактор в одном окне.
boot.pyиmain.pyзапускаются автоматически при включении.Ctrl+Cпрерывает программу,Ctrl+Dперезагружает.