Дата анализа: 9 января 2026
Система: Raspberry Pi CM4, 4GB RAM, eMMC 32GB
ОС: Ubuntu 20.04 LTS (Linux 5.4.0-1122-raspi)
Hostname: realiot / realiot-1 (mDNS)
📊 Сводная информация
Аппаратное обеспечение
- Платформа: Raspberry Pi CM4 (aarch64)
- ОЗУ: 3.7 GB (используется 1.8 GB, доступно 1.7 GB)
- Хранилище: eMMC 29 GB (использовано 13 GB, свободно 16 GB, 45%)
- USB устройства: Silicon Labs CP210x UART Bridge (Zigbee донгл на /dev/ttyUSB0)
Сетевая конфигурация
- eth0: 192.168.0.70/24 (LAN)
- wlan0: 192.168.20.131/24 (WiFi)
- docker0: 172.17.0.1/16
- mDNS имя: realiot-1.local (доступно по eth0 и wlan0)
🚀 Активные процессы (топ по памяти)
| Процесс |
Пользователь |
%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 |
Планировщик задач |
Системные пакеты (ключевые)
- Docker + containerd
- avahi-daemon (mDNS)
- networkd-dispatcher
- curl, git, python3-dev
- Snap packages: chip-tool, core20, core22, core24, snapd
Всего установлено системных пакетов: 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:
- Интерфейсы: eth0, wlan0
- IPv4: включен
- IPv6: отключен
- Deny: docker0
📝 Сценарии использования
Обмен данными
- Локальные устройства → MQTT → my_mqtt.js → MongoDB (devicedata)
- Zigbee устройства → zigbee2mqtt → MQTT → my_mqtt.js
- Matter устройства → @matter/nodejs → MQTT
- LoRaWAN устройства → ChirpStack → MQTT
- Frontend ↔ Socket.io ↔ server.js
Глобальная синхронизация
- Локальный сервер ↔ socketProxy.js ↔ 109.70.24.215 (Nginx)
OTA обновления
- Загрузка tar.gz архива
update_service.sh → остановка сервиса → backup → распаковка → запуск
- При ошибке: автоматический
rollback_service.sh
🎯 Что работает и что нет
✅ Работает
- RealIoT Web Server (Node.js на порту 5000)
- Zigbee2MQTT (веб на порту 8080)
- MongoDB в Docker
- MQTT Broker (Mosquitto)
- ChirpStack LoRaWAN сервер
- RealIoT BLE Server
- Avahi mDNS
- WiFi автоподключение
- Redis + PostgreSQL
⚠️ Не активно
- SSH туннель техподдержки (отключен)
- Логирование перезагрузок (inactive)
💾 Использование ресурсов
Память
- Всего: 3.7 GB
- Используется: 1.8 GB (48%)
- Свободно: 138 MB
- Буферы/Кеш: 1.8 GB
- Доступно: 1.7 GB
- Swap: Не используется
Диск
- eMMC: 29 GB
- Используется: 13 GB (45%)
- Свободно: 16 GB
CPU
- Ограничение realiot-web: 150% (1.5 ядра)
📋 Дополнительно
Python окружения
- Системный Python: 3.8.10
- Дополнительный Python: 3.9.22
- Virtual env: /opt/realiot-ble/venv
- Пакеты: bleak, dbus-python, websockets (для BLE)
Snap пакеты
- chip-tool v1.5.0.1 (Matter commissioning)
USB устройства
- Silicon Labs CP210x (Zigbee координатор на /dev/ttyUSB0)
Сетевые особенности
- Две активные сети: LAN (192.168.0.x) + WiFi (192.168.20.x)
- mDNS работает на обоих интерфейсах
- Docker network: 172.17.0.0/16
Нужна помощь?
Если у вас возникли вопросы по технической реализации системы, свяжитесь с нами
📧 info@reallab.ru | 📞 +7 (495) 26-66-700 | 💬 WhatsApp: +7 (928) 289-24-86