Programming esp32 with python

Узнайте, как начать работу с микропрограммой MicroPython на ESP32 и ESP8266. Мы познакомим вас с MicroPython, покажем различия между MicroPython и обычным Python. А также как программировать платы на основе ESP с помощью MicroPython с помощью uPyCraft IDE. После завершения этого руководства у вас будет мигать первый светодиод с помощью MicroPython.

Что такое микропитон?

MicroPython-это повторная реализация Python 3, предназначенная для микроконтроллеров и встраиваемых систем. Микропитон очень похож на обычный Python. Итак, если вы уже знаете, как программировать на Python, вы также знаете, как программировать на MicroPython.

Python против MicroPython

За некоторыми исключениями, языковые возможности Python также доступны в MicroPython. Самое большое различие между Python и MicroPython заключается в том. Что MicroPython был разработан для работы в ограниченных условиях.

Из-за этого MicroPython не поставляется с полной стандартной библиотекой. Он включает в себя только небольшое подмножество стандартной библиотеки Python. Однако он включает модули для доступа к низкоуровневому оборудованию-это означает. Что существуют библиотеки для легкого доступа и взаимодействия с GPIO.

Кроме того, устройства с возможностями Wi-Fi, такие как ESP8266 и ESP32, включают модули для поддержки сетевых подключений.

Почему микропитон?

Python-один из наиболее широко используемых, простых и удобных в освоении языков программирования. Таким образом, появление микропитона делает чрезвычайно легким и простым программирование цифровой электроники. Если вы никогда раньше не программировали цифровую электронику, MicroPython-хорошая отправная точка.

Цель MicroPython-сделать программирование цифровой электроники максимально простым. Чтобы им мог пользоваться любой желающий. В настоящее время микропитон используется любителями, исследователями, учителями. Педагогами и даже в коммерческих продуктах.

Код для мигания светодиода на ESP32 или ESP8266 прост следующим образом:

# Complete project details at https://RandomNerdTutorials.com from machine import Pin from time import sleep led = Pin(2, Pin.OUT) while True: led.value(not led.value()) sleep(0.5) 

Просмотр необработанного кода

Одной из замечательных особенностей MicroPython является то. Что он поставляется с интерактивным циклом REPL (Read-Evaluate-Print). REPL позволяет вам быстро подключаться к плате и выполнять код без необходимости компилировать или загружать код.

Опора микропитонных плат

MicroPython работает на многих различных устройствах и платах, таких как:

  • ESP32
  • ESP8266
  • PyBoard
  • Микро:Бит
  • Teensy 3.X
  • WiPy – Pycom
  • Adafruit Circuit Playground Express
  • Другие платы на базе ESP32/ESP8266

Для получения дополнительной информации о других платах, поддерживающих MicroPython. Ознакомьтесь со следующими ссылками:

В наших проектах мы будем использовать MicroPython с платами ESP32 и ESP8266.

ESP32 является преемником ESP8266. Таким образом, на данный момент не все функции доступны в MicroPython. Чтобы извлечь максимальную пользу из ESP32 – это все еще продолжающийся проект.

Тем не менее, он очень удобен, и с его помощью можно сделать много проектов.

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


Установка IDE uPyCraft

Прежде чем продолжить работу с этим учебником, вы должны установить uPyCraft IDE на свой компьютер. Следуйте одному из следующих учебников, чтобы установить uPyCraft IDE:

Примечание: если у вас возникли проблемы с установкой или использованием uPyCraft IDE. Мы также создали альтернативное руководство по программированию ESP32/ESP8266 с помощью Thonny IDE.

Прошивка микропроцессора на ESP32/ESP8266

В отличие от других плат, MicroPython не мигает на ESP32 или ESP8266 по умолчанию. Это первое, что вам нужно сделать. Чтобы начать программировать свои платы с помощью MicroPython: flash/загрузить прошивку. Следуйте следующему уроку, чтобы прошить микропроцессор на вашей плате:


