Шлюзы TCP и Serial
Подключение по Ethernet (Modbus TCP / RTU-over-TCP) или локальному порту /dev/ttyUSB*. Скорость, чётность, стоп-биты, тайминги — всё настраивается.
Modbus → MQTT мост
Опрашивает Modbus-устройства по Ethernet и последовательной шине RS-485, публикует значения в MQTT-брокер и принимает обратные команды. Настройка целиком через красивый веб-интерфейс — конфиг-файлы не нужны.
# ключ репозитория
curl -fsSL https://repo.um-d.ru/elx-repo.gpg | sudo tee /usr/share/keyrings/elx-repo.gpg >/dev/null
# источник пакетов
echo "deb [signed-by=/usr/share/keyrings/elx-repo.gpg] https://repo.um-d.ru stable main" | sudo tee /etc/apt/sources.list.d/elx.list
# установка
sudo apt update && sudo apt install elxmodbusmqtt -y
Из коробки поддержаны устройства
Один сервис вместо россыпи скриптов: опрос, декодирование, публикация и управление — с наглядным контролем в браузере.
Подключение по Ethernet (Modbus TCP / RTU-over-TCP) или локальному порту /dev/ttyUSB*. Скорость, чётность, стоп-биты, тайминги — всё настраивается.
Готовые шаблоны по техпаспортам: регистры, масштабы, виджеты и enum уже прописаны. Добавление устройства — в пару кликов.
Holding / Input / Coil / Discrete, типы данных int/float/string, порядок слов и байт, битовые маски, множитель и смещение. Любой регистр включается и выключается отдельно.
Хост, порт, логин/пароль, TLS, базовый топик, retain и командные топики. Сборка имени топика — прозрачная и предсказуемая.
Плитки устройств с значениями в реальном времени, тумблеры, ползунки и поля ввода. Перетаскивание мышью задаёт и порядок опроса.
Живой лог обмена с HEX-кадрами, длительностью и ошибками каждого запроса. Незаменим при отладке нового устройства.
Вся конфигурация — шлюзы, устройства, настройки брокера — выгружается и восстанавливается одним JSON-файлом.
Ставится как системный сервис на Debian/Ubuntu и Raspberry Pi. Сборки для amd64, arm64 и armhf. Без внешних зависимостей.
Никаких конфигов в терминале — весь путь проходится мышкой в веб-интерфейсе.
Опишите соединение с шиной: TCP-адрес шлюза RTU-over-TCP или последовательный порт со скоростью и чётностью.
Выберите готовый шаблон из библиотеки или создайте своё и пропишите регистры. Укажите slave-адрес и MQTT-префикс.
Введите адрес MQTT-брокера и включите публикацию. Значения сразу пойдут в топики, а команды — обратно в устройства.
Тёмная тема с glow-эффектами, отзывчивые виджеты и понятные подсказки у каждого поля. Нажмите на любой скриншот, чтобы рассмотреть его крупнее.
Остальные экраны — в разделе Галерея ↓
Все разделы приложения. Нажмите на любой скриншот, чтобы открыть его в полном размере.
Регистры, масштабы и виджеты уже настроены — выбираете устройство, и карта регистров подставляется автоматически.
Это лишь малая часть шаблонов — мы постоянно пополняем библиотеку. Если у вас есть свои устройства, присылайте нам список регистров Modbus — и мы с удовольствием бесплатно добавим его в нашу библиотеку. Прислать описание →
Актуальная версия 1.2.36. Рекомендуем подключить APT-репозиторий — тогда обновления приходят сами.
# 1. публичный ключ репозитория в keyring
curl -fsSL https://repo.um-d.ru/elx-repo.gpg | sudo tee /usr/share/keyrings/elx-repo.gpg >/dev/null
# 2. добавить источник (привязан к этому ключу через signed-by)
echo "deb [signed-by=/usr/share/keyrings/elx-repo.gpg] https://repo.um-d.ru stable main" \
| sudo tee /etc/apt/sources.list.d/elx.list
# 3. обновить списки пакетов
sudo apt update
# 4. установить ELX Modbus MQTT
sudo apt install elxmodbusmqtt -y
sudo apt update && sudo apt upgrade — или точечно:
sudo apt install --only-upgrade elxmodbusmqtt
# сервис стартует автоматически; открыть веб-интерфейс
xdg-open http://localhost:8080
# статус и логи сервиса
systemctl status elxmodbusmqtt
journalctl -u elxmodbusmqtt -f
Или скачайте .deb напрямую и поставьте через sudo apt install ./файл.deb
Коротко о протоколах, шине RS-485 и о том, как происходит синхронизация значений между промышленным оборудованием и системами умного дома.
Modbus — это открытый промышленный протокол обмена данными, появившийся ещё в 1979 году и ставший де-факто стандартом для датчиков, реле, счётчиков, контроллеров и приводов. Он работает по принципу «мастер–слейв»: ведущее устройство (мастер) опрашивает ведомые (слейвы) по их адресам и читает либо записывает значения в регистры — Holding, Input, Coil и Discrete.
Чаще всего Modbus передаётся двумя способами. Modbus RTU — по последовательной шине RS-485: одна витая пара, к которой последовательно подключаются десятки устройств, с настройками скорости (baud), чётности и стоп-битов. Modbus TCP — поверх Ethernet, обычно через порт 502 или Ethernet-шлюз RTU-over-TCP. modbus2mqtt поддерживает оба транспорта.
MQTT — это лёгкий протокол обмена сообщениями по модели «издатель–подписчик», созданный специально для интернета вещей (IoT) и умного дома. Устройства не общаются напрямую: они публикуют значения в именованные топики на центральном сервере — MQTT-брокере (например, Mosquitto или EMQX), а другие подписываются на эти топики и мгновенно получают обновления. Это делает систему гибкой и слабосвязанной.
Именно на MQTT построены популярные системы автоматизации — Home Assistant, Node-RED, OpenHAB. Если данные с Modbus-оборудования попадают в MQTT, их сразу видят сценарии, дашборды и голосовые ассистенты.
Проблема в том, что эти два мира говорят на разных языках: промышленные устройства — на Modbus, а умный дом — на MQTT. Мост Modbus → MQTT переводит одно в другое: он циклически опрашивает Modbus-устройства, декодирует «сырые» регистры в понятные значения (температура, состояние реле, мощность) и публикует их в MQTT-брокер. Обратно — принимает команды из MQTT и записывает их в регистры устройств.
Без такого моста пришлось бы писать и поддерживать собственные скрипты для каждого устройства. modbus2mqtt берёт это на себя и настраивается полностью через веб-интерфейс.
Синхронизация в modbus2mqtt устроена прозрачно и предсказуемо:
значение = raw × множитель + смещение с учётом типа данных, порядка слов/байт и битовых масок.{базовый}/{префикс}/{ключ}. Флаг retain позволяет брокеру хранить последнее значение и сразу отдавать его новым подписчикам.{топик}/set): отправленное туда значение немедленно встаёт первым в очередь и записывается в устройство — управление получается практически мгновенным.В библиотеке modbus2mqtt уже есть готовые шаблоны популярного оборудования: модули реле и мультидатчики Wiren Board (WB-MR6C, WB-MSW v.4, WB-MDM3, WB-LED, WB-DALI3, WB-MAO4), адаптеры кондиционеров ONOKOM и Haier, датчики РЭЛСИБ, контроллеры котлов ectoControl и многое другое. Карта регистров, масштабы и виджеты в них уже настроены по техпаспортам — добавление устройства занимает пару минут.
Поскольку modbus2mqtt публикует данные в стандартный MQTT-брокер, любое промышленное Modbus-оборудование становится частью умного дома. Home Assistant подхватывает топики через MQTT-интеграцию, Node-RED строит на них сценарии автоматизации, а дашборды показывают живые значения. Программа работает на любом Linux — от домашнего сервера до Raspberry Pi — и ставится одним .deb-пакетом.
Готовы попробовать? Скачать modbus2mqtt бесплатно →
Modbus TCP и RTU-over-TCP (через Ethernet-шлюз), а также Modbus RTU по локальному последовательному порту (/dev/ttyUSB0, /dev/ttyS1 и т. п.) с настройкой скорости, чётности и стоп-битов.
Нет. Всё настраивается через веб-интерфейс: шлюзы, устройства, регистры и брокер. Конфигурация хранится в локальной базе SQLite и может быть выгружена в JSON.
Да. У каналов «чтение/запись» есть командный топик (по умолчанию {топик}/set): отправленное туда значение записывается в Modbus. Команды получают приоритет в очереди опроса.
Любой Linux на Debian/Ubuntu: от домашнего сервера до Raspberry Pi. Доступны сборки amd64, arm64 и armhf. Сервис лёгкий и не требует внешних зависимостей.
Создайте «Своё устройство» и пропишите регистры вручную — у каждого поля есть подсказка. А терминал Modbus поможет подобрать адреса и форматы данных.
Мы являемся разработчиками оборудования для умного дома и программного обеспечения. Данное программное обеспечение абсолютно бесплатно и, надеемся, поможет вам в вашей работе по настройке оборудования MODBUS.
Давайте добавим. Пришлите нам описание регистров вашего устройства (карту регистров из техпаспорта или руководства) — и мы бесплатно добавим его в библиотеку готовых шаблонов.
Поставьте пакет, откройте браузер и добавьте первый шлюз за несколько минут.
⤓ Скачать modbus2mqtt