Настройка esp idf и ide под windows

Обновлено: 20.06.2024

ESP-IDF (Espressif’s IoT Development Frameworek) представляет собой официальную среду для разработки IoT приложений на основе системы на кристалле ESP32. Продукт впервые стал доступен в декабре 2016 года. С тех пор программный продукт ESP-IDF был оптимизирован, что нашло отражение в его новых версиях. После выпуска в декабре 2017 года версии 2.1.1, компания Espressif уже в конце апреля 2018 года выпустила версию 3.0 ESP-IDF, а через год, в конце апреля 2019 года, был представлен релиз 3.2.

Одним из наиболее важных изменений, внесенных в версию 3.2 среды ESP-IDF, является поддержка унифицированного провижининга*. Такая поддержка предоставляет разработчикам, желающим настроить свое устройство с учетными данными Wi-Fi и/или с другими пользовательскими настройками, расширяемый механизм с использованием различных транспортных схем и схем безопасности. В зависимости от каждого конкретного случая использования, унифицированный провижинг в ESP-IDF - это полное и готовое решение для инициализации сети Wi-Fi вместе с примерами приложений для iOS и Android. Кроме того, разработчики могут расширить реализации на стороне устройства и на стороне телефона (phone-app-side), чтобы удовлетворить свои собственные требования для отправки дополнительных конфигурационных данных.

Версия ESP-IDF v3.2 совместима с приложениями, написанными для ESP-IDF v3.1.x, но некоторые функции релиза 3.2 недоступны в более ранних версиях среды.

* - unified provisioning – унифицированная инициализация, единое конфигурирование, подготовка

Список изменений и добавок

Bluetooth

  • Классическое безопасное простое подключение (Classic Secure Simple Pairing) Bluetooth
  • Классический устаревший (Legacy) паринг Bluetooth

WiFi

  • Развязка Mesh-кода с WiFi
  • Добавлена функция переключения каналов Mesh сети

Режимы пониженного энергопотребления

    (легкого сна) для снижения энергопотребления, даже во время Wi-Fi соединения.
    Примечание: Поддержка Light-Sleep с Bluetooth будет добавлена в следующем релизе. В настоящее время автоматический Light-Sleep отключен, пока Bluetooth включен.

Сети

  • Обновлен LWIP (LightWeight IP - широко используемый TCP/IP-стек с открытым исходным кодом) до версии 2.0.3 с патчами Espressif
  • Интегрированная в ESP-IDF клиентская библиотека esp-mqtt MQTT для простых обновлений OTA

Драйверы периферийных устройств

Инструменты для производства и провижининга

  • Инициализация API с примерами для простой подготовки учетных данных Wi-Fi через BLE, SoftAP и последовательный интерфейс

Сборка системы

  • Поддержка Python Python 2 или 3 могут быть использованы для сборки проектов ESP- IDF

Подробнее об основных новых функциях можно прочитать на github.

Начало работы с ESP-IDF

Раздел призван помочь пользователю настроить среду для разработки программного обеспечения ESP-IDF для аппаратуры на основе микросхемы Espressif ESP32. В конце этого раздела будет приведен простой пример, который покажет читателю, как использовать ESP-IDF (Espressif IoT Development Framework) для настройки меню, как создавать и записать прошивку в микросхему ESP32 отладочной платы.

Информация, изложенная ниже, базируется на новейшем релизе ESP-IDF. Программное обеспечение находится в постоянной разработке. Доступа документация, как для стабильной версии, так и для других версий ESP-IDF.

Микросхема ESP32

ESP32 – это система на кристалле (SoC), которая интегрирует следующие функции:

  • WiFi (диапазон 2.4 ГГц)
  • Bluetooth 4.2
  • Два высокопроизводительных ядра
  • Сопроцессор с ультранизким энергопотреблением
  • Несколько периферийных устройств

Изготовленные по 40 нм технологии, микросхемы серии ESP32 представляют собой надежную, высокоинтегрированную платформу, которая помогает удовлетворить постоянно растущие требования к эффективному использованию энергии, компактному дизайну, безопасности, высокой производительности и надежности.