Начало работы с IDE uPyCraft

В этом разделе мы дадим вам обзор программного обеспечения uPyCraft IDE. Чтобы вы могли начать программирование ESP32/ESP8266 с помощью MicroPython.

IDE-это программное обеспечение, которое содержит инструменты, облегчающие процесс разработки. Отладки и загрузки кода. Существует много способов программирования платы ESP с помощью MicroPython. Мы выбрали IDE uPyCraft, потому что он прост и интуитивно понятен в использовании и отлично работает с платами ESP.

В этот момент мы предположили, что у вас есть:

  • uPyCraft IDE установлена на вашем компьютере
  • ESP32/ESP8266 прошит прошивкой MicroPython

Обзор IDE uPyCraft

Откройте IDE uPyCraft IDE, и откроется новое окно следующим образом:

Давайте подробнее рассмотрим каждый раздел IDE uPyCraft:

  1. Папка и файлы
  2. Редактор
  3. Микропитонная оболочка/Терминал
  4. Инструменты

1. Папка и файлы

В этом разделе показано несколько папок и файлов. В папке устройства отображаются файлы, которые в данный момент хранятся на вашей плате ESP. Если у вас есть ESP32 или ESP8266, подключенные через последовательный порт к IDE uPyCraft. То при расширении папки устройства все сохраненные файлы должны загружаться. По умолчанию у вас должен быть только boot.py файл. Для запуска вашего основного кода рекомендуется создать

main.py файл.

  • boot.py: запускается при запуске устройства и устанавливает несколько параметров конфигурации.;
  • main.py: это основной скрипт. Который содержит ваш код. Он выполняется сразу же после завершения операции. boot.py

Папка sd предназначена для доступа к файлам, хранящимся на SD – картах-это работает только с такими платами. Как PyBoard. Которые поставляются со слотом для SD-карт.

uPy_lib показывает встроенные файлы библиотеки IDE.

Наконец, рабочая область-это каталог для сохранения ваших файлов. Эти файлы сохраняются на вашем компьютере в определенном вами каталоге.

Это особенно полезно для того, чтобы держать все ваши файлы организованными под рукой.

При первом использовании uPycraft, чтобы выбрать рабочий каталог, щелкните папку workspace. Появится новое окно, в котором вы сможете выбрать путь к рабочей области. Создайте новую папку или выберите существующую папку в качестве рабочего каталога.

Затем перейдите в каталог FileReflush, чтобы обновить каталог.

Примечание: чтобы изменить каталог пользователя. Просто перейдите в меню СервисinitConfig и щелкните папку каталога рабочей области. Чтобы выбрать другой путь.

2. Редактор

Раздел Редактор-это место, где вы пишете свой код и редактируете свои

файлы .py. Вы можете открыть несколько файлов, и редактор откроет новую вкладку для каждого файла.

3. Микропитонная оболочка/терминал

В оболочке MicroPython вы можете вводить команды. Которые будут немедленно выполняться вашей платой ESP без необходимости загружать новые файлы. Терминал также предоставляет информацию о состоянии выполняемой программы, показывает ошибки, связанные с загрузкой. Синтаксические ошибки. Печатает сообщения и т. Д…

4. Инструменты

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

Каждая кнопка обозначена на рисунке ниже:

  • Новый файл: создает новый файл в редакторе;
  • Открыть файл: откройте файл с вашего компьютера.;
  • Сохранить файл: сохранение файла;
  • Скачать и запустить: загрузите код на свою доску и выполните его;
  • Stop: остановить выполнение кода – это то же самое, что ввести CRTL+C в оболочку. Чтобы остановить запуск всех скриптов;
  • Подключение/отключение: подключение или отключение к вашей плате через последовательный порт. Сначала вы должны выбрать последовательный порт в меню Сервис > > Последовательный порт;
  • Отменить: отменить последнее изменение в редакторе кода;

  • Повтор: повтор последнего изменения в редакторе кода;
  • Проверка синтаксиса: проверка синтаксиса вашего кода;
  • Очистить: очистить сообщения в окне оболочки/терминала.

