Любой, кто работал с промышленной автоматизацией, сталкивался с одной и той же проблемой — разные устройства общаются на разных языках. Старое железо только на MODBUS, современные облачные сервисы требуют MQTT, а пользователи хотят красивые веб-интерфейсы. В итоге простая задача превращается в интеграционный квест или танцы с бубном с множеством шлюзов и костылей.
Поэтому, мы решили создать DRM88ER – интернет-реле "Разумный дом", которое решает эту проблему довольно изящно — просто собрав MODBUS, MQTT и WEB в одном устройстве за 14 500 рублей. Посмотрим, что из этого получилось.
Почему промышленный IoT до сих пор головная боль
Типичная архитектура промышленной автоматизации выглядит как многослойная система:
Датчики/исполнители → MODBUS RTU по RS-485
Контроллеры → MODBUS TCP через Ethernet
SCADA системы → Проприетарные протоколы
Облачные сервисы → MQTT/HTTP
Пользователи → WEB/мобильные приложения
Каждый уровень использует свой протокол, требуя дорогостоящих шлюзов и конвертеров. В результате простая задача "управлять насосом через интернет" превращается в сложную интеграционную задачу.
DRM88ER предлагает радикально иной подход — унификацию управления через множественные интерфейсы в одном устройстве.
DRM88ER собирает все протоколы в одной коробке
Единое регистровое пространство
Ключевая особенность DRM88ER — все интерфейсы работают с едиными MODBUS-регистрами:
Физические I/O ←→ MODBUS Registers ←→ Все протоколы связи
↓ ↓ ↓
8 входов IR/DI/HR/Coils MQTT/TCP/RTU/WEB/REST
8 выходов (единая карта) (параллельный доступ)
Это означает, что команда из MQTT мгновенно отражается в MODBUS TCP, а изменение состояния входа одновременно доступно через все интерфейсы.
Практический пример мультипротокольного мониторинга
Рассмотрим мониторинг температуры в серверной с резервированием каналов связи:
Python • Мультипротокольный мониторинг температуры
# Чтение через MODBUS TCP from pymodbus.client.sync import ModbusTcpClient client = ModbusTcpClient('192.168.1.100') result = client.read_input_registers(11, 1, unit=1) temperature = result.registers[0] / 10 # Публикация в MQTT import paho.mqtt.client as mqtt mqtt_client = mqtt.Client() mqtt_client.connect("iot.company.com", 1883) mqtt_client.publish("factory/server-room/temperature", temperature, qos=1, retain=True) # REST API для корпоративных систем import requests requests.post("https://api.company.com/sensors/data", json={"temperature": temperature, "source": "drm88er"}) # WEB-интерфейс доступен из коробки по http://192.168.1.100
Кейс — умная насосная станция
Рассмотрим внедрение DRM88ER на насосной станции водоснабжения с 4 насосами, частотными преобразователями и облачным мониторингом.

