📊

Технический анализ системы RealIoT

Детальный анализ хаба RealIoT-Hub

Дата анализа: 9 января 2026

Система: Raspberry Pi CM4, 4GB RAM, eMMC 32GB

ОС: Ubuntu 20.04 LTS (Linux 5.4.0-1122-raspi)

Hostname: realiot / realiot-1 (mDNS)


📊 Сводная информация

Аппаратное обеспечение

Сетевая конфигурация


🚀 Активные процессы (топ по памяти)

Процесс Пользователь %MEM Память Описание
tsserver ubuntu 16.1% 627 MB TypeScript Language Server (Cursor IDE)
cursor-server ubuntu 10.8% 420 MB Cursor IDE Extension Host
node server.js ubuntu 5.7% 223 MB RealIoT Web Server (основной)
mongod systemd+ 2.6% 103 MB MongoDB 4.0 (в Docker)
zigbee2mqtt zigbee2mqtt 2.6% 103 MB Zigbee2MQTT мост
dockerd root 1.8% 71 MB Docker daemon
realiot-ble.py root 0.4% 18 MB RealIoT BLE Server
chirpstack chirpstack 0.3% 12 MB ChirpStack LoRaWAN сервер
chirpstack-gateway-bridge root 0.3% 14 MB ChirpStack Gateway Bridge
postgres postgres 0.4% 27 MB PostgreSQL 12 (для ChirpStack)

🔧 Системные сервисы

Активные сервисы проекта RealIoT

Сервис Статус Описание
realiot-web.service ✅ running RealIoT Web Server (Node.js на порту 5000)
zigbee2mqtt.service ✅ running Zigbee2MQTT (веб-интерфейс на порту 8080)
realiot-ble.service ✅ running RealIoT BLE Server (Python)
mosquitto.service ✅ running Mosquitto MQTT Broker (порт 1883)
avahi-daemon.service ✅ running Avahi mDNS/DNS-SD
chirpstack.service ✅ running ChirpStack LoRaWAN Network Server (порт 8082)
chirpstack-gateway-bridge.service ✅ running ChirpStack Gateway Bridge
chirpstack-concentratord.service ✅ running ChirpStack Concentratord
redis-server.service ✅ running Redis (порт 6379, localhost)
postgresql@12-main.service ✅ running PostgreSQL 12 (порт 5432, localhost)
docker.service ✅ running Docker (MongoDB в контейнере)
wifi-autoconnect.service ✅ loaded WiFi Auto-connect

Неактивные/отключенные сервисы

Сервис Статус Описание
realiot-support-tunnel.service ⚪ inactive SSH туннель для техподдержки (autossh)
realiot-reboot-log.service ⚪ inactive Логирование причин перезагрузки

📦 Установленное ПО

Runtime окружение

Компонент Версия
Node.js v18.20.8
npm 10.8.2
Python 3 3.8.10 (основной), 3.9.22 (дополнительный)
Git 2.25.1

Базы данных

БД Версия Порт Расположение
MongoDB 4.0 27017 Docker контейнер
PostgreSQL 12.22 5432 Системная установка
Redis 5.0.7 6379 Системная установка

MQTT и IoT

Компонент Версия Порт Описание
Mosquitto 1.6.9 1883 MQTT Broker
Zigbee2MQTT (установлен из git) 8080 Zigbee мост
ChirpStack (установлен) 8082 LoRaWAN Network Server
chip-tool v1.5.0.1 - Matter commissioning tool (snap)

Node.js зависимости проекта (основные)

Пакет Версия Назначение
express 4.21.1 Web фреймворк
socket.io 4.8.1 WebSocket коммуникация
mongoose 8.8.1 MongoDB ORM
mqtt 5.10.2 MQTT клиент
@matter/main 0.15.6 Matter протокол
@matter/nodejs 0.15.6 Matter для Node.js
node-red 4.1.1 Визуальное программирование
node-red-contrib-modbus 5.45.2 Modbus для Node-RED
axios 1.8.4 HTTP клиент
jsonwebtoken 9.0.2 JWT аутентификация
bcryptjs 2.4.3 Хеширование паролей
nodemailer 6.9.16 Отправка email
node-cron 4.2.0 Планировщик задач

Системные пакеты (ключевые)

Всего установлено системных пакетов: 779


🌐 Открытые порты и сервисы

Порт Протокол Процесс Описание
5000 TCP node (server.js) RealIoT Web Server (HTTP)
8080 TCP node (zigbee2mqtt) Zigbee2MQTT веб-интерфейс
8082 TCP chirpstack ChirpStack API
1883 TCP mosquitto MQTT Broker
27017 TCP docker-proxy MongoDB
5432 TCP postgres PostgreSQL
6379 TCP redis-server Redis (localhost)
22 TCP sshd SSH Server
53 UDP systemd-resolved DNS resolver

📂 Структура директорий проекта

Основные директории в /opt

Директория Размер Описание
/opt/realiot-web 1.9 GB Основной проект (Node.js + Frontend)
/opt/zigbee2mqtt 787 MB Zigbee2MQTT установка
/opt/realiot-ble 57 MB BLE сервер (Python)
/opt/chirpstack 41 MB ChirpStack сервер
/opt/chirpstack-gateway-bridge 13 MB ChirpStack Gateway Bridge
/opt/chirpstack-concentratord 5.2 MB ChirpStack Concentratord

Конфигурационные файлы проекта

/opt/realiot-web/
├── .env                              # Переменные окружения
├── server.js                         # Основной сервер
├── package.json                      # Node.js зависимости
├── certificate.crt + private.key     # SSL сертификаты
├── config/
│   ├── cameras.json                  # Конфигурация камер
│   ├── db.js                         # Конфигурация MongoDB
│   └── virtualActuators.js           # Виртуальные актуаторы
├── zigbee2mqtt-config.yaml           # Конфиг Zigbee2MQTT
├── avahi-daemon.conf.updated         # Конфиг mDNS
├── 99-wifi-config.yaml               # Конфиг WiFi
├── wifi-autoconnect.service          # systemd сервис WiFi
├── wifi-autoconnect.sh               # Скрипт автоподключения WiFi
├── deploy.sh                         # Скрипт деплоя
├── matter_commission.sh              # Matter commissioning
├── setup-zigbee.sh                   # Установка Zigbee2MQTT
├── setup-wifi-mdns.sh                # Настройка WiFi и mDNS
├── scripts/
│   ├── update_service.sh             # OTA обновление
│   ├── rollback_service.sh           # Откат обновления
│   └── reboot_reason_logger.sh       # Логирование перезагрузок
├── frontend/                         # React приложение
├── build/                            # Собранный frontend
├── node-red-data/                    # Данные Node-RED
├── public/                           # 19 JSON файлов
├── routes/                           # 10 JS файлов маршрутов
├── controllers/                      # Контроллеры
├── models/                           # 5 Mongoose моделей
├── middleware/                       # authMiddleware, roleMiddleware
├── utils/                            # 20 утилит
└── node_modules/                     # 8662 файла зависимостей

Системные конфигурационные файлы

/etc/systemd/system/
├── realiot-web.service               # Основной веб-сервис
├── zigbee2mqtt.service               # Zigbee2MQTT
├── realiot-ble.service               # BLE сервер
├── realiot-support-tunnel.service    # SSH туннель
├── realiot-reboot-log.service        # Лог перезагрузок
├── chirpstack.service                # ChirpStack
├── chirpstack-gateway-bridge.service
└── chirpstack-concentratord.service

/etc/
├── avahi/avahi-daemon.conf           # mDNS конфигурация
├── netplan/99-wifi-config.yaml       # WiFi конфигурация
├── mosquitto/mosquitto.conf          # MQTT брокер
├── chirpstack/chirpstack.toml        # ChirpStack конфиг
└── postgresql/12/main/postgresql.conf

/opt/zigbee2mqtt/data/
└── configuration.yaml                # Zigbee2MQTT конфигурация

/opt/realiot-ble/
├── server_name.txt                   # Имя сервера (realiot-1)
├── realiot-ble/realiot-ble.py        # Основной BLE сервер
├── handle_commission.py              # Matter commissioning handler
├── matter_file_watcher.py            # Matter file watcher
├── requirements.txt                  # Python зависимости
└── venv/                             # Python virtual environment

🔌 Протоколы IoT

Протокол Реализация Порт/Интерфейс Топики MQTT
WiFi MQTT 1883 realiot/data, realiot/command
Zigbee zigbee2mqtt /dev/ttyUSB0 zigbee2mqtt/#
Matter @matter/nodejs BLE + Thread matter/+
LoRaWAN ChirpStack 8082 application/+/#
Modbus Node-RED - через Node-RED
BLE realiot-ble.py Bluetooth -

🐳 Docker контейнеры

Контейнер Образ Статус Порты Создан
mongodb mongo:4.0 Up 19 months 27017:27017 8 months ago

Примечание: MongoDB работает стабильно в Docker контейнере и автоматически запускается при загрузке системы.


📡 mDNS сервисы (Avahi)

Обнаруженные сервисы в локальной сети:

+ IoT MQTT (realiot-1)        _mqtt._tcp      local  (eth0, wlan0)
+ IoT MQTT (realiot-1)        _mqtts._tcp     local  (eth0, wlan0)

Конфигурация Avahi:


📝 Сценарии использования

Обмен данными

  1. Локальные устройства → MQTT → my_mqtt.js → MongoDB (devicedata)
  2. Zigbee устройства → zigbee2mqtt → MQTT → my_mqtt.js
  3. Matter устройства → @matter/nodejs → MQTT
  4. LoRaWAN устройства → ChirpStack → MQTT
  5. Frontend ↔ Socket.io ↔ server.js

Глобальная синхронизация

OTA обновления

  1. Загрузка tar.gz архива
  2. update_service.sh → остановка сервиса → backup → распаковка → запуск
  3. При ошибке: автоматический rollback_service.sh

🎯 Что работает и что нет

✅ Работает

⚠️ Не активно


💾 Использование ресурсов

Память

Диск

CPU


📋 Дополнительно

Python окружения

Snap пакеты

USB устройства

Сетевые особенности


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

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

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

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