🏗️

Архитектура системы RealIoT

Интерактивная схема построения IoT экосистемы

📐 Гибридная архитектура системы

Система RealIoT построена на гибридной архитектуре, сочетающей облачные и локальные компоненты. Это обеспечивает надежную работу как при наличии интернета, так и в автономном режиме.

Основные компоненты системы взаимодействуют через MQTT протокол, что обеспечивает низкую задержку, надежность доставки сообщений и масштабируемость.

Масштаб: 100%
graph TB subgraph Internet["🌐 Интернет"] Users["👥 Пользователи
веб-браузеры,
iOS, Android, Windows.
Смартфоны, планшеты, компьютеры"] end subgraph Cloud["☁️ Облачный сервер realiot.ru"] direction TB Nginx["🔒 Nginx Reverse Proxy
SSL/TLS сертификаты
443 порт"] CloudApp["⚛️ React Frontend
Веб-интерфейс
PWA приложение"] CloudBackend["🟢 Node.js Backend
REST API
WebSocket сервер"] CloudMQTT["📮 MQTT Broker
Mosquitto
порт 1883"] CloudDB[("💾 База данных
MongoDB
Пользователи, устройства")] end subgraph Proxy["🔄 Глобальный прокси-сервер"] GlobalProxy["🌍 Global Proxy
Node.js WebSocket Bridge
Туннелирование трафика"] end subgraph Local1["🏠 Локальный IoT хаб #1"] direction TB Hub1App["⚛️ React Frontend
Локальный веб-интерфейс"] Hub1Backend["🟢 Node.js Backend
REST API"] Hub1MQTT["📮 MQTT Broker
Mosquitto"] Hub1DB[("💾 MongoDB
Локальная БД")] Z2M1["🔌 Zigbee2MQTT
Zigbee координатор
CC2652/CC2531"] LoRaGW1["📡 LoRa Gateway
LoRaWAN шлюз
SX1301/SX1302"] end subgraph Local2["🏠 Локальный IoT хаб #2"] direction TB Hub2Backend["🟢 Node.js Backend"] Hub2MQTT["📮 MQTT Broker"] Hub2DB[("💾 MongoDB")] end subgraph DevicesL1["📡 Устройства хаба #1"] direction LR ZigDev1["🕸️ Zigbee устройства
Датчики температуры
Датчики движения
Умные розетки
Реле освещения"] LoRaDev1["📻 LoRaWAN датчики
Уличные датчики
Счетчики воды
Дальний радиус"] WiFiDev1["📶 WiFi устройства
RealLab, ESPHome
ESP32"] MatterDev1["⭐ Matter устройства
WiFi"] end subgraph DevicesL2["📡 Устройства хаба #2"] direction LR ZigDev2["🕸️ Zigbee
устройства"] WiFiDev2["📶 WiFi
устройства"] end subgraph DevicesCloud["📡 Облачные устройства"] direction LR WiFiDevCloud["📶 WiFi устройства
Прямое подключение
через Интернет"] end Users -->|HTTPS
443 порт| Nginx Nginx --> CloudApp CloudApp -->|REST API
WebSocket| CloudBackend CloudBackend --> CloudDB CloudBackend --> CloudMQTT Users -->|HTTPS через
обратный прокси| GlobalProxy GlobalProxy -.->|WebSocket
туннель| Hub1App GlobalProxy -.->|WebSocket
туннель| Hub2Backend Hub1App --> Hub1Backend Hub1Backend --> Hub1DB Hub1Backend --> Hub1MQTT Hub1MQTT --> Z2M1 Hub1MQTT --> LoRaGW1 Z2M1 <-->|Zigbee 3.0
2.4 GHz| ZigDev1 LoRaGW1 <-->|LoRaWAN
868/915 MHz| LoRaDev1 Hub1MQTT <-->|MQTT over WiFi
TCP 1883| WiFiDev1 Hub1MQTT <-->|Matter
over WiFi| MatterDev1 Hub2Backend --> Hub2DB Hub2Backend --> Hub2MQTT Hub2MQTT <--> ZigDev2 Hub2MQTT <--> WiFiDev2 CloudMQTT <-->|MQTT
WiFi/Ethernet| WiFiDevCloud CloudMQTT <-.->|MQTT Bridge
локальная сеть
VPN туннель| Hub1MQTT CloudMQTT <-.->|MQTT Bridge
VPN туннель| Hub2MQTT Hub1MQTT <-.->|MQTT Bridge
локальная сеть| Hub2MQTT style Cloud fill:#e1f5ff,stroke:#0288d1,stroke-width:3px style Local1 fill:#fff4e1,stroke:#f57c00,stroke-width:3px style Local2 fill:#fff4e1,stroke:#f57c00,stroke-width:3px style DevicesL1 fill:#f0f0f0,stroke:#666,stroke-width:2px style DevicesL2 fill:#f0f0f0,stroke:#666,stroke-width:2px style DevicesCloud fill:#e8f5e9,stroke:#4caf50,stroke-width:2px style Proxy fill:#ffe1f5,stroke:#e91e63,stroke-width:3px style Internet fill:#fce4ec,stroke:#c2185b,stroke-width:2px

🎨 Обозначения элементов схемы

☁️
Облачный сервер Node.js + React, доступен глобально
🏠
Локальный хаб Автономный IoT сервер в локальной сети
🕸️
Zigbee устройства Mesh-сеть, низкое энергопотребление
📻
LoRaWAN датчики Дальний радиус до 10+ км
📶
WiFi устройства ESP32, ESP8266, Tasmota, ESPHome
Matter устройства Новый универсальный стандарт
📮
MQTT Broker Mosquitto, протокол обмена данными
🔄
Глобальный прокси Обратный прокси для доступа к хабам

⚡ Ключевые особенности архитектуры

  • Гибридная облачно-локальная архитектура для максимальной надежности
  • Работа при отсутствии интернета в автономном режиме
  • Синхронизация данных между облачным сервером и хабами через MQTT
  • Возможность подключения устройств напрямую к облаку или через локальные хабы
  • Поддержка множества протоколов: Zigbee, LoRaWAN, WiFi, Matter
  • Масштабируемость: неограниченное количество хабов и устройств
  • Безопасность: SSL/TLS шифрование, аутентификация, токены доступа
  • MQTT Bridge между всеми брокерами для обмена данными

🌐 Глобальный доступ

Управляйте системой из любой точки мира через защищенное HTTPS соединение с облачным сервером.

🏠 Локальное управление

Все устройства работают через локальный хаб даже без интернета. Полная автономность.

🔄 Автоматическая синхронизация

Данные синхронизируются между облаком и хабами через MQTT мосты автоматически.

📡 Множество протоколов

Поддержка Zigbee, LoRaWAN, WiFi, Matter и других популярных IoT протоколов.

🔒 Безопасность

SSL/TLS шифрование, аутентификация пользователей, защищенные токены для устройств.

📊 Масштабируемость

Система поддерживает неограниченное количество хабов, устройств и пользователей.

🔌 Принципы работы

1. Подключение устройств: IoT устройства подключаются к ближайшему хабу через соответствующий протокол (Zigbee, LoRa, WiFi). Также возможно прямое подключение WiFi устройств к облачному серверу через интернет.

2. Обмен данными: Все компоненты системы обмениваются данными через MQTT протокол. Каждый хаб и облачный сервер имеют свой MQTT брокер, которые объединены мостами (bridges).

3. Управление: Пользователи управляют системой через веб-интерфейс (React). При локальном доступе подключение идет напрямую к хабу, при глобальном - через облачный сервер или обратный прокси.

4. Сценарии: Логика автоматизации выполняется как на локальных хабах, так и на облачном сервере. Это позволяет создавать сценарии, работающие с устройствами из разных локаций.

💻 Техническая реализация системы

Система RealIoT работает на компактном и энергоэффективном оборудовании Raspberry Pi CM4 с Ubuntu 20.04 LTS, обеспечивая полнофункциональный IoT хаб для умного дома.

🖥️ Аппаратная платформа

Raspberry Pi CM4 с 4GB RAM и eMMC 32GB обеспечивает надежную работу системы 24/7 с минимальным энергопотреблением.

🐧 Операционная система

Ubuntu 20.04 LTS гарантирует стабильность, безопасность и долгосрочную поддержку системы.

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

Node.js backend, React frontend, MongoDB база данных, Mosquitto MQTT брокер, Zigbee2MQTT для Zigbee устройств.

🌐 Сетевые возможности

Двойное подключение Ethernet + WiFi, поддержка mDNS (realiot-1.local), VPN туннели для удаленного доступа.

📡 IoT протоколы

Полная поддержка Zigbee, LoRaWAN, WiFi (ESP32, Tasmota, ESPHome), Matter и BLE устройств.

🔒 Безопасность

SSL/TLS шифрование, systemd сервисы, автоматические обновления безопасности, изолированные Docker контейнеры.

Нужна помощь?

Если у вас возникли вопросы по архитектуре системы, свяжитесь с нами

📧 info@reallab.ru | 📞 +7 (495) 26-66-700 | 💬 WhatsApp: +7 (928) 289-24-86

← Назад к справке