Компания Espressif предоставляет базовые аппаратные и программные ресурсы, чтобы помочь разработчикам приложений реализовать свои идеи с использованием микросхем ESP32. Среда разработки программного обеспечения от Espressif предназначена для разработки приложений Интернета Вещей (IoT) с Wi-Fi, Bluetooth, управлением питанием и некоторыми другими системными функциями.

Что понадобится для работы

Аппаратное обеспечение:

  • Одна из плат с микросхемой ESP32
  • Кабель USB: USB A / micro USB B
  • Компьютер под управлением Windows, Linux или macOS

Программное обеспечение:

  • Toolchain (Набор инструментов) для сборки приложений для ESP32
  • Среда ESP-IDF для разработки приложений, которая по существу содержит API (программные библиотеки и исходный код) для ESP32 и скрипты для работы с Toolchain
  • Текстовый редактор для написания программ (Проектов) на C, например, Eclips.

Разработка приложений для ESP32

Рис.1. Разработка приложений для ESP32

Обзор отладочных плат

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

Примечание: Приобрести эти и другие платы, а также микросхемы ESP32 и др. продукцию Espressif можно непосредственно на сайте компании Терраэлектроника.

Пошаговая инструкция по инсталляции

Ниже приведена детальная дорожная карта, которая поможет пользователю пройти через процесс инсталляции.

Настройка среды разработки

Создание вашего первого проекта

Шаг 1. Установить Toolchain (набор инструментов)

Toolchain – это набор программ для компиляции кода и создания приложений.

Кратчайший путь для старта разработки с ESP32 – это инсталляция предварительно скомпилированного набора Toolchain.

Выберите ниже свою операционную систему и следуйте предоставленным инструкциям.

Mac-OS.jpg (1 KB)
Windows Linux Mac OS

Примечание:

Это руководство использует директорию

/esp для Linux и MacOS или %userprofile%\esp для Windows в качестве инсталляционной папки для ESP-IDF. Вы можете использовать любую директорию, но вам будет необходимо соответственно настроить пути для команд.

В зависимости от вашего опыта и предпочтений, вы можете захотеть кастомизировать среду вместо использования предварительно скомпилированных инструментов. Необходимо помнить, что ESP-IDF не поддерживает пробелы в строке указания пути.

Для кастомизации системы перейдите по ссылке Customized Setup of Toolchain.

Шаг 2. Получите ESP-IDF

Кроме набора инструментов (toolchain), вам также необходим специальный программный интерфейс приложения (API) ESP32 (программные библиотеки и исходные коды). Они предоставляются компанией Espressif в репозитории ESP-IDF. Чтобы получить локальную копию ESP-IDF, перейдите в каталог установки и клонируйте репозиторий с помощью команды git clone .

Откройте терминал и запустите следующие команды:

ESP-IDF загрузится в

Обратитесь к разделу ESP-IDF Versions для получения информации о том, какую версию ESP-IDF использовать в данной ситуации.

Примечание:

Эта команда клонирует главную ветвь, которая имеет последнюю разработанную версию ESP-IDF (“bleeding edge"). Она полностью функциональна и обновляется еженедельно с самыми последними функциями и исправлениями ошибок.

Примечание:

Функция «Download zip file» в GitHub не работает с ESP-IDF, требуется

. Как запасной вариант, стабильная версия может быть установлена без Git.

Примечание:

Не пропустите параметр -- recursive . Если вы уже клонировали ESP-IDF без этой опции, выполните другую команду, чтобы получить все субмодули:

cd esp-idf
git submodule update --init

Шаг 3. Установите переменные окружения

Toolchain использует переменную окружения IDF_PATH для доступа к директории ESP-IDF. Эта переменная должна быть установлена на вашем компьютере, иначе проекты не будут собраны.

Переменные могут быть установлены временно (на сессию) или постоянно. Следуйте специальным инструкциям для Windows, Linux и MacOS в Секции Add IDF_PATH to User Profile.

Шаг 4. Установите необходимые пакеты Python

Пакеты Python, требуемые ESP-IDF, расположены в IDF_PATH/ requirements.txt . Вы можете инсталлировать их, запуская:

python -m pip install --user -r $IDF_PATH/requirements.txt

Примечание:

Пожалуйста, проверьте версию интерпретатора Python, которую вы будете использовать с ESP-IDF. Для этого запустите команду python --version и, в зависимости от результатов, возможно вы захотите использовать python2, python2.7 или подобный, а не просто python .

python2.7 -m pip install --user -r $IDF_PATH/requirements.txt

Шаг 5. Запуск проекта

Теперь вы готовы для работы над приложениями для ESP32. Вы можете начать с проекта get-started/hello_world из каталога примеров в IDF.

Linux и MacOs

/esp
cp -r $IDF_PATH/examples/get-started/hello_world

Windows

cd %userprofile%\esp
xcopy /e /i %IDF_PATH%\examples\get-started\hello_world hello_world

В директории примеров ESP-IDF существует ряд примеров проектов.

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

Также можно собирать примеры на месте без первоначального их копирования.

Важно!

Система сборки ESP-IDF не поддерживает пробелы при указании пути к esp-idf или к проектам.

Шаг 6. Подключение вашего устройства

Теперь подключите вашу ESP32 плату к компьютеру и проверьте номер последовательного порта, под которым видна плата.

Последовательные порты имеют следующие шаблоны имен:

  • Windows: имена, подобные COM1
  • Linux: начинаются с /dev/tty
  • MacOS: начинаются с /dev/cu .

Если вы не уверены в том, как проверить имя последовательного порта, обратитесь к разделу «Установка последовательного соединения с ESP32» для получения полной информации.

Примечание:

Держите имя порта у себя под рукой, так оно понадобится при следующих шагах.

Шаг 7. Конфигурирование

Перейдите в ваш каталог hello_world из Шага 5. Запустите проект и запустите утилиту конфигурации проекта menuconfig.

Linux и MacOS

Windows

cd %userprofile%\esp\hello_world
make menuconfig

Если предыдущие шаги были сделаны корректно, появится следующее меню:

Конфигурация проекта. Главное окно

Конфигурация проекта. Главное окно

В меню перейдите к Serial flasher config > Default serial port , чтобы настроить последовательный порт, куда будет загружен проект. Подтвердите выбор, нажав enter, сохраните конфигурацию, выбрав <Save> , а затем выйдите из menuconfig, выбрав <Exit> .

Для навигации и использования menuconfig нажмите следующие клавиши:

  • Клавиши со стрелками для навигации
  • Enter для перехода в подменю
  • Esc , чтобы подняться на один уровень или выйти
  • ? , чтобы увидеть экран справки. Клавиша ввода - выход из экрана справки
  • Пробел или клавиши Y и N для включения (Yes) и отключения (No) элементов конфигурации с флажками « [*] »
  • ? при выделении элемента конфигурации для отображения справки об этом элементе
  • / поиск элементов конфигурации

Примечание:

Если вы пользователь Arch Linux перейдите к SDK tool configuration и измените имя Python 2 interpreter с python на python2 .

Внимание!

Если вы используете плату ESP32-DevKitC с модулем ESP32-SOLO - 1, перед прошивкой примеров включите одноядерный режим (CONFIG_FREERTOS_UNICORE) в menuconfig.

Шаг 8. Сборка и прошивка

Соберите и прошейте проект, запуская:

Эта команда скомпилирует приложение и все компоненты ESP-IDF, а затем создаст загрузчик, таблицу разделов и двоичные файлы приложения. После этого эти двоичные файлы будут записаны в вашу ESP32 плату.

esptool.py v2.0-beta2
Flashing binaries to serial port /dev/ttyUSB0 (app at offset 0x10000).
esptool.py v2.0-beta2
Connecting. ___
Uploading stub.
Running stub.
Stub running.
Changing baud rate to 921600
Changed.
Attaching SPI flash.
Configuring flash size.
Auto-detected Flash size: 4MB
Flash params set to 0x0220
Compressed 11616 bytes to 6695.
Wrote 11616 bytes (6695 compressed) at 0x00001000 in 0.1 seconds (effective 920.5 kbit/s).
Hash of data verified.
Compressed 408096 bytes to 171625.
Wrote 408096 bytes (171625 compressed) at 0x00010000 in 3.9 seconds (effective 847.3 kbit/s).
Hash of data verified.
Compressed 3072 bytes to 82.
Wrote 3072 bytes (82 compressed) at 0x00008000 in 0.0 seconds (effective 8297.4 kbit/s).
Hash of data verified.Leaving.
Hard resetting.

Если вы хотите использовать Eclipse IDE вместо запуска make, ознакомьтесь с Руководством пользователя Eclipse.

ШАГ 9. МОНИТОР

Чтобы проверить, действительно ли работает “hello_world", введите make monitor .

Эта команда запускает приложение IDF Monitor:

$ make monitor
MONITOR
--- idf_monitor on /dev/ttyUSB0 115200 ------
Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
ets Jun 8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
ets Jun 8 2016 00:22:57
.

После старта и прокрутки логов диагностики вы должны увидеть выведенную приложением на экран фразу «Hello world!»

.
Hello world!
Restarting in 10 seconds.
I (211) cpu_start: Starting scheduler on APP CPU.
Restarting in 9 seconds.
Restarting in 8 seconds.
Restarting in 7 seconds.

Для выхода из монитора IDF используйте сочетание клавиш Ctrl+].

