IoT Managed Service

Назначение

IoT Managed Service — это облачный сервис для управления IoT-устройствами, сбора и хранения телеметрии, а также интеграции с внешними системами через MQTT, Kafka и REST API.

Сервис автоматизирует регистрацию устройств, выдачу credentials, сбор телеметрии и предоставляет REST-интерфейс для управления и мониторинга.


Архитектура

  • IoT Device — физическое устройство, подключающееся по MQTT
  • EMQX — брокер MQTT, делегирует auth/ACL в iot-operator
  • iot-mqtt-bridge — подписка на все топики, проксирует в Kafka
  • Kafka — очередь событий телеметрии
  • iot-kafka-consumer — сохраняет телеметрию в per-tenant Postgres
  • IoT Postgres — база данных для хранения телеметрии
  • REST API — управление устройствами, получение телеметрии

Основные компоненты

Компонент Назначение
iot-operator REST API, контроллер CRD
iot-mqtt-bridge MQTT → Kafka
iot-kafka-consumer Kafka → Postgres
iot-postgres Хранение телеметрии
EMQX MQTT брокер

Основные команды и эндпоинты

Публичные

  • GET /console — IoT Console (SPA)
  • GET /iot-admin — страница администратора

JWT (namespace)

  • POST /v1/namespaces/{ns}/iot/devices — создать устройство
  • GET /v1/namespaces/{ns}/iot/devices — список устройств
  • GET /v1/namespaces/{ns}/iot/devices/{name} — получить устройство + пароль
  • DELETE /v1/namespaces/{ns}/iot/devices/{name} — удалить устройство
  • PATCH /v1/namespaces/{ns}/iot/devices/{name} — обновить (enabled)
  • GET /v1/namespaces/{ns}/iot/telemetry — получить телеметрию

Внутренние (без JWT)

  • POST /internal/mqtt/auth — MQTT auth для EMQX
  • POST /internal/mqtt/acl — MQTT ACL для EMQX

Админ

  • GET /iot-admin/stats — статистика (PG, Kafka, pods)

Быстрый старт

  1. Развернуть EMQX, iot-mqtt-bridge, event-dispatcher, iot-kafka-consumer, iot-postgres (см. deployments/k8s/)
  2. Зарегистрировать устройство через REST API или CRD
  3. Подключить устройство к MQTT (логин/пароль выдаются автоматически)
  4. Телеметрия автоматически попадёт в Postgres и доступна через REST API

Документация

  • doc/architecture/overview.md — архитектура
  • doc/api/endpoints.md — список эндпоинтов
  • doc/deployment.md — деплой и инженерные детали
  • examples/README.md — пример E2E цепочки
S
Description
No description provided
Readme
966 KiB
Languages
HTML 52.2%
Go 46.5%
Dockerfile 0.8%
Makefile 0.5%