Найти в Дзене
TehnoZet-2

Автономная работа ESP8266 (как таймер от аккумулятора для полива парника)

Оглавление

Обновлено: 05.12.2023

Делаем автономную работу ESP8266 подключаем к аккумулятору и шаровому крану для полива парника. Пишем правила для прошивки ESP Еasy, что бы это все работало.

Мне понадобилась работа ESP8266 в автономном режиме без подключения к Domoticz в максимальном энергоэффективном режиме. ESP делает только одно включает и выключает шаровой кран в автономном режиме для подачи воды из бочки для системы капельного полива. Жирно использовать ESP, да согласен! Но мне важна масштабируемость и простота, и да, это достаточно просто и удобно при работе с сервером умного дома Domoticz, но в данном случаем ESP должна работать автономно. Сразу скажу это не самое оптимальное решение даже для ESP 8266 так как используется несколько преобразователей и все они не идеальны, и на этом теряется энергия, и вообще увеличивается сложность.

Практическая реализация

Вот парник для организации полива

Парник для полива
Парник для полива

Вот бочка с шаровым краном

Бочка и шаровой кран
Бочка и шаровой кран

И вот ESP8266 в ланч боксе из Ашана

 ESP8266 в ланч боксе из Ашана
ESP8266 в ланч боксе из Ашана

Вот в открытом состоянии

ESP8266 - 01
ESP8266 - 01

Внутри следующая сборка

  • Блок питания 12 вольт 2А (внешний)
  • Преобразователь DC-DC 12 в 5вольта.
  • ESP8266 на своем адаптере
  • Драйвер двигателя L298N

О питание

Питание организовано так:

1) AC 220 в DC 12 вольт - блок питания 12 вольт 2А

2) Преобразователь DC-DC 12 в 5вольта -Mini360

Mini360
Mini360

С него питание поступает и на драйвер двигателя L298N и на адаптер для ESP - 01

3) Адаптер для ESP - 01 на ней расположен понижающий преобразователь в 3.3 вольта AMS1117

AMS1117
AMS1117

Ниже схема

Схема из Sprint-Layout
Схема из Sprint-Layout

Драйвер двигателя L298N

L298N
L298N

Характеристики

  • Входное напряжение логической части (Vd): от 6V до 12V
  • Входное напряжение управляемой части (Vs): от +5V до +35V
  • Рабочий ток внешней логической части (Iss): 0 ~ 36mA
  • Ток нагрузки каждой управляемой части (Io): 2A
  • Пиковый ток нагрузки каждой управляемой части (Io): 3А
  • Максимальная потребляемая мощность: 20Вт (при температуре = 75°C)

Логика работы

  • Высокий уровень входного управляющего сигнала (High): 2.3В = Vin = Vss
  • Низкий уровень входного управляющего сигнала (Low): -0.3В = Vin = 1.5В

Шаровой кран

Я использовал шаровой кран CWX - 15Q CR-01

Шаровой кран CWX - 15Q CR-01
Шаровой кран CWX - 15Q CR-01

Управление им не очень удобное, типа AC, он управляется по двум проводам и нам придется инвертировать сигнал. Менять полярности красного и зеленого провода с плюса на минус источника питания AC 9-24V

Вот схема подключения этого крана

CWX - 15Q CR-04
CWX - 15Q CR-04
  • Красный - плюс
  • Зеленый (синий )- минус

Еще раз питание осуществляется постоянным током (DC), а управление переменным током или вернее изменением полярности, вот почему типа АС.

Скажу сразу называется он в программных настройках прошивки ESP Easy как Кран №1 (Kran1)

Установлен на бочке как писалось выше

Автономность по электропитанию

Для обеспечение автономности по электропитанию мы, естественно "выкидываем" блок питания AC 220 в DC 12 вольт и запитываем все это от аккумулятора вот такого (статья на канале: "Купил самый дешевый автомобильный аккумулятор в Ашане за 3т. рублей")

Пульс 6СТ-55VL3(R)
Пульс 6СТ-55VL3(R)

Но! Нужно помнить, что питание модуля ESP -01 от 2,2…3,6вольта, стандартно (обычно) - 3,3 вольта, это важно для (при) подзарядке аккумулятора (пока этого функционала нет, на этот счет будет отдельная статья)

Вот уже подключенный аккумулятор и все в сборе

Аккумулятор установлен в парнике
Аккумулятор установлен в парнике

Для подключения я использую вот такие коннекторы

Разъем питания от аккумулятора или блока питания.
Разъем питания от аккумулятора или блока питания.

Коннекторы "блока питания" типа четырёх контактного разъема Molex (molex 8981), мне так было удобнее и они у меня были, хотя соглашусь что это совсем не влагозащищенное решение. Этот разъем типа "мама" идет от блока питания или от аккумулятора, а модуль ESP который в Ланч боксе подключается соответственно через разъем типа "папа"

Видео которое все это демонстрирует:

Пишем программу (скетч)

Для того чтобы ESP с прошивкой ESP Easy работала нужно написать скетч (статья на канале посвящённая работе с скетчами: "ESP8266 + ESP Easy - делаем будильник. Пишем свои правила (Rules)")

Программная настройка в прошивке ESP Easy выглядит так

Напомню у меня Domoticz работает на роутере TP-Link TL-MR3020 этому посвящена целая серия статей, все они есть в рубрикаторе, там все по разделам: "Страничка путеводитель по каналу TehnoZet-2" На этом же роутере поднят сервер MQTT и связаны ESP 8266 по протоколу MQTT, статья на канале: "MQTT что это такое, установка на роутер, настройка"

