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 часа.