Дед мороз подарил умную лампочку.
Лампочка управляется со специального приложения "Дом с Алисой", установленного на смартфон. Для того, чтобы лампочкой можно было управлять, её нужно подключить вначале к той же сети, в которую включен смартфон (потом ею можно будет управлять из любого места, где есть доступ к Интернету).
Конечно, трудности начались практически сразу. И первая из них состояла в том, что инструкция по подключению была написана так, чтобы процесс подключения выглядел максимально просто. А мне хотелось понять, что же на самом деле при этом происходит. В общем-то я этого так и не понял (а лампочку уже трижды успешно подключал).
Есть два варианта подклчюения: обычный и как точку доступа. Вот мне стало интересно, если подключить лампочку, как точку доступа, она будет работать репитером? Ведь так можно было бы заодно увеличить покрытие квартиры вайфаем.
При подключении в обычном режиме лампочку переводят в режим установки соединения, запускают поиск на смартфоне, смартфон находит лампочку, после чего необходимо сообщить смартфону идентификатор и ключ сети вайфай, к которой нужно подключиться, чтобы смартфон передал эти данные лампочке. И тогда лампочка уже сможет полноценно подключиться к сети. Возникли вопросы:
- Откуда лампочка заранее знает, к какой из множества сетей вайфай подключаться?
- Если смартфон нашёл лампочку, значит, она уже включилась в сеть. Если смартфон может передать ей идентификатор и ключ сети, значит, он уже может передавать ей всё, что угодно, уже может ею управлять. Так зачем тогда лампочке после этого понадобилось знать идентификатор и ключ сети? Ведь она уже и так подключилась.
Со вторым вопросом отчасти понятно, лампочке нужно получить свой IP-адрес, чтобы зарегистрироваться на некоем облаке, через которое ею будут управлять из глобальной Сети. А на первый вопрос я пока не знаю ответа, и поэтому, когда после многих попыток следовать инструкции у меня в который раз ничего не вышло, я не удивился. Скорее, мне казалось, что в инструкции ошибка. Должна ведь лампочка откуда-то узнать, к какой сети подключиться!
Подключение стало возможным после включения UPnP на роутере. Как я уже писал, есть и вариант подключения лампочки в качестве точки доступа. В этом режиме смартфон ищет беспроводные сети и находит сеть под названием Yandex-что-то там. Это и есть лампочка. Дальше он снова спрашивает имя сети, к которой будет подключена лампочка, и её ключ. После этого Яндекс-что-то там исчезает из списка сетей - то ли лампочка переходит в свой обычный режим подключения, то ли сеть становится не широковещательной и идентификатор сети скрывается.
Ну и, наконец, впечатления. Как оказалось, задать можно не любые RGB цвета, а из весьма ограниченного набора. Яркость лампы плавно меняется от 1% до 100%. Цвета в целом порадовали, есть насыщенные красный, синий и зелёный. С жёлтым цветом возникла неожиданная трудность: он красный. :) При минимальной яркости - вообще не отличить. При больших яркостях немного желтеет. Многие другие цвета также мало отличаются друг от друга. Есть несколько режимов: "Вечеринка", "Океан", "Романтика", "Сирена", "Тревога" и др. А вот коннект лампочки с сетью нестабильный. Постоянно связь рвётся. Возникли обычные для такого случая раздумья на распутье. С одной стороны, когда что-то плохо работает, нужно перешить. Тем более, что лампочка сама сразу после подключения начала новую прошивку навязывать. С другой стороны, при таком качестве связи перепрошивка подобна медленному самоубийству.
Поэтому поначалу стал просто изучать, насколько часто связь пропадает и появляется. Взял в руки часы с секундной стрелкой и стал наблюдать за статусом лампочки в приложении. Связь теряется примерно раз в минуту на десять секунд, постепенно время отключения растёт, а период сохраняется. В результате, естественно, наступает ситуация, когда лампочка не успевает появиться в сети до следующего пропадания, и связь теряется полностью. Сценарии, подобные этому: "Включить в 10 утра на минуту ярко-красный, потом на минуту зелёный, потом запустить на пять минут эффект "Океан", а потом включиться на полную яркость дневным белым светом", писать было совершенно бессмысленно, потому что, если включить лампочку с вечера в розетку, то к утру связь с ней будет потеряна гарантированно.
Желание перешить лампочку зрело. Однажды пришла в голову мысль: а лампочка ли виновата? Роутер в моей домашней сети выдаёт устройствам IP-адреса раз в минуту. Возможно, именно поэтому лампочка раз в минуту отключается. Получить адрес - нехитрое дело, и компьютеры с Windows спокойно делают это раз в минуту (тем более, что адрес выдаётся от раза к разу один и тот же), а вот у Ubuntu возникают при этом примерно такие же трудности, как у лампочки. Кроме того, кажется, лампочка стремится каждую минуту докладывать смартфону о своём состоянии, и отсчитывает эти минуты с момента включения. Очевидно, что и первый запрос IP-адреса происходит при включении, поэтому каждый раз, когда лампочке нужно передать статус, сеть оказывается недоступной из-за смены IP-адреса. Невыполненные отправки статусов скапливаются в очереди, и лампочка становится неуправляемой.
Стал думать, к чьей бы сети подключить лампочку. Перебирал знакомых. Почему-то не возникла мысль принести её подключить на работу. Но в итоге решил раздать мобильный Интернет с одного смартфона, а другим смартфоном войти в эту сеть и подключить к ней лампочку. Чего не знал, так это того, как на смартфоне включить UPnP. Но не понадобилось - наверное, эта функция там неотключаемая. Связь с лампочкой удивительно стабильная. Нет, один раз коннект всё же пропал, но это случилось уже только на второй день. Ну и, конечно, лампочка была сразу же перешита.
Итак, исходная версия прошивки - 2.9.16, новая - 2.9.18. Стала ли стабильней связь - так и не знаю, после соединения лампочки с мобильным Интернетом обратно я уже не переключался. А вот цвета изменились. Появился жёлтый, коралловый стал отличаться от красного. Но массу цветов разработчики испортили. Зелёный и синий стали ненасыщенными, "изумрудный" стал почти белым, а раньше выглядел довольно красиво. В общем, теперь жду новой прошивки, в которой, надеюсь, эти косяки исправят.
Update. Связь стабильней не стала, т.е., получается, смысла перешивать лампочку не было.