На этой неделе XDA рассказала о новой партии образовательных роботов ESP32, которая разрабатывалась пять лет, позволяя новичкам менять поведение робота во время его работы. Трюк с живым программированием раньше требовал специальных коммерческих плат. Теперь, благодаря нескольким проектам с открытым исходным кодом, любой робот на базе ESP32 можно программировать в блоках, MicroPython или C с ноутбука и обновлять по воздуху за секунду. Мы протестировали 7 приложений для рабочего стола, которые это делают возможным.
Что искать в среде программирования ESP32
Образовательная робототехника имеет другие требования, чем разработка встроенного программного обеспечения. Лучшие приложения это понимают.
- Блочный режим для совсем новичков, режим кода для позже
- Живое программирование, чтобы изменения появились на роботе без полной перезаписи
- Надежное соединение Wi-Fi или USB без необходимости установки драйверов
- Симуляция, чтобы код можно было попробовать без оборудования
- Доступ к датчикам, моторам, сервоприводам и светодиодам через понятные имена
- Библиотека сообщества, чтобы не писать драйверы для каждого датчика с нуля
- Бесплатно и предпочтительно с открытым исходным кодом, потому что бюджеты школ ограничены
Быстрое сравнение
| Приложение | Лучше всего для | Платформы | Бесплатно | Стоимость | Рейтинг |
|---|---|---|---|---|---|
| MicroBlocks | Живое кодирование блоков на ESP32 | Windows, macOS, Linux, ChromeOS, web | Да | Бесплатно | 4.7 (community) |
| Arduino IDE | Инструмент по умолчанию | Windows, macOS, Linux | Да | Бесплатно | 4.6 |
| PlatformIO | Профессиональный IDE с библиотеками устройств | Windows, macOS, Linux, VS Code plugin | Да | Free tier | 4.7 |
| Thonny | На Python, дружелюбный для новичков | Windows, macOS, Linux | Да | Бесплатно | 4.5 |
| ESP-IDF | Официальный нативный SDK Espressif | Windows, macOS, Linux | Да | Бесплатно | 4.4 |
| MakeCode for micro:bit | Блочный первый, работает с форками ESP32 | Web, offline installer | Да | Бесплатно | 4.7 |
| Wokwi | Симуляция плат ESP32 в браузере | Web | Да | 7/мес для Pro | 4.6 |
1. MicroBlocks, лучше всего для живого кодирования блоков
MicroBlocks - это то, о чем на самом деле рассказывает статья XDA. Перетащи блок, нажми кнопку запуска, блок выполняется на роботе прямо сейчас. Измени блок, нажми снова, без перезаписи. Он поддерживает ESP32, ESP8266, micro:bit, Calliope и десятки образовательных плат через единый интерфейс. Каждый блок соответствует виртуальной машине, вдохновленной Smalltalk, работающей на чипе.
Где он отстает: библиотека блоков меньше, чем в MakeCode, и сообщество тоже меньше.
Ценообразование:
- Бесплатно: открытый исходный код, MIT
- Платный: нет
Платформы: Windows, macOS, Linux, ChromeOS и веб-версия, которая подключается через Web Serial
Download: MicroBlocks | GitHub
Bottom line: выбери MicroBlocks, если цель - учить класс, где дети могут видеть, как их код влияет на робота в ту же секунду.
2. Arduino IDE, лучше всего как инструмент по умолчанию
Arduino IDE версии 2.x - это среда, которую предполагают большинство учебников. Установи пакет плат ESP32 один раз, и любая плата ESP32 появится как цель. Она обрабатывает подготовку Wi-Fi, обновления по воздуху и управление библиотеками. IDE только на C++, поэтому это не инструмент для шестилетнего ребенка, но это инструмент, который подросток будет использовать дальше.
Где она отстает: время сборки на macOS все еще медленное, и менеджер библиотек иногда загружает три копии одного и того же драйвера.
Ценообразование:
- Бесплатно: все, учетная запись не требуется
- Платный: нет (Arduino Cloud отдельно)
Платформы: Windows, macOS, Linux
Download: Arduino IDE
Bottom line: инструмент по умолчанию. Каждый проект ESP32 в интернете компилируется здесь.
3. PlatformIO, лучше всего для профессиональных библиотек и плат
PlatformIO работает как расширение VS Code и превращает редактор в полноценный встроенный IDE. Он управляет платами, фреймворками и библиотеками с файлом блокировки, поэтому проект, построенный сегодня, будет построен идентично через два года. Реестр библиотек содержит более 20 000 записей, включая почти каждый датчик ESP32.
Где он отстает: ориентирован на промежуточных и профессионалов. Крутая кривая обучения для полного новичка в первый день.
Ценообразование:
- Бесплатно: неограниченная локальная разработка
- Платный: планы PIO Labs для команд, от примерно 15/пользователь/мес
Платформы: Windows, macOS, Linux, как расширение VS Code
Download: PlatformIO | VS Code Marketplace
Bottom line: среда, на которую нужно перейти, когда Arduino IDE перестает справляться с проектом.
4. Thonny, лучше всего для MicroPython на ESP32
Thonny - это Python IDE для новичков с первоклассной поддержкой MicroPython. Укажи его на ESP32, работающий с прошивкой MicroPython, и он действует как REPL с файловым браузером, отладчиком и инспектором переменных. Идеально подходит для школ, которые уже преподают Python.
Где он отстает: нет блочного редактора, и отладчик может быть медленным по Wi-Fi.
Ценообразование:
- Бесплатно: открытый исходный код
- Платный: нет
Платформы: Windows, macOS, Linux, Raspberry Pi
Download: Thonny
Bottom line: инструмент для маршрута Python. Загрузи MicroPython, открой Thonny, напиши две строки кода, смотри, как мигает светодиод.
5. ESP-IDF, лучше всего для производительности и каждой функции
ESP-IDF - это официальный фреймворк Espressif. Он раскрывает каждую возможность чипа, от BLE mesh до безопасной загрузки. Здесь ничего образовательного. Но если проект класса включает в себя создание пользовательского устройства, ESP-IDF - это слой, на котором все остальное работает.
Где он отстает: абсолютно не инструмент для новичка. Система сборки - это CMake плюс экран конфигурации с меню, и документация предполагает C.
Ценообразование:
- Бесплатно: открытый исходный код, Apache 2.0
- Платный: нет
Платформы: Windows, macOS, Linux
Download: ESP-IDF
Bottom line: выход. Когда Arduino IDE и PlatformIO перестают справляться, это то, что идет дальше.
6. MakeCode for micro:bit, лучше всего для самых молодых программистов
MakeCode начался как блочный редактор Microsoft для micro:bit и теперь поддерживает несколько образовательных плат на базе ESP32 через цели сообщества. Блоки компилируются в JavaScript в браузере и загружаются на плату через WebUSB. Симулятор слева показывает код, работающий до того, как мы подключим что-либо.
Где он отстает: поддержка ESP32 зависит от конкретной версии платы сообщества, не все платы охватываются.
Ценообразование:
- Бесплатно: полностью бесплатно, работает автономно в загружаемом приложении
- Платный: нет
Платформы: Web (браузеры Chromium для WebUSB), установщик Windows и macOS
Download: MakeCode
Bottom line: инструмент для восьмилетних. Блоки, симулятор и одна кнопка для загрузки.
7. Wokwi, лучше всего для симуляции перед использованием оборудования
Wokwi симулирует платы ESP32, подключенные датчики, светодиоды и дисплеи в браузере. Визуально подключи цепь, перетащи код Arduino или MicroPython и нажми play. Симуляция работает на реальной скорости и включает Wi-Fi, поэтому мы можем протестировать MQTT publish без физической платы.
Где он отстает: не каждый датчик смоделирован, и бесплатный план ограничивает время симуляции за сеанс.
Ценообразование:
- Бесплатно: 15 мин за симуляцию, основные платы ESP32, основная библиотека датчиков
- Платный: 7/мес Pro (длинные симуляции, каждая плата, приватные проекты)
Платформы: Web
Download: Wokwi
Bottom line: используй вместе с любым из вышеперечисленных. Прототипируй в Wokwi, загружай на настоящее оборудование, когда разводка готова.
Как выбрать правильный
- Для живого кодирования робота с детьми: MicroBlocks.
- Для подростков, хотящих писать на C: Arduino IDE, переходи на PlatformIO, когда проект растет.
- Для класса Python: Thonny с MicroPython.
- Для серьезной встроенной работы: ESP-IDF.
- Для детей от шести до девяти лет: MakeCode.
- Для тех, кто ждет приезда своего робота: Wokwi.
Mind+ тоже стоит посмотреть, если целевая аудитория - классы, говорящие на китайском языке, так как он поставляется двуязычным и поддерживает популярные платы MakeBlock и DFRobot из коробки.
FAQ
Какое самое легкое приложение ESP32 для полных новичков?
MicroBlocks, если мы хотим живое кодирование, MakeCode, если мы хотим симулятор рядом с редактором. Оба используют блоки и ни один не требует видимого для пользователя этапа компиляции.
Могу ли я запустить Python на ESP32?
Да. Загрузи прошивку MicroPython (примерно 1.5 МБ) и используй Thonny или встроенный REPL. Производительность нормальна для преподавания, предельна для обработки сигналов в реальном времени.
Нужен ли мне Wi-Fi для программирования робота?
Нет. USB serial по умолчанию. Wi-Fi позволяет обновления по воздуху и живое кодирование в MicroBlocks, что удобно, но не требуется.
Могу ли я использовать эти инструменты на Chromebook?
MicroBlocks и MakeCode оба имеют веб-версии, которые работают на Chromebook через WebUSB или Web Serial. Arduino IDE требует режима Linux.
Какое приложение должна выбрать школа?
Школы, с которыми мы разговаривали, стандартизируют MicroBlocks или MakeCode в первые два года и переводят студентов, которые хотят больше, на Arduino IDE и PlatformIO в годы три и четыре.