MicroPython симулятор онлайн: исполнение кода в браузере
Начинающие с опытом Python упираются в одно и то же: Arduino-скетчи — это C++, а Python в браузере раньше проверяли только во внешних эмуляторах, где стенд ограничен парой демо. Теперь режим MicroPython встроен в наш симулятор: кнопка MicroPython переключает язык, и тот же стенд с платой, кнопками и светодиодами исполняет код на machine.Pin — без установки прошивки, Thonny и регистрации.
Этот лендинг — про встроенный режим: что такое MicroPython и кому он нужен, что именно исполняется в браузере (machine.Pin, PWM, ADC, time.sleep), чем браузерная эмуляция отличается от живой платы. Обзор внешних онлайн-сред с таблицей — в отдельном лендинге про MicroPython-среды; здесь фокус на исполнении кода у нас.
Что такое MicroPython и кому он подходит
MicroPython — усечённый Python 3, который влезает в микроконтроллер: тот же синтаксис, отступы вместо скобок, и библиотека machine для GPIO вместо Arduino-функций. Пишете led.value(1) — светодиод горит, без компиляции и загрузки: REPL-терминал выполняет команды сразу, ошибка падает с понятным traceback, а не с «expected ; before}». Кому это нужно: питонистам, которые не хотят ради мигалки учить C++; школьникам, которые уже прошли Python на информатике; и всем, кто устал от цикла «правка — компиляция — загрузка» на 30 секунд. Плата под MicroPython — Raspberry Pi Pico, ESP32 или ESP8266: на Uno с её 2 КБ SRAM MicroPython не живёт физически. Про плату с официальной прошивкой — в лендинге про симулятор Pico.
Режим MicroPython в симуляторе
В симуляторе над редактором — переключатель языка: C++ и MicroPython. Кнопка MicroPython меняет шаблон на Python-мигалку (from machine import Pin), а в списке примеров появляются MP-примеры: Blink, Кнопка + LED, Диммер на ADC и PWM, Серво-потенциометр. Запуск — та же кнопка «Запустить»: стенд собирает периферию по коду, print() уходит в консоль, time.sleep() честно ставит задачу на паузу. Поддержанное подмножество: machine.Pin со value/on/off и подтяжкой PULL_UP, machine.ADC с read() (0-1023) и read_u16(), machine.PWM с freq/duty, time.sleep / sleep_ms / sleep_us, print, циклы, функции и списки — обычный Python. Этого хватает на все учебные сценарии первых месяцев: мигалки, кнопки, диммеры, серво, опрос датчика с выводом в консоль.
from machine import Pinimport time btn = Pin(2, Pin.IN, Pin.PULL_UP)led = Pin(13, Pin.OUT) while True: if btn.value() == 0: # при PULL_UP нажатие — это 0 led.on() print("Nazhata") else: led.off() time.sleep(0.02) # опрос 50 раз в секундуТот же код без правок запускается на живой Pico или ESP32 — замените только номера пинов на GP-имена конкретной платы. В симуляторе стенд показывает нажатие кнопки на виртуальной макетке: кнопка кликается мышью, светодиод реагирует, консоль печатает «Nazhata» — вся цепочка «вход — логика — выход» видна целиком.
Ограничения браузерной эмуляции против живой платы
| Проверка | Режим MicroPython в браузере | Живая плата |
|---|---|---|
| machine.Pin: value/on/off, PULL_UP | да — стенд собирает светодиоды и кнопки по коду | то же, плюс реальные токи |
| machine.PWM и ADC | да — диммер на PWM работает | то же, плюс шум и просадки питания |
| time.sleep / sleep_ms | да — честная пауза задачи | то же |
| REPL-терминал по USB | нет — print() уходит в консоль симулятора | да — Thonny или mpremote |
| WiFi / network.WLAN | не эмулируется | да — ESP32 или Pico W |
| Прошивка .bin и файловая система | не моделируется | да — Thonny, mpremote, esptool |
Граница простая: всё, что связано с GPIO и логикой, браузер исполняет честно; всё, что требует сети, REPL-сессии и перепрошивки, — только на плате. Практичный маршрут: логику и раскладку пинов гоняете в симуляторе, потом берёте тот же файл .py, ставите MicroPython-прошивку на Pico через Thonny и запускаете без единой правки алгоритма. Урок про стенды внешних симуляторов, если нужен сравнительный контекст, — онлайн-симуляторы Wokwi.
Попробуйте Python на виртуальной плате: откройте симулятор и нажмите MicroPython — шаблон мигалки и MP-примеры исполняются сразу, без прошивки и установки среды. Дальше по маршруту: симулятор Raspberry Pi Pico — про саму плату, симулятор ESP32 — если проекту нужен WiFi, и обзор Wokwi на русском — для сравнения с внешними средами.