Запуск Первого Скрипта

Чтобы вы познакомились с процессом написания файла и выполнения кода на платах ESP32/ESP8266, мы загрузим новый скрипт. Который просто мигает встроенным светодиодом вашего ESP32 или ESP8266.

Установление связи с правлением

После установки микропрограммы MicroPython на плату и подключения платы к компьютеру через USB-кабель выполните следующие действия:

1. Перейдите в меню ИнструментыДоска и выберите используемую доску.

2. Перейдите в меню СервисПорт и выберите com-порт, к которому подключен ваш ESP.

3. Нажмите кнопку Подключения, чтобы установить последовательную связь с вашей платой.

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

> > > > > > print('Hello') 

Он должен напечатать сообщение “Привет”. Только если вы видите это сообщение, вы можете продолжить работу с этим уроком. В противном случае убедитесь. Что вы установили последовательную связь с платой или успешно прошили микропрограмму MicroPython на плате.

Создание main.py файл на доске

1. Нажмите кнопку “Новый файл”, чтобы создать новый файл.

2. Нажмите кнопку “Сохранить файл”, чтобы сохранить файл на вашем компьютере.

3. Откроется новое окно с именем вашего файла main.py и сохраните его в своем компьютере:

4. После этого вы должны увидеть следующее в вашей IDE uPyCraft (the boot.py файл в вашем устройстве и новая вкладка с main.py файл):

5. Нажмите кнопку “Загрузить и запустить” , чтобы загрузить файл на вашу плату ESP:

6. Теперь каталог устройств должен загрузить main.py файл. У вашего экстрасенса есть этот файл

main.py хранится.

Загрузка светодиодного сценария blink

1. Скопируйте следующий код в редактор на main.py файл:

# Complete project details at https://RandomNerdTutorials.com from machine import Pin from time import sleep led = Pin(2, Pin.OUT) while True: led.value(not led.value()) sleep(0.5) 

Просмотр необработанного кода

2. Нажмите кнопку “Стоп”, чтобы остановить выполнение любого скрипта в вашей плате:

3. Нажмите кнопку “Загрузить и запустить”, чтобы загрузить скрипт на ESP32 или ESP8266.:

4. В окне оболочки вы должны увидеть сообщение “загрузить ОК”.

Тестирование сценария

Чтобы запустить скрипт. Который только что был загружен на вашу доску, вам нужно выполнить следующие действия:

1. Нажмите кнопку “Стоп” .

2. Нажмите кнопку on-board ESP32/ESP8266 EN (ENABLE) или RST (RESET). Чтобы перезапустить плату и запустить скрипт с самого начала:

Если вы используете ESP32, ваши сообщения терминала должны выглядеть примерно так. Как показано на следующем рисунке после нажатия кнопки EN/RST:

Ваш бортовой светодиод ESP32 или ESP8266 должен мигать каждые 500 миллисекунд. Вот где находится бортовой светодиод ESP32:

Вот бортовой светодиод ESP8266:

Советы по устранению неполадок

Мы обнаружили некоторые распространенные проблемы и сообщения об ошибках. Возникающие в среде разработки uPyCraft IDE. Обычно перезапуск вашего ESP с помощью бортовой кнопки EN/RST устраняет вашу проблему. Или нажмите кнопку uPyCraft IDE “Стоп” и повторите желаемое действие. Если это не сработает для вас, прочтите следующие распространенные ошибки и узнайте, как их устранить.

Ошибка №1: Вы получаете следующее сообщение:

>>> Select Serial Port could not open port 'COM4': FileNotFoundError(2, 'Система не может найти указанный файл.', None, 2)

Или эквивалентное сообщение:

>>> не удалось открыть порт 'COM4': PermissionError(13, 'Устройство, подключенное к системе, не работает.', None, 31)