В настройках это выглядит вот так

Подключение к серверу MQTT в настройках ESP Easy
Подключение к серверу MQTT в настройках ESP Easy

Напомню, у меня два крана, но тот который мы сейчас рассматриваем называется в прошивке Кран №1 (Kran1)

-16

А вот сами настройки этого окна если нажать на "Edit"

GPIO не указано
GPIO не указано

Как видим GPIO не указана, но как тогда идет управление? Через скетчи. именно там указаны GPIO и не одно, помним что нам приходится инвертировать питание.

Например, сразу после загрузки все краны закрываются это делается во избежание затем путаницы так как положение крана может быть неизвестно.

-18
//После загрузки ESP кран закрыть
On System#Boot do
// Кран №1 закрыт
GPIO,0,1
GPIO,2,0
endon

Ссылка на данный скетч в нормальном, текстовом формате для копирования

А вот правила для закрытия и открытия крана №1

// Правила для открытия и закрытия Крана №1
On Kran1#Output do
// Открыт кран №1
if [Kran1#Output] = 1
GPIO,0,0
GPIO,2,1
// Закрыт кран №1
else
GPIO,0,1
GPIO,2,0
endif
endon
//Конец

Ссылка на данный скетч в нормальном, текстовом формате для копирования.

Объяснение

Кран подключен по двум проводам:

  • Красный - GPIO 2
  • Зеленый (синий) - GPIO 0

Если по MQTT пришла единичка т. е. открыть кран то:

  • на GPIO 0 минус (низкий уровень)
  • на GPIO 2 подается плюс (высокий уровень)

Если по MQTT пришел ноль т. е. закрыть кран то:

  • на GPIO 0 подается плюс (высокий уровень)
  • на GPIO 2 подается минус (низкий уровень)

Автономная работа

Теперь напишем скетч для автономной работы ESP8266

Скетч для автономной работы одного ESP с прошивкой ESP Easy без Domoticza, ESPшка в данном случае будет использоваться как таймер включать и выключать шаровый кран в зависимости от времени (все это работает от автомобильного аккумулятора)

Clock Time

В прошивке ESP Easy есть такая команда Clock#Time она обрабатывается каждую минуту и сравнивает системное время с указанным

Синтаксис следующий Clock#Time = Дни_недели, Часы:Минуты

Где дни недели:

  • All

или

  • Mon - Понедельник
  • Tue - Вторник
  • Wed - Среда
  • Thu - Четверг
  • Fri - Пятница
  • Sat - Суббота
  • Sun - Воскресенье

Можно использовать подстановочные знаки (кроме All, еще и звездочки) в настройках времени, All,**:00, чтобы запускать каждый час.

Например этот скетч будет выполняться каждые пол часа

on Clock#Time=All,**:30 do //будет выполняться каждые пол часа
GPIO,2,1
endon

Или вот так.

On Clock#Time=All,%%)sunrise% do
//будет работать на восходе солнца (также доступен% sunsetwill run at sunrise (%sunset% is also available)
GPIO,2,1
endon

Ниже пример скетча с подробными объяснениями

//Это комментарий
on Clock#Time=All,12:00 do
// Clock#Time это часы при достижении указанного времени произойдет событие в теле данного правила
// В данном случае на GPIO 12 будет подан высокий уровень
GPIO,12,1
endon
// Правило завершилось

Теперь мой рабочий скетч

Работающий скетч включения капельного полива в 21.00 и выключения в 23.50
Работающий скетч включения капельного полива в 21.00 и выключения в 23.50
on Clock#Time=All,21:00 do
GPIO,0,0
GPIO,2,1
endon

Это программа каждый день в 21.00 подаст на GPIO 0 ноль (низкий уровень), а на GPIO 2 единицу (плюсик, высокий уровень), а значит шаровой кран откроется.

А это программа (ниже)

on Clock#Time=All,23:50 do
GPIO,0,1
GPIO,2,0
endon

Сделает все то же самое, но наоборот, тем самым инвертировав питание и все это произойдет в 23.50, а значит шаровой кран закроется.

Суммарно это будет выглядеть так:

// Скетч автономной работы полива
// Включение полива (кран открыт)
on Clock#Time=All,21:00 do
GPIO,0,0
GPIO,2,1
endon
// Выключение полива (кран закрыт)
on Clock#Time=All,23:50 do
GPIO,0,1
GPIO,2,0
endon

Ссылка на данный скетч в нормальном, текстовом формате для копирования.

Конечно мы можем добавить функционала, полив в определённые дни недели и много чего еще, но это будет уже в других статьях, подписывайтесь!

Таким образом ESP8266 будет работать, автономно без Домотикса, единственное для правильной работы нужно получить время с внешнего или со своего сервера времени

На сегодня все, но...

Продолжение, как всегда, следует...

Подписывайтесь на мой канал TehnoZet-2, там много интересного! Мы только развиваемся! Понравилась статья, хотите продолжения - ставьте лайк, жмите палец вверх.

Это статья из раздела Tehnozet-2 на даче/деревне (Страница рубрикатор по теме Tehnozet-2 на даче/деревне). И конечно пользуйтесь глобальным рубрикатором по каналу, там все по разделам: "Страничка путеводитель по каналу TehnoZet-2"

Статьи и видео по данной теме

Статьи

Прошивка ESP Easy

Видео

Тэги

#микроконтроллер

#умнаяпыль

#прополив

#водныймир

#tehnozet-2надачедеревне

#на_дачедеревне

#tehnozet-2отдыхает

#tehnozet-2надаче