Если у вас есть такая проблема, сделайте следующее:

  1. Выйдите из монитора
  2. Вернитесь в menuconfig
  3. Перейдите к компоненту config - > ESP32-specific - > Main XTAL frequency, затем измените CONFIG_ESP32_XTAL_FREQ_SEL на 26MHz.
  4. После этого снова соберите и прошейте приложение

Примечание:

Вы можете совместить сборку, прошивку и мониторинг в одном шаге, запуская:

make flash monitor

См. также IDF Monitor для получения информации об удобном сочетании клавиш и подробностей об использовании IDF monitor.

Это все, что вам нужно, чтобы начать работу с ESP32!

Теперь вы готовы попробовать другие примеры или сразу перейти к разработке собственных приложений.

Переменные окружения

Некоторые переменные окружения можно указать при вызове make , что позволяет пользователям переопределять аргументы без необходимости их перенастройки с помощью make menuconfig .

Переменные

Описание & Использование

Переопределяет последовательный порт, использованный в flash и monitor .

Примеры: make flash ESPPORT=/dev/ttyUSB1 , make monitor ESPPORT=COM1

Переопределяет скорость последовательной передачи данных , используемую при прошивании ESP32.

Пример: make flash ESPBAUD=9600

Переопределяет скорость последовательной передачи данных , используемую при мониторинге

Пример: make monitor MONITORBAUD=9600

Примечание:

Вы можете экспортировать переменные окружения (т. е., export ESPPORT=/dev/ttyUSB1 ).

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

Обновление ESP-IDF

Время от времени вы должны обновлять ESP-IDF, так как в новых версиях исправлены ошибки и пользователям предоставлены новые функции. Самый простой способ сделать обновление - удалить существующую папку esp-idf и клонировать ее снова, как при выполнении начальной установки, описанной в Шаге 2. Получить ESP-IDF.

При загрузке по новому пути не забудьте добавить IDF_PATH в профиль пользователя, чтобы скрипты набора инструментов (toolchain) могли найти релиз ESP-IDF в определенном месте.

Другое решение - обновить только то, что изменилось.

Связанные документы

Заключение

Цель, которую преследовала компании Espressif при создании ESP-IDF v3.2, заключалась в интеграции библиотек программного обеспечения и поддержки сетевых протоколов, а также любых требований, которые разработчики выделили, как особенно важные для них при создании своих программ. Компания уверена, что ESP-IDF v3.2 адекватно решает любые проблемы, выявленные в предыдущих версиях ESP-IDF.

Компания Espressif намерена и впредь постоянно улучшать ESP-IDF.

Улучшения будут представлены как в основных релизах с новой функциональностью, так и в виде исправлений ошибок, попавших в текущий релиз.

