IoT-платформа
Услуги
Направление
Задача
Разработать универсальную IoT-платформу для сбора, обработки и отображения данных полученных от IoT устройств, с возможностью интеграции с другими системами и быстрого добавления программных интерфейсов для подключения новых типов устройств
Технологии
Back-end:
- Основной язык программирования: Python
- Основная шина данных: RabbitMQ
- Основной веб-сервер: Nginx
- Фреймворки: SqlAlchemy, Flask
- Форматы сообщений: MessagePack, Json
- Основная База данных: Postgres 14 (Patroni cluster)
- Вспомогательная база данных: Redis, etcd
- Оркестрация: Kubernates
- Система артефактов: Sentry, Prometheus, Loki, Graphana
Frontend:
- Основной язык программирования: JavaScript
- Фрэймворк: VueJS 2.5
архитектура решения
Слой получения и хранения данных
- DataGateway Service — входной слой получения и парсинга сырых данных
- Input Networks — отвечает за получение данных извне (посредством API или опросом сторонних сервисов)
- Output Networks — отвечает за переброс полученных данных и интеграцию с внешней системой (Агрегатор Данных, сторонние системы)
- System View — отвечает за менеджмент и инструменты проверки состояния и отладки пакетов и приборов
- DataAggregator Service — агрегация данных потребления, интерполяция и предоставление доступа к данным
- Device Control Service — сбор данных о приборе, владельцах и сервисных компаниях, его прошивках, производителях и поддерживаемых протоколах
- Device REST API — управление счетчиками
- Values REST API — предоставление данных для нужд личного кабинета
- Public REST API — предоставление доступа к данным счетчиков
- Base Station REST API — менеджмент доступа базовых станций
- Input System — получение и сохранение данных от DataGateway Service
- System View — управление внутренним состоянием системы Data Aggregator Service
- Command API — предоставление доступа внешним системам к данным приборов, отправка управляющих команд прибору (запрос данных, изменение настроек)
- DataLogger – регистратор данных, который записывает данные во внутреннюю память, на внешнее хранилище или передаёт в облачный сервис
- Internal REST API — предоставление доступа к данным в БД логгера
- Visualization View — визуализация статистики, логов, карт и прочего для поддержки личного кабинета (ЛК)
- System View — управление системными данными сервиса (токены, доступы)
Слой менеджмента и визуализации данных
- DataGateway Service — входной слой получения и парсинга сырых данных
- Input Networks — отвечает за получение данных извне (посредством API или опросом сторонних сервисов)
- Output Networks — отвечает за переброс полученных данных и интеграцию с внешней системой (Агрегатор Данных, сторонние системы)
- System View — отвечает за менеджмент и инструменты проверки состояния и отладки пакетов и приборов
- DataAggregator Service — агрегация данных потребления, интерполяция и предостав-ление доступа к данным
- Device Control Service — сбор данных о приборе, владельцах и сервисных компаниях, его прошивках, производителях и поддерживаемых протоколах
- Device REST API — управление счетчиками
- Values REST API — предоставление данных для нужд личного кабинета
- Public REST API — предоставление доступа к данным счетчиков
- Base Station REST API — менеджмент доступа базовых станций
- Input System — получение и сохранение данных от DataGateway Service
- System View — управление внутренним состоянием системы Data Aggregator Service
- Command API — предоставление доступа внешним системам к данным приборов, отправка управляющих команд прибору (запрос данных, изменение настроек)
- DataLogger – регистратор данных, который записывает данные во внутреннюю память, на внешнее хранилище или передаёт в облачный сервис
- Internal REST API — предоставление доступа к данным в БД логгера
- Visualization View — визуализация статистики, логов, карт и прочего для поддержки личного кабинета (ЛК)
- System View — управление системными данными сервиса (токены, доступы)
Инфраструктурная часть
- Kubernates system — супервизор, синхронизатор и менеджер сервисов и систем на серверах
- Postgres Cluster — Master-Slave репликационная система базы данных для устойчивого доступа к данным
Результат
Разработана универсальная IoT-платформа согласно поставленной задаче. Сервис − Личный кабинет обеспечивает:
- Сбор данных (показания, события, состояние, профили) от всех приборов через любые каналы связи (БС, УСПД, GSM, Nbiot и пр.) и сервисов посредников или дополнительного ПО к базовым станциям (LORA, SIGFOX, WAVIOT и др.);
- Хранение данных для последующего получения этой информации посредством API;
- Предоставление прямого доступа (запрос, установка настроек, управление) к приборам учета через любой канал связи;
- Визуализация данных для анализа, отчетов для управляющих компаний и служб поддержки;
- Менеджмент приборов в процессе эксплуатации, предоставление и ограничение доступа к показаниям и данным приборов и базовым станциям.
Долгосрочные отношения с партнерами подтверждают нашу высокую квалификацию и соответствие международным требованиям деловой этики
По любым вопросам вы можете обратиться к нам через форму обратной связи или составить более подробное техническое задание, и наши специалисты свяжутся с вами
Составить ТЗ онлайн