
Для проекта сервиса обеспечения безопасности жилых домов и квартир была разработан прототип устройства, сигнализирующего о возникновении нештатной ситуации на объекте наблюдения.
Устройство спроектировано на базе SoC Mediatek MT7688 (использовалась плата разработки SeedStudio LinkIt Smart DUO). Предполагалось, что устройство устанавливается на проводной Ethernet-сети и взаимодействует с серверной частью через HTTPS/WSS, а с RTSP-камерой - посредством Wi-Fi.
Разработанное ПО состояло из нескольких частей:
-
программа для микроконтроллера Atmel Atmega32U4, предназначенная для обработки данных с датчика освещения, газоанализатора, датчика температуры и давления и управления OLED-дисплеем для отображения состояния устройства;
-
программа для микроконтроллера Atmel Atmega328 для получения сигналов от внешних датчиков (датчик пожара, датчик проникновения и т.д.) на частоте 433 МГц;
-
программа управления для устройства, обеспечивающая связь с сервером и передачу данных о показаниях датчиков с предварительной обработкой данных на предмет аномалий. Также программа обеспечивает передачу фото и видео потоков с подключенной RTSP-камеры на сервер и обновление ПО устройства по команде с сервера;
-
серверное ПО - журналирование событий, обеспечение видеотрансляции и фото-фиксации в случае возникновения нештатной ситуации, оповещение владельца устройства.
Специально для данного проекта в сборку образа прошивки устройства на базе OpenWRT была добавлена новая версия Erlang ERTS и устранено ПО, поставляемое производителем по умолчанию. Также была отлажена система автоматической сборки прошивки с обновляемыми версиями контролирующего ПО.
Язык разработки: Erlang (устройство и серверная часть), C (микроконтроллеры);
Передача видео: ffmpeg, nginx-rtmp (поток преобразуется с RTSP в HLS);
UI: VueJS.