Разработка архитектуры ПО для взаимодействия оборудования с Back-end и
Разработка архитектуры программного обеспечения для взаимодействия оборудования с Backend и Frontend компонентами системы охраны.
Объект разработки:
Система охраны, состоящая из:
- контроллер на объекте
- сервер
- пульт охраны / модуль интеграции в сторонний пульт
- пользовательское приложения
- приложение для монтажников.
Данные о системе:
- Контроллер. Основан на микроконтроллере АМУР МИК32, Ethernet контроллере W5500, и модеме Прогресс ПР1603. Контролер собирает информацию о состоянии датчиков на объекте и прочие параметры и передаёт эту информацию на сервер и, в ограниченном виде, на пульт охранного предприятия. Не требуется описания взаимодейсвия контроллера с датчиками и прочей переферией/
- Сервер, обеспечивающий обмен информацией между: Контроллером, пультом охраны (как один из двух путей), приложением пользователя и приложением монтажника. Архитектура должна позволять подключить контроллер напрямую к пульту охраны, оставив серверу роль страхующего канала связи. Сервер должен хранить доступ о пользователях контроллеров и их правах доступа.
- Модуль интеграции для стороннего Пульта охраны. На начальном этапе планируется разработка модуля интеграции для пультов (по аналогии с Ajax Translator): Андромеда Центр Охраны, Си-Норд Центр Охраны.
- Пульт охраны: С дальнейшим планируется разработка своего пульта в виде ПО под Windows или Российских ОС на базе Linux
- Приложение пользователя. Полный доступ к настройкам, диагностике и управлению контроллером, получение уведомлений о тревогах/смене состояния охраны и тд. Приложение является основным способом управления контроллером. Планируется под iOS, Android и, возможно, под ОС Аврора. Связь с контроллером только через сервер.
- Приложение монтажника (для обслуживания). Аналогично приложению пользователя, но с ограничением в правах: пользователь может ограничивать права монтажника в виде ограничения доступа к функциям и/или по времени.
Требования к системе
- Учётные Записи Пользователей и Монтажников разные.
- Предпочтительно использование алгоритма Кузнечик для шифрования передаваемых данных
- Реализация обновлений по воздуху для Контроллера
- Резервирование и отказоустойчивость
- Легкая масштабируемость системы
- Желателен упор на российские решения по возможности, например (ROSA Linux, Postgres Pro)
Ожидаемые результаты
- Разработанная архитектура ПО, описывающая взаимодействие компонентов, используемые языки программирования, фреймворки, платформы.
- Описание хранимых данных. Что требуется хранить и как долго, какие объёмы? Права доступа?
- Описание структуры БД и СУБД
- Методология шифрования и защиты передаваемых и хранимых данных.
- Обоснование используемых решений
- Подробные рекомендации по разработке Backend, Frontend и мобильных приложений
- Учёт технологических особенностей и ограничений контроллера