вопросы можно задать разработчикам в телеграм
Проект представляет себя комнату с потолком, на котором выложен 2D mapping из ленты ws2812 по проекту WLED разделенный на две половины. на полу каждой половины стоят столбы с кнопками для двух команд. Столб подсвечен лентой ws2812 по проекту GyverPanelWifi, у последнего есть крупная ветка на форуме. Оператор комнаты управляет музыкой, светом и игрой из веб странички. Игра по сути это брейнринг, две команды, задается вопрос, кто первый шлепнул по кнопке, у того кнопка засветилась, потолок засветился особо, и команда отвечает на вопрос. Если ответ правильный, оператор(или ведущий) в веб интерфейс дает подтверждение, -мигает победный свет над командой которая отвечала, в веб интерфейсе виден счет между командами. Есть кнопка рекламной паузи и кнопка награждения победителя. Отдельной функцией в веб интерфейсе оператора доступна светомузыка на потолке и кнопках и спокойные эффекты для Relax времяприпровождении. По средние комнаты расположено место с футпринтом ладони из акрила, он тоже немного подсвечен. Если к нему приложить руку, весь свет плавно тухнет в комнате. При удержании руки более 5 секунд, рука становится яркой, общий свет в комнате тухнет до нуля, мигают трижды колонны с игровыми кнопками, после чего резко включается весь свет в комнате происходит фотография комнаты камерой, расположенной рядом с футпринтом руки. Если руку недодержали 5 секунд, подсветка восстанавливается, рука тухнет. Если активирован вариант игры, то:
- запускается эффект перебивки на х секунд
- левая кнопка подсвечена голубым, правая фиолетовым ( задается в настройках ). Ведущий задает вопрос.
- кто первый нажимает на кнопку, у того белая вспышка кнопки и включается эффект огня, дающий возможность отвечать команде.
- теперь оператор выбирает, правильно или не правильно ответили ребята, кесли правильно - запускается яркий эффект на х секунд, после кнопка становится обратно своим цветом
- если нажать "Фанфары" - запускается эффект перебивки на х секунд ( рекламная пауза или отдых от игры). Так же игра сопровождается спец эффектами на потолке, запускающимися параллельно с эффектами кнопок.
В комнате четыре esp32, подключены к роутеру по wifi, как клиенты.
- esp32 192.168.3.201 - web server с веб мордой , из которой можно отправлять сигналы на потолок, на кнопки а так же делать фотографии. Расположена по центру комнаты, подключена к акриловой руке.
- esp32 192.168.3.202 - подсветка потолка , отрабатывает стандартный проект wled, получает http команды от .201
- esp32 192.168.3.203 - Left - левая кнопка с постветкой, основана на форке проекта GyverLamp который называется GyverPanelWifi получает UDP команды от .201
- esp32 192.168.3.204 - Right- правая кнопка, по аналогии с левой.
API кнопок, основанных на GyverPanel Сервер отправляет UDP пакет кнопкам. Пакет начинается $ заканчивается ; Примеры пакетов:
- $16 0; - ручной режим смены эффектов ( всегда активируем);
- $6 7|BR|EF|SS|SE запрос параметров от устройства BR - яроксть EF - id эффекта SS - параметр #1 эффекта SE - скорость эффекта
- $4 0 D; установить текущий уровень общей яркости
D - яркость в диапазоне 1..255 - $8 0 N; - включить эффект N
- $8 1 N D; - D -> параметр #1 для эффекта N;
- $8 6 N D; - D -> контрастность эффекта N;
- $8 8 N D; - D -> скорость эффекта N;
- $14 0; - Черный экран (выкл);
- $14 1; - Белый экран (освещение);
- $14 2; - Цветной экран;
- $14 3; - Огонь;
- $14 4; - Конфетти;
- $14 5; - Радуга;
- $14 6; - Матрица;
- $14 7; - Светлячки;
Кнопки отправляют серверу UDP сигнал о нажатии:
- =button203 - для нажатия левой кнопки 192.168.3.203
- =button204 - для нажатия правой кнопки 192.168.3.204
API потолка, основанного на WLED примтивный GET или расширенный POST json Для простых переключений формируем GET запрос , к примеру 192.168.3.202/win&A=255 еще варианты:
- &A= 0 to 255 Master brightness
- &A=~30 увеличить яркость на 30
- &A=~-20 уменьшить яркость на 20
- &T= 0, 1, or 2 Master Off/On/Toggle
- &PL= 1 установить пресет #1
- &P1=1&P2=3&PL=~ каждый очередной вызов будет переключаться на следующий эффект из списка Р1-Р2 ( для дискотеки можно)
- &FX= 0 to 101 LED Effect Index
- &SX= 0 to 255 Effect Speed
- &IX= 0 to 255 Effect Intensity
- &ND Toggles nightlight on but uses default duration
- лента ws2812 - GPIO2
- touch pin РУКА - GPIO13
фотокамера через опторазвязки - Вспышка - GPIO32
- фокусировка - GPIO32
- затвор - GPIO25
В преднастройках прошивки Gyver контроллера уже выбран правый вариант, по сути он является обычной намоткой ленты вокруг трубы змейкой.
А в web интервейсе контроллера WLED в настройках выбран маппинг по левой схеме - змейкой, что соответствует монтажу на потолке.
На потолке ленты должны составить маппинг, для этого в каждой жирной дуге, выделенной цветом, должно быть одинаковое количество светодиодов. остальные светодиоды, указанные тонкой линией для подводки к контроллеру, будут выключены и определены в настройках WLED как оффсет.
Переходим на сайт прошивки В выпадающем списке Board type\software version выбираем
Sound reactive version: Nightly build (build ver 0.13.4 )
ESP32(4MB Flsah:....... disabled, no Usermods included)
, жмем синюю кнопку I agree , подключаем esp32 контроллер с зажатой кнопкой BOOT на контроллере к гнезду USB в компьютере , жмем синюю Install. Разрешаем браузеру всплывающие окна. Открывается всплывающее окно, в нем , выбираем usb COM порт нашего контроллера Подключено устройство: .... , жмакаем - подключить, и перепрошить. По окончанию будет предложено ввести вайфай сеть. , вводим, в этом окне будет указан айпишник контроллера в вайфай сети , идем в новую вкладку в раузере вводим айпишник, попадаем в веб интерфейс WLED
В веб интерфейсе контроллера идем в настройки и прописываем жостко параметры сети: 192.168.3.202 192.168.3.1 255.255.255.0 192.168.3.1 нажимаем Save, контроллер переподключится по новому адресу. Если нет - отключаем питание и подаем снова. Заходим в браузере на 192.168.3.202 Вкладка Segments - Segment 0 - переименовываем в LEFT - в раскрывающемся списке выбираем левую часть потолка по координатам x, y, сохраняем. ниже Add Segment - его так же переименовываем в RIGHT - в раскрывающемся списке выбираем правую часть потолка, сохраняем. Создаем пресеты. Делаем так чтобы иконки "часики" и галочки были над LEFT и RIGHT сегментами вкладка Colors выбираем во втором ползунке температуру белого цвета, комфортную для помещения вкладка Effects - Candle Multi - настраиваем ползунками так чтобы весь потолок светился достаточно ярко для проведения игры, и эффект мерцания свечей был не сильно раздражающим вкладка Presets - выбираем '+ Preset' - название: White Light - quick load label: O первых три галочки стоят, четвертую не надо - save to ID: 31 -- Save Здесь важно какой ID мы будем задавать. игра будет отрабатывать по этим айдишникам. Сейчас мы создали общее освещение во время игры.
Кнопка подключина к пинам 18, 19 светодиодная лента ws2812 к пину 2
качаем репозиторий. Добавляем библиотеки: открываем папку проекта
Brain_Ring-/left_right_buttons/GyverPanelWiFi-master/libraries/
отсюда все папки качаем в папку
Документы\Arduino\libraries
Готово. Теперь открываем в проекте папку
Brain_Ring-/left_right_buttons/GyverPanelWiFi-master/firmware/GyverPanelWiFi_v1.13
/
в среде Arduino запускаем файл GyverPanelWiFi_v1.13.ino
переходим на вкладку a_def_soft.h
здесь нужно изменить пару настроек. Для начала определимся с понятиями: у нас будет левая кнопка называться "203" правая "204". можно будет добавлять еще кнопки 205, 206 и т.д.
Названия кнопок соответствуют их айпишникам в вайфай сети.
во вкладке a_def_soft.h находим 29 строчку:
#define DEFAULT_IP {192, 168, 3, 203} // Сетевой адрес устройства по умолчанию
тут айпишник для 203й кнопки - 192, 168, 3, 203, т.е. ничего менять не надо.
для 204й кнопки меняем последнее число: 192, 168, 3, 204
для 205й кнопки будет 205 и т.д.
Далее, строчка 32:
char udpBrainRingButt[11] = "=button203";
так же для 204й кнопки делаем = "=button204";
Сохраняемся, подключаем контроллер esp32 - прошиваем.
в бемню web интерфейса вкладка точка . внизу - Тонкие настройки. Тут можно задать соответствия эффектов игре. Суть в том что в гайверкнопках эффекты уже жостко вшиты, нам только надо выбрать какой именно когда играет. В то же времяв wled потолке каждый эффект сначала надо прописать в интерфейсе контроллера потолка 192.168.3.202 а только потом задавать в основном сервере 192.168.3.201 соответствие эффектов wled состояниям игры.
Используется для воспроизведения звуков во время игры или конкурсов. Общается через API по HTTP запросам пример запроса воспроизведения трека номер(начиная с четвертого по идее) http://192.168.3.210:8080/requests/playlist.xml?command=pl_play&id=3
Настройка на стороне компьютера, воспроизводящего медиа
-
Устанавливаем VLC, открываем:
Инструменты - Настройки - галочка "Все"(внизу слева) - Основные интерфейсы - галочка над Web.
Основные интерфейсы - Lua - HTTP - Пароль: 123456789123456789
Инструменты - Настройки - Все - установить галочку: Воспроизвести и остановить -
Устанавливаем статический айпишник 192.168.3.210
Win + R
ncpa.cpl
Enter
находим сетевое подключение которое подключено к сети Showmix
п.к.м. - Отключить
п.к.м. - Свойства - IP версии 4 - Свойства -
Использовать следующий адрес
192.168.3.210
255.255.255.0
192.168.3.1
192.168.3.1
8.8.8.8
Ок - Зактрыть
п.к.м. включить
Нужно быть аккуратным с VLC плеером. Если ты удалил песни из плейлиста или открыл другой плейлист или даже закрыл и снова открыл тот же самый плейлист, нарушается порядок следования песен и соответственно - соответствие воспроизводимых песен с удаленными командами. Поэтому если были открыты какие либо песни а потом вы хотите запустить игру, нудно не просто закрыть песни и открыть нужный плейлист, а закрыть полностью VLC, открыть по новой и только потом добавлять плейлист с игровыми звуками.
Порядок следования песен: первая песня - пустой звук ( так уж вышло), вторая-седьмая на выбор нажатий для команд,восьмая - старт,девятая - правильный овтет, 10 - фанфары, 11 - победа. id шники треков для песен:
- 4-9 нажатия на кнопку
- 10 старт
- 11 Правильно ответили
- 12 фанфары
- 13 победа
- 14 ... 19 запускается с удаленного пульта на айпишнике 3.209
Пульт представляет из себя отдельную esp32 плату с 6ю кнопоками ( можно и больше) которые по вайфаю активируют в VLC плеере треки № 14-19
Кнопки подключаются к пинам 4,5,16,17,18,19