Управление уличным освещением на базе ESP-12F (ESP8266) и прошивки ESPEasy.
По совместительству кнопка дверного звонка.
Собрал модуль управления уличным освещением.
Данный контроллер управляет уличным освещением по заданному алгоритму и имеет следующие функции:
Устройство предназначено для питания уличного освещения от автономной системы с напряжением 12 или 24В, но может быть взято за основу системы с сетевым питанием.
В качестве дополнительной функции обрабатывает нажатие кнопки звонка у калитки, по которому система умного дома голосом проговаривает сообщение "Дорогие хозяева, к вам приперлись долгожданные гости" :) Целесообразность последнего недавно была поставлена под вопрос, т.к. иногда вызывает бурю негодования уже пришедших долгожданных, когда приходят новые долгожданные.
Схему можно посмотреть здесь. Ничего особенного она собой не представляет.
Правила для ESPEasy.
on System#Boot do // При загрузке
gpio,16,0
pwm,0,1024
endon
on Lamp1#Switch do // Когда изменилось значение выключателя
gpio,16,[Lamp1#Switch] // Установить выход в новое состояние
endon
on Lamp1#Bright do // Когда изменилось значение регулятора яркости
Let,1,[Lamp1#Bright] // Используем промежуточную переменную, иначе, формула не работает
Let,1,1024-%v1%*10 // Переводим удобоваримое значение яркости 0 - 100% в понятное драйверу 1024 - 0
pwm,0,%v1%
endon
On Clock#Time=All,%sunset% do // Когда солнце село - включить свет ярко
taskvalueset 2,1,1 // Включить светильник
taskvalueset 2,2,100 // %
endon
on Clock#Time=All,00:00 do // Снизить яркость в полночь до дежурного уровня
taskvalueset 2,2,10 // %
endon
On Clock#Time=All,%sunrise% do // Когда солнце встало - выключить свет
taskvalueset 2,1,0
taskvalueset 2,2,0 // %
endon
on BAT#U do // Когда напряжение батареи изменилось
if [BAT#U]<27.5 // и стало меньше 27,5 В - снизить яркость
taskvalueset 2,2,10
endif
if [BAT#U]<26 // если стало меньше 26 В - отключить освещение
taskvalueset 2,1,0
endif
endon
Формула для указанных на схеме номиналов в устройстве BAT %value%/27.867
В MD значения передаются через MQTT, обратное управление пока не сделал.