LED Лента в Homekit (DIY)

13 мая 2019, 16:57

Решил в качестве подарка для мамы сделать подсветку на кухню. Она, как и я, обладатель яблочной продукции, поэтому решил сразу закинуть ленту в Homekit.

Список покупок:

  • LED Лента,в моем случае 1 метр (120 светодиодов).
  • Металлический профиль для LED ленты.
  • Транзистор (У меня IRF520 на плате) AliExpress
  • Преобразователь с 12v на 5v. AliExpress
  • Контроллер на базе ESP 8266 (ESP-01, Wemos D1, и т.д.)
  • Источник питания на 12v (Мощность считайте исходя из длинны вашей ленты и кол-ва светодиодов на ней, у меня был на 3А)
  • Коннекторы, проводки мама-мама, припой, термоусадку, успокоительное не учитываю.

Схема подключения предельно проста. Два провода уходящие вниз, нужно подцепить к 12в. источнику питания.

  • Черный ( земля ).
  • Красный ( 12v + ).
  • Белый ( 5v + ).
  • Синий (В моем случае подключен к выходу D6, потому что она может выдавать ШИМ сигнал).

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

MQTT Сервер.

Для начала нам необходим MQTT сервер. Так как у меня есть RaspberryPi,я поднял MQTT сервер на ней. Если у вас нету такой возможности, то на просторах интернета сможете найти бесплатные MQTT брокеры.

Для счастливых обладателей RaspberryPi оставлю ссылку на статью как установить MQTT сервер.

Если все прошло успешно, на вашей малине будет поднят MQTT сервер.

Прошивка для ESP8266 (ArduinoIDE)

Устройств на базе ESP8266 очень много, перечислять не буду. После того, как вы выбрали микроконтроллер, вам необходимо его прошить. Если ваша плата имеет microUSB разъём, то вы спокойно подключаете ее к компьютеру и переходите к следующему шагу.
Если у вас ESP-01, то вам будет необходимо купить USB-TTL конвертер (Удобный девайс для перепрошивки).

Скачиваем Arduino IDE с официального сайта, и устанавливаем его. После установки открываем.

Вверху нажимаем "Файл" ==> "Настройки"
В Графе "Дополнительные ссылки для менеджера плат" вставляем данную ссылку: 

http://arduino.esp8266.com/stable/package_esp8266com_index.json

Нажимаем "ОК". Далее вверху нажимаем "Скетч" ==> "Подключить библиотеку" ==> "Управлять библиотеками".
У вас откроется Менеджер библиотек. Нам необходимо установить две библиотеки.

  • esp8266 by esp8266 community.
  • PubSubClient. 

После установки библиотек, можете закрыть Менеджер библиотек. 

Скетч для микроконтроллера

У меня в качестве микроконтроллера выступает Wemos D1 mini 
Необходимо определиться с управляющим выходом.
Заходим в гугл и набираем: " <Название вашего микроконтроллера> PWM "

На Wemos D1 mini. PWM поддерживают:

TX / RX / D1 / D2 / D3 / D4 / D5 / D6 / D7.

Я выбрал D6. Просто потому, что могу.

После того, как мы выбрали выход, переходим к скетчу.


Копируем и вставляем код в  ArduinoIDE. Ссылка на код
Заходим в "Инструменты ==> "Плата" (Выбираем ВАШУ плату), Далее выбираем COM порт. 

Узнать, к какому COM порту подключен ваш микроконтроллер, можно в диспетчере устройств.

Нажимаем на иконку "Мой компьютер" правой кнопкой мыши и нажимаем "свойства".
Слева в столбце нажимаем "Диспетчер устройств" и находим USB-Serial CH340 (COM *** )

Теперь в данной прошивке нам нужно изменить следующие строки: 
const char *ssid =  "Название WIFI"; 
const char *password =  "Пароль WIFI";
const char *mqtt_server = "192.168.**.***"; IP вашей RaspberryPi или MQTT брокера.

Вверху нажимаем "Загрузка". Ожидаем компиляции скетча и его загрузки в плату.

Отлично, теперь у нас есть MQTT сервер и микроконтроллер, подключенный к нему. Осталось все подключить в HomeKit.

Добавляем ленту в HomeKit через Homebridge.

Если у вас не установлен HomeBridge, эта статья для вас или уже можете скачать готовые образы от наших авторов.

Если у вас установлен Homebridge, подключаемся по SSH к raspberry, а если у Вас нет доступа по SSH, то можете ознакомиться с инструкцией.

Устанавливаем плагин для Homebridge.

sudo npm install -g homebridge-mqtt-dimmer

После установки плагина, заходим в конфигурационный файл homebridge.

sudo nano ~/.homebridge/config.json

Копируем и вставляем в "аксессуары".

{
            "accessory": "mqtt-dimmer",
            "name": "Led Strip",
            "url": "mqtt://IP_adress_MQTT:1883",
            "username": "admin",
            "password": "admin",
            "caption": "Sprut",
            "onValue": "100",
            "offValue": "0",
            "topics": {
                "statusGet": "ESP03/led",
                "statusSet": "ESP03/led"
            }
        }

