Блог

LOOK.in: Февральский апдейт прошивки и приложения

В этом выпуске: автоматическая синхронизация распределенной памяти между устройствами и новый режим работы

Режим "Eco"

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

На текущий момент в линейке представлен только Remote, но уже в этом году мы планируем представить как минимум 2 новых устройства.

С чем мы столкнулись при разработке в последние месяцы:

  • Устройства, работающие от батареек очень быстро "выжирают" батарейку и перестают работать
  • Устройства, работающие от постоянного питания сильно греются, нагрев может достигать 50-60 градусов, что недопустимо.
  • Тот же Remote (и потенциальные приборы, работающие от USB) очень требователен к питанию и для него требуется блок питания, который гарантированно выдает 0.5А без просадок. Это значит, что питание, скажем, от компьютера совсем не гарантирует идеальную работу устройства.

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

Решение нашлось.

Режим "Eco": в 15 раз экономичней

Причиной как нагрева, так и быстрого уменьшения заряда батареек является одна ключевая - высокое энергопотребление, а основные "пожиратели" энергии это тракты Wi-Fi и Bluetooth, а также ресурсоемкие задачи автоматизации внутри устройств.

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

Это достигается за счет:

  • Динамического изменения частоты процессора устройства (нет нагрузки - снижаем частоту, сложная задача - поднимаем)
  • Изменению в работе Wi-Fi и Bluetooth: радио канал по новой схеме работает в режиме "поспал - проснулся" с очень маленьким временем сна (миллисекунды) и еще меньшем временем бодрствования. Фактически, и Wi-Fi и Bluetooth постоянно ненадолго выключаются между получаемыми пакетами.
  • Оптимизацией процессов, связанных с автоматизацией. Мы пересмотрели работу автоматизации, оптимизировав все, что только было доступно для уменьшения количества вычислений
  • Оптимизация процессов, связанных с периферией. Программная работа ИК датчиков и передатчиков в Remote была кардинально пересмотрена. Других разрабатываемых устройств это также коснулось.

Режим "Eco": цифры

  • Работа Remote от батареек минимум 2 недели с постоянным подключением к Wi-Fi, работой удаленного управления и включенным голосовым управлением через Яндекс.
  • Средний ток потребления устройства снизился до значения 25мА.
  • Температура работающего устройство лишь на 3-6 градусов выше температуры окружающей среды.

Режим "Eco": Тестирование

Около 2 месяцев мы проверяли и готовили новый режим работы к выпуску, однако, на текущий момент, мы не можем гарантировать того, что пользователи не столкнуться с каким-то сложностями в работе. Вероятно найдется такой роутер, с которым Remote не найдут общего языка или на каком-то из мобильных телефонов плохо будет работать BLE - коммуникация.

Именно поэтому данный режим пока не включен по умолчанию на всех устройствах.

Однако его можно включить самостоятельно по следующему URL, достаточно открыть его в браузере на телефоне или компьютере:

http://<ip устройства>/eco/on

После включения в течении нескольких секунд Remote сигнализирует об этом постоянным свечением бирюзового светодиода. Теперь ваш Remote работает в режиме энергосбережения. Если что-то идет не так - просто переподайте питание на ваш Remote и режим будет выключен.

Мы убедительно просим вас попробовать новый режим и заполнить небольшую анкету.

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

Распределенная память (Storage)

В каждом устройстве кроме всего прочего существует блок памяти, который синхронизирован между всеми устройствами дома. В этой памяти могут, скажем, храниться ИК сигналы или значения сенсоров, а также любые другие данные, которые требуется передать всем устройствам дома. Мы называем эту область памяти Storage.

Storage - память, основанная на транзакциях, для того чтобы сохранить в нее какие-то данные необходимо сначала их записать, а затем выполнить операцию "commit", которая финально зафиксирует данные.


Например, если у вас не совсем стандартное устройство, которым нужно управлять по ИК и вы хотите добавить его в сценарии автоматизации, скажем, включать по расписанию, ИК сигнал необходимо где-то хранить. В приложении он хранится не может, так как устройства должны самостоятельно работать как без интернета, так и без приложения. В этом случае как раз Storage приходит на помощь - при создании сценария ИК команды сохраняются в этой области памяти, синхронизируясь между устройствами и всегда доступны для выполняемого сценария.


Также данная память может помочь, если, скажем, у вас несколько Remote и одинаковых ТВ, в таком случае вы можете один раз сохранить сигналы и затем использовать их на любом из ремоутов с помощью API.


Вы могли сталкиваться со Storage, когда настраивали работу с Remote по API, подключая его к вашему контроллеру умного дома и добавляя сигналы на странице "Инфракрасные сигналы" на странице устройства. В этом случае сигналы сохраняются в Storage.

Автоматическая синхронизация Storage

До определенного момента синхронизация Storage происходила под предводительством мобильного приложения. То есть именно оно синхронизировало между устройствами данную область памяти, добиваясь идентичности.

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

Данная задача потребовала серьезной переработки сетевого стека устройства и устройства с прошивками < 1.36 в некоторых случаях не совместимы с прошивкой 1.36 и выше. В Storage могут произойти коллизии и данные перезаписаться.

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

Как это работает:

  • У вас есть Remote, в нем есть несколько сохраненных ИК сигналов
  • Вы приносите домой еще один Remote и подключаете его в свою сеть
  • Спустя 10-15 секунд на новом Remote появляются все ранее сохраненные в Storage ИК сигналы

Доступность обновления

Прошивка 1.36: выпущено и доступно для обновления из приложения.

LOOK.in Hub 1.58:


Отлично! Надо будет затестить!

Обязательно просим после активации режима Eco и некоторого времени работы в нем заполнить анкету по ссылке в записи блога.

Спасибо за титаническую работу. Обязательно потестим.


Вернуться назад
Вернуться назад