ESPHome - работа из командной строки
См.также
Установка
Установите пакет python3-pip (если не установлен):
sudo apt install python3-pip
Рекомендуется устанавливать ESPHome в домашнюю директорию пользователя. Для установки ESPHome достаточно выполнить команду:
pip3 install --user esphome
Проект ESPHome будет установлен в директорию $HOME/.local/
.
Необходимо добавить путь к исполняемым файлам ESPHome в переменную окружения $PATH
:
export PATH=$PATH:$HOME/.local/bin
Чтобы не настраивать переменную окружения $PATH
каждый раз после перезагрузки компьютера выполните:
echo 'export PATH=$PATH:$HOME/.local/bin' >> $HOME/.bashrc
Создание файлов конфигурации
Для сборки проектов ESPHome создайте отдельную директорию в которой будет выполняться сборка прошивки, например:
mkdir ~/esphome
cd ~/esphome
Для пошагового создания нового файла конфигурации можно воспользоваться командой с пошаговым выполнением, например:
esphome e1-test.yaml wizard
В качестве имени платформы для контроллеров JetHub E1 укажите nodemcu-32s
.
После выполнения данной команды будет создан файл конфигурации e1-test.yaml
на основе которого
будет скомпилирована прошивка для микроконтроллера ESP32.
Подсказка
Можно также создать файл конфигурации в текстовом редакторе.
Пример минимального файла конфигурации ESPHome для процессорного модуля E1-CPU:
Примечание
Укажите правильный ssid
и password
для подключения контроллера к сети Wi-Fi.
esphome:
name: e1-test
platform: ESP32
board: nodemcu-32s
wifi:
ssid: "***"
password: "***"
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "E1-Test Fallback Hotspot"
password: "wDZE2YhcmW89"
captive_portal:
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
В данном примере будет настраиваться подключение контроллера по Wi-Fi (секция wifi
),
интеграция с Home Assistant (секция api
) и настроено обновление прошивки по сети (секция ota
).
Примечание
Обратите внимание на поле name
в секции esphome
.
Оно задает имя контроллера, отображается в сети и должно быть уникальным.
В данном примере имя контроллера - e1-test
.
Запись прошивки
Перед прошивкой подключите контроллер кабелем MicroUSB к компьютеру.
Сборка и прошивка ПО может быть выполнена одной командой:
esphome e1-test.yaml run
При прошивке контроллер будет автоматически переведен в режим загрузки ПО, кнопку на корпусе нажимать не нужно.
При выборе способа прошивки ПО выберите последовательный порт, который соответствует подключенному контроллеру,
например: Serial port /dev/ttyUSB0
.
Пересборка и запись прошивки необходима после внесения изменений в файл конфигурации.
Возможные проблемы при прошивке
Нет доступа к последовательному порту
Предупреждение
Пользователь под которым производится работа (прошивка контроллера) должен входить в группу dialout
.
Чтобы добавить текущего пользователя в группу dialout
выполните команду:
sudo usermod -a -G dialout $USER
После чего необходимо заново выполнить вход в систему.
Проблема на Ubuntu 22.04
На Ubuntu 22.04 может возникнуть проблема с доступом к порту из-за конфликта с BRLTTY (поддержка для дисплеев Брайля).
См.также
Описание проблемы: Unable to use USB dongle based on USB-serial converter chip.
Одно из решений - удалить данный пакет из системы:
sudo apt remove brltty
После чего необходимо перезагрузить систему.