Сохраняем и выходим. Далее можете перезагрузить Homebridge, и у вас должно появиться новое устройство "LED Strip"

Демонстрация работы.

Надеюсь для кого-то данная статья оказалась полезной, и помогла в реализации чего-либо.
Прошивка для ESP будет дорабатываться (Поддержка AM2320 и датчика движения).
Жду ваших предложений и адекватную критику.


Все новости мира умных домов - t.me/SprutAI_News

Остались вопросы? Мы в Telegram - t.me/soprut

  1. Вячеслав Фетисов (Ziracul)
    Вячеслав Фетисов (Ziracul) 2 месяца назад

    Отличная статья, спасибо за проделанную работу)

  2. Никита Герасимов  (Rapidshe)
    Никита Герасимов (Rapidshe) отредактировано 2 месяца назад
    Комментарий был удален
  3. Антон Киселёв (Whilser)
    Антон Киселёв (Whilser) 2 месяца назад

    Я думал свои прошивки уже никто и не пишет, автор явно не ищет легких путей 😃Интересный, развивающий проект 👍

    • Vladislav Volchkov (vladislav_volchkov)
      Vladislav Volchkov (vladislav_volchkov) 2 месяца назад

      За неимением альтернатив, приходится...

      • Антон Киселёв (Whilser)
        Антон Киселёв (Whilser) 2 месяца назад

        В прошивке Sonoff-Tasmota кстати все уже давно реализовано (ну это так, для информации), туда же можно добавить и датчики движения и управление светодиодными лентами и много чего еще.. Если повесить мосфеты на каждый из каналов RGB светодиодной ленты, то с помощью ШИМ можно управлять оттенками и яркостью ленты. Но твой "олдскульный" вариант мне даже немного импонирует, не стандартный подход. 👍

        • Vladislav Volchkov (vladislav_volchkov)
          Vladislav Volchkov (vladislav_volchkov) 2 месяца назад

          Я с Tasmota на "вы". Сейчас ради интереса накатил последнюю версию к себе на ненужную ESP, впечатления прямо скажем не очень, может я что-то не так делаю, но логика работы мне не понятна от слова совсем... Буду рад если на форуме появится статья про эту прошивку. 

          • Антон Киселёв (Whilser)
            Антон Киселёв (Whilser) 2 месяца назад
            Посмотри мои статьи здесь как подключить устройства, здесь как добавить их в систему управления. Светодиодная лента прекрасно добавляется в HomeBridge почитать можно здесь

  4. (Aminokislota)
    (Aminokislota) 2 месяца назад

    А у вас лента на 100% яркости димируется?? Просто ШИМ ESP8266 3.3в, а IRF520 для полного открытия надо 5в и выходит что лента не может светится на 100% или я что то путаю.

    • Vladislav Volchkov (vladislav_volchkov)
      Vladislav Volchkov (vladislav_volchkov) 2 месяца назад

      Вопрос интересный, к сожалению дома мультиметра не имею,да и лабораторного блока питания нету.
      Обязательно проверю скоро. Но,даже если и так,яркости ей не занимать,комнату 3 на 3 освещяет как нефиг.

  5. Алексей Костаков (partizan)
    Алексей Костаков (partizan) 2 месяца назад

    спаибо за схематику. никак н едоходили руки, но не проще ли накатить прошивку от MaxiKulkin? даже моста не надо будет, вообще.

  6. Алексей Костаков (partizan)
    Алексей Костаков (partizan) отредактировано месяц назад

    У самого подошло время для такого же проекта. Сорри что направил не в том направлении. Репозитарий тот же, а нужная прошивка компилируется из каталога examples\sonoff_basic_pwm

    после чего коннектимся к сетке sonoff_dimmer_xxx и там соединяемся со своей сетью. далее добавляем аксессуар, но пароль не как обычно а 190-11-978

    сигнал берем с GPIO 13

    удачи!

    ЗЫ Кстати если мощность 5А мало - можно заменить транзистор на более мощный, например 530

    ЗЫЫ еще можно прикрутить сенсорную кнопку. на GPIO 14 + земля - внешняя кнопка.

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

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

Ноотехника

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

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

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

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

15 ноября 2018, 13:11
Xiaomi Mi Remote 360 добавляем Apple HomeKit
04 сентября 2018, 12:14
Интеграция RGB ленты на ESP8266 с прошивкой tasmota в систему HomeBridge (HomeKit)
09 ноября 2018, 20:54
Кейс создания умного дома без каких либо прокладок в виде Raspberry pi
02 ноября 2018, 12:14
Кнопка звонка с уведомлениями в HomeKit
15 октября 2018, 09:05
Прошивка для Sonoff c нативным HomeKit
15 ноября 2018, 09:42
Способы автоматизации механических ворот
27 октября 2018, 12:20
Нативный Термостат для котла на ESP8266 с поддержкой Apple HomeKit
01 октября 2018, 07:43
Нативный HomeKit на ESP8266
15 июня 2018, 12:13
Охранная система в гараж на ESP8266 с интеграцией в Apple HomeKit
02 октября 2018, 18:41
Установка SDK для компиляции прошивок под HomeKit