Рейтинг статьи: 4.333/5 (6 голосов).
Данное решение по созданию умного дома, в котором устройства общаются друг с другом без центрального сервера.Спонсор этой страницы:
Предыстория
При увеличении количества умных устройств, а так же множества разных гирлянд был создан Модуль управления несколькими Gyver лампами, который перерос в модульный проект, названный мной Умный сетевой хаос дом (Smart Network Сhaos Home - SNСH).Принцип построения
Есть множество разрозненных элементов дома на базе ESP01,ESP8266... к которым подключены разные элементы, как принимающие сигналы (кнопки, датчики движения, датчики температуры и т.д.), так и реагирующие на сигналы (реле, светодиодная подсветка).И это множество ESP общаются друг с другом.
Для примера одна ESP может снять сигнал с датчика движения, передать его другим ESP по IP а другие ESP включат подсветку по ходу движения или выберут эффект на гирлянде...
Причем в условиях можно учитывать время и день недели.
Для этого в модуле принимающим решения пишется команда, и указывается на какой IP, или модуль ее передавать.
Управление со смартфона и компьютера
Для управления используются библиотека Алекса Гайвера GyverHubНа компьютере управление через сайт http://hub.gyver.ru/
Модули
Модули, принимающие решения
module_Alarm.ino Будильник, он же планировщикmodule_SR501.ino Датчик движения, он же выключатель постоянного действия
module_IR.ino Прием сигнала с ИК пульта
module_RX433.ino Прием сигнала с 433 пульта
module_DHT22.ino Датчик температуры и влажности
Модули, выполняющие решения
module_G220.ino Управление релеmodule_PWM.ino Управления ШИМ сигналом
module_WS2812
module_WS2812_1D.ino Управление адресной светодиодной лентой
module_WS2812_2D.ino Управление адресной светодиодной матрицей
module_DFPlayer.ino Управление MP3 DFPlayer
module_TX433.ino Передача кода сигнала 433.
module_TX_IR.ino IR Transiver. Передача кода ИК сигнала.
Модули, изменяющие решения
module_Timer.ino Таймерmodule_GyverLamp.ino Синхронизация Gyver ламп
Подключение/отключение модулей
Подключение / настройка в файле define.hСценарии
Сценарий с включением реле ESP-01S в зависимости от яркости подсветки ESP8266Сценарий с включением подсветки от датчика движения с учетом времени дня и с возможностью включить ее с пульта
Сценарий включения матрицы WS2812 на одной ESP с помощью ИК пульта на другой ESP
Прошивка Download
Текущая прошивка 09.08.2024
network_smart_chaos_home_v2.zip
Обновление прошивки по сети
Компилируем прошивку в BIN файл и в меню устройства выбираем OTA FILE / FLASHp.s. Для ESP-01 может не хватить места.
Добавление HTTP
в файле _chous_home_.ino перед подключением библиотеки GyverHub.h
//#define GH_INCLUDE_PORTAL // включить сайт в память программы, ~50кБ (не нужно загружать файлы в память) (для esp)
#define GH_FILE_PORTAL // включить сайт c flash памяти папка /hub/
#include <GyverHub.h>
p.s. Для ESP-01 может не хватить места на flash. Укажите при компиляции Flash size: хотя бы 256
Переменные и простые выражения
При передаче параметров пожно использовать переменные и простые математические выражения.Встроенные переменные
HH - ЧасыMM - Минуты
DY - День недели
RND,0,10 - Случайное число от 0 до 10
RND,10,50 - Случайное число от 10 до 50
RND не поддерживает матемтические выражения
Модульные переменные
H - ВлажностьT - Температура
EFF - Текущий эффект
BRI, SPD, SCA - Яркость, скорость, масштаб
CLR - Текущий цвет по vhs
VOL - Текущая громкость
SR501 - состояние дотчика движения (0/1)
PWM - Текущее значение первого в списке ШИМ сигнала
Порядок действий в выражениях
1) Подставляются значения переменных2) Считается RND
3) Расчитывются условия >, < , = (результат 0 или 1)
4) Считается % - остаток от деления
5) Выполняются умножение и деление
6) Выполняются сложение и вычитание
Примеры
Для кнопок ИК пульта для изменения яркости можно использоватьBRI BRI+BRI>50*5+1 для увеличения яркости
BRI BRI-BRI>50*5-1 для уменьшения яркости
Задать цвет от синего до красного в зависимости от температуры от 10 до 60
CLR 135+T*2
при температуре 60 цвет будет 255 - красный, а при температуре 80 - 295 - или 40 уже получится оранжевый.
Изменения в прошивке
04.02.2024
Стартовая версия.05.02.2024
в модули rele,шим,sr501 добавлен дополнительный ответ на GETPWM 0 IS 1023
SR501 IS ON
RELE 0 IS OFF
для использования в модуле Timer
10.02.2024
в модуле module_WS2812_1D.ino добавлено количество эффектов.17.02.2024
Добавлен модуль матрицы module_WS2812_2D.ino. В модуле Таймера добавлено условие периода времени выполнения команд.19.02.2024
В модуле module_WS2812_1D.ino добавлено количество эффектов.24.02.2024
Добавление модуля управления MP3 DFPlayer.16.03.2024
Переход на новую версию GyverGub.Добавлена возможность использовать переменные времени и текущего состояния.
Для примера можно задать яркость в зависимости от времени.
BRI MM*4+10
BRI BRI-5
Добавился доступ по HTTP.
14.04.2024
Исправлены ошибкиДобавил возможность перевода формулы в значение до отсылки команды (для совместимости с GyverLamp)
например
команда EFF RND,2,30 отсылает EFF RND,2,30 и модуль сам распознает, что ему прислали.
команда EFF %d@RND,2,30 высчитывает значение RND,2,30, (например получилось 15) и отсылает EFF 15
знак @ - это разделитель. перед ним команда. Вместо %d подставится значение формулы после знака @
Яркость утром в зависимости от минут, чем позже, тем ярче:
для устройств chaos_home
BRI ММ*4
BRI %d@ММ*4
для устройств Gyver Lamp
BRI %d@ММ*4
Яркость вечером в зависимости от минут, чем позже, тем темнее:
для устройств chaos_home
BRI 250-ММ*4
BRI %d@250-ММ*4
для устройств Gyver Lamp
BRI %d@250-ММ*4
20.04.2024
Добавлена передача состояния основных переключателей, слайдеров, температуры, влажности, движения на mqtt сервер.21.04.2024
Оптимизорован алгоритм общения модулей с mqtt сервером28.04.2024
Доработан модуль module_WS2812_2D.inoДобавлена возможность рисования на матрице.
Добавлена возможность выбора цвета у Алисы.
29.04.2024
Для корректной связки mqtt - элемент необходимо хотя бы раз создать его в bilder.Например, для обращения к Color надо хотя бы раз зайти в меню, где есть Color.
Основные элементы управления WS2811_D2 вынес на главный пульт, что бы все элементы, к которым обращается Алиса, создавались после перезапуска сразу.
01.05.2024
Рисование вынесено в отдельный пункт меню.в define.h добавилась команда
#define WS2812_PAINT "?"
К рисованю добавиласть возможность сохранение в 24-хбитный BMP файл, просмотр и удаление файлов.
Добавилось 3 новыйх эффекта:
Нексус
Иcтoчник
Рисунки - Просмотр по циклу рисунков BMP.
p.s. Рисунки должны быть 24-битными и не более 25 по ширине.
06.05.2024
Добавлен эффект "Одуванчики"Добавлена настройка режима "Рассвет"
Для связи с Алисой скорость перенесена на главный "Pult"
16.06.2024
Добавлен эффект "Рыбки"Добавлены виртуальные умные кнопки для управления устройствами Алисы, не являющиеся устройствами хаос дома.
23.07.2024
Исправлена ошибка, когда esp запускается до загрузки WiFi модема и уходит в портал.Добавлена работа с радиопультами 433, модуль приемника и модуль передатчика.
09.08.2024
Проект адаптирован под ESP32.11.08.2024
Испралены ошибки, вызывающие crash на ESP32.Добавлен module_TX_IR.ino IR Transiver для передача ИК сигнала на приемник, например телевизор.
мзменения в define.h
#define str_modul "⚡;☵;🌈;⏱;🔊;➿;⭕"
#define hlp_modul "Модули - Реле ШИМ WS2812 Timer MP3 TX_433 TX_IR"
//--------------------------------------------------------
// модуль module_TX_IR.ino
// #define TX_IR_PIN (14) // GPIO14
Обсуждение на форуме
https://community.alexgyver.ruДополнительные материалы
Умный сетевой хаос дом аппаратура Android Arduino Программирование
Комментариев нет. Станьте первым!