Сервер на ESP для управления Gyver лампами и другими устройствами

Shaitan

★★★✩✩✩✩
17 Фев 2020
175
160
Сервер на ESP для управления Gyver лампами и другими устройствами реализован с использованием библиотеки GyverHUB и одноименного приложения.
Сервер умеет по расписанию передавать любые команды на выбранные лампы, отслеживать состояние нулевой лампы-источника и синхронизировать с ней выбранные лампы по выбранным параметрам.

Управление несколькими GyverLamp

gyver_hub_main.jpg guverlamps_setup_alarm.jpg guverlamps_setup_ip.jpg guverlamps_setup_ip1.jpg guverlamps_setup_sends.jpg guverlamps_FS.jpg


В комплекте есть несколько скриптов на Python для возможности загрузить настройки в на ESP-Сервер, и просто поиграться.
все настройки в define.h, включая список эффектов.
 
Изменено:

Shaitan

★★★✩✩✩✩
17 Фев 2020
175
160
Обновлена версия.
Переведено хранение данных из EEPROM в файловую систему, для чего на примере классной библиотеки EEManager написана библиотека FSManager, действующая во тому же принципу.
Добавлена возможность принимать команды с других устройств, например с датчика движения принять P_ON, и передавать их на выбранные лампы/гирлянды с учетом времени и дня недели.
 
Изменено:
  • Лойс +1
Реакции: Олег Поляков

leshko

✩✩✩✩✩✩✩
15 Дек 2019
12
1
Кстати, на ESP было бы интересно сделать пульт для управления лампами. Конечно есть проекты с управлением по ИК. Но так то интересно сделать пульт, работающий через wifi
 

Shaitan

★★★✩✩✩✩
17 Фев 2020
175
160
То есть добавить ИК приемник на сервер управления....
Я думал, но пока не придумал логику управления.... например на пульте кнопка включить.... что будет включать....
можно сделать отдельную обработку, например принял сигнал от пульта, послал на IP адрес команду....
Ведь сервер у меня управляет не только лампами, но и умными розетками и другими устройствами.
Или добавить ИК передатчик, расположив его возле телевизора....
Второе можно сделать в виде отдельного устройства, принимать сигналы с сервера управления, или иметь самостоятельный интерфейс...
 
Изменено:

leshko

✩✩✩✩✩✩✩
15 Дек 2019
12
1
Наоборот, ик не нужен, а сделать отдельный пульт на esp8266 который по Wifi работает. (в смысле сам пульт на лампу отправляет IP/UDP пакеты в зависимости от команды)
Просто мои домашние не любят заходить в приложение, а хотят взять пульт. Хотя бы с самыми простыми командами. Типа включить, выключить, следующий эффект, предыдущий эффект.

ИК конечно хорошо, но не хочется уже лампу дорабатывать.
 

Shaitan

★★★✩✩✩✩
17 Фев 2020
175
160
Обновил версию
Добавил обработку ИК пульта. Любого. Заносить значения можно самому или прямо с пульта.
guverlamps_IR_repeat.jpg
 
Изменено:

Shaitan

★★★✩✩✩✩
17 Фев 2020
175
160
Наоборот, ик не нужен, а сделать отдельный пульт на esp8266 который по Wifi работает
Я понял идею. Коробочка с кнопочками, аккумулятором (напрмер 18650), контроллером заряда, esp8266, которая посылает по WiFi на нужные устройства P_ON, P_OFF ...
Если напрямую - 10 кнопок (A0,D0-D8)
На кнопки можно вешать действия - одиночное нажатие, двойное, тройное.....
В принципе можно взять текущую прошивку сервера, добавить кнопок.... но лучше в отдельный проект, продумав энергопотребление с засыпанием, иначе придется часто подзаряжать.
а далее опросить все кнопки
C++:
  uint8_t clickCount = b_d0.hasClicks() ? b_d0.getClicks() : 0U;
  if (clickCount == 1U) {
    Udp.beginPacket(IP_lamp, ESP_UDP_PORT);
    Udp.write("P_ON");
    Udp.endPacket();
}
Мне кажется взять любой ИК пульт с кучей кнопок будет и дешевле и эстетичнее.
А в нескольких комнатах повесить ИК приемники с esp8266 на стационарном питании.
 
Изменено:

leshko

✩✩✩✩✩✩✩
15 Дек 2019
12
1
Тоже наверное правильно.
Так я немного автоматизировал включение и выключение. У мен на линукс-сервере по крону вызывается питон-скрипт, который вычисляет время заката и вкючает лампы. В 22-20 все лампы выключает. Так стало проще =)