Все детали о версии 3.2 среды ESP-IDF можно найти здесь, а полную документацию по ссылке.

Для работы с ESP32 вначале мы установим «тулчан» от производителя, научимся компилировать и прошивать при помощи терминала. Потом настроем Eclipse IDE и все операции сделаем там.

Распакуем содержимое архива прямо на диск С:, чтобы всё начиналось с адреса «C:\msys32».

Теперь заходим в эту папку и запускаем там «mingw32.exe» (C:\msys32\mingw32.exe). Откроется окно терминала «тулчана».

В терминале вводим команду «mkdir -p

/esp» (создаётся новая папка «esp»). После зайдём в эту папку, введя в терминале команду «cd esp/».


Скачаем ESP-IDF
Мы уже находимся в терминале в папке «


Настраиваем переменную IDF_PATH
В папке «C:/msys32/etc/profile.d/» создаём новый файл «export_idf_path.sh». В этом файле сохраняем строчку «export IDF_PATH="C:/msys32/home/user-name/esp/esp-idf"». (Не забудьте поменять там user-name на имя вашего пользователя). После чего перезапустите терминал.

В перезапущенном терминале проверяете значение заданной переменной командой «printenv IDF_PATH», должен отобразиться путь, который мы только что указали.


Теперь скачаем нужные пакеты Python
В терминале вводим «python -m pip install --user -r $IDF_PATH/requirements.txt». Проверить установку можно командой «python --version».


Первый проект или Hello World
Используем уже готовый «привет мир» из примеров, которые дают вместе с «ESP-IDF».

В терминале сначала вводим первую команду «cd

/esp» (переходим в нужный каталог).

Там мы копируем нужный проект командой «cp -r $IDF_PATH/examples/get-started/hello_world .».

После чего мы заходим внутрь нового католога «cd hello_world/». (Или же «cd

Теперь откроем «Device Manager», для этого нажмём комбинацию клавиш Windows+R, и в командную строку вводим «devmgmt.msc» и нажимаем на кнопку «OK».

После этого откроется окно «Device Manager», там мы ищем рубрику «Ports (COM & LPT)», открываем её. Там мы смотрим через какой COM-порт было подключено устройство. У меня это COM11, у вас может быть что-то другое.


Настройка
Когда мы определили номер COM-порта, можно внести его в настройки.

Напоминаю, мы находимся в папке «

/esp/hello_world». И в терминале вводим команду «make menuconfig».

Вскоре в терминале откроется менюшка, там мы переходим по «Serial flasher config» → «Default serial port», в той строчке вводим COM-порт, через который подсоединилась ESP32. У меня это «COM11».

После чего выбираем «Exit» два раза, после чего выбираем «Yes», чтобы сохранить изменения.

Для сохранения данных понадобится некое время.


Компиляция и прошивка
Это делается командой в терминале «make flash». (Не забудьте перегрузить ESP32 в режиме прошивки.)


Мониторинг
Так же есть команда в терминале, чтобы посмотреть, что выводит модуль через COM-порт.

Эта команда - «make monitor».

Чтобы выйти из этого режима нажмите клавиши Ctrl+].


Мониторинг при помощи PUTTY
Запускаем PUTTY. В строке «Connection type:» выбираем «Serial». В поле «Serial line» вводим «COM11» (у вас скорее всего будет дрогой COM-порт), а в поле «Speed» вводим «115200», после чего жмём на кнопку «Open».


Возможные ошибки при прошивке
«A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header» - вы забыли перезагрузить ESP32 в режим прошивке.


«serial.serialutil.SerialException: could not open port 'COM11': WindowsError(2, 'Система не может найти указанный файл.')» - по данному COM-порту не удалось найти ESP32. (Проверьте в «Device Manager», через который COM-порт подсоединён модуль.)


«serial.serialutil.SerialException: could not open port 'COM11': WindowsError(5, 'Доступ запрещён')» - с модулем уже установлено соединение другой программой (PUTTY, другой терминал с мониторингом). Проверьте все запущенные программы.

Andrey L

Member
  • Eclipse IDE,
  • ESP-IDF,
  • python нужной версии.


