Инструменты пользователя

Инструменты сайта


esphome

ESPHome - простой способ создать IoT устройство для вашей системы умного дома. Не обязательно придумывать устройство самому, достаточно взять ESP и найти в интернете готовое устройство, например на сайте ESPHome ESPHome - это система для управления вашим ESP8266 / ESP32 с помощью простых, но мощных файлов конфигурации и удаленного управления ими через системы домашней автоматизации.

Начало работы с ESPHome

ESPHome - идеальное решение для создания пользовательских прошивок для ваших плат ESP8266 / ESP32. В этом руководстве мы рассмотрим, как настроить базовый «узел» за несколько простых шагов.

Установка

Установить ESPHome очень просто. Все, что вам нужно сделать, это установить Python и через него установить скрипт консоли pip3.


Примечание

Для установки ESPHome 1.18.0 или более поздней версии требуется Python 3.7 или выше.


pip3 install esphome

В качестве альтернативы есть также образ Docker, доступный для простой установки (образ концентратора Docker доступен для AMD64, ARM и ARM64 (AARCH64) прямо сейчас; если у вас другая архитектура, установите ESPHome pipили используйте надстройку Home Assistant :

docker pull esphome/esphome

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

Теперь давайте настроим файл конфигурации. К счастью, в ESPHome есть удобный мастер настройки, который проведет вас через создание вашего первого файла конфигурации. Например, если вы хотите создать файл конфигурации с именем livingroom.yaml:

esphome wizard livingroom.yaml
# On Docker:
docker run --rm -v "${PWD}":/config -it esphome/esphome wizard livingroom.yaml

В конце этого шага у вас будет готов первый файл конфигурации YAML. Он пока мало что делает и только подключает ваше устройство к сети Wi-Fi, но все же это первый шаг.

Добавление некоторых функций

Итак, теперь у вас должен быть файл с именем livingroom.yaml(или аналогичный). Откройте этот файл в любом редакторе, и давайте добавим в наше приложение простой переключатель GPIO .

switch:
  - platform: gpio
    name: "Living Room Dehumidifier"
    pin: 5

Будем надеяться, что формат конфигурации сразу же покажется вам похожим. ESPHome постарался максимально приблизить его к configuration.yaml схеме Home Assistant . В приведенном выше примере мы просто добавляем переключатель, который называется «Осушитель в гостиной» (действительно может управлять чем угодно, например, светом) и подключается к контакту GPIO5. Хорошая вещь в ESPHome заключается в том, что он также автоматически пытается перевести для вас номера контактов на основе платы. Например, в приведенной выше конфигурации, если вы используете плату NodeMCU, вы могли бы точно так же установить D1 в качестве pin: опции.

Первая загрузка Теперь вы можете продолжить и добавить еще несколько компонентов. Как только вы почувствуете, что хотите загрузить что-то на свою плату ESP, просто подключите устройство через USB и введите следующую команду (заменив ее livingroom.yaml файлом конфигурации):

esphome run livingroom.yaml

Вы должны увидеть, как ESPHome проверяет конфигурацию и сообщает вам о потенциальных проблемах. Затем ESPHome приступит к компиляции и загрузке кастомной прошивки. Вы также увидите, что ESPHome создал новую папку с именем вашего узла. Это новый проект PlatformIO, который вы можете потом изменить и поэкспериментировать.

Если вы используете docker в Linux, вы можете добавить –device=/dev/ttyUSB0 в свою команду docker для сопоставления локального USB-устройства.

docker run --rm -v "${PWD}":/config --device=/dev/ttyUSB0 -it esphome/esphome run livingroom.yaml

Теперь, когда вы переходите к экрану «Интеграции» Home Assistant (на панели «Конфигурация»), вы должны увидеть, что устройство ESPHome отображается в обнаруженном разделе (хотя это может занять до 5 минут). Кроме того, вы можете добавить устройство вручную, щелкнув «КОНФИГУРИРОВАТЬ» при интеграции ESPHome и введя «<NODE_NAME> .local» в качестве хоста. После первой загрузки вам, вероятно, больше не понадобится использовать USB-кабель, поскольку все функции ESPHome также доступны удаленно. Больше не нужно открывать скрытые коробки, хранящиеся в труднодоступных местах. Ура!

Добавление двоичного датчика Затем мы собираемся добавить очень простой двоичный датчик, который периодически проверяет, находится ли конкретный вывод GPIO высоким или низким - двоичный датчик GPIO.

binary_sensor:
  - platform: gpio
    name: "Living Room Window"
    pin:
      number: 16
      inverted: true
      mode:
        input: true
        pullup: true
 
      Это расширенная функция ESPHome. Почти все выводы могут дополнительно иметь более сложную схему конфигурации с опциями для инверсии и pinMode - [[https://esphome.io/guides/configuration-types.html#config-pin-schema|схему]] выводов.

На этот раз при загрузке вам не нужно снова подключать устройство через USB. Загрузка произойдет волшебным образом «по воздуху». Используя ESPHome напрямую, это то же самое, что и с USB-кабеля, но для докера вам необходимо указать дополнительный параметр:

esphome livingroom.yaml run
# On docker
docker run --rm -v "${PWD}":/config -it esphome/esphome run livingroom.yaml
 

Панель управления ESPHome

ESPHome имеет панель управления, которую вы можете использовать для легкого управления своими узлами из приятного веб-интерфейса. Он был в первую очередь разработан для надстройки Home Assistant , но также работает с простой командой на машинах * nix (извините, без окон).

Чтобы запустить панель управления ESPHome, просто запустите ESPHome с помощью следующей команды ( config/ указав каталог, в котором вы хотите сохранить свои конфигурации)

# Install dashboard dependencies
pip install tornado esptool
esphome dashboard config/
 
# On Docker, host networking mode is required for online status indicators
docker run --rm --net=host -v "${PWD}":/config -it esphome/esphome
 
# On Docker with MacOS, the host networking option doesn't work as expected. An
# alternative is to use the following command if you are a MacOS user.
docker run --rm -p 6052:6052 -e ESPHOME_DASHBOARD_USE_PING=true -v "${PWD}":/config -it esphome/esphome
 

После этого вы сможете получить доступ к панели управления через localhost:6052.

Начало работы с ESPHome и Home Assistant

ESPHome - идеальное решение для создания кастомной прошивки для ваших плат ESP8266 / ESP32. В этом руководстве мы рассмотрим, как настроить базовый «узел» с помощью ESPHome Dashboard, установленного как надстройка Home Assistant.

Но сначала, вот очень быстрое введение в то, как работает ESPHome: ESPHome - это инструмент, который призван максимально упростить управление вашими платами ESP. Он считывает файл конфигурации YAML (как и Home Assistant) и создает специальную прошивку, которую устанавливает на ваше устройство ESP. Устройства или датчики, добавленные в конфигурацию ESPHome, будут автоматически отображаться в пользовательском интерфейсе Home Assistant.

Установка ESPHome Dashboard

ESPHome Dashboard можно установить как надстройку Home Assistant, которую вы можете найти в магазине надстроек на панели Supervisor. Откройте его, используя следующую кнопку, затем нажмите УСТАНОВИТЬ:

После этого немного подождите, пока он установится (это может занять некоторое время). Нажмите «Пуск», а затем «Открыть веб-интерфейс». Если вы видите «502: Bad Gateway», значит, он запускается, и вы можете обновить страницу через пару секунд. Теперь вас должен приветствовать красивый мастер введения, который проведет вас через создание вашей первой конфигурации. Мастер проведет вас через создание вашей первой конфигурации и, в зависимости от вашего браузера, установит ее на вашем устройстве ESP. Вам нужно будет назвать свою конфигурацию и ввести настройки беспроводной сети, чтобы устройство ESP могло подключиться к сети и обмениваться данными с Home Assistant.


Примечание

Самая сложная часть настройки нового устройства ESPHome - это первоначальная установка. Для установки необходимо, чтобы ваше устройство ESP было подключено кабелем к компьютеру. Более поздние обновления можно установить по беспроводной сети. Если вы используете Microsoft Edge или Google Chrome , вы сможете установить начальную конфигурацию, подключив устройство ESP к компьютеру, который вы используете для просмотра панели управления ESPHome. Чтобы это работало, вам необходимо получить доступ к панели управления ESPHome через HTTPS. Это требование браузеров для доступа к вашему устройству ESP, чтобы мы могли записывать правильные данные. Если вы используете другой браузер, вам нужно будет подключить устройства ESP к машине, на которой запущены ESPHome Dashboard и Home Assistant. Если последовательный порт не отображается, возможно, у вас не установлены необходимые драйверы. Эти драйверы работают с большинством устройств ESP:

  • CP2102
  • CH341

Интерфейс приборной панели

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

УСТАНОВИТЬ : это скомпилирует микропрограмму для вашего узла и установит ее. Установка происходит без проводов, если вы включили компонент обновления OTA в своей конфигурации. Кроме того, вы можете установить его из браузера или через устройство, подключенное к машине, на которой запущена панель управления ESPHome.

ПОКАЗАТЬ ЖУРНАЛЫ : с помощью этой команды вы можете просмотреть все журналы, которые выводит узел. Если USB-устройство подключено, оно попытается использовать последовательное соединение. В противном случае он будет использовать встроенные журналы OTA.

COMPILE : эта команда компилирует прошивку и дает вам возможность загрузить сгенерированный двоичный файл, чтобы вы могли установить его самостоятельно со своего компьютера с помощью ESPHome-flasher .

Файлы конфигурации для ESPHome можно найти и отредактировать в разделе <HOME_ASSISTANT_CONFIG>/esphome/. Например, конфигурацию узла на картинке выше можно найти в /config/esphome/livingroom.yaml.

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

Добавление некоторых (основных) функций Итак, теперь у вас должен быть файл с именем /config/esphome/livingroom.yaml(или аналогичный). Откройте этот файл (в любом текстовом редакторе) и добавьте в конфигурацию простой переключатель GPIO, например:

switch:
  - platform: gpio
    name: "Living Room Dehumidifier"
    pin: 5
 

В приведенном выше примере мы просто добавляем переключатель, который называется «Осушитель в гостиной» (действительно может управлять чем угодно, например, светом), и подключается к контакту GPIO5.

Подключение вашего устройства к Home Assistant После того, как ваша конфигурация будет установлена ​​на вашем устройстве ESP и подключена к сети, она будет автоматически обнаружена Home Assistant и предложена для настройки на экране интеграции:

Кроме того, вы можете добавить устройство вручную, щелкнув «КОНФИГУРИРОВАТЬ» при интеграции ESPHome и введя «<NODE_NAME> .local» в качестве хоста. После первой установки вам, вероятно, больше не понадобится использовать USB-кабель, поскольку все функции ESPHome также доступны удаленно.

Добавление двоичного датчика

Затем мы собираемся добавить очень простой двоичный датчик, который периодически проверяет вывод GPIO, чтобы увидеть, насколько он активен, - двоичный датчик GPIO.

binary_sensor:
  - platform: gpio
    name: "Living Room Window"
    pin:
      number: 16
      inverted: true
      mode:
        input: true
        pullup: true
 

На этот раз при установке вам не нужно снова подключать устройство через USB. Загрузка будет происходить по беспроводной сети ( «по воздуху» ).

esphome.txt · Последнее изменение: 2021/12/10 16:42 — admin

Инструменты страницы