Как мы разработали свою Wi-Fi камеру
На протяжении нескольких лет операторы связи используют Flussonic Watcher для запуска абонентских сервисов видеонаблюдения. Такие сервисы рассчитаны на разную целевую аудиторию, и одной из самых сложных задач для нас всегда был запуск абонентского сервиса для B2C.
Особенно тяжело было ответить на самый частый вопрос от клиентов: “Какую камеру нужно разместить на полке в магазине, чтобы абонент купил ее, принес домой, подключил по Wi-Fi к роутеру с помощью мобильного приложения и начал использовать с нашим сервисом?”
На тот момент у нас не было хорошего примера подобного продукта. Все дело в совокупности требований к камерам для сегмента B2C. Рынок сейчас переполнен оборудованием с AliExpress, и абоненты привыкли к тому, что камеры для дома должны:
- Иметь на борту Wi-Fi интерфейс для подключения к роутеру;
- Управляться с мобильного приложения;
- Иметь возможность самостоятельного монтажа и настройки – быть DIY-решением;
- Удобно подключаться к аккаунту сервиса видеонаблюдения.
Наши клиенты из B2B сегмента, как правило, выполняют подключение камеры к аккаунту сервиса видеонаблюдения на этапе пуско-наладочных работ. Инженеры-монтажники прописывают RTSP ссылку на поток с камеры или переносят камеру с агентом, пришедшую автоматически в Watcher, в аккаунт абонента. Такие способы добавления камеру в аккаунт предполагают наличие знаний о видеонаблюдении, либо наличие администраторского доступа к сервису.
В случае же с B2C сегментом, эти методы нельзя было использовать для того, чтобы построить сервис, ориентированный на массового абонента. Решение проблемы могло бы дать нашим клиентам домашнюю Wi-Fi камеру для использования в качестве основного абонентского устройства в B2C сервисах.
Поиск производителя камер для подключения нашего Агента
В первую очередь мы задумались о работе с китайскими фабриками. Идея достаточно проста: отправить им файлы Flussonic Agent, который (при наличии интернета) автоматически подключается к серверу Watcher, после чего китайские фабрики распространяют камеры с Агентом среди наших клиентов.
На тот момент наш Агент предполагал работу только с одним сервером Watcher, идентификатор которого закладывался на этапе подготовки файлов. То есть, для каждого клиента необходимо было создавать своего Агента, отправлять его на фабрику в Китай и там вкладывать в прошивку и заливать на камеры. Это чревато увеличением трудоемкости подготовки Агентов под каждого клиента, увеличением риска заливки не той прошивки под клиента, а также отсутствием возможности держать на складе “горячий” запас камер для отправки клиентам. Неизвестно было заранее, какому клиенту и с каким идентификатором сервера надо будет отправить камеры.
Столкнувшись с этими сложностями, мы приступили к их решению. В процессе у нас появилась модификация универсального Агента, который изначально не был привязан ни к какому серверу Watcher. Такой Агент при включении и подключении к Интернету ожидает команду от локальной сети нашего мобильного приложения. Мобильное приложение сообщает Агенту все необходимые данные для подключения к серверу Watcher, чтобы после нажатия на кнопку “Добавить”, Агент сразу оказался в аккаунте абонента.
Таким образом, китайские фабрики смогли получить от нас одну версию Агента и упаковать его в прошивку, которую залили на огромное количество камер и разместили на складе. Камеры быстро набрали популярность и начали распространяться по всему миру. И даже если клиент не использует Watcher, Агент не инициирует подключение сам и ожидает команды от мобильного приложения. Подобное решение позволило нам избавиться от описанных выше проблем, но только для проводного видео-оборудования, вроде буллетов или купольных камер.
Сложности подключения нашего QR-кода к китайским камерам. Китайские камеры обычно используют QR-код или звуковой сигнал. Последние сообщают камере настройки для того, чтобы подключиться к Wi-Fi сети. Поскольку мы являемся разработчиками мобильного приложения, то нам не сложно получить от телефона данные подключения к Wi-Fi и сформировать QR-код, который можно показать камере. Однако, каждая китайская камера изначально заблокирована на облаке. Даже если мы начнем генерировать QR-коды в мобильном приложении, то после распознавания кодов камерой, она начнет подключение не к нашим серверам, а к китайским.
Мы пробовали общаться с производителями на предмет изменения прошивки камер с их стороны, чтобы оборудование получало наш формат QR-кода с данными по подключению к Wi-Fi сети и к серверу Watcher. Так как переговоры ни к чему не привели, мы решили, что сможем разработать собственную прошивку для нашей Wi-Fi камеры. Разработка собственной прошивки для Wi-Fi камеры
Первым делом надо было найти достойную камеру, для которой будет адаптирована наша прошивка IRIS. В течение двух месяцев мы сидели на AliExpress, профильных площадках с китайскими поставщиками, заказывали образцы, тестировали и сравнивали их. Просмотрев десятки Wi-Fi камер, мы заметили существенную разницу в применяемых компонентах, качестве сборки и используемом сырье. При этом цена камер была приблизительно одинаковая. Кроме того, возникло ощущение, что подобная вариативность может встречаться и в производственных процессах. Чтобы выбрать действительно хорошую камеру, мы решили посетить заинтересовавшие нас китайские фабрики. Так, мы могли руководствоваться не только видом конечного изделия, но и анализом того, что происходит на производстве.
Мы посетили 10 заводов, чьи образцы нам больше всего понравились. Поездки оказались полезными и продуктивными – мы поняли, как может быть устроено производство камер. Но самое главное – мы смогли выбрать надежную фабрику, в которой были уверены.
Вот основные особенности производства:
- Вся готовая продукция тестируется перед отгрузкой
- Рабочие места оборудованы и размечены
- Сотрудники производства проходят ежедневный инструктаж и регулярные обучения, нацеленные на повышение квалификации
- Фабрика обладает собственной линией SMD монтажа
- Сотрудники носят спецодежду
- Присутствуют правила поддержания гигиены на рабочих местах
- Все процессы формализованы и четко описаны.
После выбора производителя, осталось адаптировать нашу прошивку IRIS для этой модели камеры и написать алгоритм распознавания QR-кода. Алгоритм позволит передать камере параметры беспроводной сети и запустить механизм активации Агента. Наша камера использует чип Hisilicon 3516, для которого мы уже успешно ранее адаптировали прошивку. Мы взяли несколько образцов, когда были на заводе, отвезли их в офис и начали работу.
Адаптация прошивки IRIS к новой камере начинается с припаивания UART. Таким образом, мы получаем возможность работать с файловой системой камеры напрямую. Первым делом мы скачиваем текущий образ файловой системы, чтобы к нему можно было в любой момент времени откатить камеру. Затем начинается процесс непосредственной адаптации прошивки IRIS. Для того, чтобы адаптировать прошивку, нам нужна спецификация на применяемый чипсет и SDK к нему. По сути, процесс адаптации сводится к тому, что мы налаживаем связь между высокоуровневой логикой самой прошивки и низкоуровневым проколом чипсета.
Простой пример: в прошивке IRIS есть режим перехода день/ночь. Для реализации этого перехода, необходимо управлять пониманием и опусканием механического ИК-фильтра, которым управляет чип. Соответственно, чипу нужно сообщить команду из прошивки, чтобы он поднял или опустил ИК-фильтр. Описание и формат команд содержится в SDK, который находится у нас на руках. Для каждой функциональности нашей прошивки мы вычитываем и реализовываем список команд, которые необходимо сообщить чипу. Так, шаг за шагом, происходит адаптация прошивки IRIS под новый чип камеры. На весь процесс адаптации прошивки под новый чип уходит примерно 2 месяца.
На заключительном этапе, когда прошивка IRIS адаптирована под камеру, ее необходимо протестировать. Камера размещается на стенде, подключается к нашей IT инфраструктуре и проходит автоматические тесты. Также мы привлекаем особо любопытных сотрудников, которые оценивают результат адаптации пристальным взглядом.
Как работает наша Wi-Fi камера?
На весь процесс создания собственной Wi-Fi камеры для наших клиентов, запускающих B2C сервисы видеонаблюдения, у нас ушел практически год. Теперь камера готова к работе.
Абонент приобретает камеру через интернет или в офисе продаж оператора и приносит ее домой. Камера имеет устойчивое основание, поворотный механизм, управляемый с мобильного приложения, и кронштейн, который можно разместить на любой поверхности. К камере подключается разъем питания с использованием стандартного micro usb.
Наша камера имеет два интерфейса связи: проводной Ethernet и беспроводной Wi-Fi. В случае подключения камеры по Wi-Fi, ее можно подключить к беспроводной сети и к своему аккаунту во Flussonic Watcher используя наше мобильное приложение. В нем есть пункт “Добавить камеру”, где необходимо ввести пароль от Wi-Fi-сети. Затем необходимо выбрать пресет, с которым подключается камера. После этого мобильное приложение генерирует QR-код, который необходимо показать камере. Камера читает его, подключается к сети Wi-Fi и появляется в аккаунте абонента, после чего она готова к работе и может управляться с мобильного и веб-приложения.
Доступны следующие функции:
- просмотр видео в режиме лайв и архива
- детекция движения
- управление поворотным механизмом
Если что-то пойдет не так, то камера сообщит об этом и подскажет, что делать. Кстати, голосовые сообщения в нашей прошивке полностью кастомизируются. Если они не нравятся клиентам или клиенты хотят перевести их на другой язык, то это можно сделать очень просто. Достаточно оставить нам обращение, после чего мы пришлем JSON, в который необходимо вписать фразы на желаемом языке, и мы отправим собранную с кастомным озвучиванием прошивку. Кроме того, мы имеем возможность брендирования корпуса и коробки камер. Наша камера готова к проектам, связанным с запуском абонентских B2C-сервисов видеонаблюдения.