Импорт нового проекта
Запускаем Eclipse IDE, выбираем «File» → «Import. ».
В новом окне переходим по «C/C++» → «Existing Code as Makefile Project» и кликаем на кнопку «Next >».
В новом окне в поле «Existing Code Location» вводим путь до папки с новым проектом. (Используем кнопку «Browse. », чтобы выбрать нужную папку.) В непосредственно в этой папке должен быть файл «Makefile». А в поле «Toolchain for Indexer Settings» выбираем «Cross GCC». После чего кликаем на кнопку «Finish».


Настройки проекта
В окне Eclipse IDE «Project Explorer» кликаем правой клавишей мышки по проекту, во всплывшем контекстном меню выбираем «Properties» или нажимаем комбинацию клавиш ALT+Enter.

Теперь переходим в «C/C++ General» → «Preprocessor Include Paths, Macros etc.». Окно должно перезагрузиться. Выбираем закладку «Providers». В списке выбираем «CDT Cross GCC Built-in Compiler Settings» и в поле «Command to get compiler specs» заменяем на «xtensa-esp32-elf-gcc $ -std=c++11 -E -P -v -dD "$"». После в списке выбираем «CDT GCC Build Output Parser» и значение поля «Compiler command pattern» меняем на «xtensa-esp32-elf-(gcc|g\+\+|c\+\+|cc|cpp|clang)».

После переходим в «C/C++ General» → «Indexer». Окно должно перезагрузиться. Активируем поле «Enable project specific settings». Теперь можно будет изменять остальные настройки в этом окне. Убираем галочку у поля «Allow heuristic resolution of includes». (Если это не сделать, могут появляться неожиданные ошибки.)

Напоследок переходим в «C/C++ Build», открываем там закладку «Behavior». И активируем там «Enable parallel build».

И заканчиваем настройку проекта — нажимаем на кнопку «Apply and Close».

Не забудьте, в терминале зайти в папку проекта и там запустить команду «make menuconfig», чтобы указать к какому COM-порту подсоединён модуль.

Прошивка из Eclipse
Вновь в окне Eclipse IDE «Project Explorer» кликаем правой клавишей мышки по проекту, во всплывшем контекстном меню переходим в «Build Targets» → «Create. ».

Откроется новое окно, в поле «Target name:» вводим «flash». Остальные пункты не изменяем, а жмём на кнопку «OK».

Теперь мы можем при помощи «Project» → «Build Target» → «Build» или (Shift+F9) скомпилировать код и прошить ESP32.

Уроки ESP32

Установим программное обеспечение, необходимое для разработки приложений ESP32.

Официальной программной средой для разработки приложений ESP32 является платформа ESP-IDF (Espressif’s IoT Development Framework). Она представляет собой самодастаточный набор средств для создания программного обеспечения с использованием языков программирования C и C++. ESP-IDF ориентирована на разработку, как общих приложений, так и IoT проектов.

ESP-IDF поддерживает огромное количество программных компонентов, таких как RTOS, драйверы периферийных устройств, сетевой стек, различные протоколы и прочее.

Схематично компоненты ESP-IDF выглядят так.

Компоненты платформы ESP-IDF

Установка ESP-IDF.

Платформа ESP-IDF использует кросс-компиляторы, OpenOCD, CMake и инструмент сборки Ninja. Также требуется Python и Git.

Можно инсталлировать все это отдельно, но для простоты установки компания Espressif Systems разработала инсталлятор, который делает это все в автоматическом режиме. Что немаловажно, кроме собственно установки, инсталлятор задает переменные окружения Windows. Т.е. после завершения установки можно сразу пользоваться средой.

Загружаем файл инсталлятора по этой ссылке.

Инсталлятор

Разрешаем установку всего: Python, Git, ESP-IDF.

Инсталлятор

Инсталлятор

Инсталлятор

Выбираем последнюю версию, задаем рабочую папку.

Инсталлятор

Инсталлятор

Процесс длится довольно долго.

Инсталлятор

На рабочем столе появился ярлык.

Уже можно работать. Проверим основные функции.

