Добавляем интерактив в гирлянду WLED

19 ноября 2020, 10:34

Предистория

Недавно на портале были две статьи про умную гирлянду на светодиодах WS2812 и ESP8266 (первая, вторая). У меня такая гирлянда уже лет 5 радует глаз, но была сделана на ардуине, и эффекты были из библиотеки FastLED, ну и часть была написана самим. Решил добавить ума и переделал на ESP8266 и прошивку WLED. По сравнению с тем, что было, это конечно, небо и земля. Эффектов больше, управление со смартфона, интеграция в Home assistant. В общем, радует. На этом решил не останавливаться и затеял добавление функции цветомузыки. 

В детстве это было очень популярное веяние "цветомузыка". Тиристоры КУ202Н, лампочки, покрашенные цветным лаком, деревянный ящик, закрытый матовым оргстеклом... эх, ностальгия. Знал бы тогда, на какой уровень теперь это все выходит.

Техника

Про то, что такое WLED, как прошивать и как собрать - я повторять не буду. Есть целых две статьи (первая, вторая), в которых все отлично расписано и добавить к этому нечего.

Моя статья будет продолжением к ним. Прошивка WLED имеет возможность управления по сети разными протоколами. Есть такая библиотека LedFx, которая как раз и умеет управлять лентой WLED.

LedFx - это сетевой контроллер светодиодных эффектов с поддержкой расширенных звуковых эффектов в реальном времени! LedFx отлично работает с ESP8266, причем можно подключить несколько и синхронизировать эффекты по всему дому!

Для связи с нашей гирляндой будет использоваться протокол E1.31 sACN.

Софт

Для начала работы с Windows разработчик настоятельно рекомендует использовать Anaconda, чтобы упростить установку компонентов Python. Так и поступим. Скачиваем, запускаем установку. В результате у нас появляется командная строка Anaconda.

Скачиваем, запускаем установку. В результате, у нас появляется командная строка Anaconda. Мне кажется, это излишне, и можно запустить и в чистом Python. Как-нибудь попробую. 
Также следующий шаг, который настоятельно рекомендован - это создание виртуальной среды conda. 

1600x_image.png?1605711453
conda create -n ledfx
conda activate ledfx

И уже внутри этой среды устанавливаем LedFX и все зависимости, используя pip и менеджер пакетов conda.

conda config --add channels conda-forge
conda install aubio portaudio pywin32
conda install -c anaconda pyaudio
conda install -c anaconda portaudio
pip install ledfx

Вот тут меня ожидал неприятный сюрприз. Установка компонента Pyaudio завершилась ошибкой:
The following specifications were found to be incompatible with your CUDA driver 
Не нравился ей компонент CUDA со своей версией. Дальнейшая установка с игнорированием этой ошибки ни к чему не привела. Обращаемся к дяде Гуглу. И видим, что такая проблема часто возникает и способов решения множество, но почему-то не получается.  

1600x_image.png?1605711453
Стал читать внимательно сообщения об ошибках. Увидел, что ругается на старую версию окружения. 

1600x_image.png?1605711452
ОК, обновляем.  

1600x_image.png?1605711455
Опять ошибка, но уже не ругается на версию CUDA. Нашел, что возможно, не работает на новой версии Python.

1600x_image.png?1605711455
Проводим даунгрейд с версии 3.9 до версии 3.7.
О чудо!!! Дальше устанавливаем Pyaudio, все прошло, ну и соответственно, ставим LedFx.

Дальше запускаем с опцией open-ui, для работы через дашбоард в браузере:

ledfx --open-ui

В консоли выводит адрес дашбоарда, у меня браузер сам открылся на этой странице. 

Заходим в дашбоард, идем в меню Device managment. Нажимаем в правом нижнем углу плюсик, и в открывшемся меню вводим тип нашего устройства е131, дальше вводим название нашей гирлянды, IP адрес, количество светодиодов. Нажимаем принять. В списке устройств появилась наша гирлянда. Не знаю, у кого как будет, у меня законнектился не сразу. 

1600x_image.png?1605711453

Заходим в меню нашего устройства, здесь можно включить эффект, и выбрать из списка. Не все эффекты интерактивны, они помечены как (Reactive). Для каждого эффекта масса разных параметров. Удобный график визуализации эффектов. Гирлянда повторяет все эффекты. Работает только с микрофоном или линейным входом. Внутренние системные звуки не воспринимает. Это не баг, а фича, на данный момент.

Так как приложение написано на Python, соответственно, можно установить на любые платформы. На гитхабе описаны процедуры и для Линуха, и для Макоси. 

Небольшая демонстрация работы LedFx на видео:


Все новости мира умных домов - t.me/SprutAI_News или Instagram
Остались вопросы? Мы в Telegram - @SprutAI

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. Дмитрий Батюшин (ReD)
    Дмитрий Батюшин (ReD) отредактировано 7 дней назад

    Отличное продолжение =) добавлю в свою статью ссылочку 

  2. Ильмир Гайнутдинов (Gelmer)
    Ильмир Гайнутдинов (Gelmer) отредактировано 7 дней назад

    Ковырялся у них на Гитхабе и нашел что есть установщик Windows

    Так что моя статья несколько потеряла актуальность ))

    Правда я этот установщик еще не проверил.

  3. Валентин Новаковский  (Valnov)

    Лежит у меня WLED самоделочка. Уже не включаю, приелась. Уже думал как сделать из неё цветомузыку. И тут эта статья. Ничего не понял, но буду перечитывать разбираться.

  4. Ильмир Гайнутдинов (Gelmer)

    Мне тоже пришла ленточка на проводках.

    Также валялся старый пульт с какой то китайской ленты, купленной в фикспрайсе. Прикрутил фотоприемник, управляет.

    Видео

К списку статей

Устройства в материале

ESP8266 NodeMcu v3

Производитель: Espressif Systems
Заказать на:
JD

Скидки для сообщества

Ноотехника

+375 17 233-25-45
Промокод:
Sprut
Размер скидки:
10%
Действует у всех официальных представителей. Для применение необходимо указать в поле комментария или при звонке менеджеру.

Интернет-магазин yourhomekit.ru

+7 914 550-51-11
Промокод:
SPRUT-BLG
Размер скидки:
8%
Cамый большой ассортимент в России аксессуаров Apple HomeKit

Тематические чаты

Похожие статьи

17 декабря 2019, 17:49
Универсальный привод для автоматического удаленного открытия окон с простой интеграцией в умные дома.
04 сентября 2018, 12:14
Интеграция RGB ленты на ESP8266 с прошивкой tasmota в систему HomeBridge (HomeKit)
02 ноября 2018, 12:14
Кнопка звонка с уведомлениями в HomeKit
15 октября 2018, 09:05
Прошивка для Sonoff c нативным HomeKit
27 октября 2018, 12:20
Нативный Термостат для котла на ESP8266 с поддержкой Apple HomeKit
15 ноября 2018, 13:11
Xiaomi Mi Remote 360 добавляем Apple HomeKit
01 октября 2018, 07:43
Нативный HomeKit на ESP8266
30 августа 2019, 07:28
Несколько нетривиальных способов использования датчика открытия окон/дверей от Xiaomi/Aqara.
02 июля 2020, 07:24
Я хочу поделиться своей разработкой: "умным открывателем пластикового окна". В статье вы найдете все необходимое, чтобы повторить проект и изготовить собственный привод для открывания окна с использованием штатной фурнитуры окна.
28 августа 2018, 09:48
От голого Raspbian до веб-интерфейса homebridge за четыре команды в терминале.