Выньте вилку из розетки и снова подключите свою экстрасенсорную плату. Затем дважды проверьте, что вы выбрали правильный последовательный порт в меню СервисПоследовательный. Затем нажмите кнопку “Подключить/отключить”, чтобы установить последовательную связь. Теперь вы должны иметь возможность загрузить новый скрипт или повторно запустить новый код.

Эта ошибка также может означать, что ваш последовательный порт используется в другой программе (например. В последовательном терминале или в Arduino IDE). Дважды проверьте, что вы закрыли все программы, которые могут устанавливать последовательную связь с вашей платой ESP. Затем отсоедините и подключите плату ESP. Наконец, перезагрузите IDE uPyCraft – попробуйте выбрать последовательный порт в меню СервисПоследовательный.

Ошибка № 2: Проблема с загрузкой нового сценария.

>>> уже в модели загрузки,пожалуйста, подождите.

Нажмите кнопку “Стоп” в uPyCraft IDE (1 или 2 раза), чтобы убедиться, что любой запущенный код остановится. После этого нажмите кнопку “Загрузить и запустить”, чтобы загрузить новый скрипт на вашу доску ESP.

Ошибка № 3: После загрузки нового скрипта, если вы видите следующее сообщение:

>>> Готовы скачать этот файл,пожалуйста, подождите! ... скачать ok os.listdir('.') Traceback (последний последний вызов): NameError: имя 

Или это сообщение:

>>> Готов скачать этот файл,пожалуйста, подождите! ... скачать ok os.listdir('.') OSError: [Errno 98]

Это означает. Что новый файл был успешно загружен на вашу доску. Вы можете заметить, что он напечатал сообщение “загрузить ОК”. Нажмите кнопку ESP on-board “EN/RST”, чтобы перезапустить плату и повторно запустить новый загруженный скрипт с самого начала.

Ошибка №4: Проблема с перезапуском платы ESP, запуском нового скрипта или открытием последовательного порта:

>>> Сработал детектор браунаута

Сообщение об ошибке “Детектор отключения был запущен” означает. Что есть какая-то аппаратная проблема. Это часто связано с одной из следующих проблем:

  • Некачественный USB-кабель;
  • USB-кабель слишком длинный;
  • Плата с некоторым дефектом (плохие паяные соединения);
  • Плохой компьютерный USB-порт;
  • Или недостаточно мощности. Обеспечиваемой USB-портом компьютера.

Решение: попробуйте другой более короткий USB-кабель (с проводами передачи данных). Попробуйте другой USB-порт компьютера или используйте USB-концентратор с внешним источником питания.

Важно: если у вас постоянно возникают проблемы или странные сообщения об ошибках. Мы рекомендуем повторно прошить вашу плату ESP последней версией микропрограммы MicroPython: Flash/Upload MicroPython Firmware to ESP32 и ESP8266.

Ошибка №5: Когда я пытаюсь открыть последовательную связь с ESP32/ESP8266 в IDE uPyCraft. Иногда он запрашивает окно “Записать прошивку” с просьбой повторно прошить прошивку MicroPython.

В принципе, мы думаем, что это то. Что происходит: когда вы запускаете сценарий в своей доске. Иногда он занят запуском этого сценария и выполнением задач. Таким образом. Вам нужно попробовать открыть COM-порт несколько раз или перезапустить ESP. Чтобы поймать его доступным для установления последовательной связи с uPyCraft IDE.

Если вы запускаете скрипт. Который использует Wi-Fi. Глубокий сон или выполняет несколько задач. Я рекомендую попробовать 3 или 4 раза установить связь. Если вы не можете этого сделать. Я рекомендую повторно прошить ESP микропрограммой MicroPython.

Сворачивание

Мы надеемся. Что вам понравилось программировать платы ESP32 и ESP8266 с помощью микропрограммного обеспечения MicroPython. Если вы хотите узнать больше о MicroPython. Взгляните на нашу электронную книгу: MicroPython Programming with ESP32 и ESP8266.