Jump to content

Recommended Posts

Этой статьёй мы открываем серию уроков по программированию 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.

Edited by DFRobot

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By DFRobot
      Введение.
      Цель данного урока - научиться запускать на ESP32 скрипты MicroPython, написанные на компьютере, используя программу ampy. Этот урок был опробован и на ESP8266, и на ESP32.
      Ampy - это утилита от Adafruit, и его исходники можно скачать отсюда. На Adafruit есть подробнейшая документация по этой утилите, и рекомендуем с ней ознакомиться. Однако, самым простым способом начать использовать ampy - это загрузить его через pip.
      В отличие от того, как мы поступали на предыдущих уроках, отправляя в консоль по одной команде, ampy позволит запустить скрипты на microPython из файла. На этом уроке мы по умолчанию считаем, что на вашем компьютере уже установлены Python и pip, а на плате с ESP32/ESP8266 установлен MicroPython.
      Процедура.
      Первым делом устанавливаем ampy. Для этого открываем командную строку и вводим следующую pip-команду:
      pip install adafruit-ampy Мы используем версию Python 2.7 на операционной системе Windows, и результат выполнения команды показан на Рис. 1. У вас может выводиться что-то другое в зависимости от ОС и версии Python.

      Рис.1 Установка ampy.
      Очень детальное руководство по установке ampy есть и на Adafruit.
      Ну и теперь запуск кода из скриптов станет очень простым. Для этого надо всего лишь создать файл с именем script.py в папке на Вашем компьютере и ввести код ниже. Естественно, название файла может быть любым другим. Также и расширение не обязательно должно быть *.py ( я пробовал с расширением *.txt, и всё прекрасно работало), но раз уж файл содержит скрипт, написанный на языке Python, то хорошим тоном будет использование именно расширения *.py. 
      Для примера в файле запишем строку:
      print("Hello from my script!") В командной строке переходим в ту папку, куда сохранили файл. Отправляем команду, изменив значения в квадратных скобках на подходящие:
      ampy --port [YourDevicePort] run [YourFileName] В нашем случае ESP8266 подключен к порту COM7, а ESP32 к порту COM5, и команды для проверки каждого из них показаны ниже, также с правильным именем файла:
      ampy --port COM5 run script.py ampy --port COM7 run script.py Если всё в порядке, вы получите примерно то же, что и на Рис. 2, где виден результат работы скрипта на ESP32 и ESP8266.

      Рис.2. Результат работы скрипта, запущенного на ESP8266 и на ESP32.
      Важно: в той версии утилиты ampy, которая установлена у меня, выполнение любого скрипта сразу после подключения контроллеров выдаёт ошибку подобную той, что показана на Рис. 3. Это случается как на ESP8266, так и на RSP32. Но после этой первой ошибки последующие запуски скриптов выполняются нормально. Я пока не нашёл причины этого, но поделюсь, если найду.

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

    • Блин,искал,но выдает поиск одни магазины, есть такой регулятор ,знаю для всевозможных тепловых прессов, думаю есть или нет возможность использования для нижнего подогрева или для паялтного фена  ,но вот как то просто методом тыка не очент хочется,нашел питание ,выход на нагреватель через стмистор,вот какой должен быть датчик температуры и куда . Если кто знает подскажите,если нет ,так фиг с ним 
    • Лишний нагрев КРЕНок 
    • Сделал себе 300-вольтовый пробник для светодиодов, преобразователь из Радио №3/1988 г., потом стабилизатор тока, ссылку на который давал Краб. Получилось очень даже не плохо, качает любые линейки.  
    • Походу, "приделать полотно к смычку" (штангенциркуль использовать как гаечный ключ) - как раз и есть "окуенное желание что-то написать на форуме."   Чиста жизненная среднестатистическая  выборка: 8-ми квартирный  дом, 8 семей самого среднего класса (рабочие, служащие (не армия), строитель, воспитатель, педагог, пенсионер....) и возраста (от 0.5, до 85)... у всех есть либо набор ключей, либо пассатижи, либо разводной ключ....., штангенциркуль есть только у меня (и не один, помимо прочего нужного инструментария) . Это я к тому, если у человека нет подходящего ключа, то у него скорее всего (99% )  нет и штангенциркуля. И типа "совет": - Если нет подходящего ключа, то воспользуйтесь штангенциркулем!! выглядит как: -  Если у Вас  в нужный момент не оказалось туалетной бумаги, то воспользуйтесь стекловатой. С уважением, Сергей
    • Нашел в своих закромах, продаю. Вроде не сильно б/у, лет так несколько назад я его проверял, светили все "пиксели" фото с инета, свои прикреплю чуть позже. Октябрьск , Самарской обл. 2500р.  
    • Зря, муйню надо возвращать обратно.
  • Покупай!

×
×
  • Create New...