ESP, IoT [Решено] Управление подсветкой ARGB вентиляторов ПК с помощью WLED

mk_sib

✩✩✩✩✩✩✩
5 Янв 2024
4
2
Доброго времени суток!

Имеется внутри компа блевотина единорога пара-тройка вентиляторов с ARGB подсветкой. В настоящий момент они запараллелены и подключены в один выход на материнке, из-за чего каждый вентилятор светится одинаково. Наткнулся на вот этот видос от ребят из SignalRGB, где все светящиеся компоненты по факту представляют собой единое "полотно", чего я и пытаюсь добиться. Существующие хабы и контроллеры от Corsair, Cooler Master и Razer стоят дороговато, а под рукой валяется несколько плат на базе ESP8266, поэтому возникло желание соорудить контроллер своими руками.

В настоящий момент с помощью WLED и его нативной интеграции в SignalRGB удалось добиться только чего-то подобного, когда все светодиоды с вентиляторов представляют собой одну линию, а хочется, чтобы как в видео по первой ссылке, поэтому товарищи, прошу вашей помощи, на тему того как можно эту задачку решить.

На форуме уже задавали вопрос подобного плана и тогда все обошлось в направлении руководства по FastLED, куда отправился и я, однако ничего путного оттуда не вынес.

Еще одним вариантом является вот это, однако, тут используются платы, которых у меня нет и этот вариант я оставил на крайний случай, так как надеюсь обойтись тем, что в наличии.
 

vortigont

★★★★★★✩
24 Апр 2020
1,021
542
Saint-Petersburg, Russia
да вроде всё очень просто - ваши диоды соеденены последовательно в ленту которая имеет определенную форму.
Вам нужно написать код который будет пересчитывать место диодов в ленте в местоположение на "полотне". Все имеющиеся здесь на форуме проекты "огненных ламп" для матриц и гирлянд работают подобным образом.
 

Maxx1200

★✩✩✩✩✩✩
11 Фев 2022
95
19
Вот мне интересно какие адресные светодиоды там используются в этих argb 🤔 ws2812b или SK6812
 

mk_sib

✩✩✩✩✩✩✩
5 Янв 2024
4
2
@Maxx1200, там светодиоды серии WS28xx (на забугорных сайтах где-то прочитал). Всего один пин под данные и напряжение 5В, стало быть там старые добрые WS2812

@vortigont, все, что я смог найти это вот этот видос с канала Dave's Garage,однако, я в проганье не шарю и даже при условии, что я повторю результат с видео, остается непонятным как скрещивать это с освещением остальных компонентов.
 

vortigont

★★★★★★✩
24 Апр 2020
1,021
542
Saint-Petersburg, Russia
@mk_sib, так а вы чего хотите-то в итоге? В проганье вы не шарите, соответсвенно делать сами не будете.
Соответсвенно вам нужно или уже сделанное и бесплатное или что бы кто-то сделал это вам под ключ.
Для первого есть гугл или сформулировать тему в виде вопроса "хочу вот такое бесплатно, если кто знает существующие реализации, дайте ссылки".
Для второго есть тема на форуме "Ищу исполнителя" где вам предстоит соблазнить кого-то своими деньгами. Ну или скорее всего осознать что купить готовое решение от кулермастер будет намного быстрее и дешевле.
 
  • Лойс +1
Реакции: mk_sib и Divin

Divin

★★★✩✩✩✩
30 Янв 2021
443
195
@mk_sib, WLED позволяет разбить ленту на виртуальные сегменты и запускать отдельный эффект для каждого сегмента или один и тот же эффект на всех сегментах одновременно, 8266 поддерживает до 10 сегментов, если больше, то ESP 32, это самый бюджетный вариант, иначе см пост г-на @vortigont.
 
  • Лойс +1
Реакции: mk_sib

mk_sib

✩✩✩✩✩✩✩
5 Янв 2024
4
2
В общем разобрался чего и как. Все оказалось донельзя просто, аж стыдно стало. Оставлю решение тут для будущих поколений.

Суть такая: обзаводимся платой на основе микроконтроллера ESP (можно 8266, но лучше ESP32, так как больше девайсов можно повесить, о чем выше писал @Divin) и устанавливаем на него WLED. Обнаружил еще вот такую плату в дополнение к ESP32 (ссылка на гитхаб с герберами и прочим в посте имеется), которая сильно упрощает подключение вентиляторов к микроконтроллеру и блоку питания ПК. В целом можно состряпать на макетной плате как вот тут.

Каждое устройство должно подключаться к своему коннектору/пину, а в самом WLED для каждого коннектора/пина создаем отдельный сегмент с тем количеством светодиодов, которое имеется на вашем устройстве.

После того как все подключили и запитали включаем комп, открываем/устанавливаем SignalRGB и там лезем в меню "Network". Там листаем в самый низ и открываем WLED. В открывшейся менюшке вводим IP адрес микроконтроллера с WLED и жмем "Discover". После того как ваше устройство появилось в списке жмем "Link".

Дальше лезем в меню "Devices" и там выбираем наше WLED устройство. Открываем меню "Component Config" (вторая иконка, похожая на "Поделиться" под лампочкой). Удаляем "Default Strip" и нажимаем на "Add Component". В открывшемся списке ищем свои компоненты, а в нашем случае - вентиляторы и добавляем по очереди. У меня всего 5 вентиляторов от MSI и Aerocool, первые в списке есть, вторых нет. Для компонентов, которых в списке нет можно выбрать похожие (главное чтобы кол-во светодиодов совпадало) или добавить через скрипт свои в соответствии с этим тутором.

После этого открываем вкладку "Layout" и там настраиваем положение и ориентацию компонентов, чтобы все было красиво в соответствии с этим туториалом и вуаля, все светящиеся компоненты теперь представляют собой единое "полотно", на котором все эффекты, доступные в SignalRGB, отображаются корректно и радуют глаз. И все без проприетарщины и без покупки коробочек от Cooler Master/Razer за 2к - 7к российских тенге.
 
  • Лойс +1
Реакции: vortigont и Maxx1200

freeze1372

✩✩✩✩✩✩✩
17 Май 2022
23
0
сделал так же, но уже 2 вентилятора и 3 ленты. столкнулся с проблемой, есп32 хаотично перезагружается, зависает. сталкивались с таким?
 

mk_sib

✩✩✩✩✩✩✩
5 Янв 2024
4
2
сделал так же, но уже 2 вентилятора и 3 ленты. столкнулся с проблемой, есп32 хаотично перезагружается, зависает. сталкивались с таким?
Во-первых, с Новым Годом вас!

Во-вторых, "ESP перезагружается" это вы имеете в виду, что она прям вырубается? Или она уходит в дефолтный профиль? (по умолчанию просто оранжевым все горит).

Если первое, то тут что-то с питанием связано, мб плата коротит на корпус. Если второе, то ситуация, скорее всего, следующая: ESP получает команды на управления по воздуху от компа, а поскольку ESP лежит внутри большой металлической коробки, коей является корпус ПК, то СВЧ тракт и меандровая антенна модуля на плате не вывозят прием и передачу, поэтому она теряет связь с Wi-Fi сетью и, следовательно, с источником команд управления.

Решается только увеличением мощности принимаемого платой сигнала. Это можно обеспечить разными способами.

Из более реалистичных вариантов:
  • перенос платы поближе к перфорированным элементам корпуса, при наличии таковых;
  • использование внешней антенны и вынос ее за корпус (на некоторых модулях ESP32 предусмотрен соединитель u.FL, кабельные сборки u.FL - SMA и антенны можно на Озоне купить весьма недорого или еще дешевле на Али. Если у вас такого нет, то есть пара вариантов дальше).

Из менее реалистичных вариантов:
  • сокращение расстояния между роутером и ПК;
  • использование Wi-Fi повторителей/второго роутера для усиления Wi-Fi сигнала.
 

Divin

★★★✩✩✩✩
30 Янв 2021
443
195
@mk_sib, есть еще менее реалистичные варианты - свободные выборы и народная демократия, проверено - на 1/7 не работает