Статья

Система WLED. Управление умными гирляндами и лампами на адресных светодиодах и не только.

Есть такая система WLED. Это многофункциональный веб сервер на ESP8266 или ESP32, который позволяет управлять различными светильниками и гирляндами на основе адресных светодиодов. Надо отметить что обычными светодиодами тоже управляет посредством ШИМ. Многие пользуются этой системой, при этом практически ее не зная. На нашем портале есть несколько статей по этой теме: например несколько статей от ReD, статья от Kvazis. Проблема в отсутствии русскоязычного руководства пользователя. Данную проблему я решил исправить, буду писать руководство на основе англоязычного ресурса, ну и со своим богатым опытом в этой теме. Тема очень обширная, поэтому планирую не одну статью, а целый цикл.

Особенности системы:

  • Интегрирована библиотека WS2812FX для более чем 100 спецэффектов.
  • Шумовые эффекты FastLED и 50 палитр
  • Современный пользовательский интерфейс с элементами управления цветом, эффектами и сегментами
  • Сегменты для установки различных эффектов и цветов для частей светильников и гирлянд
  • Страница настроек — конфигурация по сети
  • Режим точки доступа и станции — автоматическая отказоустойчивая точка доступа
  • Подключение до 3 каналов лент на экземпляр  ESP8266 и 10 каналов на экземпляр ESP32
  • Поддержка полос RGBW
  • До 250 пользовательских пресетов для удобного сохранения и загрузки цветов/эффектов с поддержкой циклического переключения между ними.
  • Предустановки можно использовать для автоматического выполнения вызовов API.
  • Функция ночного освещения (постепенно тускнеет)
  • Полная возможность обновления программного обеспечения OTA (HTTP + ArduinoOTA), защита паролем
  • Настраиваемые аналоговые часы 
  • Настраиваемый предел автоматической яркости для более безопасной работы
  • Конфигурация на основе файловой системы для упрощения резервного копирования пресетов и настроек
  • Интеграция с сервером Home assistant

 Поддерживаемые интерфейсы управления освещением

 Начало работы

Я буду в примерах указывать светодиодную ленту. Выбираем нужный контроллер, например Wemos D1 mini. Подключаем к нему ленту, обычно рекомендуют GPIO2, на данной плате он обозначен как D4. При этом если у вас расстояние между ESP и лентой небольшое, то схема заработает сразу. При большей длине, может понадобиться конвертер уровней. Если не хотите задумываться об аппаратной части то лучше использовать готовое решение: GLED одноканальный на основе ESP8266, или GLED 4 ch четырехканальный на основе ESP32. Про них была статья.

При подключении надо учитывать и потребление ленты, при длине более 5 метров ленты питание необходимо подводить с обоих концов ленты. Это исключит неравномерность свечения ленты из за падения напряжения. При этом надо использовать качественные источники питания, по меньшей мере с 1,5 кратным запасом по мощности.

Если лента WS2801 или APA102 то она подключается к двум выводам: синхронизации и данных. Ленты с обычными светодиодами подключаются через силовые mosfet транзисторы.

Если используется Wemos или другой контроллер, то необходимо скачать прошивку, и залить ее в контроллер. Способов много, я не буду подробно на этом останавливаться. Если берется GLED, то он прошит из коробки. При включении питания прошитая плата поднимает точку доступа WLED-AP, необходимо к ней подключиться с паролем wled1234, ну или отсканировав QR код: 

Перейдите по адресу 4.3.2.1, ну или wled.me в вашем браузере. Откроется стартовая страница.
Причем интерфейс есть для мобильного устройства и для экрана компьютера. Они немного различаются. Различия в том что в мобильной версии есть 4 экрана которые переключаются закладками, в PC версии, все 4 страницы на одном экране.

Дальше я, для удобства, буду показывать скрины с компьютера.

Выбираем пункт Config и дальше переходим в пункт WiFi Setup

На данной вкладке вводим параметры своей сети: имя точки доступа, пароль, IP адрес при необходимости, адрес роутера, маску подсети. Так же на этой вкладке можно задать имя mDNS. Дальше идет IP адрес полученный устройством.Ниже в этой вкладке есть пункты настройки точки доступа. Можно задать свои имя и пароль, канал на котором она будет вещаться, и режим запуска точки доступа (запуск при отсутствии соединения при загрузке, отвал от сети, всегда включена, и выключена). В последних прошивках добавлена экспериментальная функция: Отключение спящего режима WiFi. При этом указано, что если нет проблем с подключением к сети, то лучше этот флажок не выставлять.После того как задали свои параметры нажимаем кнопку Save & Connect, при этом девайс перезагружается, и подключается к Вашей сети.

Дальше можно воспользоваться приложением на телефоне, или по адресу в браузере. Приложение на телефоне фактически открывает веб интерфейс. В приложении могут быть подключены несколько устройств, на начальном экране видно подключенные устройства.

При нажатии на плюсик в правом верхнем углу, мы попадаем в меню подключения устройств. Есть функция автопоиска. Нажимаем кнопку Discover lights... при успехе ниже появляется надпись Found WLED!  Так же можно ввести параметры устройства вручную. Затем нажимаем галочку, и устройство добавляется на главном экране. В левом верхнем углу значок корзины, с его помощью можно удалить ненужные девайсы. С этого экрана можно включать и выключать ленту, а так же регулировать яркость. При нажатии на девайс, проваливаемся в основное меню, показанное выше.

Для начала я рекомендую зайти в настройки LED preferences. На скриншоте видна часть отвечающая за настройки порта ленты. Выше я приводил в пример подключение ленты к порту GPIO2, количество светодиодов 50, тип WS281x, световая схема GRB. Так же здесь можно задать инверсию ленты, и начало не с первого светодиода. При этом начальные светодиоды светиться не будут, а просто будут ретранслировать сигнал дальше. Если вы подключаете несколько лент, то нажимаем плюсик ниже, и задаем нужные параметры. 

Ленты не обязательно должны быть одного типа. Я подключал одновременно ленту WS2801, WS2812 и SK6812. Все нормально работают одновременно.

Так же на этой странице можно задать общий максимальный ток всей ленты, ток и напряжение питания отдельного светодиода. Ниже есть индикатор занятой памяти светодиодами.

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

  • Make a segment for each output -- Если у вас подключено несколько лент, то можно задать для каждой отдельный сегмент
  • Custom bus start indices -- Пользовательские индексы шины (честно говоря пока не понял что это за параметр)
  • Use global LED buffer -- использовать глобальный буфер для светодиодов
  • Color order override -- переопределение порядка цветов на отдельных участках. При нажатии на плюсик открываются новые пункты: Стартовый светодиод, количество, цветовая схема

Дополнительные входы:

  • Button 0 и Button 1 -- задаем GPIO и функцию входа (Без функции, Кнопка, Инверсная кнопка, Переключатель, Датчик движения, Датчик касания, Аналоговый вход, Инверсный аналоговый вход)
Подключенная кнопка по умолчанию включает и выключает устройство. Остальные функции можно определить с помощью макросов, рассмотрим это подробнее в одной из следующих статей.
  • Disable interval pull-up/down -- Отключение внутренних подтягивающих резисторов
  • Touch treshold -- Чувствительность датчика касания
  • IR GPIO -- Порт инфракрасного приемника, можно задать тип пульта
  • Apply IR change to main segment only -- Управление пультом только основного сегмента
У меня лежал пульт от какой-то старой китайской гирлянды на 24 кнопки, самой гирлянды давно уже нет. Подключил ИК приемник, задал параметры в настройках, и пульт заработал сразу, никаких танцев с бубнами.
  • Relay GPIO -- Порт реле, для отключения питания ленты
При программном выключении ленты, светодиоды потребляют около 1 мА. При значительном количестве светодиодов, потребление ленты в дежурном режиме может достигать значительных величин. В таком случае можно подключить реле на линии питания ленты. Реле будет автоматически отключать питание ленты, снижая общее потребление.

Настройки при включении:

  • Turn LEDs on after power up/reset -- Выбираем должен ли свет включаться после включения питания или сброса
  • Default brightness -- Яркость, при  включении
  • Apply preset at boot -- При установке этого параметра больше 0, выбирается пресет из памяти, который включится при загрузке девайса
  • Use Gamma correction for color -- Использование гамма коррекции для цвета. (Настоятельно рекомендуется)
  • Use Gamma correction for brightness -- Использование гамма коррекции яркости. (Не рекомендуется)
  • Brightness factor -- Фактор яркости (Не знаю что это)

Плавный переход:

  • Crossfade -- Включение плавного переходного эффекта затухания при изменении цветов/яркости
  • Transition time -- Сколько миллисекунд длится переход
  • Enable Palette transitions -- Включить переходы для палитр 

Режим ночника:

  • Default duration -- Время изменения ночника
  • Default target brightness -- Яркость по истечении времени ночника
  • Mode -- Режим (Ожидание установки, Затухание, Затухание цвета, Рассет)

Регулировка белого:

  • White balance correction -- Коррекция баланса белого

Расширенные:

  • Palette blending -- Режим смешивания палитры
  • Target refresh rate -- Скорость обновления (кадры в секунду)
  • Config template -- Загрузка файла с параметрами

Как видим только в одном пункте меню масса параметров, для большинства применений все эти параметры ни к чему. Я и сам мало чем пользуюсь. В следующих статьях подробно рассмотрим пресеты, синхронизацию нескольких устройств. Отдельной статьей рассмотрим список эффектов, палитры. Применение этих эффектов.

Часть 2

Часть 3

1

Добрый день! Подскажите пожалуйста, WLED будет корректно работать если не подключать ее к домашней сети вайфай, а пользоваться точкой доступа WLED-AP? Например, при использовании WLED вне дома и соответственно сети. У меня почему то так не получается с WLED работать

Вернуться назад
Вернуться назад