Запускаем иконку. Открывается интерпретатор командной строки, подготавливается работа с ESP-IDF.

Интерпретатор командной строки

Попробуем компилировать проект примера, например, blink.

Перейдем в папку с проектом blink.

cd examples\get-started\blink

Интерпретатор командной строки

Компилируем проект командой idf.py build.

В первый раз сборка программы длится довольно долго.

В результате проект компилировался успешно, о чем сообщает надпись Project build complete.

Интерпретатор командной строки

Попробуем загрузить программу в FLASH микроконтроллера.

idf.py –p COM8 flash

COM8 – это номер виртуального COM-порта. Он появляется после установки драйвера конвертера USB-UART. Обычно в отладочных платах ESP32 используется преобразователь интерфейсов CP2102. Предварительно надо установить для него драйвер и посмотреть номер виртуального порта.

Панель управления -> Система -> Диспетчер устройств -> Порты (COM и LPT)

Диспетчер устройств

У меня 8. У вас может быть другой.

И, конечно, надо подключить к компьютеру плату.

Интерпретатор командной строки

Но светодиод не мигает.

Открываем любым текстовым редактором D:\esp\esp-idf\get-started\blink\main\blink.c.

В строке определяющей номер вывода светодиода ставим 2.

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

Заново компилируем и загружаем в FLASH.

Теперь компиляция длится 3 секунды и светодиод замигал.

Проверим еще монитор. Команда

idf.py –p COM8 monitor

Монитор

Все прекрасно работает. Но пользоваться командной строкой очень неудобно.

Добавим к нашей среде редактор.

Установка и настройка редактора Visual Studio Code (VS Code).

Visual Studio Code – это редактор исходного кода, разработанный Microsoft. Используется для кроссплатформенной разработки приложений.

Существует специальное расширение VS Code для ESP-IDF. По моему опыту и мнению многих других программистов оно не работает нормально. К тому же, можно вполне обойтись без него.

Устанавливаем Visual Studio Code по ссылке.

Установка VS Code

Загружаем стабильную версию.

Установка VS Code

Установка VS Code

Установка VS Code

Установка VS Code

Запускаем VS Code.

VS Code

Копируем проект blink.

Я создал папку blink1 в моем рабочем каталоге.

Копировал в нее содержимое каталога blink без папки build.

Каталог blink

Открываем папку blink1 в VS Code.

File -> Open Folder

Открытие каталога

Основной файл blink.c.

Номер вывода светодиода уже изменен.

Откроем терминал и попытаемся компилировать проект.

Terminal -> New Terminal

Открытие терминала

Командой idf.py build.

Сборка проекта

Терминал не конфигурирован для ESP-IDF.

Создаем пользовательскую конфигурацию.

File -> Preference -> Settings ->User

Features -> Terminal -> Edit in settings.ison

Добавляем следующий блок.

"terminal.integrated.shell.windows" : "cmd.exe",
"terminal.integrated.shellArgs.windows" : [
"/k",
"D:/esp/esp-idf/export.bat"
]

Если впереди было что-то еще, то добавляем запятую. У меня файл settings.ison выглядит так.

Файл settings.ison

File -> Save

idf.py build

В первый раз долго, потому что мы удалили папку build.

Теперь компиляция проходит без ошибок.

Сборка проекта

Загружаем программу в FLASH микроконтроллера командой

idf.py –p COM8 flash

Загрузка FLASH

Проверяем работу монитора.

idf.py –p COM8 monitor

Монитор тоже работает.

Монитор

Набирать директивы в командной строке не очень удобно. Проблему можно решить установкой расширения VsCode Action Buttons.

Нажимаем кнопку Extensions в левом вертикальном меню.

В поле Search Extensions начинаем набирать название расширения, пока оно не появится в списке.

Расширение VsCode Action Buttons

Дальше Extension settings и Edit in settings.json.

Добавляем блок установки кнопок с названиями Build, FLASH, Monitor.

Окончательно setting.json у меня выглядит так.

Файл setting.json

Слева внизу появилось новое меню.

Теперь нет необходимости набирать команды. Можно нажимать кнопки.

Еще одно расширение создает дополнительное меню.