Программирование логики управления
Встроенный язык сценариев позволяет реализовать алгоритм управления без внешнего ПЛК:
DRM88ER Script • Каскадное управление насосами
# Каскадное управление насосами 0: MB_IN SlaveID=10; Func=IR; Reg=1; Result=IR20; Period=1000ms # Опрос датчика давления 1: MB_IN SlaveID=11; Func=IR; Reg=1; Result=IR21; Period=1000ms # Опрос общего расхода 2: IR30 = (IR20 - 400) * IR21 / 1000 # Расчет требуемой производительности 3: IF IR30 > 0 AND IR30 <= 250 THEN GOSUB 10 # 1 насос 4: IF IR30 > 250 AND IR30 <= 500 THEN GOSUB 20 # 2 насоса 5: IF IR30 > 500 AND IR30 <= 750 THEN GOSUB 30 # 3 насоса 6: IF IR30 > 750 THEN GOSUB 40 # 4 насоса # MQTT топики публикуются автоматически: # factory/pumps/pressure → IR20 # factory/pumps/flow → IR21 # factory/pumps/power → IR30 5: GOTO 0 # Подпрограммы управления насосами 10: MB_OUT SlaveID=1; Func=HR; Reg=1; Value=IR30; Period=500ms # Подпрограммы управления насосами 11: RETURN
Что получилось в итоге
Результат превзошел ожидания. Во-первых, энергопотребление упало на 23% — алгоритм каскадного управления оказался намного эффективнее ручного включения насосов. Во-вторых, внедрение заняло всего 2 дня вместо обычных 2-3 недель с классическими ПЛК — просто потому что не пришлось настраивать кучу отдельных устройств.
А еще, сэкономили около 60 000 рублей на оборудовании, не покупая отдельные MODBUS-шлюзы, MQTT-клиенты и промышленные контроллеры. А главное — теперь все управляется из одного места, будь то веб-интерфейс, SCADA или мобильное приложение через MQTT.
Ключевое
✅ Мультипротокольность — одно устройство заменило 4 разных компонента
✅ Встроенные сценарии — алгоритм управления работает локально, без зависимости от сети
✅ Режим Modbus Master — DRM88ER сам опрашивает датчики и управляет частотниками
✅ Облачная интеграция — данные автоматически попадают в систему мониторинга
✅ Отказоустойчивость — при сбое одного протокола работают остальные
RGB-освещение
Рассмотрим конкретный кейс из дока устройства – управление RGB-диммером DDL84R и мониторинг датчика MSU44RL через MQTT-интерфейс DRM88ER.
Архитектура MQTT-решения
Состав системы:
DRM88ER — центральный MQTT-контроллер (адрес 34)
MSU44RL — датчик освещенности (адрес 1)
DDL84R — RGB-диммер для управления освещением (адрес 2)
MQTT брокер — облачный или собственный сервер
💡 Все устройства (DRM88ER, MSU44RL, DDL84R) — разработка компании "Разумный дом"
Краткий обзор устройств экосистемы
MSU44RL — специализированный датчик освещенности с интерфейсом RS-485 MODBUS RTU. Компактный корпус, высокая точность измерений и простое подключение делают его идеальным для систем автоматического освещения.
DDL84RP — 4-канальный RGBW диммер с ШИМ-выходами 7А×24В на канал. Поддерживает частоту от 10Гц до 4кГц, имеет 8 входов для датчиков, встроенные сценарии, RTC и таймеры для сложной логики управления освещением.
Настройка MQTT-топиков
DRM88ER автоматически создает структурированные топики для публикации и подписки:
MQTT • Структура топиков DRM88ER
# Структура топиков MQTT (Корневая тема)/(Клиент)/(Компонент) # Примеры топиков для публикации (от DRM88ER в облако): factory/sensors/light # Освещенность с датчика factory/lighting/status # Состояние освещения # Примеры топиков для подписки (команды в DRM88ER): factory/lighting/red/set # Управление красным каналом factory/lighting/green/set # Управление зеленым каналом factory/lighting/blue/set # Управление синим каналом
Конфигурация Modbus Master в DRM88ER
Для работы с внешними устройствами DRM88ER ��астраивается в режиме Modbus Master:
DRM88ER Script • Modbus Master конфигурация
# Автоматический опрос датчика освещенности MSU21+L 1: MB_IN SlaveID=1; Func=IR; Reg=19; Count=1; Result=IR30; Period=1000ms # Читаем освещенность каждую секунду # Результат сохраняется в IR30 # Управление диммером DDL84R 2: MB_OUT SlaveID=2; Func=HR; Reg=1; Value=IR33; Period=500ms # RED 3: MB_OUT SlaveID=2; Func=HR; Reg=2; Value=IR34; Period=500ms # GREEN 4: MB_OUT SlaveID=2; Func=HR; Reg=3; Value=IR35; Period=500ms # BLUE
Интеграция с MQTT Explorer
Для тестирования и отладки используется MQTT Explorer — удобный инструмент для работы с топиками:
Команды управления через MQTT:
Установка яркости красного:
Топик: factory/lighting/red/set Значение: 512 (0-1023, где 1023 = 100%)
Чтение освещенности:
Топик: factory/sensors/light Формат: {"value": 850, "unit": "lux", "timestamp": 1640995200}
Преобразование данных и суффиксы
DRM88ER работает с целыми числами, но поддерживает автоматическое преобразование через суффиксы:
DRM88ER • Настройка суффиксов и преобразований
# Настройка суффиксов в WEB-интерфейсе Освещенность: суффикс "1;lux" → значение 850 отображается как 850 lux Яркость: суффикс "0.1;%" → значение 512 отображается как 51.2% # Эти же коэффициенты применяются к MQTT-топикам автоматически
Практическая ценность MQTT-интеграции
Какие возможности это открывает? Интеграция с облачными системами — данные можно передавать в любые внешние системы через MQTT-брокеры. Мобильные уведомления настраиваются через Telegram или Push-notifications за пару минут. Голосовое управление через Алису или Google Assistant можно подключить через внешние интеграции. Удаленный доступ работает из любой точки мира через MQTT-подключение. 👍
Преимущества мультипротокольного подхода
Экономическая эффективность
Один DRM88ER заменяет несколько специализированных устройств:
Классическое решение | Стоимость | DRM88ER | Стоимость |
|---|---|---|---|
MODBUS RTU/TCP шлюз | 8 000₽ | Встроено | 0₽ |
MQTT клиент | 12 000₽ | Встроено | 0₽ |
WEB-сервер | 5 000₽ | Встроено | 0₽ |
Программируемый контроллер | 15 000₽ | Встроено | 0₽ |
ИТОГО | 40 000₽ | DRM88ER | 14 500₽ |
Отказоустойчивость
При использовании нескольких протоколов система становится более устойчивой:
Python • Отказоустойчивый сбор данных
def robust_data_collection(): """Отказоустойчивый сбор данных""" # Приоритет 1: MODBUS TCP try: return read_modbus_tcp('192.168.1.100', register=11) except Exception as e: logger.warning(f"MODBUS TCP недоступен: {e}") # Приоритет 2: REST API try: return read_rest_api('192.168.1.100', '/inputir.json?A=11&B=1') except Exception as e: logger.warning(f"REST API недоступен: {e}") # Приоритет 3: кэшированное значение из MQTT return get_cached_mqtt_value('factory/sensors/temperature')
Сравнение с промышленными решениями
Параметр | DRM88ER | Siemens SIMATIC IoT2050 | Schneider EcoStruxure |
|---|---|---|---|
Цена | 14 500₽ | ~80 000₽ | ~60 000₽ |
MODBUS из коробки | Да | Требует настройки | Да |
MQTT нативно | Да | Через Node-RED | Да |
WEB-интерфейс | Готовый | Разработка | Готовый |
Время внедрения | 1-2 дня | 1-2 недели | 3-5 дней |
Техподдержка | На русском | Переводная | Переводная |
Взгляд в будущее
DRM88ER демонстрирует, что будущее IIoT — в специализированных устройствах, которые элегантно решают конкретные задачи интеграции, а не в универсальных платформах.
Что показал этот опыт?
Во-первых, унификация интерфейсов действительно упрощает архитектуру — вместо множества устройств получается одно универсальное.
Во-вторых, российские решения могут конкурировать с мировыми брендами не только по цене, но и по функциональности.
В-третьих, простота интеграции часто важнее избыточных возможностей — лучше устройство, которое работает из коробки, чем мощный комбайн, требующий месяцы настройки.
