ESPHome Deep Sleep Компонент глубокого сна: различия между версиями

Материал из УМКИwiki
Перейти к навигации Перейти к поиску
 
(не показано 19 промежуточных версий этого же участника)
Строка 1: Строка 1:
== ESPHome Deep Sleep — автономная работа в режиме сна ==
== ESPHome Deep Sleep — автономная работа в режиме сна ==
[[Файл:ESP8266 с пауэрбанком.jpg|link=http://meteor.laser.ru/umki/images/8/8a/ESP8266_с_пауэрбанком.jpg |260px|thumb|(Фото 1) ESP8266 с пауэрбанком и датчиком DHT11]]
[[Файл:Сам адаптер ESP 8266.jpg|link=http://meteor.laser.ru/umki/images/8/8a/ESP8266_с_пауэрбанком.jpg |260px|thumb| ESP8266 с пауэрбанком и датчиком DHT11]]
Иногда бывает необходимо производить замеры в течение нескольких дней в таких местах, куда трудно провести питание 220В. Это может быть например, дальний угол парника, где нужно измерять влажность субстрата,
Иногда бывает необходимо производить замеры в течение нескольких дней в таких местах, куда трудно провести питание 220В. Это может быть например, дальний угол парника, где нужно измерять влажность субстрата,
или замер освещенности на листьях растения, или фиксация температуры и влажности в помещении.
или замер освещенности на листьях растения, или фиксация температуры и влажности в помещении.
Строка 17: Строка 17:
Ссылка на описание подключения датчика температуры и влажности воздуха DHT11, представлена здесь: https://esphome.io/components/sensor/dht.html#dht-temperature-humidity-sensor
Ссылка на описание подключения датчика температуры и влажности воздуха DHT11, представлена здесь: https://esphome.io/components/sensor/dht.html#dht-temperature-humidity-sensor


== Создаем файл конфигурации HA — term-humi.yaml  ==
<gallery>
В этом примере контроллер просыпается раз в 10 минут на 10 сек, делает замер и передает данные по WIFI в интеграцию Home Assistant. Точка доступа здесь ''laser203'', пароль тоже ''laser203''
Файл:Nodemcu v3 pinout.png | Картинка с пинами для пересчета контактов GPIO - в - D*
Файл:Esp8266.png|Почитать подробнее про устройство можно вот здесь
</gallery>
 
== Создаем файл конфигурации HA: '''term-humi.yaml''' ==
В этом примере контроллер просыпается раз в 10 минут на 10 сек, делает замер и передает данные по WIFI в интеграцию Home Assistant. Точка доступа здесь ''laser305'', пароль тоже ''laser305''
<syntaxhighlight lang="C++">
<syntaxhighlight lang="C++">
esphome:
esphome:
Строка 36: Строка 41:


wifi:
wifi:
   ssid: laser203
   ssid: laser305
   password: laser203
   password: laser305


   # Enable fallback hotspot (captive portal) in case wifi connection fails
   # Enable fallback hotspot (captive portal) in case wifi connection fails
Строка 49: Строка 54:
     pin: GPIO2
     pin: GPIO2
     temperature:
     temperature:
       name: "Жилая комната Temperature"
       name: "Рабочая комната Temperature"
     humidity:
     humidity:
       name: "Жилая комната Humidity"
       name: "Рабочая комната Humidity"
     update_interval: 60s
     update_interval: 60s


Строка 61: Строка 66:
</syntaxhighlight>
</syntaxhighlight>
После создания и сохранения файла конфигурации, переходим в режим Install и выбираем ответы в предлагаемом меню, как представлено на изображениях ниже.  
После создания и сохранения файла конфигурации, переходим в режим Install и выбираем ответы в предлагаемом меню, как представлено на изображениях ниже.  
Если все было выполнено правильно, то после окна компиляции получаем окно лога, в котором станет очевидным какой IP адрес присвоен нашей плате ESP8266.
<gallery>
<gallery>
Файл:Nodemcu v3 pinout.png | Картинка с пинами для пересчета контактов GPIO - в - D
Файл:Новый девайс.png | При компиляции выбираем новое устройство
Файл:Новый девайс.png | При компиляции выбираем новое устройство
Файл:Выбираем ESP8266.png | Здесь выбираем ESP8266
Файл:Выбираем ESP8266.png | Здесь выбираем ESP8266
Строка 69: Строка 75:
Файл:Окно лога для определения IP девайса ESP8255.png |Окно лога для определения IP девайса ESP8266
Файл:Окно лога для определения IP девайса ESP8255.png |Окно лога для определения IP девайса ESP8266
</gallery>
</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 добавляем карточку объекта.
На панели Home Assistant добавляем карточку объекта.


 
В текстовом режиме карточка объекты будет выглядеть примерно так:
В текстовом режиме карточка объекты будет выглядеть так:
<syntaxhighlight lang="C++">
<syntaxhighlight lang="C++">
type: entities
type: entities
entities:
entities:
   - entity: sensor.term_hume_zhilaia_komnata_humidity
   - entity: sensor.term_hume_zhilaia_komnata_humidity
     name: Жилая комната Humidity
     name: Рабочая комната Humidity
   - entity: sensor.term_hume_zhilaia_komnata_temperature
   - entity: sensor.term_hume_zhilaia_komnata_temperature
     name: Жилая комната Temperature
     name: Рабочая комната Temperature
title: term_hume
title: term_hume
state_color: true
state_color: true
</syntaxhighlight>
</syntaxhighlight>
Добавляем карточку объекта на панель и запускам измерение температуры и влажности.
В нашем случае, для аккумулятора 18650 при полном заряде 2000мА, продолжительность работы в режиме сна: 10 минут, замеров: 10 сек, составляет, как следует из полученного графика: '''92 часа'''.




== Настройка интеграции ESPHome ==
<gallery>
Файл:Новый объект в интеграции.png |Новый объект в интеграции ESPHome
</gallery>
[[Категория:Home Assistant]]
[[Категория:Home Assistant]]
[[Категория:Датчики]]
[[Категория:Датчики]]

Текущая версия от 13:36, 16 августа 2023

ESPHome Deep Sleep — автономная работа в режиме сна

ESP8266 с пауэрбанком и датчиком DHT11

Иногда бывает необходимо производить замеры в течение нескольких дней в таких местах, куда трудно провести питание 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

Настройка карточки Объекты

ESP8266 работает от аккумулятора 18650 три дня до полного разряда
График замеров влажности и температуры в течении 3-х дней

На панели 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 часа.