Называется Shortcut menu bar.

Расширение Shortcut menu bar

После установки справа вверху появляется меню, конфигурацию которого можно изменять.

Верхнее меню

В зависимости от формата дисплея компьютера иногда панель терминала удобнее разместить не внизу, а справа.

Панель терминала справа

Делается это нажатием правой кнопки мыши по закладке Terminal.

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

Дальше Move Panel Right.

Все. Среда программирования установлена и готова к использованию

В следующем уроке будем разбираться в проекте ESP-IDF.


Автор публикации

Эдуард

13 комментариев на « Урок 2. Установка среды программирования ESP-IDF совместно с Visual Studio Code. »

Установка ESP-IDF. на компьютере почемуто не ставится,хотя на ноуте встал без проблем. 7ка Sp1 64

Здравствуйте!
В пути не должно быть каталогов с кириллическими символами. Может в этом дело.

Здравствуйте, подскажите пожалуйста в чём проблема?
Через окно терминала VSC не грузится во flash

Хотя эта же команда через ESP-IDF проходит без проблем.

Здравствуйте!
А в пути к проекту имен с кириллическими символами нет?

Наберите команду заново. У вас у черточки перед p код символа 96. Может в окне комментариев переправилось.
idf.py –p COM3 f
69 64 66 2E 70 79 20 96 70 20 43

Да, спасибо всё заработало, ввёл заново пробел и чёрточку. Изначально я эти команды не набирал, а скопировал из урока. Ещё раз спасибо! а то уже мозг вскипел))

Мучения с Visual Studio Code мотивировали прикрутить ESP-IDF к Notepad++ с помощью плагина NppExec, предоставляющего возможность работы с консолью.
Удалось, не выходя из Notepad++, запускать компиляцию и загрузку во Flash для проектов из ESP-IDF и Arduino IDE, а также открывать окно терминала в редакторе.

Установка и настройка IDE для программирования ESP32

ESP32 — серия недорогих микроконтроллеров с низким энергопотреблением. Представляют собой систему на кристалле с интегрированным Wi-Fi и Bluetooth контроллерами и антеннами.

Правила форума
Условием использования нашего форума, является соблюдение настоящих Правил форума.

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

Установка и настройка IDE для программирования ESP32

21 окт 2019, 12:07

Набирающий популярность микроконтроллер ESP32, по моему скромному мнению, до сих пор имеет очень высокий порог доступности в плане понимания процесса программирования. Для разработки ПО есть несколько Для просмотра ссылок Вы должны быть авторизованы на форуме. -ов, например, официальный ESP-IDF и популярный Arduino-esp32.
Официальный ESP-IDF для меня оказался. Не знаю как сказать в цензурных выражениях. Тяжёлый для понимания (Скорее всего от того, что я начинал с Arduino). Нет нормального Для просмотра ссылок Вы должны быть авторизованы на форуме. . Может быть я плохо искал?
Популярный фреймворк Arduino-esp32 простой, лёгкий в понимании. Имеет свой IDE. Красота? Да. Всё замечательно. Но только до той поры, если программный код не имеет ошибок и составляет не более 200-300 строк. В Arduino IDE можно помигать светодиодами, "подрыгать" ножками микроконтроллера или тупо скомпилировать готовый код. При условии отсутствия ошибок. Ну, а ваять что-то своё. Пытался я. К тому же у Arduino IDE нет обратной совместимости со старшими версиями Нецензурных выражений в адрес Arduino IDE было не меньше, чем к ESP-IDF.
Но не всё так грустно. Решение есть.
У Microsoft есть кроссплатформенный(!), бесплатный(!), с поддержкой русского языка(!) Для просмотра ссылок Вы должны быть авторизованы на форуме. . А для комфортной работы с микроконтроллером ESP32(и не только!) для VS Code есть плагин Для просмотра ссылок Вы должны быть авторизованы на форуме. .
После Arduino IDE для меня это был праздник какой-то!

Начнём, пожалуй. Первым делом идём на страницу, где можно скачать Для просмотра ссылок Вы должны быть авторизованы на форуме.

Читайте также: