SONOFF LED — умный светодиодный драйвер с управлением по WiFi

t0Данный обзор опять про устройства «умного дома» семейства SONOFF. Не так давно я писал про альтернативную прошивку модуля SONOFF TH10/16 с реле и датчиком температуры и влажности

И вот новый продукт от компании ITEAD — SONOFF LED стоимостью в $20.5. Представляет собой набор для изготовление светильника с умным драйвером, поддерживающим управление цветовой температурой и диммированием через WiFi.

Да сейчас модно всем управлять через WiFi. И не просто через WiFi, а через какой нибудь облачный сервис в интернете с установкой своего приложения на телефон. Так и это устройство, угадайте что там внутри? Конечно же ESP8266 — «народный WiFi» для домашних автоматизаторов.


Комплект представляет из себя четыре полоски с 32 светодиодами 5730 холодного и теплого света, управляемый драйвер и крепеж.

1001

Характеристики SONOFF LED

1002

  • Питание: 180-265В
  • Мощность: 30-42Вт
  • Ток на светодиодах: 0.3-0.6А
  • Светильники: 4 полосы 52см с 32 светодиодами
  • Управление: WiFi через облачный сервис и приложение eWeLink для Andriof и iPhone

В отличии от других модулей SONOFF, этот практически лишен какой то документации. Ни даташита, ни схемы. Только такая картинка на странице продукта.

pwmled_esp8266_module_wiring_instruction

Да и по дизайну модуль сильно отличается от других в серии SONOFF

1003

Мне кажется, первоначально это устройство не планировалось совсем для другого, но волевым решением какого нибудь умника-маркетолога пополнило линейку продуктов умного дома. А, может быть, как это модно на западе, ITEAD выкупила какую нибудь компанию и присоединила производстве к себе.

Внутри пластиковой коробочки мощный светодиодный драйвер и лишь на самом краешке контроллер с диммером.

2000 2001 2004

Плата ESP8266 стоит вертикально. Микросхема EEPROM, характерная для других модулей SONOFF 25Q80BVSIG от WINBOND на 1Мбайт.

2002 2005

На выходе стоят мощные MOSFET для диммирования теплых и холодных светодиодов, а также есть три не распаянных разъема с надписью RGB.

Единственная кнопка, при помощи которой можно запустить режим связывания с приложением расположена на обратной стороне платы ESP

2006

То есть первоначальный запуск без разборки корпуса не произвести никак.

Зато после удерживания этой кнопки, подключение к приложению eWeLink проходит в штатном режиме.

3001

Теперь воочию можно увидеть возможности данного устройства:

  • Включение/отключение
  • Диммирование при помощи ползунка 0-100%
  • Установка трех режимов цветовой температуры: холодный свет, теплый свет и фифти-фифти.
  • Ну и настройка таймера/включений отключений.

Все настройки сохраняются в энергонезависимой памяти и при включении светильника свет загорается в соответствии с выставленными настройками + управляется таймером.

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

Тестирование

Напряжение на выходе драйвера в режиме максимальной мощности составляет целых 102В. Голыми руками лучше не лазить.

4001

В минимальном — 63В

4000

Ток от 55 до 260мА. Причем от изменения соотношения в каналах теплого и холодного цвета ток не меняется.

4009 4010

Мощность светильника — 3.5 — 26.5 Вт. Явно не дотягивает до заявленной 30-42Вт. Да и ток тоже.
На выходе меандр, типичный для ШИМ диммеров.

4003

В максимальном режиме все равно коэффициент заполнения ШИМ сигналов не 100%. Видимо такая особенность прошивки.

4004 4005

Частота стандартная для штатного ШИМ в ESP8266 ~ 1Кгц

4100

Температура после часа работы на максимальной яркости — 45С без всяких дополнительных радиаторов.

4200

Температура самого драйвера выше — порядка 54С

4201

В общем по электрическим параметрам светильник слабее заявленных характеристик, но с поправкой на «китайские ватты и амперы» вполне годится для какой нибудь люстры. Частота ШИМ довольно высокая, что бы мерцание как то влияло на зрение или приборы. Хотя возможности контроллера позволяют сделать ее еще больше, но об этом дальше.
Проверил работу таймера — все настройки сохраняются в памяти контроллера и таймер нормально работает при отключенном WiFi.

4300

На мой взгляд, железка получилась вполне неплохая и где о даже концептуальная. Этакая люстра, настраиваемая с телефона.Но возможности прошивки явно не раскрывают полностью ее функционал, заложенный в железе.
Хочется больше возможностей в настройке цветовой температуры, больше диапазон диммирования и возможность интеграции в какую нибудь свою систему умного дома. И тема RGB полностью не раскрыта. Значит будем программировать.

Для этого нужно припаять четыре контакта к плате ESP и подключить через конвертер USB/TTL к компьютеру. Питание для ESP желательно внешнее, стабилизатор конвертера не тянет прожорливый WiFi модуля. Я использую стабилизатор на AMS1117 3.3В подключенный к другому порту USB. Такая схема, как показала практика, вполне надежно запитывает ESP8266 с портов моего ноутбука, поддерживающего USB3.0.

5000

На скорости 74800, на которой работают многие ESP07 «из коробки» получаю стартовый экран загрузчика.

firmware

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

Последнее время появилось довольно много устройств, которые настраиваются через встроенный WEB-сервер — это и модемы/роутеры, принтеры и даже промышленные контроллеры, например «мыльницы» ICPCOM и ADVANTECH.

icpdas

Решение довольно удобное, так как не нужно устанавливать всяческое ПО для настройки и драйверы. Буду делать такое и на SONOFF LED.

Для программирования нужно нажать кнопочку на плате ESP. (Она подключена к GPIO0) и передергиваем питание модуля.

Через Arduino IDE заливаю прошивку с WEB-сервером и возможностью обновления прямо через WEB по воздуху. Все. Теперь можно убирать коробочку в корпус и даже прямо в люстру и прямо там. Подробно останавливаться на прошивке не буду. Скачать ее можно с GITHABа.

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

%d0%bf%d1%80%d0%be%d1%88%d0%b8%d0%b2%d0%ba%d0%b01

Не забывайте правильно указывать объем памяти ESP — 1Мб м SPIFSS 64Кб
Иначе прошивка не зальется.

arduinoide

Возможности данной прошивки:

  • При недоступности WiFi подключения старт в режиме точки доступа и адресом 192.168.4.1
  • WEB-интерфейс управления модулем. Авторизованный доступ к странице настроек. Пароль по умолчанию «admin».
  • Обновление прошивки через WEB
  • Установка уровня яркости по обоим каналам (теплый и холодный свет) 0-100% с шагом 1%
  • Сохранение настроек сети и диммера в энергонезависимую память. Быстрый запуск светильника
  • Управление по HTTP GET для интеграции с устройствами умного дома <адрес>/on?auth=и <адрес>/off?auth=
    Пароль для GET HTTP устанавливается в настройках. По умолчанию — «12345»
    Пароли сохраняются в EEPROM в зашифрованном виде SHA256Можно поиграть с частотой диммирования. Для этого в ESP Core имеется функция analogWriteFreq.
    По умолчанию частота диммирования порядка 1КГц

pwm-1khz

Можно поднять до 10КГц

pwm-10khz

Максимально мне удалось достичь 55КГц

pwm-55khz

Шаг диммирование при этом уменьшается, так что я остановился на 10КГц для самоуспокоения.

На моей прошивке максимальный ток поднялся до 280мА и мощность почти до 30Вт

6000

Минимальный ток — 8мА

6001

Соотношение теплого и холодного света теперь можно настраивать в самых больших пределах

Раскроем тему RGB

Картинка вначале статьи, взятая со странички товара, является схемой распайки платы ESP.
Выход RGB подключен через транзисторы. Подпаявшись к входу и земле получаю напряжение 0.5В при выключенном GPIO и 0В при выключенном

6003

Осциллограф показывает немного сглаженный меандр ШИМ

6005

Если припаяться к контактам подключения платы ESP, то получим выходы непосредственно на ноги ESP

5004
Меандр становится более ровным

6006

Теперь к этим проводкам можно подключить RGB ленты с внешним 12В через MOSFET ключи. Можно использовать их как входы на кнопки управления, датчики и другую периферию. Есть куда совершенствоваться дальше.

Для удаленного управления из приложений и других устройств я сделал возможность включение/отключение света при помощи HTTP GET запроса:
http://<адрес устройства>/on?auth=пароль и http://<адрес устройства>/off?auth=пароль
Теперь без труда вывожу на кнопку управления приложения Arduino WiFi WebServer Router, про которое писал в этой статье. Приложение поддерживает управление как с экрана, так и голосом через сервис распознавания в интернете, что довольно эффективно для демонстрации, но очень тормозит для повседневного использования.
Основное же назначение данной функции — отключение света, если человек надолго вышел, неким внешним контроллером. Но это все для будущего развития.

