Перейти к содержанию

Уроки ESP32: поддержка microPython


Рекомендуемые сообщения

Этой статьёй мы открываем серию уроков по программированию ESP32 на языке microPython.

Введение.

Цель данного урока - рассказать о том, как загрузить в ESP32 простейшую программу "Hello World!", написанную на языке MicroPython.

MicroPython - это реализация языка программирования Python 3, оптимизированная для применения в микроконтроллерах и включающая в себя небольшую часть стандартной библиотеки Python. К счастью, теперь есть реализация microPython не только под ESP8266, но и для ESP32. Подробно познакомиться с деталями реализации можно здесь. Чтобы начать программировать на нём ESP32, можно, конечно, собрать весь  проект самостоятельно (по этой инструкции). Но проще всего скачать уже готовую прошивку и загрузить её на плату. Это мы и проделаем в нашем уроке.

Все уроки были выполнены в Windows.

Необходимый софт.

Для работы надо установить Python на ваш компьютер. Мы будем использовать Python 2.7, но всё должно работать и для более поздних версий.

Также потребуется софт под названием esptool, чтобы заливать в наш ESP32 бинарные файлы MicroPython. Можно скачать его через pip или другие менеджеры пакетов Python, но мы покажем, как это сделать вручную. Итак, качаем последнюю версию esptool отсюда

После загрузки esptool распакуйте его в папку. Убедитесь, что там есть файл setup.py. Если Python на Ваш компьютер уже установлен, откройте консоль, перейдите в распакованную папку и введите следующую команду:

python setup.py install

Она должна установить esptool. Также процесс установки описан и в репозитории esptool.

Далее нам потребуется бинарный файл с MicroPython, который можно скачать отсюда

Процедура установки MicroPython.

В первую очередь надо очистить память ESP32. Для этого просто введите в консоли команду, указанную ниже, только перед этим замените “COM5” на тот номер порта, к которому подключена ваша плата ESP32:

esptool.py --port COM5 erase_flash

После этого надо загрузить бинарный файл в ESP32, используя следующую. Снова замените COM5 на тот порт, к которому подключен ESP32 у вас. Также замените "pathToYourFile/BinaryFile" на путь, куда Вы сохранили бинарный файл microPython, и имя самого файла. В Windows есть небольшая хитрость - просто перетащите сам файл в консоль.

esptool.py --port COM5 --baud 460800 write_flash --flash_size=detect 0 pathToYourFile/binaryFile

После этого microPython должен быть загружен в вашу плату ESP32. Убедимся в этом через минуту. Не переключайтесь. :rolleyes:

Проверка установки.

Для проверки нам потребуется дополнительный софт для взаимодействия с консолью Python. Вообще можно использовать любое приложение, позволяющее осуществлять подключение по последовательному порту. Мы будем использовать PuTTy, который можно скачать отсюда

Откройте загруженный *.exe файл из предыдущей ссылки и увидите окно PuTTy. В нём надо выбрать тип протокола “Serial”, а в строке “Serial line” ввести имя порта, к которому подключен ESP32 (у меня это COM5), и скорость 115200, как показано на Рисунке 1.

 5bc50c7dcb71e_Figure1ConnectingtotheESP32MicroPythonpromptwithPutty..png.8b320f753c4fe7e1e8d58bf47a8a9ab4.png

Риуснок 1. Подключение ESP32 к консоли MicroPython с помощью Putty

 

После того, как указали все параметры соединения, жмите Open. Если всё введено правильно, должно появиться окно с доступной консолью MicroPython (Рисунок 2).

5bc512fb27448_Figure2ESP32MicroPythonprompt..png.6f88789be5d73ad1e34b53f098160fea.png

 

Рисунок 2. Консоль MicroPython в ESP32.

Программа Hello World

Как и было обещано в начале урока, отправим в консоль простое сообщение “Hello World”. Введите следующую команду и нажмите Enter:

print ("Hello World From ESP32 MicroPython")

Должно получится что-то похожее на Рисунок 3. В этом примере я отправил команду дважды.

5bc50d7860cd7_Figure3ESP32MicroPythonHelloWorld..png.3a606c925e39c3c0323eba315fb25699.png

Рисунок 3. “Hello World” на ESP32 MicroPython.

Ну а теперь можно начинать играть с Python на ESP32!

 

И напоследок.

Хочется отдельно поблагодарить команду, портировавшую MicroPython под ESP32, которая быстро сделала доступными бинарники после моего запроса на гитхабе. Спасибо им за то, что сделали этот замечательный инструмент доступным каждому!

Важно: Этот пост - перевод статьи, написанной Nuno Santos из Лиссабона (Португалия), инженером в области электроники и компьютерной техники. Можно познакомиться с его оригинальными статьями здесь. Он написал ещё много полезных уроков и проектов про ESP32, ESP8266, и, если интересно, можно почитать его блог.

У DFRobot есть много других обучающих статей по ESP32 и готовых проектов на основе ESP32.

Изменено пользователем DFRobot
Ссылка на комментарий
Поделиться на другие сайты

  • 2 года спустя...

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Когда будете писать бинарник на ESP32 - обязательно укажите адрес, с которого надо начать запись: write_flash -z 0x1000 esp32-20190125-v1.10.bin

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...