Смарт лампы MiLight, или как найти приключений на свою gluteus maximus

    image
    На дворе стояла весна. В облаках пели птички, а на грешной земле им вторили коты и запойный сосед Дядя Миша. Заканчивался второй месяц безудержного ремонта в новой квартире. Остались позади мучительный выбор обоев и ускоренные курсы таджикского языка по методике «Конечно, мы знаем, как сделать Ethernet-розетку!» Всё закончилось. Все ушли с тем же количеством пальцев, с которым пришли два месяца назад.

    Я никогда не видел особой пользы от «умного дома» в тех реализациях, про которые обычно пишут на Хабре рукастые парни. Ну да, можно хлопнуть в ладоши, и веб-камера под потолком автоматически выложит ваше сэлфи в хипстограм. А что если вы однажды приведёте домой девушку, которая почему-то любит хлопать в ладоши в самый ответственный момент? Вот то-то и оно. Именно поэтому я и не стал закладывать в электропроводку никаких дополнительных проводов с заделом на будущий «умный дом». Вокруг и так полно умников, так хоть дома от них отдохну.

    Однако мозг инженера устроен так, что ему постоянно нужно преодолевать технические трудности. А если преодолевать нечего, то трудности нужно создать, и затем героически преодолеть. Так уж вышло, что после ремонта в бэклоге внезапно закончились трудности, а новых ещё не подвезли. «Не беда!» — тут же подумал мозг. «Почему бы тебе не сделать такую штуку, которая станет будить тебя плавным нарастанием яркости лампочки?» «Ха!» — подумал я в ответ мозгу — «Такой умный светильник уже есть, и пока ты там что-то выдумываешь, мои руки уже заказывают его с амазона!» Пару недель спустя курьер привозит новый светильник, я втыкаю его в розетку, включаю… И понимаю, что сжёг около 5000 рублей, когда включил в сеть 220 В девайс, рассчитанный на 120 В. «Ах ты ж физика, бессердечная ты сволочь!» — воскликнул я с негодованием. Делать было нечего: светильник отправился в долгий ящик с надеждой на то, что я когда-нибудь снова расчехлю паяльник и впилю в него правильный БП, если там ещё не всё сгорело к чертям.

    Тем временем, навязчивая мысль про лампу не уходила. В этот раз я решил пойти другим путём. «Зачем мне вообще отдельный девайс, когда сейчас есть лампочки, которыми можно управлять по Wi-Fi?» — подумал я и полез в гугл. Оказалось, что в Philips действительно сделали смарт-лампу Hue, которой можно управлять по Wi-Fi. И у неё даже есть REST API. Я хочу, чтобы вы ещё пару раз перечитали это предложение и вдумались в его смысл: у лампочки есть REST API. Let it sink in. Yep. Обрадовавшись такому повороту событий, я снова пошёл на амазон с твёрдым намерением заказать творение голландских инженеров. Однако цена в 9500 р. за комплет из хаба и трёх ламп быстро охладила мой пыл. Возможно, безумие всё-таки взяло бы верх, но оказалось, что Hue поставляется только с «большим» цоколем E26, а во всех моих светильниках установлены «маленькие» патроны E14. Кроме того, к хабу от Philips нужно подводить питание 220 В и кабель Ethernet. В самих лампочках Wi-Fi, конечно, нет. Вместо этого в каждой лампочке стоит дешёвый радио-модуль, который общается с хабом, у хаб уже может получать команды по Wi-Fi.

    Тут можно было бы и остановиться, но, как назло, я вспомнил про замечательный сайт aliexpress.com, который торгует всеми возможными, рядом невозможных, а также парой невероятных товаров. И конечно, у китайцев нашлись смарт-лампы с цоколем E14. Для теста я взял комплект из хаба и одной лампочки. Всё это счастье обошлось мне в 1500 рублей (доставка бесплатная).

    Прошёл месяц. Почта России, наконец, довезла мою посылку и даже ничего не потеряла. С замиранием сердца я извлёк на свет божий саму лампочку, хаб и кабель питания USB:

    image

    Приятной особенностью китайского девайса оказался именно этот кабель USB. Хабу не нужны ни 220 В, ни Ethernet. Не очень приятной, но терпимой особенностью стал размер лампочки. Слева обычная светодиодная лампочка, справа — MiLight:

    image

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

    image

    После того, как я вкрутил лампочку в светильник, я тут же его зажёг. Как ни странно, лампочка загорелась:

    image

    А вот дальше пошли неочевидные манипуляции. Я скачал в аппсторе приложение MiLight и подключил хаб к USB. Загорелись весёлые светодиоды, и в списке Wi-Fi точек появился новый пункт под названием “milight-[что-то там]”. В дефолтном режиме хаб поднимает свою точку доступа, и чтобы управлять лампочками, нужно подключиться к ней стандартным способом. После подключения к точке доступа я открыл приложение и тут же увидел свой хаб. Пока всё понятно, и инструкция не требуется. А вот после выбора хаба стало непонятно. Приложение предложило мне выбор аж из шести панелей управления:

    image

    Как конченый инженер, я не стал читать инструкцию, и просто потыкал на все кнопочки во всех панелях управления. Как ни странно, это не возымело ровно никакого эффекта, и смарт-лампа продолжала гореть безразличным белым светом. Не поверив в провал этого безотказного метода, я потыкал во все кнопки ещё раз, с тем же нулевым эффектом. Пришлось гуглить мануал на сайте производителя. Из мануала я узнал много интересного. Например, то, что панель управления нужно выбирать в зависимости от типа лампочки. Я купил лампочку RGBW, поэтому пользоваться должен этой панелью:

    image

    А вот сделать так, чтобы панель законнектилась со смарт-лампой, оказалось не так-то просто. Нужно было выключить лампочку, потом снова её включить и БЫСТРО нажать на одну из четырёх клавиш “I/O” в нижней части панели. Ключевое слово здесь «быстро». Подружить лампочку с приложением мне удалось только с четвёртого раза, о чём я был извещён троекратным морганием подопытной.

    И с этого момента всё пошло прекрасно. Лампочка может светить любым цветом из RGB-спектра, а также обычным белым светом. Центральная кнопка переключает специальные режимы. Есть режим плавной смены цвета; режим «друг эпилептика», когда вырвиглазные цвета меняются с очень большой скоростью; а также мой любимый режим зомби-апокалипсиса. Он мне так понравился, что я даже записал его на видео:



    Набегавшись по квартире с ломом в руках и противогазом на голове, я решил довести настройку до конца. Как вы помните, чтобы управлять лампой, нам нужно подключаться к отдельной точке доступа. Но хаб MiLight может работать и в другом режиме. Достаточно пойти в настройки, выбрать существующую Wi-Fi сеть и ввести от неё пароль, после чего хаб перестанет создавать свою точку доступа и интегрируется в вашу сеть. После этого можно закрыть приложение, подключиться к своей обычной сети, снова запустить приложение, и убедиться, что всё работает. Я проверил работоспособность на роутере Asus RT-AC68U. При этом, хаб Mi Light подключился к сети 2.4 GHz, а смартфон — к сети 5 GHz. Более того, китайцы уверяют, что после такой настройки их приложение может управлять лампочками с помощью МАГИИ™ даже если вы находитесь в любой другой сети (Wi-Fi на работе или 3G-LTE). Я попробовал, и у меня не получилось. Возможно, там тоже есть какой-то нюанс.

    Итак, первое знакомство с лампочкой MiLight оставило очень приятные впечатление. Во-первых, китайский комплект стоит на 8000 р. дешевле, чем аналог от Philips. А во-вторых, хабу от MiLight не нужно питание 220 В (а значит, можно не бояться, что дряная китайская электроника спалит вашу квартиру) и Ethernet. В качестве минуса можно отметить отсутствие какого-либо API. Однако это нас не остановит: в следующей статье мы возьмём девайс на андроиде и поснифаем трафик между телефоном и хабом. No API? Well, let's make one! >:]

    UPD: Добрые люди дали ссылку на API от производителя: www.limitlessled.com/dev. Сам пока не тестировал.
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 26

      0
      Спасибо. Как раз собирался покупать такой же RGB контроллер для светодиодной ленты.
      Так что с нетерпением жду реверс-инжениринга протокола.
        0
        1) Хаб нужно подключать к компу, или подойдет просто блок питания с разъемом usb?

        2) Хаб общается с лампочкой по какому-то своему радиоканалу? Какая дальность?
          0
          Хаб подключается к любому девайсу, который выдаёт 5 В/500 мА по USB. То есть, подойдёт любой БП или даже USB-порт на роутере. Радиоканал у девайсов свой, работает на 2.4 GHz. В теории, могут возникать помехи от большого количества точек доступа Wi-Fi. Дальность тестил пока в пределах одной комнаты. Вечером протестирую через бетонную стенку и обновлю пост :)
          0
          Недостаток в том, что нужно использовать конкретную лампочку. Не факт что она устроит нас по своим характеристикам.
          Я пробую решить эту же задачу на системе noolite, про которую тут не раз писали. Силовой блок в люстру ($20), радио-выключатель ($20), Ethernet-шлюз ($123) и любая диммируемая лампочка. У системы есть REST API, позволяющий включать лампу и изменять её яркость. Останется найти будильник для смартфона, поддерживающий сценарии. Может такие уже есть?
            0
            Согласен, лампы накладывают некоторые ограничения на общее решение умного дома. Однако решение с силовыми блоками и выключателями тоже накладывает ограничения, только в другой плоскости. Если брать ситуацию, когда при ремонте не заложили инфраструктуру для умного дома, то запросто возникает ситуация, когда впилить силовой блок просто некуда. В этом случае перенос управляющийх устройств в лампы позволяет выйти из положения.
              0
              Силовой блок маленький и целиком войдёт в ту часть люстры которая прикрывает дырку в потолке. При этом можно не отказываться от стандартных выключателей, просто держать их включенными.
              Правда в вашем случае с бра действительно не просто найти место для блока.
              Было бы неплохо если бы силовые блоки выпускались в форме цоколя лампочки чтобы и их можно было ввернуть в стандартный цоколь и в них ввернуть лампочку.
                0
                Отличная идея для стартапа :) Я взял лампы как раз потому, что понял, что в корпус светильника точно ничего не влезет (там уже и так довольно большой механизм «верёвочного» выключателя).
            0
            Инженеры, конечно, не датские, а голландские.
              0
              Точно. Хотел спать, и не заметил отличий между Ducth и Danish :)
              0
              Всегда хотел знать — для чего людям может понадобиться подобная лампа? В чем её смысл?
                +2
                Вот, например, микруха, которая детектит ядерный взрыв: micro.apitech.co.uk/uk/products/nuclear-event-detector. Осталось только добавить поддержку IFTTT, и хипстерская система оповещения готова :))

                А если серьёзно, я хочу сделать себе штуку, которая будет будить меня плавным включением света. А как выйдёт Apple Watch, заинтегрить этот будильник с монитором фаз сна.
                  +1
                  А если серьёзно, я хочу сделать себе штуку, которая будет будить меня плавным включением света.

                  Год назад я понял, что мне такая штука просто необходима. Пошёл и купил за 3500 светильник «Рассвет Lux». Там еще и радио оказалось. За 10 минут плавно наращивает яркость с нуля до своего максимума и включает радио. Через заданное время радио выключает. Вот к тому моменту, когда радио замолкает ты уже проснулся, пришел в себя и повалялся немного. И вот когда радио замолкло — аааааа, пора встааваааать!!!!!!11111
                0
                А что происходит с лампочкой если обычным выключателем выключить и включить? Она загорится? Настройки и дружба с хабом сохраняются?
                  0
                  Да, выключатель работает как обычно, все настройки сохраняются.
                    0
                    А каким образом она включается, будучи отключенной обычным выключателем?
                      0
                      Никаким, что ожидаемо :) Если хотите включать/выключать удалённо, то хардварный выключатель должен быть всегда включен.
                        0
                        А если лампочка выключена софтверно то ее включить тоже только софтверно можно? Или хардварный выкл-вкл включит лампочку? Если разрядился телефон например или ночью что бы не искать телефон
                          0
                          Да атас там полный с хардверным выключателем :) Или софт или хард можно использовать. Не круто.
                            0
                            Интересный кейс. Проверил: если выключить софтварно, а потом выключить-включить хардварно, лампочка загорится. Телефон искать не надо :)
                    0
                    Из обсуждения в Yahoo конференции Crestron:
                    «умный дом — это не 10 приложений управления в сматрфоне, хотя некоторые могут думать иначе».

                    Система управленя становится реально полезной, когда она может объединить в себе управление множеством устройств.
                    Для света это будут обычные лампы накаливания, одноцветные светодиодные лампы, RGB светодиоды. И управление шторами туда же.
                    В этом случае нам удастся не просто «помигать лампочками», а сделать несколько световых сцен типа «комфорт», «просмотр фильма», «вечеринка», «чтение»…
                      0
                      Полностью согласен. Я изначально рассматривал лампу как элемент своего проекта, который потом, возможно, будет включать в себя не только свет. Приложение MiLight играет роль Proof of Concept — просто чтобы показать, что лампочка работает.
                        0
                        Да, возможно, это подтверждение концепции.
                        Проблема может быть в том, что подобные устройства не предназначены производителем для работы в составе какой-либо системы.
                        Даже наличие API мало что вам даст — это систему никто не знает. Писать приложение (по сути — драйвер) — это странное занятие. Это как если бы вам при покупке принтера предложили написать на него драйвер, выдав API.
                        Для управления светом есть не мало готовых стандартных решений.
                        Даже если вам по какой-то причине не нравится такой широко распространенный протокол, как KNX (цена, еще что-то), есть хороший протокол управления освещением DALI.
                        Светодиодные балласты для него (по сути — контроллеры светодиодов) начинаются от 2тыс. рублей.
                          0
                          Хм, это интересно. Надо зарисёчить эту область. Я никогда не интересовался домашней автоматизацией, поэтому для меня путь был такой: хочу управлять стандартной лампочкой, но без проводов → гугл выдаёт максимально распиаренный Philips Hue → высокая цена → дешёвые китайские аналоги → нашёл подходящее решение. Возможно, для моей ситуации (нежелание поднимать инфраструктуру умного дома с проводами, реле и прочими радостями), действительно есть решение на стандартных протоколах. Для текущего «проекта выходного дня», который подразумевает кастомный софт и пару лампочек, мне всё равно, какой протокол использовать: китайский или стандартный :) Если же тема домашней автоматизации меня затянет, то первый прототип в любом случае пойдёт под нож, и вот тогда уже нужно будет думать о стандартных решениях.
                      0
                      Расскажу что знаю. :)
                      Limitless Led — это не производитель или разработчик…
                      Это один из продавцов. Но API у них неплохо описан — лучше чем у производителя. :)

                      Оригинальный производитель — FUTLIGHT Optoelectronics Co ( www.futlight.com )

                      Они выпускают много всякого добра. Но 2.4 GHz лампы (и пульты) в общем можно поделить на две группы — цветные и «черно-белые».
                      Черно-белая лампа умеет плавно менять яркость и температуру белого.
                      Пульты у цветных и черно-белых разные. Но WiFi gateway умеет управлять и теми и другими.

                      Их же продукцию под другими именами в других странах продают, например,
                      www.milight.com
                      www.easybulb.com

                      Очень похожию пульты попадаются у различных ламп на Aliexpress
                      Например,
                      www.aliexpress.com/item/2014-free-shipping-led-panel-light-Wifi-mobile-phone-remote-control-smart-home-lighting-led-panel/1624242343.html
                      www.aliexpress.com/item/free-shipping-12W-led-downlight-3000-6500K-Color-Temperature-Brightness-adjustable-With-2-4GHz-Remote-Controller/992953414.html

                      Я меня есть несколько цветных и несколько черно-белых.

                      Пульты работают всегда.
                      Управление через WiFi — 3 раза из 4 (ощущение что WiFi gateway иногда засыпает и не просыпается).
                      Управление через интернет — 1 раз из 3 (поскольку я порты не открывал соединение с WiFi gateway извне должно происходить через сторонний сервис — возможно он не всегда доступен).

                      Изначально на эти лампы я вышел через проект Ninja Blocks
                      www.kickstarter.com/projects/ninja/ninja-blocks-connect-your-world-with-the-web
                      ninjablocks.com/
                        0
                        Прочитал сначала заголовок «смерть-лампы MiLight, или как найти приключений на свою gluteus maximus».
                          0
                          Спасибо, ссылка в конце убила статью, которую я начал писать про реверс-инжениринг протокола (( Оказывается, всё уже сделано (( А я с Packet Capture и Packet Sender сидил, подбирал границы значений для цветов и яркости… Там, кстати, ошибка в доке. Для LimitlessLED RGBW яркость не до 0x1B, a для 0x18. И интересный факт — в приложении которое я использую максимум 0x17

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

                          Самое читаемое