Как мы доводили умную розетку до уровня массового продукта

в 5:59, , рубрики: Блог компании ВымпелКом (Билайн), разработка, телефония, умная розетка, управление проектами, метки: ,

Продолжаю рассказывать про разработку железа у нас. Итак, розетка. Умеет включаться и выключаться по команде, имеет датчик температуры.

Ситуация опять на первый взгляд достаточно простая: есть готовое устройство, в целом понятно, как оно работает — но на массовый рынок оно не вышло. Слишком сложное, непонятное и хлопотливое в обычном использовании для человека без IT-образования. Да и стоит довольно много. Хочется удобнее, проще, понятнее и дешевле.

Как мы доводили умную розетку до уровня массового продукта
Серийная модель в разборе. Основные вещи: корпус, сама розетка, плата контроля напряжения с конденсатором, плата с контроллером, радиомодуль с антенной, SIM-слот.

В отличие от трекера, где нам пришлось очень много работать с железом, розетки у нашего партнёра-производителя уже были «в форме» и, в целом, отлично себя показали. Основные проблемы крылись в ПО, причём как низкоуровневом, так и высокоуровневом.

Сеть розеток

Конечно, сразу захотелось избавиться от SMS-канала. Обычные розетки отправляют и принимают SMS сами. Это не очень надёжно и довольно дорого для владельца. Значит, мы совершенно со спокойной совестью удешевляем использование за счёт применения GPRS. Это уже режет затраты для владельца почти втрое.

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

То есть введением промежуточного сервера-посредника мы добились сразу трёх важных эффектов:

  • Розетка стала дешевле в эксплуатации (мы смогли обозначить фиксированные 99 рублей в месяц вместо непонятных затрат).
  • Мы получили возможность «накручивать» любые скрипты поверх железа без модификации этого железа.
  • И у нас появилось место, где можно легко и быстро настраивать и конфигурировать устройство без программатора и подключений к чему-либо. Дружелюбных интерфейсов на тот момент просто не было, а нам сразу хотелось сделать розетку понятной даже пенсионерам.

Важным фактором перехода с SMS-отправки с самой розетки до GPRS-связи с сервером стало ещё и то, что при использовании большого количества устройств в многолетней перспективе (года через три-четыре, когда их, возможно, будет сотни тысяч на район), мы создадим проблему перегрузки SMS-канала. На рынке был и вариант GPRS-розетки, но по стоимости покупки и эксплуатации получалось почти в два раза выше, чем хотели мы.

Функционал ПО

Итак, сама по себе розетка умела изначально обрабатывать SMS, отвечать на них другими SMS, отдавать данные датчика и замыкать-размыкать контакты по команде от чипа. Внутри самого устройства была реализована вся логика — это и функции расписания, и реакции на температуру и остальное. Фактически, всё это было захардкожено, и любое изменение алгоритма означало необходимость перепрошивки устройства. А мы очень мало верили в то, что кто-то на массовом рынке будет серьёзно перепрошивать розетку.

Итак, мы вынесли почти всю логику на сервер. Сервер умеет следующие вещи:

  • Отдаёт команды розетке, убеждается, что розетка отработала. Аналогично — для других прямых команд.
  • Реализован интерфейс создания расписания и реализация отправки команд по наступлению заданного времени.
  • И там же может программироваться реакция на разного рода события, например, изменение температуры. Пользователь задаёт в очень простом интерфейсе нужные условия, а сервер выступает в роли программатора розетки, передавая это вниз по техническому стеку (как если бы пользователь впрямую записал новый конфигурационный файл на неё).

Как мы доводили умную розетку до уровня массового продукта
Интерфейс настройки расписания и скриптов

Как мы доводили умную розетку до уровня массового продукта
Лог температуры в нашем офисе.

Тесты

Что продукт станет востребован, мы с радостью поняли почти сразу. Дело в том, что первым пользователем устройства стал наш программист WEB-интерфейса, который не раздумывая воткнул одну перед своим сервером. Как он объяснил — это самый простой способ удалённо его перезагрузить.

Все бета-тестеры сразу вспоминали про свои дачи. После пары слов про то, что хорошо бы получить идеи использования, связанные с термодатчиком, в программу тестирования неожиданно ворвался сразу директор нашего филиала. «У меня в прошлом году на даче замёрзли трубы — давайте прототип» — и взял одно устройство. Он же стал самым активным бета-тестером, потому что трубы на даче его волновали довольно сильно. Постоянно писал примечания, объяснял, что именно хочется поменять в интерфейсе и так далее.

Ближе к зиме мы поставили прототипы у себя в офисе и настроили на включение обогревателей за 1 час до начала рабочего дня. Оказалось очень удобным — тепло, и никакого лишнего расхода энергии на ночь. Есть пара моментов — стиральная машина вряд ли включится по подаче питания, так как большая часть моделей имеет свой программатор и требует дополнительного ручного нажатия на кнопки для старта. Также, например, ведут себя интеллектуальные нагреватели (с пультом управления).

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

  • Защита от короткого замыкания обеспечивается стабилитронами.
  • При любой нештатной потенциально опасной ситуации розетка размыкает цепь (на входе питания).
  • Энергии после отключения питания хватает на 15 секунд работы радиомодуля и платы. Поскольку GPRS-сессия открыта постоянно, этого времени вполне хватает на отправку аварийного сигнала на сервер, чтобы он уведомил владельца о проблеме.

Учитывая, что мы всё равно работаем с термодатчиком, пользователи попросили собирать график температуры в личном кабинете. Это было совсем просто, но очень интересно.

Итог

Стоимость устройства — 2700 рублей, абонплата — 99 рублей в месяц (туда входит неограниченное количество SMS-оповещений).

  • Мощность подключаемых приборов: до 3 кВт.
  • Нагрузка на выходе: до 16А – постоянная нагрузка, до 70А – кратковременная нагрузка.
  • Собственное потребление: 110-180mA.
  • Автономная работа на конденсаторе 15 секунд.
  • Защита от короткого замыкания.

Вот что мы получили от юзабилистов:

Как мы доводили умную розетку до уровня массового продукта

В целом — продукт очень понятен и с технической стороны нареканий не имеет. Тем не менее, обычным пользователям освоить его с первой попытки затруднительно. Главные шаги – нужно дорабатывать web-интерфейс. Мы уже после этих результатов поправили инструкцию по установке, изменили немного интерфейс, реализовав пошаговую регистрацию, и свели всё управление на одну вкладку. Пользователям понравилось больше. Также мы решили не делать управление устройством через IVR, а планируем делать мобильные приложения вместо этого.

P.S. Розетка сейчас продаётся в Петербурге и Калинингаде, в ближайшее время — по всему Северо-Западному региону.

Автор: Beeline_spb_lab

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js