Видно примера работы моей прошивки SONOFF LED

Мои выводы

Сам по себе продукт интересный. В нем сочетается возможность работы от обычного механического выключателя с очень модной функцией настройки и управления света с телефона или компьютера.
Неплохо выполненная светодиодная часть, мощный драйвер с небольшим рабочим током за счет довольно высокого напряжения.
SONOFF LED в первую очередь интересен для тех, кому нравиться возиться с домашней автоматизацией, но самому лень паять и собирать платы устройств.
Немного портит впечатление отсутствие схемы и даташита, которые есть в других продуктах SONOFF и то, что штатным приложением не полностью раскрыты возможности устройства.

Считаю, что для такого функционала цена вполне приемлемая, хотя брать или не брать решать каждому.
Я же сейчас подбираю корпус для него, 30Вт регулируемого по температуре светодиодного света для люстры мне вполне достаточно для освещения комнаты.

Мы писали мы писали наши пальчики устали

c0

 

 

Вы можете оставить отзыв или трекбек со своего сайта.

9 комментариев на «SONOFF LED — умный светодиодный драйвер с управлением по WiFi»

  1. Иван:

    А зачем шифрование пароля в eeprom?
    Если есть стремление в какой либо безопасности, то необходимо пароль авторизации передавать шифрованым и парение функций «api», распространено и банально — замена пароля в параметрах на рэндомное значение + хэш (пароль + рэндом)

    • Alexey:

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

  2. Иван:

    кроме абстрактных идей и «так положено», где практическая суть? скачать дамп прошивки с устройства — на порядок сложнее (а кроме того необходим физический доступ к железке), чем перехватить передачу пароля через http запрос.

    на текущий момент я вижу противоречие:
    — мы шифруем пароль в памяти железки, к которой и так никто не получит доступ (а шифрование — лишний код, лишние такты железки, да в этой ситуации не критично, но считаю это как минимум бесполезным).
    — но мы передаем открытый пароль через веб (а его то и могут спереть, в отличии от хранимого на железке).

    про «спереть» я подразумеваю доступ к вашей wifi сети (не важно разрешенные устройства или взлом, сам принцип берем — данные передаются открытым), при доступе к wifi есть возможность прослушать весь трафик, среди которого будет ОТКРЫТЫМ и ЯВНЫМ текстом передан пароль, далее подключайся к железке и делай что хочешь.

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

    Избыточность этих действий в плане безопасности постарался описать выше.

    • Alexey:

      Тут у вас тоже противоречие )))
      Если передавать шифрованный пароль устройству и его сопрут, то получат точно такой же доступ как и с не шифрованным. Нужен меняющийся код.
      Но это все мелочи.
      Как говорится — можете сделать лучше, сделайте лучше. А я с удовольствием у вас поучусь.

      Если вам не нужно, чтобы пароль хранился в зашифрованном виде, так не храните. Исходник есть, всего то нужно исправить в паре мест. У меня в некоторых проектах были требования к хранению пароля и с тех пор шифрование живет внутри. Кстати, прикрутить SHA к ESP пришлось повозиться, так что считайте что это бонус.
      Если когда нибудь будете искать готовый код шифрования под ESP, вспомните меня добрым словом

  3. the technology are so good. thanks to knowing this about.

  4. Олег:

    Спасибо, за прошлый ответ. Подскажите в какой программе сделали логотип на вебку ? (кот и надпись)

  5. Олег:

    Имел в виду как преобразовать картинку в код понятный для Ардуино с последующим выводом на веб страничку

    • Alexey:

      Сам на коленке написал. Каждый байт переводится в шестнадцатеричное число

      • наткнулся на ваш обзор драйвера. у меня сейчас стоит задача перевести китайскую светодиодную люстру на управление с Алисы. ваш драйвер как раз отвечает таким запросам, тем более есть регулировка rgb. однако не могу найти его даже в продаже. на данный момент у меня стоит на люстре драйвер, управляемый по блютуз с пульта или телефона… не посоветуете какое нибудь решение?

Ваш отзыв

Вы должны войти, чтобы оставлять комментарии.