ESPHome Deep Sleep Компонент глубокого сна
ESPHome Deep Sleep — автономная работа в режиме сна
Иногда бывает необходимо производить замеры в течение нескольких дней в таких местах, куда трудно провести питание 220В. Это может быть например, дальний угол парника, где нужно измерять влажность субстрата, или замер освещенности на листьях растения, или фиксация температуры и влажности в помещении.
Для этих целей можно использовать, например контроллер WEMOS WIFI ESP8266 С БАТАРЕЙНЫМ ОТСЕКОМ ПОД АККУМУЛЯТОР 18650. Чтобы добиться для этого контроллера максимального времени работы от источника питания, его необходимо вводить в режим сна (Deep Sleep). В режиме сна потребление составляет 14 мА. В режиме передачи данных 140 мА.
В нашем случае, для измерений мы использовали датчик температуры и влажности воздуха DHT11
Подключение, конфигурация ESPHome
Для нормальной работы с датчиком, нам нужно правильно составить файлы конфигураций. Файлы конфигурации ESPHome имеют несколько типов. ESPHome всегда использует внутренние номера GPIO чипа. Однако у большинства контроллеров ESP есть псевдонимы для определенных контактов. Например, NodeMCU ESP8266 использует имена контактов D0 в D8 качестве псевдонимов для внутренних номеров контактов GPIO. Эта информация взята отсюда: https://esphome.io/guides/configuration-types.html#config-pin
Так же существует англоязычный форум, где можно почитать обсуждения этой платы контроллера: https://forum.fritzing.org/t/request-wemos-esp-wroom-02-with-16850-bat-holder/5073
Описание правил работы с компонентом глубокого сна Deep Sleep представлены здесь: https://esphome.io/components/deep_sleep.html
Ссылка на описание подключения датчика температуры и влажности воздуха DHT11, представлена здесь: https://esphome.io/components/sensor/dht.html#dht-temperature-humidity-sensor
Создаем файл конфигурации HA: term-humi.yaml
В этом примере контроллер просыпается раз в 10 минут на 10 сек, делает замер и передает данные по WIFI в интеграцию Home Assistant. Точка доступа здесь laser305, пароль тоже laser305
esphome:
name: "term-humi"
friendly_name: term_hume
esp8266:
board: esp01_1m
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
wifi:
ssid: laser305
password: laser305
# Enable fallback hotspot (captive portal) in case wifi connection fails
captive_portal:
# Example configuration entry
sensor:
- platform: dht
pin: GPIO2
temperature:
name: "Рабочая комната Temperature"
humidity:
name: "Рабочая комната Humidity"
update_interval: 60s
# Example configuration entry
deep_sleep:
run_duration: 10s
sleep_duration: 10min
После создания и сохранения файла конфигурации, переходим в режим Install и выбираем ответы в предлагаемом меню, как представлено на изображениях ниже.
Если все было выполнено правильно, то после окна компиляции получаем окно лога, в котором станет очевидным какой IP адрес присвоен нашей плате ESP8266.
Настройка интеграции ESPHome
Зная теперь IP адрес платы ESP8266, в нашем случае: 192.168.9.103, можем приступить к интеграции ESPHome. Для этого заходим в Настройки >> Устройства и службы >> Интеграции >> +Добавить интеграцию
После выполнения интеграции у нас должны появиться два новых объекта sensor.term_hume_zhilaia_komnata_humidity и sensor.term_hume_zhilaia_komnata_temperature
Настройка карточки Объекты
На панели Home Assistant добавляем карточку объекта.
В текстовом режиме карточка объекты будет выглядеть примерно так:
type: entities
entities:
- entity: sensor.term_hume_zhilaia_komnata_humidity
name: Рабочая комната Humidity
- entity: sensor.term_hume_zhilaia_komnata_temperature
name: Рабочая комната Temperature
title: term_hume
state_color: true
Добавляем карточку объекта на панель и запускам измерение температуры и влажности.
В нашем случае, для аккумулятора 18650 при полном заряде 2000мА, продолжительность работы в режиме сна: 10 минут, замеров: 10 сек, составляет, как следует из полученного графика: 92 часа.