LED Лента в Homekit (DIY)

13 мая 2019 г.

Решил в качестве подарка для мамы сделать подсветку на кухню. Она, как и я, обладатель яблочной продукции, поэтому решил сразу закинуть ленту в 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)

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

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

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

    • Vladislav Volchkov (vladislav_volchkov)

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

      • Антон Киселёв (Whilser)
        Антон Киселёв (Whilser) 7 дней назад

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

        • Vladislav Volchkov (vladislav_volchkov)

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

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

  4. (Aminokislota)
    (Aminokislota) 7 дней назад

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

    • Vladislav Volchkov (vladislav_volchkov)

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

  5. Алексей Костаков (partizan)

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

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

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

Ноотехника

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

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

15 нояб. 2018 г.
Xiaomi Mi Remote 360 добавляем Apple HomeKit
4 сент. 2018 г.
Интеграция RGB ленты на ESP8266 с прошивкой tasmota в систему HomeBridge (HomeKit)
9 нояб. 2018 г.
Кейс создания умного дома без каких либо прокладок в виде Raspberry pi
2 нояб. 2018 г.
Кнопка звонка с уведомлениями в HomeKit
15 окт. 2018 г.
Прошивка для Sonoff c нативным HomeKit
15 нояб. 2018 г.
Способы автоматизации механических ворот
27 окт. 2018 г.
Нативный Термостат для котла на ESP8266 с поддержкой Apple HomeKit
1 окт. 2018 г.
Нативный HomeKit на ESP8266
15 июн. 2018 г.
Охранная система в гараж на ESP8266 с интеграцией в Apple HomeKit
2 окт. 2018 г.
Установка SDK для компиляции прошивок под HomeKit