ESPHome Deep Sleep Компонент глубокого сна: различия между версиями
Woronin (обсуждение | вклад) Нет описания правки |
Woronin (обсуждение | вклад) |
||
(не показано 29 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
== ESPHome Deep Sleep — автономная работа в режиме сна == | |||
[[Файл: | [[Файл:Сам адаптер ESP 8266.jpg|link=http://meteor.laser.ru/umki/images/8/8a/ESP8266_с_пауэрбанком.jpg |260px|thumb| ESP8266 с пауэрбанком и датчиком DHT11]] | ||
Иногда бывает необходимо производить замеры в течение нескольких дней в таких местах, куда трудно провести питание 220В. Это может быть например, дальний угол парника, где нужно измерять влажность субстрата, | Иногда бывает необходимо производить замеры в течение нескольких дней в таких местах, куда трудно провести питание 220В. Это может быть например, дальний угол парника, где нужно измерять влажность субстрата, | ||
или замер освещенности на листьях растения, или фиксация температуры и влажности в помещении. | или замер освещенности на листьях растения, или фиксация температуры и влажности в помещении. | ||
Для этих целей можно использовать, например | Для этих целей можно использовать, например контроллер [https://tixer.ru/catalog/Arduino/wemos_wifi_esp8266_s_batareynym_otsekom_pod_akkumulyator_18650/?sphrase_id=1816732 WEMOS WIFI ESP8266] С БАТАРЕЙНЫМ ОТСЕКОМ ПОД АККУМУЛЯТОР 18650. Чтобы добиться для этого контроллера максимального времени работы от источника питания, его необходимо вводить в режим сна (Deep Sleep). В режиме сна потребление составляет 14 мА. В режиме передачи данных 140 мА. | ||
В нашем случае, для измерений мы использовали датчик температуры и влажности воздуха [https://aliexpress.ru/popular/esp32-dht11.html 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 | |||
<gallery> | |||
Файл:Nodemcu v3 pinout.png | Картинка с пинами для пересчета контактов GPIO - в - D* | |||
Файл:Esp8266.png|Почитать подробнее про устройство можно вот здесь | |||
</gallery> | |||
== Создаем файл конфигурации HA: '''term-humi.yaml''' == | |||
В этом примере контроллер просыпается раз в 10 минут на 10 сек, делает замер и передает данные по WIFI в интеграцию Home Assistant. Точка доступа здесь ''laser305'', пароль тоже ''laser305'' | |||
<syntaxhighlight lang="C++"> | |||
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 | |||
</syntaxhighlight> | |||
После создания и сохранения файла конфигурации, переходим в режим Install и выбираем ответы в предлагаемом меню, как представлено на изображениях ниже. | |||
Если все было выполнено правильно, то после окна компиляции получаем окно лога, в котором станет очевидным какой IP адрес присвоен нашей плате ESP8266. | |||
<gallery> | |||
Файл:Новый девайс.png | При компиляции выбираем новое устройство | |||
Файл:Выбираем ESP8266.png | Здесь выбираем ESP8266 | |||
Файл:Выбираем 4-й вариант.png | Здесь выбираем третий вариант | |||
Файл:Окно компиляци и прошивки в плату.png |Окно компиляции и прошивки в плату | |||
Файл:Окно лога для определения IP девайса ESP8255.png |Окно лога для определения IP девайса ESP8266 | |||
</gallery> | |||
== Настройка интеграции ESPHome == | |||
Зная теперь IP адрес платы ESP8266, в нашем случае: 192.168.9.103, можем приступить к интеграции ESPHome. Для этого заходим в '''Настройки''' >> '''Устройства и службы''' >> '''Интеграции''' >> '''+Добавить интеграцию''' | |||
<gallery> | |||
Файл:Новый объект в интеграции.png |Новый объект в интеграции ESPHome | |||
Файл:Добавляем интеграцию, зная IP девайса ESP8255.png | Зная IP адрес добавляем это устройство. Порт по умолчанию который указан - не трогаем | |||
Файл:Все интеграции.png | Если все сделали нормально, то это устройство должно появиться в разделе все интеграции на карточке ESPHome | |||
Файл:Добавить на панель.png | Можно добавить прямо из Интеграции - карточку на панель. | |||
</gallery> | |||
После выполнения интеграции у нас должны появиться два новых объекта '''sensor.term_hume_zhilaia_komnata_humidity''' и '''sensor.term_hume_zhilaia_komnata_temperature''' | |||
== Настройка карточки Объекты == | |||
[[Файл:ESP8266 c аккумулятором 18650 - 2000mAch.jpg|260px|thumb|ESP8266 работает от аккумулятора 18650 три дня до полного разряда]] | |||
[[Файл:3 дня работы Аккумулятор.png|link=http://meteor.laser.ru/umki/images/0/02/3_дня_работы_Аккумулятор.png |260px|thumb|График замеров влажности и температуры в течении 3-х дней]] | |||
На панели Home Assistant добавляем карточку объекта. | |||
В текстовом режиме карточка объекты будет выглядеть примерно так: | |||
<syntaxhighlight lang="C++"> | |||
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 | |||
</syntaxhighlight> | |||
Добавляем карточку объекта на панель и запускам измерение температуры и влажности. | |||
В нашем случае, для аккумулятора 18650 при полном заряде 2000мА, продолжительность работы в режиме сна: 10 минут, замеров: 10 сек, составляет, как следует из полученного графика: '''92 часа'''. | |||
[[Категория:Home Assistant]] | [[Категория:Home Assistant]] | ||
[[Категория:Датчики]] | [[Категория:Датчики]] |
Текущая версия от 13:36, 16 августа 2023
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 часа.