| ESP-IoT-Solution: быстрый старт |
|
| Добавил(а) microsin | ||||||||||||||||
|
Здесь приведен перевод документации [1], предназначенной для упрощения установки среды разработки приложений ESP-IoT-Solution (Espressif IoT Solution). После выполненной установки вы сможете запускать простые примеры, которые покажут вам, как использовать ESP-IoT-Solution для настройки среды компиляции, создавать проект, выполнять сборку и прошивку firmware а память микроконтроллеров ESP, и т. п. ESP-IoT-Solution содержит драйверы периферийных устройств и библиотеки, обычно используемые в разработке систем IoT. Предоставляются дополнительные компоненты для ESP-IDF, включая следующее: ● Драйверы устройств, такие как датчики, экраны LCD, звуковые устройства, устройства ввода, актуаторы и т. д. Версии ESP-IoT-Solution. Текущие спецификации различных версий ESP-IoT-Solution перечислены в следующей таблице. С течением времени эта информация может меняться, поэтому обращайтесь к первоисточнику [1].
Поскольку главная ветвь репозитория использует ESP Component Manager [2] для управления компонентами, каждый из компонентов это отдельный пакет, и каждый пакет может поддерживать различные версии ESP-IDF, что декларируется в его файле компонента which will be declared in the component’s idf_component.yml. ESP-IDF. ESP-IDF это среда разработки интеллектуальных мобильных устройств (IoT development framework) для MCU серий ESP SoC, предоставляемая компанией Espressif. В этой среде разработки присутствуют: ● Библиотеки и заголовочные файлы для базовых компонентов, на основе которых строятся программные проекты для чипов ESP SoC. Для дополнительной информации обратитесь к официальному руководству [3], см. также [4]. [Введение в ESP Series SoC] Вы можете выбрать любую плату разработки для чипов серий ESP для начала работы с ESP-IoT-Solution. Это может быть как плата, предлагаемая среди плат Boards Component [5], так и любая другая совместимая плата. Такие платы в изобилии представлены на AliExpress и магазине OZON. Чипы ESP SoC предоставляют следующие функциональные возможности: ● 2.4 ГГц Wi-Fi Чипы серий ESP SoC разработаны на основе 40 нм технологии, показывая лучшие параметры по энергопотреблению, технологиям беспроводной связи, универсальность и надежность в широком спектре применений. Примечание: конфигурация может меняться в зависимости от модели чипа SoC, за дополнительной информацией обратитесь к документации по выбору чипа [6]. [Настройка рабочего окружения] 1. Установите ESP-IDF. ESP-IoT-Solution полагается на базовый функционал и инструментарий ESP-IDF, поэтому сначала необходимо установить ESP-IDF, выполнив несложные шаги по установке (см. ESP-IDF Installation Step by Step). Имейте в виду, что разные версии ESP-IoT-Solution могут требовать разные версии ESP-IDF, см. таблицу выше или [1]. 2. Установка ESP-IoT-Solution. Для master-версии выполните команду: $ git clone --recursive https://github.com/espressif/esp-iot-solution
Для версии release/v1.1 выполните другую команду: $ git clone -b release/v1.1 --recursive https://github.com/espressif/esp-iot-solution
Для других версий используйте эту команду, заменив release/v1.1 на вашу целевую ветвь репозитория. [Использование компонентов ESP-IoT-Solution] Если вам просто нужно использовать компоненты в ESP-IoT-Solution, то мы рекомендуем устанавливать их ESP Component Registry. Зарегистрированные компоненты в ESP-IoT-Solution перечислены в README.md. Вы можете напрямую добавлять компоненты из Component Registry в свой проект, используя команду idf.py add-dependency в директории вашего проекта. Например, запустите idf.py add-dependency "espressif/usb_stream" для добавления компонента usb_stream, этот компонент будет автоматически загружен в процессе работы CMake. Подробности см. в руководстве IDF Component Manager [2]. [Сборка и загрузка] 1. Настройка переменных окружения. Утилиты, установленные на описанных выше шагах, пока не добавлены в ваши переменные окружения PATH. Чтобы инструментарий сборки стал доступен из командной строки, выполните следующие шаги по добавлению переменных окружения: Добавьте переменные окружения ESP-IDF. Для системы Windows откройте командную строку (Command Prompt, cmd.exe) и запустите команду: %userprofile%\esp\esp-idf\export.bat Для Linux и macOS запустите в терминале: . $HOME/esp/esp-idf/export.sh Помните, что указанные в команде пути должны соответствовать реальным путям на диске в вашей системе (в этих примерах показаны пути по умолчанию). Добавьте переменные окружения IOT_SOLUTION_PATH. Для Windows запустите команду: set IOT_SOLUTION_PATH=C:\esp\esp-iot-solution Для Linux и macOS запустите: export IOT_SOLUTION_PATH=~/esp/esp-iot-solution Замечание: установленные переменные окружения описанными выше шагами будут действовать только в текущем терминале. Если вы закроете терминал, то повторите эти шаги для работы в новом терминале. Как вариант, можно добавить эти переменные окружения как постоянно действующие. Для Windows это можно сделать через графический интерфейс "Параметры среды" (Environment Variables). Для операционных систем семейства Linux тоже есть соответствующие инструменты, например в Ubuntu это файлы ~/.bashrc, /etc/environment или /etc/profile.d/ (см. врезку). [Windows] Краткая справка: что такое переменные окружения? Это пара Имя=Значение, которые хранят важные для системы и программ данные, например: ● Пути к установленным программам (PATH). Они бывают двух типов: ● Переменные пользователя: действуют только для вашей учетной записи. Способ 1: через графический интерфейс (самый наглядный) Это классический способ, работающий во всех версиях Windows. 1.Откройте окно "Параметры среды" (Environment Variables). ● Вариант A (быстрый): нажмите Win + R, введите sysdm.cpl и нажмите Enter. 2. В открывшемся окне нажмите кнопку "Переменные среды..." в нижней части. 3. Редактируйте переменные. ● Чтобы создать новую переменную: в верхней (пользовательские) или нижней (системные) секции нажмите кнопку "Создать...". Введите имя и значение. > Важнее всего: работа с переменной PATH 4. Примените изменения. Нажмите "ОК" во всех открытых окнах. Способ 2: через Командную строку (CMD) Быстрое решение для добавления или просмотра переменных в текущем сеансе. ● Просмотреть все переменные: set set ИМЯ=Значение (например, set MY_VAR=Hello) ● Добавить к существующей переменной (например, к PATH) для ТЕКУЩЕГО сеанса: set PATH=%PATH%;C:\MyNewFolder Способ 3: через PowerShell Более мощный и современный аналог CMD. ● Просмотреть все переменные: Get-ChildItem Env: $env:ИМЯ = "Значение" (например, $env:MY_VAR = "Hello") ● Добавить к существующей переменной для ТЕКУЩЕГО сеанса: $env:PATH += ";C:\MyNewFolder" Способ 4: через Панель управления (Windows 10/11) Альтернативный путь к тому же графическому интерфейсу, описанному в Способе 1. 1. Откройте Панель управления. 2. Перейдите в "Система и безопасность" → "Система". 3. В левом меню выберите "Дополнительные параметры системы". 4. Дальше действуйте как в Способе 1 (кнопка "Переменные среды..."). Способ 5: через Параметры Windows (Windows 10/11) Более современный, но менее функциональный интерфейс. 1. Откройте Параметры (Win + I). 2. Перейдите в "Система" → "О программе". 3. В связанных параметрах нажмите "Дополнительные параметры системы". 4. Дальше действуйте как в **Способе 1**. Важные замечания и подводные камни 1. Изменения вступают в силу по-разному: ● Новые переменные, созданные через графический интерфейс, станут доступны после перезапуска всех открытых программ (включая проводник и терминалы). Иногда проще просто перезагрузить компьютер. 2. Будьте осторожны с переменной PATH! Никогда не удаляйте стандартные пути Windows (например, C:\Windows\system32). Добавляйте только свои. Всегда используйте кнопку "Изменить" и добавляйте новые пути как новые строки. 3. Для постоянных изменений в скриптах используйте графический интерфейс или специальные команды PowerShell/CMD, которые меняют реестр. Способы 2 и 3 меняют переменные только для текущего сеанса. Как добавить в PATH через CMD/PowerShell навсегда? (для продвинутых) Это требует прав администратора и изменения реестра. ● В CMD (от Администратора): setx /M ИМЯ "Значение" Пример: setx /M PATH "%PATH%;C:\MyTool" > Осторожно с setx и PATH! Команда имеет ограничение на длину строки и может обрезать ваш PATH. Лучше использовать графический интерфейс. ● В PowerShell (от Администратора): [Environment]::SetEnvironmentVariable("ИМЯ", "Значение", "Machine") # Machine = для всех пользователей Итог: ● Для разовых действий в текущем окне терминала — используйте set (CMD) или $env: (PowerShell). [Ubuntu] В других операционных системах Linux используются аналогичные инструменты для изменения переменных окружения. Редактирование переменных окружения в Ubuntu — фундаментальная задача. Подход здесь сильно отличается от Windows и основывается на работе с текстовыми файлами. Краткая справка: как работают переменные в Linux/Ubuntu? Переменные окружения задаются парами ИМЯ=Значение. Они наследуются дочерними процессами от родительских. Основные файлы конфигурации (оболочки - shell): ● ~/.bashrc — для пользовательских настроек в не-входных интерактивных оболочках bash. Выполняется при каждом открытии нового окна терминала. Способы установки переменных описаны далее. Способ 1: временная установка (для текущей сессии) Переменная будет действовать только в текущем окне терминала и исчезнет после его закрытия. Установить переменную: export MY_VAR="my_value" Добавить в PATH: export PATH="$PATH:/path/to/your/directory" Просмотреть переменную: echo $MY_VAR Просмотреть все переменные: env .. или: printenv Способ 2: постоянная установка для пользователя (через ~/.bashrc) Это самый частый и рекомендуемый способ для добавления в PATH и установки своих переменных. 1. Откройте файл ~/.bashrc в текстовом редакторе (например, nano): nano ~/.bashrc 2. Добавьте в конец файла строки с вашими переменными: # Установка простой переменной # Добавление каталога в PATH # Пример для JDK 3. Сохраните файл и выйдите из редактора. В nano: Ctrl+X, затем Y для подтверждения, затем Enter. 4. Примените изменения в текущем терминале: source ~/.bashrc Или просто закройте текущий терминал и откройте новое окно терминала. Почему ~/.bashrc? Он гарантированно выполняется при каждом открытии терминала, что удобно для переменных, нужных при работе в командной строке. Способ 3: постоянная установка для пользователя (через ~/.profile) Используйте этот файл, если переменная должна быть доступна и в графических приложениях (запущенных из меню, например). 1. Откройте файл ~/.profile: nano ~/.profile 2. Добавьте переменные (так же, как и в .bashrc): export MY_VAR="value_for_graphical_apps" 3. Сохраните файл и выйдите. 4. Для применения изменений нужно перезайти в систему (выйти и зайти заново), так как .profile читается при входе. Способ 4: системные настройки для всех пользователей (через /etc/environment) Используется для глобальных системных переменных, таких как глобальный PATH. Требует прав sudo. 1. Откройте файл от имени root: sudo nano /etc/environment 2. Добавьте переменные. Важно: синтаксис без export! # Простые переменные # Добавление в глобальный PATH (используйте двойные кавычки для всего значения) 3. Сохраните файл и выйдите. 4. Перезагрузите компьютер или перезайдите в систему для всех пользователей. Простой source не сработает. Способ 5: системные настройки через /etc/profile.d/ Более удобный и безопасный способ для добавления системных скриптов, чем правка /etc/profile. 1. Создайте файл с расширением .sh в директории /etc/profile.d/: sudo nano /etc/profile.d/my_custom_vars.sh 2. Добавьте переменные как в .bashrc (с export): # Установка системной переменной 3. Сделайте файл исполняемым: sudo chmod +x /etc/profile.d/my_custom_vars.sh 4. Изменения применятся при следующем входе пользователя в систему. Практические примеры. Пример 1: Установка JAVA_HOME (классический случай): 1. Найдите, где установлена Java update-alternatives --config java Это вернет что-то вроде /usr/lib/jvm/java-11-openjdk-amd64/bin/java 2. Отредактируйте ~/.bashrc nano ~/.bashrc 3. Добавьте в конец (без '/bin' в пути!) export JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64" 4. Примените изменения source ~/.bashrc 5. Проверьте echo $JAVA_HOME Пример 2: Добавление каталога ~/bin в PATH Многие программы рекомендуют складывать бинарники в ~/bin. 1. Создайте папку, если её нет mkdir -p ~/bin 2. Добавьте в ~/.bashrc echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc 3. Примените изменения source ~/.bashrc Важные замечания и подводные камни 1. Какой файл выбрать? ~/.bashrc — для всего, что связано с работой в терминале (самый частый случай). 2. Порядок в PATH имеет значение! PATH="$PATH:/new/path" — система будет искать в /new/path в последнюю очередь. 3. Проверка синтаксиса. После редактирования файлов всегда делайте source ~/.bashrc. Если терминал перестал работать — вы где-то ошиблись в синтаксисе (например, забыли кавычку). Проверьте правки. 4. Для применения изменений из ~/.profile и /etc/environment нужно перезайти в систему. Итог: ● Для временного тестирования — используйте export в командной строке. 2. Установка цели сборки. ESP-IDF поддерживает несколько чипов, таких как esp32, esp32s2 и других. Установите цель сборки в соответствие с используемым вашим чипом перед выполнением сборки (по умолчанию, если вы ничего не установили, установится цель сборки esp32). Например, если вы используете микроконтроллер ESP32-C3, то нужно установить цель сборки esp32c3, это делается командой, запущенной в директории проекта: $ idf.py set-target esp32c3
Для примеров из ESP-IoT-Solution, основанных на Boards Component [5], вы можете перейти в Board Options -> Choose Target Board в menuconfig для выбора целевой платы (target board): $ idf.py menuconfig
3. Сборка программы и её загрузка программы в память чипа. Используйте idf.py для сборки и загрузки программы командами: $ idf.py -p PORT build flash
В этой команде надо заменить PORT на имя последовательного порта, через который подключена к компьютеру ваша плата. На Windows имена порта имеют вид наподобие COMx; На Linux это может быть порт /dev/ttyUSBx или /dev/ttyACMx; macOS обычно использует имена /dev/cu. 4. Просмотр лога отладки. В программе можно выводить сообщения в лог функцией printf и макросами наподобие ESP_LOGI, ESP_LOGW, ESP_LOGE. Просматривать лог можно командой: $ idf.py -p PORT monitor
[Ссылки] 1. ESP-IoT-Solution Get Started site:espressif-docs.readthedocs-hosted.com. |