MicroPython — это подмножество языка программирования Python 3, оптимизированное для работы на микроконтроллерах. Среда MicroPython обеспечивает интерактивные подсказки (REPL) и простой способ запуска кода Python на микроконтроллерах. В данной статье мы рассмотрим программирование модуля ESP32 на языке MicroPython с помощью Arduino Labs.
Более наглядно содержание данной статьи вы можете посмотреть в следующем видео.
Также ранее на нашем сайте мы рассматривали программирование ESP32 на MicroPython с помощью Thonny IDE.
Необходимые компоненты
- Модуль ESP32 (купить на AliExpress) (Реклама: ООО «АЛИБАБА.КОМ (РУ)» ИНН: 7703380158).
- USB кабель.
Наиболее часто задаваемые вопросы про MicroPython
Могу ли я использовать стандартные библиотеки Python с MicroPython?
В MicroPython реализовано подмножество стандартной библиотеки Python, поэтому доступны не все стандартные библиотеки. Однако MicroPython предоставляет собственный набор библиотек, адаптированных для микроконтроллеров и встроенных систем. Кроме того, некоторые библиотеки Python были портированы специально для использования с MicroPython, что позволяет вам использовать существующий код и функциональные возможности в ваших проектах.
Могу ли я запустить MicroPython на любом микроконтроллере?
MicroPython поддерживает широкий спектр микроконтроллеров, включая популярные платформы, такие как Arduino, ESP8266, ESP32 и Raspberry Pi Pico. Однако не все микроконтроллеры совместимы с MicroPython из-за их аппаратных ограничений или отсутствия поддержки сообщества. Важно проверить официальную документацию MicroPython или форумы сообщества, чтобы убедиться в совместимости с вашим конкретным микроконтроллером.
Как работает управление памятью в MicroPython?
MicroPython использует систему динамического распределения памяти с автоматической сборкой мусора. Он управляет ресурсами памяти, выделяя и освобождая блоки памяти по мере необходимости. Сборщик мусора автоматически идентифицирует и освобождает память, которая больше не используется, уменьшая необходимость в ручном управлении памятью и делая разработку более удобной для программистов.
Установка esptool в Windows
Чтобы установить micropython на модуль esp32, вам необходимо сначала установить программу esptool на свой компьютер.
Чтобы установить esptool на свой компьютер, выполните следующую последовательность действий:
1. Установите Python: esptool — это инструмент на основе Python, поэтому на вашем компьютере перед ее установкой должен быть установлен Python. Вы можете скачать последнюю версию Python с официального сайта: https://www.python.org/downloads/. Следуйте инструкциям по установке Python на свой компьютер.
2. Откройте командную строку (Windows) или терминал (Mac/Linux): esptool — это инструмент командной строки, поэтому для его установки и использования вам необходимо использовать командную строку или терминал.
3. Установите esptool с помощью pip. После установки Python вы можете установить esptool с помощью менеджера пакетов pip. В командной строке или терминале введите следующую команду:
1 |
pip install esptool |
Будет загружена и установлена последняя версия esptool и его расширений.
4. Установите setuptools, который необходим для работы esptool.
1 |
pip install setuptools |
5. Проверьте установку. Чтобы убедиться, что esptool установлена правильно, вы можете запустить следующую команду в командной строке или терминале:
1 |
python -m esptool. |
В результате выполнения данной команды должна отобразиться справочная информация для esptool. Если вы видите сообщение об ошибке, попробуйте переустановить esptool с помощью pip.
Стирание прошивки на ESP32
- Подключите модуль ESP32 к компьютеру с помощью USB-кабеля.
- Найдите имя порта и расположение файла прошивки.
- Нажмите и удерживайте кнопку «BOOT/FLASH», затем выполните следующую команду в командной строке или терминале, чтобы стереть флэш-память ESP32:
1 |
python -m esptool --chip esp32 erase_flash |
Отпустите кнопку «BOOT/FLASH» когда начнется процесс «Стирания». Подождите несколько секунд, пока флэш-память ESP32 не будет очищена.
Более подробно про очистку флэш-памяти модуля ESP32 вы можете прочитать в этой статье.
Загрузка прошивки MicroPython в ESP32
Чтобы загрузить прошивку MicroPython в ваш модуль ESP32, выполните следующие действия
Загрузите правильную прошивку MicroPython для вашей платы ESP32 с официального сайта (всегда загружайте последнюю версию).
После очистки флэш-памяти модуля и скачивания прошивки micropython с официального сайта вы можете прошить ее в модуль с помощью следующей команды, заменив <serial_port> и <esp32-X.bin> именем последовательного порта и расположением файла ESP32 .bin:
1 |
python -m esptool --chip esp32 --port <serial_port> write_flash -z 0x1000 <esp32-X.bin> |
Прежде чем запускать команду прошивки, снова нажмите и удерживайте кнопку «BOOT/FLASH». Через несколько секунд вы должны увидеть сообщение, подтверждающее, что в ваш модуль ESP32 успешно загружена прошивка MicroPython.
Установка Arduino Labs IDE
Чтобы писать программы для ESP32 с помощью языка MicroPython, сначала скачайте среду IDE Arduino Labs для MicroPython. После этого выполните следующую последовательность шагов:
- Скачайте Arduino labs для micropython с официального сайта Arduino по вышеприведенной ссылке.
- Установите Arduino Labs IDE, используя ее настройки по умолчанию.
- Подключите модуль ESP32 к компьютеру с помощью USB-кабеля.
- Выберите COM-порт, к которому подключился модуль ESP32.
- Создайте новый файл и выберите micropython в качестве хранилища.
- Скопируйте в Arduino Labs IDE следующий код:
1 2 3 4 5 6 7 8 |
import machine import time led = machine.Pin(2, machine.Pin.OUT) while True: led.on() time.sleep(1) led.off() time.sleep(1) |
Сохраните код в esp32 storage и нажмите run. Если светодиод модуля начнет мигать, значит все нормально. Внешне это должно выглядеть следующим образом: