В этой статье мы рассмотрим процесс создания умной светодиодной системы под названием Smart LED. Этот проект основан на микроконтроллере ESP8266 и адресной светодиодной ленте.

Система Smart LED позволит вам не только наслаждаться красивой подсветкой, но и синхронизировать её с музыкой. Вы также сможете управлять системой с помощью голосового ассистента Алиса.

Проект на GitHub

Компоненты

Для создания этого проекта вам понадобятся следующие компоненты:

  • WeMos D1 Mini

  • Адресная светодиодная лента (12v или 5v)

  • PNP транзистор

  • Источник питания (12v или 5v, зависит от ленты, возможна их комбинация)

  • Резисторы (1 kΩ и 3.3 kΩ)

  • Конденсаторы (1µF - 2 шт и 47µF, U не менее 6В)

  • Дополнительно:

    • Кнопки для управления

    • Стабилизатор напряжения (при использовании одного источника питания для 12v ленты и ESP8266)

    • Конденсатор на вход стабилизатора (47µF, U не менее 15В) при использовании стабилизатора

Шаг 1: Подключение компонентов

Для подключения компонентов воспользуйтесь одной из схем, одна из которых представлена на изображении ниже:

Схема с использованием 5v адресной ленты
Схема с использованием 5v адресной ленты

Существуют и другие варианты схем, которые можно найти здесь.

Шаг 2: Настройка MQTT брокера

Вы можете развернуть собственный MQTT брокер, например, на базе Raspberry Pi. В этой статье мы рассмотрим сервис WQTT, который предлагает ряд преимуществ: быструю интеграцию с Алисой, бесплатный пробный период на месяц и доступную стоимость подписки — всего 300 рублей в год.

Первым шагом необходимо зарегистрироваться на сайте.

Далее нужно добавить устройство, которым мы будем управлять с помощью Алисы и настроить его. Для этого нужно перейти на вкладку «Настройки» и нажать на кнопку "Добавить устройство" и выбираем Лампочку. Далее заполняем название и комнату. Потом самое важное: нужно добавить "Органы управления".

Нужно добавить несколько типов органов управления и настроить их "Топики управления" и дополнительные параметры, все они приведены ниже:

Топики состояния заполнять не надо!

Топики управления рекомендуется просто скопировать!

  1. Выключатель питания Топик управления:

    /home/room/led/power

    Команда включения: turnOn Команда включения: turnOff

Должно получиться так
Должно получиться так

Далее подобным способом добавляем остальные "Органы управления"

  1. Регулятор -> Яркость
    Топик управления:

    /home/room/led/brightness

    Множитель: 1
    Мин: 0
    Макс: 100
    Шаг: 1

  2. Настройка цвета -> Цвет - RGB
    Топик управления:

    /home/room/led/color

  3. Переключатель режимов -> Программа
    Топик управления:

    /home/room/led/mode

    Режимы:

    one=one,two=two,three=three,four=four,five=five,six=six,seven=seven,eight=eight,nine=nine,ten=ten

    10 режимов это максимальное кол-во, при желании можно уменьшить.

  4. Переключатель режимов -> Скорость работы
    Топик управления:

    /home/room/led/speed

    Режимы:

    fast=fast,slow=slow,medium=medium,max=max,min=min

По завершению настройки устройство должно выглядеть так:

Устройство должно выглядеть так
Устройство должно выглядеть так

После этого нажимаем на кнопку "Сохранить"

Теперь необходимо настроить мобильное приложение «Умный дом» (Используется для управления станций с Алисой):

  1. Запустите приложение «Умный дом».

  2. Войдите в свою учётную запись Яндекса.

  3. Нажмите на плюсик в правом верхнем углу.

  4. Выберите "Устройство умного дома".

  5. В списке устройств найдите «WQTT.RU» и выберите его.

  6. Нажмите на вкладку «Привязать к Яндексу».

  7. Пройдите верификацию в WQTT (логин и пароль, которые вы указывали при регистрации в WQTT) и подтвердите доступ к аккаунту Яндекс.

По итогу в ваши устройства в приложении должно добавиться новое устройство типа Лампочка.

Новое устройство в приложении типа "Лампочка"
Новое устройство в приложении типа "Лампочка"

Шаг 3: Настройка брокера в коде

Где взять программу?
Код для прошивки микроконтроллера находиться на GitHub или можно загрузить по ссылке

Для настройки брокера и WiFi в директории ColorMusic_WiFi_VSV_Edition откройте файл settings.h.  В нем нужно изменить:

  • ssid - Название Wi-Fi сети

  • password - Пароль от Wi-Fi сети

  • mqtt_server, mqtt_port, mqtt_user, mqtt_password нужно взять с вкладки "Брокер" на WQTT

    • mqtt_server - Адрес

    • mqtt_port - Порт

    • mqtt_user - Пользователь

    • mqtt_password - Пароль

  • led_topic - это топик, который ведёт ко всем настройкам вашей ленты. Если вы следовали инструкции и скопировали все топики управления, то у вас он должен быть "/home/room/led" и изменять его не нужно.

Шаг 4: Настройка режимов и функций

Полный список всех доступных режимов можно найти здесь.

Чтобы изменить доступные режимы, необходимо внести изменения в массив режимов favorites_modes в коде (он находится в файле 01_Settings.ino).

Один режим - массив вида {mode, submode}.

В таблице режимов mode и submode можно найти в первом столбике в формате mode.submode

const byte favorites_modes[][2] = {{1, 2}, {2, 1}, {2, 2}, {2, 4}, {3, 1}, {3, 3}, {4, 6}, {4, 7}, {4, 8}, {4, 9}};

Для примера: Мы хотим установить в качестве первого режима - "Бегающая точка со следами", его номер в таблице - 2.3
Далее мы изменяем первый элемент массива на массив
{2, 3}

const byte favorites_modes[][2] = {{2, 3}, {2, 1}, {2, 2}, {2, 4}, {3, 1}, {3, 3}, {4, 6}, {4, 7}, {4, 8}, {4, 9}};

Шаг 5: Загрузка кода

В коде есть обязательные настройки находятся в файле 01_Settings.ino в разделах «Обязательные настройки» и «Пины». Например NUM_LEDS - количество светодиодов в ленте.

У каждой настройки есть комментарий, объясняющий её использование.

После завершения настройки параметров прошейте микроконтроллер с помощью скомпилированного кода.

Шаг 6: Наслаждайтесь светомузыкой!

Обзор возможностей управления

После завершения настройки в вашем мобильном приложении появится новое устройство с набором настроек:

  • Цвет

  • Программа работы

  • Скорость работы

Вы можете управлять подсветкой как через приложение, так и с помощью Алисы. Вот примеры команд для управления:

  • Включи подсветку

  • Сделай подсветку поярче

  • Сделай подсветку зелёной

  • Установи 7 режим подсветки

Все команды можно найти во вкладке «Голосовые команды» (она находится в самом низу)

Для каждого режима предусмотрены индивидуальные настройки, с которыми можно ознакомиться здесь.

Если вы используете режим, на который влияет цвет (например,«Огонь» под номером 2.4), необходимо сначала задать желаемый цвет, а затем выбрать соответствующий режим. В противном случае, если сначала установить режим, а затем цвет, подсветка будет работать в режиме статичного света.

Если вы подключили кнопки, то можно переключать режимы кнопками UP и Down.

Музыкальные режимы

В музыкальных режимах используется значение для нижнего порога шумов.

Если оставить настройку AUTO_LOW_PASS_ON_START равной 1 по умолчанию, то при первом запуске нижний порог шума будет автоматически рассчитан. Его можно изменить, нажав кнопку ОК. Новое значение будет записано в память и использовано в дальнейшем.

Шаг 7 (Опциональный): Создание печатной платы

Вы можете создать печатную плату для вашего проекта. На сайте можно клонировать проект и изменить плату. Там представлена универсальная плата для одного из источников питания 12V или 5V.

При использовании 12V ленты потребуется источник питания 12V и стабилизатор напряжения.

Заключение

Создание умной светодиодной системы SmartLED с дает возможность не только создавать красочное освещение, но и управлять им через голосового помощника Алису.

Этот проект предлагает гибкую настройку, интеграцию с MQTT брокером и умным домом, что позволяет управлять освещением из приложения или голосовыми командами.

Комментарии (9)


  1. GennPen
    29.04.2024 18:24
    +1

    Схема с использованием 5v адресной ленты

    По вашей схеме адресная лента ничего не будет показывать. Нужно подключать на DIN. Там даже стрелочка показывает направление данных.


    1. vlvsv Автор
      29.04.2024 18:24

      Спасибо за уточнение! Я действительно не обратил внимание нанаправление стрелок. Исправил


  1. Mr_Boshi
    29.04.2024 18:24

    Существует довольно известный проект WLED. Не знаю есть ли интеграция с яндексом, но с Home Assistant точно есть.


    1. vlvsv Автор
      29.04.2024 18:24

      Благодарю за ваш комментарий! Проект WLED не имеет прямой интеграции с сервисами Яндекса.


    1. 2Grey
      29.04.2024 18:24

      WLED отлично управляется Алисой через WQTT.


    1. Be1erafon
      29.04.2024 18:24

      Года 4 пользуюсь wled шьется прямо с сайта, конфигурируется как надо из настроек, очень удобно, подключено все ha. Одно время писал сам подобные прошивки, но не вижу смысла больше в этом.


  1. ColdSUN
    29.04.2024 18:24

    Честно говоря, когда я увидел заголовок, я подумал о прямой интеграции ленты, через matter. А через малину и облако интеграций каких угодно и сколько угодно. Тот же wled можно из ХА в Алису добавить легко.


  1. yoog
    29.04.2024 18:24

    Wled прокидывается из hassio через "яндекс смарт хоум" в нем доступно большинство эффектов, регулировка температуры и яркости


  1. Burjuy11
    29.04.2024 18:24

    Маркировку или параметры транзистора подскажете?