Преобразователь интерфейсов WB-MGE v.3 (RS-485, Ethernet, Wi-Fi, WBIO)

From Wiren Board
This is the approved revision of this page; it is not the most recent. View the most recent revision.

Купить в интернет-магазине

Эта страница описывает новое устройство WB-MGE v.3, описание предыдущей версии WB-MGE v.2.

Страница описывает последнюю ревизию устройства с последней stable-прошивкой. Если прошивка вашего устройства старая, обновите ее по возможности (см. Обновление прошивки).
WB-MGE v.3

Назначение

Предназначен для подключения устройств с интерфейсом RS-485 и боковых модулей ввода-вывода WBIO к серверу автоматизации через Ethernet или Wi-Fi. Сервером может быть контроллер Wiren Board или любой контроллер / компьютер с поддержкой нужных протоколов.

С помощью двух WB-MGE v.3 можно организовать мост через Ethernet или Wi-Fi. Полезно, если сторонний контроллер не имеет сетевых интерфейсов, а надо опросить удалённый сегмент RS-485.

Для каждого порта задаётся режим: «Modbus TCP», «Прозрачный мост» или «Пассивный». Поверх любого режима независимо включаются оверлеи — сниффер Modbus-трафика и кеширующий мультимастер (Modbus TCP-сервер, отдающий значения из кэша). Оба порта вместе могут работать повторителем — прозрачной ретрансляцией RS-485 между Port 1 и Port 2.

Устройство прошито и готово к использованию в качестве шлюза. Прошивка с открытым исходным кодом (лицензия MIT-WB), исходники: github.com/wirenboard/wb-mge. Вы можете добавить в неё любой нужный функционал под свои задачи или написать собственную прошивку. Подробнее о разработке DIY прошивки.

Отличие от предыдущей версии

Отличия WB-MGE v.3 от WB-MGE v.2:

Технические характеристики

Параметр Значение
Питание
Напряжение питания интерфейсной части 9 В — 28 В постоянного тока
Потребляемая мощность при 24 В 1 Вт
Максимальный ток с Vout 2.5 A
Максимальный ток с Vout при питании от PoE (долговременный) 500 мА
Входы питания
  • 1 вход Vin;
  • 1 вход PoE 802.3af, 802.3at на Ethernet с помощью встраиваемого модуля
Приоритет входов питания

от входа с бо́льшим напряжением

Выход для питания внешних устройств
Vout На клеммы подаётся напряжение питания модуля, с защитой по току больше 2.5 А, программным отключением и сохранением состояния при перезагрузке.

При питании от PoE на Vout будет подано стабилизированное напряжение 24 В. При питании от PoE ток снимаемый с Vout меньше.

Клеммники и сечение проводов
Рекомендуемое сечение провода с НШВИ 0.35 – 1 мм2 — одинарные, 0.35 – 0.5 мм2 – сдвоенное обжатие
Длина стандартной втулки НШВИ 8 мм
Момент затяжки винтов 0.2 Н∙м
Коммуникация
Протокол обмена данными

Через клеммы RS-485:

  • Modbus TCP;
  • прозрачный шлюз для любых протоколов поверх RS-485 (например, Modbus RTU over TCP).

Боковой разъём I/O: WBIO.

Интерфейсы
  • 2x RS-485
  • I2C для подключения боковых модулей WBIO
  • Ethernet 10/100
  • Wi-Fi 2.4 ГГц
Параметры интерфейса RS-485 Задаются программно, по умолчанию:

скорость 9600 бит/с; данные — 8 бит; четность N; стоп-биты 2

Готовность к работе после подачи питания 8 c
Условия эксплуатации
Температура воздуха От −40 до +70 °C
Относительная влажность До 95 %, без конденсации влаги
Климатическое исполнение по ГОСТ 15150-69 O2.1*
Гарантийный срок 2 года
Срок службы 5 лет
Габариты
Ширина, DIN-юнитов 2
Габаритные размеры (Д x Ш x В) 36 x 90 x 58 мм
Масса (с коробкой) 105 г

Общий принцип работы

Аппаратная часть

Модуль построен на базе чипа ESP32, который реализует функции шлюза RS-485, позволяет управлять периферией, индикаторами, а также предоставляет веб-интерфейс и API для настройки модуля.

Сетевые интерфейсы и работа с пакетами

В модуле есть два сетевых интерфейса: Ethernet и Wi-Fi, который может быть точкой доступа или клиентом.

Прошивка модуля получает пакеты по Ethernet / Wi-Fi и отправляет их в один из портов RS-485, потом транслирует назад ответы устройств. Выбор порта зависит от того на какой TCP-порт пришёл пакет, по умолчанию: 502 — RS485-1, 503 — RS485-2.

Помимо сквозной передачи, поверх любого порта можно включить два независимых инструмента, которые пассивно работают с трафиком шины:

  • сниффер — захватывает и декодирует Modbus-кадры в обе стороны и показывает их в реальном времени в веб-интерфейсе (диагностика обмена без внешнего анализатора);
  • кеширующий мультимастер — собирает из трафика последние значения регистров устройств и отдаёт их по отдельному Modbus TCP-серверу без повторного опроса шины, снимая ограничение «один мастер на линию».

Подробно оба описаны в разделе Режимы работы.

Работа с WBIO

Для подключения боковых модулей WBIO внутри есть дополнительный WB-MIO, который представляет все боковые модули как одно Modbus-устройство на порту RS-485-2. Про адресацию и настройку читайте в разделе настройки: I/O Bus (боковые модули WBIO).

Быстрый Modbus

Особенность Быстрого Modbus в наличии пакетов арбитража:

  • Прозрачный режим — пропускаем пакеты как есть;
  • Modbus TCP — отдельно обрабатываем пакеты арбитража в прошивке шлюза.

В итоге Быстрый Modbus работает в обоих режимах.

Питание

Модуль может питаться двумя способами: напрямую от клеммы Vin или, опционально, по PoE стандартов IEEE 802.3af / 802.3at.

Для питания по PoE требуется отдельный модуль WBP-ACTIVE-POE со встроенным преобразователем напряжения, который устанавливается внутрь устройства. Он преобразует входное PoE-напряжение в 24 В и подаёт его на внутреннюю шину питания шлюза.

Допускается использование модуля WBP-PASSIVE-POE, но только при напряжении питания не выше 24 В постоянного тока. Превышение этого напряжения приведёт к выходу шлюза из строя.

Модуль оснащён двумя выходами питания (Vout) для подключения периферийных устройств. Управление выходами групповое: оба канала включаются и отключаются одновременно через веб-интерфейс. Суммарная нагрузка на оба выхода не должна превышать значение, указанное в таблице.

Мощность подключаемой нагрузки Vin (24 В) Активный режим PoE Пассивный режим PoE
802.3af 802.3at
Номинальная 60 Вт 15 Вт
Максимальная кратковременная 120 Вт 12 Вт 28 Вт 30 Вт

Индикация

На лицевой панели под наклейкой есть индикаторы, которые показывают состояние модуля и его выходов.

Индикаторы WB-MGE v.3
Поведение и цвета индикаторов
Обозначение Цвет Состояние Значение
Status Зеленый мигает устройство загрузилось и работает в нормальном режиме
горит питание есть, проблема с прошивкой
Vout Оранжевый горит питание устройств ВКЛ
не горит питание устройств ВЫКЛ
Ethernet Зеленый горит есть линк
мигает есть обмен
не горит нет линка
Wi-Fi Зеленый горит включен, обмена нет
мигает есть обмен
не горит выключен
RS485 1/2 Зелёный (RX) мигает получение данных из порта
Оранжевый (TX) мигает отправка данных в порт

Монтаж

WB-MGE v.3 монтируется на стандартную DIN-рейку шириной 35 мм и занимает ширину 2 DIN-модуля.

Подключение проводов

Как обжимать наконечники НШВИ

Рекомендуем для монтажа использовать гибкие многожильные провода с обжатием концов втулочными наконечниками (НШВИ — наконечник штыревой втулочный изолированный).

При снятии изоляции провод должен зачищаться ровно по длине гильзы (можно зачистить больше, а потом откусить выступающий излишек). Для обжима (опрессовывания) используйте пресс-клещи (кримпер, «обжимка»). При монтаже обжатый наконечником провод не разрушается винтовым зажимом и надежно фиксируется.

Не прикладывайте чрезмерное усилие при завинчивании клеммы — это приводит к разрушению винтового разъема.

Питание модуля

Клеммник V+ GND с шагом 5.08 мм служит для подключения питания.

Также питать модуль можно от Ethernet PoE.

Сетевые интерфейсы

Модуль подключается к контроллеру Wiren Board или другому устройству напрямую по Ethernet либо через Wi-Fi, в том числе через роутер или VPN. Главное условие — IP-адрес модуля должен быть доступен с контроллера.

RS-485

Клеммник V+ GND A B с шагом 3.5 мм служит для подключения устройств по шине RS-485. Также с этих клемм можно брать питание для подключаемых устройств. Для стабильной связи с устройством важно правильно организовать подключение к шине RS-485, читайте об этом в статье Физическое подключение шины RS-485.

Интерфейсы RS-485 независимы, для каждого доступны индивидуальные настройки скорости, стоп-битов и других параметров. По умолчанию включены терминатор и failsafe bias. Их можно отключить в настройках. Земли RS-485 в WB-MGE v.3 не изолированы от земли питания.

I/O Bus

Подключение WBIO

Последовательно можно подключать до 8 штук: до 4 модулей ввода (типа «I») и до 4-х модулей вывода (тип «O»).

Боковые модули ввода-вывода WBIO подключаются к порту I/O Bus, расположенному на правом боку модуля. Следите за попаданием всех штырей модуля в отверстия ответного разъёма.

Устройство позволяет отделить модули ввода-вывода от контроллера Wiren Board и перенести их на другую DIN-рейку или в другой щит. Кроме того, этот преобразователь интерфейсов позволяет использовать модули ввода-вывода как отдельное устройство с контроллерами других производителей.

Режимы работы

Режим «Modbus TCP»

Настройка режима Modbus TCP

В этом режиме модуль принимает Modbus TCP-запросы через сетевые интерфейсы, преобразует их в Modbus RTU и передаёт в один из портов RS-485. Полученный RTU-ответ преобразуется обратно в Modbus TCP и возвращается клиенту, отправившему запрос.

Выбор режима доступен для каждого порта отдельно:

  1. Перейдите Инструменты Modbus → TCP-шлюз и выберите карточку нужного порта.
  2. В поле Режим выберите «Modbus TCP».
  3. При необходимости укажите TCP-порт, запросы с которого будут передаваться в этот RS-485-порт.

В режиме Modbus TCP модуль работает только как сервер. К каждому порту можно одновременно подключить несколько TCP-клиентов (до 8).

Режим «Прозрачный шлюз»

Настройка режима Прозрачный мост

В этом режиме модуль принимает через сетевые интерфейсы TCP-пакеты с данными любого протокола (например, Modbus RTU over TCP) и передаёт их байт в байт в один из портов RS-485. Полученный ответ так же без изменений передаётся обратно клиенту, от которого поступил запрос.

Выбор режима доступен для каждого порта отдельно:

  1. Перейдите Инструменты Modbus → TCP-шлюз и выберите карточку нужного порта.
  2. В поле Режим выберите «Прозрачный мост» и задайте роль в поле Роль.
  3. При необходимости укажите TCP-порт, запросы с которого будут передаваться в этот RS-485-порт.

В режиме «Прозрачный мост» доступны роли:

  • Сервер — используется, когда к нему подключается, например, контроллер Wiren Board.
  • Клиент — используется, когда WB-MGE v.3 подключается к другому подобному модулю.

В этом режиме на каждом порту допускается только один мастер.

Сниффер

Сниффер: захват и декодирование Modbus-трафика

Сниффер захватывает трафик на выбранном порту RS-485 в обе стороны, декодирует Modbus-кадры (в том числе Быстрый Modbus) и в реальном времени отображает их в веб-интерфейсе по WebSocket. Удобно для диагностики обмена без внешнего анализатора.

Откройте Инструменты Modbus → Sniffer, выберите порт и нажмите Старт. Для каждого кадра показываются: отправитель (мастер/слейв), адрес устройства, код функции, данные (HEX), длина и результат проверки CRC. Доступны:

  • фильтры по Slave ID и коду функции, счётчики пакетов и ошибок CRC;
  • кнопка Отправить пакет — сформировать и отправить в шину запрос на чтение (FC01–FC04) или запись (FC05/06/15/16); CRC считается автоматически, показывается превью кадра;
  • экспорт захваченных пакетов в CSV.

Сниффер — это оверлей поверх уже открытого порта: он не переключает транспортный режим и работает параллельно с кэшем.

Кеширующий мультимастер

Карта регистров: кэш и Modbus TCP-сервер

Шлюз может пассивно отслеживать Modbus-обмен на шине, запоминать последние значения регистров и битов всех устройств и отдавать их по отдельному Modbus TCP-серверу (по умолчанию порт 504) — без повторного опроса устройств. Это снимает ограничение «один мастер на шину»: реальные мастера продолжают опрос, а дополнительные TCP-клиенты читают данные из кэша.

Откройте Инструменты Modbus → Карта регистров и включите переключатель Кэширование. На странице:

  • автоматически собранная карта (устройство → тип регистра → регистр) и статистика (число устройств, обработанных пакетов, возраст карты, использование памяти);
  • Таймаут значения — за сколько секунд значение в кэше считается устаревшим. Если на момент запроса значение не обновлялось дольше таймаута, кэш возвращает не старое число, а Modbus-исключение 0x0B («gateway target device failed to respond»); 0 отключает проверку. Подробнее — ниже;
  • Порт прослушивания — порт-источник для кэша; TCP-порт — порт Modbus TCP-сервера кэша (по умолчанию 504);
  • экспорт карты в CSV/JSON и сброс карты.

Как работает таймаут значения. У каждого значения в кэше есть счётчик возраста: он обнуляется при каждом новом ответе устройства на шине и растёт на 1 секунду в секунду. При запросе по Modbus TCP кэш сравнивает возраст с таймаутом:

  • возраст ≤ таймаута — отдаётся закэшированное значение;
  • возраст > таймаута — вместо значения возвращается исключение 0x0B. Так клиент отличает живые данные от «замороженных»: если устройство пропало с шины, его регистры начинают отдавать ошибку, а не последнее запомненное значение. При чтении диапазона одним запросом достаточно одного устаревшего значения, чтобы весь ответ стал исключением 0x0B (отсутствующий в кэше регистр даёт исключение 0x02).

Счётчик возраста ограничен сверху и останавливается на 65535 секундах (≈18,2 часа) — это же и максимально допустимый таймаут. Поэтому «срок годности» значения нельзя задать длиннее ~18 часов. Особый случай — таймаут, выставленный в максимум (65535): возраст никогда не превышает этот порог, поэтому значение не помечается устаревшим вообще, и проверка фактически не срабатывает — так же, как при значении 0.

Кэш — независимый оверлей: его можно включить на порту в любом транспортном режиме (включение на отключённом порту открывает его в режиме «Пассивный (прослушка)»).

Карта регистров самого шлюза (Unit ID 255)

Шлюз отвечает по TCP-Modbus на запрос к собственному адресу Unit ID 255 (0xFF) — этот адрес зарезервирован за TCP-шлюзом. Работает в режимах «Modbus TCP» и «Cache TCP» независимо от состояния кэша (в режиме Modbus TCP такой запрос не пересылается в RS-485). Поддерживаются функции чтения FC04 (input) и FC03 (holding).

Input-регистры (FC04, только чтение)
Адрес (dec) Адрес (hex) Регистров Тип Описание
104–105 0x0068–0x0069 2 u32 Время работы с момента загрузки, секунды
121 0x0079 1 u16 Текущее напряжение питания, мВ
200–219 0x00C8–0x00DB 20 string Модель устройства
220–244 0x00DC–0x00F4 25 string Хэш коммита и ветка, откуда собрана прошивка
250–265 0x00FA–0x0109 16 string Версия прошивки (строкой)
266–269 0x010A–0x010D 4 u64 Расширение серийного номера
270–271 0x010E–0x010F 2 u32 Серийный номер
320 0x0140 1 u16 Версия прошивки: MAJOR
321 0x0141 1 u16 Версия прошивки: MINOR
322 0x0142 1 u16 Версия прошивки: PATCH
323 0x0143 1 s16 Версия прошивки: SUFFIX (+N для +wbN, −N для -rcN, 0 если нет)
324–325 0x0144–0x0145 2 u32 Версия в числовом формате (порядок слов little-endian: 324 — младшее слово)
326–327 0x0146–0x0147 2 u32 Версия в числовом формате (порядок слов big-endian: 326 — старшее слово)
336 0x0150 1 u16 Таймаут значения кэша, секунды
337–338 0x0151–0x0152 2 u32 Количество обработанных пакетов (с последнего сброса кэша)
339–340 0x0153–0x0154 2 u32 Секунд с момента последнего пакета на шине
341 0x0155 1 u16 Количество устройств на шине (уникальных slave_id в кэше)
342 0x0156 1 u16 Средняя частота опроса шины, опросов/мин
65504 0xFFE0 1 u16 Максимальный использованный стек, КБ (0 — стек повреждён / неизвестно)
65505 0xFFE1 1 u16 Объём свободной оперативной памяти, КБ
65506 0xFFE2 1 u16 Объём используемой оперативной памяти, КБ
65507 0xFFE3 1 u16 Размер стека, КБ
65508 0xFFE4 1 u16 Причина последней перезагрузки МК
Holding-регистры (FC03, только чтение)
Адрес (dec) Адрес (hex) Регистров Тип Описание
290–301 0x0122–0x012D 12 string Сигнатура прошивки

Примечания к карте регистров:

  • Строки: 2 символа на регистр, старший байт — первый символ; хвост дополняется нулями.
  • Многорегистровые целые (кроме 324–325) хранятся в порядке слов big-endian — старшее слово в младшем адресе.
  • Числовая версия считается по правилу Wiren Board (Modbus-hardware-version): if (SUFFIX >= 0) enc = SUFFIX + 128; else enc = -1 - SUFFIX; VERSION = (MAJOR << 24) | (MINOR << 16) | (PATCH << 8) | enc.
  • Причина перезагрузки (65508): 1 — LPWR (brownout/выход из сна), 2 — WWDG (interrupt watchdog), 3 — IWDG (task/общий watchdog), 4 — SFT (программный сброс/паника), 5 — POR (включение питания), 6 — PIN (внешний сброс), 0 — неизвестно.
  • Статистика шины (336–342) берётся из мультимастер-кэша; при неактивном кэше соответствующие поля читаются как 0.
  • Чтение диапазона, где хотя бы один адрес не определён, возвращает исключение 0x02 (illegal data address); функция, отличная от FC03/FC04, — исключение 0x01 (illegal function).

Повторитель (Serial)

Повторитель: мост Порт 1 ↔ Порт 2

Повторитель — прозрачная передача «Serial↔Serial»: байты, принятые на Порту 1, побайтно пересылаются на Порт 2 и наоборот, без разбора кадров. Используется для удлинения линии RS-485 и восстановления целостности сигнала.

Откройте Инструменты Modbus → Повторитель и нажмите переключатель — он переводит оба порта в режим повторителя (повторное нажатие выключает). На странице показывается статистика пересылки в реальном времени: переслано байт в каждую сторону, потеряно байт по каждому порту, время работы и средняя скорость.

Потеряно байт — счётчик байтов, принятых на порту, которые не удалось переслать на встречный порт (его буфер передачи переполнен): входящий поток на короткое время превысил пропускную способность передачи. В нормальной работе равен нулю.

Разные скорости портов. Скорости портов независимы, и повторитель может работать при разных скоростях, но надёжно — не всегда. Лучше всего работает асимметричный случай: мастер на медленной линии (например, 9600), слейв — на быстрой (например, 115200). Тогда мастер шлёт запросы медленно, а обратно транслируются только ответы на его запросы — встречного трафика мало. Но и так линию можно перегрузить, если запросить очень большой кусок данных одним запросом: размер одного кадра ограничен буфером 1000 байт, и если слейв ответит пакетом длиннее, кадр переполнит буфер и будет отброшен ещё на приёме.

Внимание: пока повторитель активен, оба сегмента RS-485 ведут себя как электрически соединённые. При наличии мастеров с обеих сторон шины возможны коллизии на шине и нарушение связи. Это локальное соединение двух портов одного модуля; объединение сегментов через два модуля по IP описано в разделе Повторитель (два модуля через TCP).

Повторитель (два модуля через TCP)

Объединение двух сегментов шины RS-485. Два модуля соединяются через IP-сеть.

Если вы хотите объединить два сегмента шины RS-485 через локальную сеть или VPN при помощи WB-MGE v.3 — выберите для одного модуля режим Прозрачный и роль Сервер, а на другом — Прозрачный и роль Клиент и укажите IP-адрес сервера.

Важно! Данная схема рекомендуется только в случае, если нет возможности подключить шлюз WB-MGE v.3 к контроллеру Wiren Board напрямую по Ethernet или Wi-Fi, и имеет следующие ограничения:

  • устройства с Быстрым Modbus могут находиться только в одном из сегментов шины (как отключить Быстрый Modbus на устройстве);
  • необходимо увеличить задержку перед отправкой очередного запроса (для скорости 9600 бод — не менее 50 мс). Применимо только если на стороне контроллера кроме WB-MGE v.3 на шине RS-485 также подключены slave-устройства.

В случае объединения двух сегментов шины RS-485 при помощи шлюзов WB-MGE v.3 и опросе устройств с контроллера Wiren Board, выставьте в настройках порта RS-485 в драйвере wb-mqtt-serial параметр «Таймаут ответа» не менее 200-250 мс при работе по Ethernet или не менее 350 мс при работе по Wi-Fi или через VPN.

При наличии slave-устройств на шине RS-485 на стороне контроллера также необходимо задать в настройках порта RS-485 в драйвере wb-mqtt-serial параметр «Задержка перед записью в порт» не менее 50000 мкс для скорости 9600 бод (при увеличении скорости значение параметра может быть уменьшено).

I/O Bus (боковые модули WBIO)

Включение встроенного WB-MIO

Боковые модули работают через встроенный WB-MIO, который представляет их Modbus-устройством на порту RS485-2 с настройками по умолчанию, как на всех устройствах Wiren Board:

  • адрес — 247;
  • параметры связи — 9600 8N2.

В веб-интерфейсе модуля вы можете включить или выключить встроенный WB-MIO, для этого:

  1. Перейдите Конфигурация → Последовательные порты и найдите карточку I/O Bus.
  2. Переключите Включить I/O Bus в нужное состояние.

По умолчанию WB-MIO включён, отключите его, если вам надо освободить занимаемый им Modbus-адрес или если на порту RS485-2 будет использоваться произвольный протокол, который конфликтует с Modbus RTU.

Настройки связи WB-MIO в веб-интерфейсе контроллера

Важно! Настройки параметров связи подключённых устройств и настройки встроенного WB-MIO должны совпадать. Если настройки подключённых устройств отличаются, надо изменить настройки WB-MIO через запись новых значений в регистры. Записывать значения можно:

  • в веб-интерфейсе контроллера через настройки драйвера wb-mqtt-serial;
  • через SSH-консоль контроллера утилитой Modbus-client, порт RS485-2 должен работать в режиме «Modbus TCP»;
    1. Остановите драйвер wb-mqtt-serial:
      systemctl stop wb-mqtt-serial
      
    2. Запишите новое значение скорости порта RS-485 WB-MIO:
      modbus_client --debug -mtcp -a247 -c1 -r110 -t0x06 -o300 -p503 10.42.0.176 1152
      
      где 247 — адрес WB-MIO, 10.42.0.176 — IP-адрес модуля, 1152 — значение скорости 11520 бит/с.
    3. Запустите драйвер wb-mqtt-serial:
      systemctl start wb-mqtt-serial
      
  • подключившись напрямую к порту RS485-2, через Преобразователь интерфейса WB-USB485.


Таблица регистров с параметрами подключения WB-MIO
Адрес Параметры регистра Описание Значения Примечание
Dec Hex Тип Доступ Формат
Параметры подключения
110 0x006E Holding RW u16 Скорость порта RS-485.
Настройка параметров подключения по RS-485
x100, Боды
12 — 1200 бит/с,
24 — 2400 бит/с,
48 — 4800 бит/с,
96 — 9600 бит/с,
192 — 19 200 бит/с,
384 — 38 400 бит/с,
576 — 57 600 бит/с,
1152 — 115 200 бит/с
111 0x006F Holding RW u16 Настройка бита чётности порта RS-485 0 — нет бита чётности (none),
1 — нечётный (odd),
2 — чётный (even)
112 0x0070 Holding RW u16 Количество стоп-битов порта RS-485
Подробнее: игнорирование стопбитов
1, 2
128 0x0080 Holding RW u16 Modbus-адрес устройства (подробнее)

Настройка

Веб-интерфейс

Для удобства настроек у модуля есть веб-интерфейс, который работает в современных браузерах на компьютере и в мобильных телефонах. Для доступа к нему вам надо подключить компьютер и модуль к одной сети через один из интерфейсов:

  • Wi-Fi, где он поднимает точку доступа и автоматически раздаёт клиентам IP-адреса.
  • Ethernet, тут не настроены IP-адреса, модуль должен их получить по DHCP, например, от вашего роутера.

Значения по умолчанию приведены в таблице ниже. Ещё информация о сетевых настройках выводится в отладочную консоль, доступную через разъём USB-C под крышкой модуля.

Параметры подключения по умолчанию
Общее
Логин admin
Пароль admin
Имя хоста mDNS wb-mge-XXXXXX.local, XXXXXX — последние 3 цифры MAC Ethernet в hex формате

Также можно взять имя точки доступа, которая напечатана на наклейке и добавьте к ней .local

Wi-Fi
Точка доступа WB-MGE-XXXXXX, XXXXXX — последние 3 цифры MAC Ethernet в hex формате.
Ключ (пароль) напечатан на наклейке сбоку устройства.
IP-адрес 192.168.5.1
Маска подсети 255.255.255.0
Ethernet
IP-адрес DHCP
Маска подсети DHCP

Доступ к веб-интерфейсу

Через точку доступа Wi-Fi

По умолчанию Wi-Fi работает в режиме точки доступа:

  1. Откройте на ноутбуке или телефоне список Wi-Fi точек доступа и подключитесь к WB-MGE-XXXXXX, где XXXXXX — последние 3 цифры MAC Ethernet в hex формате.
  2. Введите ключ безопасности (пароль), который напечатан на наклейке сбоку устройства.
  3. Веб-интерфейс будет доступен по адресу 192.168.5.1, логин / пароль — admin / admin.

По Ethernet

По умолчанию Ethernet порт модуля настроен на получение IP-адреса по DHCP, поэтому вам понадобится роутер с настроенной раздачей IP-адресов — обычно это любые роутеры, стоящие в квартире или офисе:

  1. Подключите модуль к роутеру по Ethernet;
  2. Зайдите в настройки вашего роутера и посмотрите, какой IP-адрес он выдал модулю.
  3. Откройте на компьютере, подключённому к тому же роутеру, веб-браузер. Веб-интерфейс будет доступен по IP-адресу из предыдущего пункта, логин / пароль — admin / admin.

Через Ethernet-порт контроллера

Если модуль подключён к Ethernet-порту контроллера и находится в другой подсети, доступ к его веб-интерфейсу можно получить через SSH-туннель. В примере ниже вы подключаетесь к контроллеру с адресом 192.168.42.1 со своего компьютера, а модуль имеет адрес 192.168.0.7.

  1. Создайте SSH-туннель:
    • В Linux/macOS (OpenSSH) или Windows (PowerShell / CMD):
      ssh -N -L 8088:192.168.0.7:80 root@192.168.42.1
      
      При запросе пароля введите — wirenboard (пароль по умолчанию). Опция -L пробрасывает локальный порт 8088 на 192.168.0.7:80 через контроллер, -N не запускает удалённую команду. Если порт 8088 занят, укажите другой свободный локальный порт. Оставьте сессию открытой, пока пользуетесь веб-интерфейсом.
    • В Windows (PuTTY):
    1. В Session укажите Host Name: 192.168.42.1, затем перейдите в Connection → SSH → Tunnels.
    2. В Source port введите 8088.
    3. В Destination введите 192.168.0.7:80.
    4. Тип туннеля — Local. Нажмите Add.
    5. Вернитесь в Session, нажмите Open и выполните вход под пользователем root.
  2. Откройте веб-интерфейс в браузере по адресу, введите логин и пароль:
    http://127.0.0.1:8088/
    

Через Wiren Board Cloud

Если WB-MGE v.3 подключён к одному из сетевых интерфейсов контроллера, а контроллер в Wiren Board Cloud — можно настроить проксирование веб-интерфейса модуля и получить доступ к нему через облако. Подробности в Получение доступа к произвольным веб-интерфейсам на контроллере.

Сохранение и загрузка конфигурации

Выгрузка и загрузка конфигурации из веб-интерфейса

Настроенные параметры можно сохранить в файл и использовать их для восстановления на новом устройстве или при создании однотипных инсталляций.

В файл выгружаются все настройки веб-интерфейса, портов, сетевых интерфейсов.

Терминатор и failsafe bias

Управление резисторами из веб-интерфейса

В модуле установлены и по умолчанию включены:

  • терминатор — резистор 120 Ом, подключенный между линиями A и B. Если модуль стоит в конце шины — нужно включить, если в середине — выключить.
  • failsafe bias — резисторы по 560 Ом, которые растягивают шину, устраняя неопределённость при выключенных передатчиках устройств. Если модуль работает мастером — надо включить, в остальных случаях выключить.

Управление программное: перейдите Конфигурация → Последовательные порты и в карточке нужного порта установите нужный статус.

Отключение передачи (TX)

Переключатель «Отключить передачу (TX)»

Для каждого порта RS-485 на странице Конфигурация → Последовательные порты есть переключатель Отключить передачу (TX). Он физически переводит приёмопередатчик RS-485 в режим только приёма: пин управления направлением (DE) отвязывается от UART и удерживается в неактивном состоянии. Пока режим включён, отправить что-либо на линию невозможно даже программно — любая попытка передачи молча отбрасывается.

Это позволяет безопасно подключаться к уже работающим инсталляциям и анализировать или зеркалировать их трафик (сниффером или кеширующим мультимастером), не опасаясь, что случайная передача нарушит работу системы. Если порт переведён в режим только приёма, кнопка Отправить пакет в сниффере недоступна.

Постоянное отключение Wi-Fi

WB-MGE поддерживает режим постоянного отключения Wi-Fi. После активации драйвер Wi-Fi больше не инициализируется — радиомодуль остаётся выключенным при всех последующих загрузках, а раздел настроек Wi-Fi скрывается в веб-интерфейсе. Отменить этот режим через API невозможно.

Активация через API (требует перезагрузки для вступления в силу):

# Сначала авторизуемся
curl -s -c cookies.txt -X POST http://192.168.0.7/auth -H 'Content-Type: application/json' -d '{"login":"admin","pass":"admin"}'

# Постоянно отключаем Wi-Fi
curl -s -b cookies.txt -X POST http://192.168.0.7/settings -H 'Content-Type: application/json' -d '{"wifi_perm_disable": true}'

# Перезагружаемся для применения изменений
curl -s -b cookies.txt -X POST http://192.168.0.7/cmd -H 'Content-Type: application/json' -d '{"cmd": "reboot"}'

После перезагрузки GET /settings не возвращает группу wifi и содержит "wifi_perm_disable": true. Отправка {"wifi_perm_disable": false} молча игнорируется.

Эта операция необратима через API. Для восстановления Wi-Fi выполните сброс к заводским настройкам кнопкой Config (удерживать 5 секунд) или перепрошейте устройство.

Настройка в контроллере Wiren Board

Контроллер и модуль подключены к одной сети через роутер и получают IP-адреса по DHCP

Контроллер подключен к модулю по Ethernet, контроллер — IPv4 Общий с другими компьютерами, модуль — Клиент DHCP

Контроллер подключен к модулю по Ethernet, контроллер — IPv4 Статический IP-адрес, модуль — Статический IP-адрес

Чтобы управлять Modbus-устройствами, подключёнными к модулю с контроллера Wiren Board, нужно настроить драйвер wb-mqtt-serial:

  1. Добавьте в настройках драйвера wb-mqtt-serial TCP-порты для получения данных от RS-485-1 и RS-485-2 модуля.
  2. Чтобы устройства появились на вкладке Устройства в веб-интерфейсе контроллера Wiren Board, добавьте их автоматически, через поиск устройств Wiren Board на шине RS-485, или вручную, через выбор шаблона.
  3. Модули WBIO добавляются вручную, через выбор шаблона. Адрес модуля зависит от того, с чем используется WB-MGE v.3:
    • Контроллер Wiren Board<Modbus-адрес WB-MIO>:<порядковый номер модуля WBIO (начиная с 1)>.
    • Сторонний контроллер или ПО — адреса рассчитываются по таблице регистров WB-MIO.

Обновление прошивки и сброс настроек

Обновление прошивки

Выбор файла прошивки в веб-интерфейсе

Обновить можно из веб-интерфейса модуля:

  1. Скачайте последнюю версию прошивки. Если устройство видит обновление, на страницах Обзор и Система рядом с версией прошивки появляется кнопка скачивания — нажмите её. Либо скачайте файл по прямой ссылке latest.bin.
  2. Откройте веб-интерфейс WB-MGE v.3.
  3. Перейдите на страницу Система, блок Прошивка.
  4. Нажмите кнопку Выбрать файл, выберите файл с прошивкой — обновление запустится автоматически, дождитесь окончания процесса.

После обновления прошивки устройство будет перезагружено.

Перезагрузка

Перезагрузка устройства из веб-интерфейса

Для перезагрузки устройства с сохранением настроек обесточьте его на 10 секунд.

Также можно использовать кнопку Перезагрузить в веб-интерфейсе на странице Система.

Сброс на заводские настройки

Из веб-интерфейса

Сброс настроек из веб-интерфейса

Чтобы сбросить настройки:

  1. Перейдите Конфигурация → Система, блок Конфигурация.
  2. Нажмите кнопку Сбросить в строке «Сброс к заводским настройкам».

Кнопкой Config

Для сброса настроек в модуле есть кнопка Config, доступная через отверстие в передней крышке модуля. Способа два — они отличаются глубиной сброса и тем, нужна ли работающая основная прошивка.

  • Сброс к заводским настройкам (на работающем устройстве, без перезагрузки). Удерживайте кнопку Config 5 секунд при включённом питании: прошивка переписывает все настройки в значения по умолчанию и сразу применяет их. При этом переписывается только содержимое известных настроек — сам NVS-раздел не очищается. Подтверждение — несколько частых миганий индикатора Status. Тот же результат даёт кнопка «Сбросить» в веб-интерфейсе.
  • Полная очистка хранилища (через Factory-режим). Нужна, когда основная прошивка не запускается, либо когда требуется гарантированно стереть всё. Подайте питание с зажатой кнопкой Config, чтобы войти в режим Factory, затем удерживайте кнопку Config 5 секунд — выполняется полное стирание NVS-раздела целиком: удаляются все ключи, включая посторонние и повреждённые. После этого основная прошивка стартует с чистыми заводскими настройками. Подтверждение — несколько частых миганий индикатора Status.

Режим Factory

Веб-интерфейс модуля WB-MGE v.3 в режиме Factory

Режим доступен только в модуле с заводской прошивкой и служит для восстановления работы, если основная прошивка по каким-то причинам не запустилась.

Для включения режима Factory подайте питание на устройство с зажатой кнопкой Config.

В этом режиме Ethernet назначается статический ip-адрес 192.168.0.7, по mDNS задаётся имя хоста wb-mge-factory.local, а вместо веб-интерфейса показывается форма загрузки заводской прошивки модуля.

Обновление прошивки встроенного WB-MIO

В устройствах Wiren Board можно обновлять прошивку по протоколу Modbus. Это даёт возможность устранять найденные в прошивке ошибки на месте монтажа, а иногда и добавлять новые функции, если это возможно технически. Настройки, хранящиеся в памяти устройства, не пропадают при обновлении прошивки.

Инструкции:

Узнать о выходе новой версии прошивки можно в Журнале изменений в прошивке встроенного WB-MIO.

Использование DIY прошивок и отладочная информация

С завода модуль прошит заводским программным обеспечением, которое реализует функции шлюза с возможностью обновлять прошивку через веб-интерфейс. Для использования устройства по назначению ничего делать не нужно.

Прошивка шлюза имеет открытый исходный код (лицензия MIT-WB), репозиторий: github.com/wirenboard/wb-mge.

Разъём для прошивки и отладочная консоль

Разъём для программирования

Модуль построен на базе чипа ESP32, а на плате установлен разъём для программирования USB-C, поэтому вы можете использовать аппаратную часть модуля в своих прошивках.

Для доступа к USB-C разъёму надо снять верхнюю крышку устройства, поддев её сбоку чем-нибудь тонким. Также через этот разъём можно получать отладочную информацию с модуля. При подключении к компьютеру модуля по USB он определится как ACM устройство, которое можно будет открыть в любой терминальной программе. В отладочной информации можно найти SSID точки доступа, IP адрес выданный модулю по DHCP и т.п.

Важно: при использовании отладочной консоли сперва подключайте USB-C кабель к компьютеру и WB-MGE v.3, а потом подавайте питание на шлюз. Это поможет избежать перезагрузки устройства, подробнее в ERRWB-MGEv30001.

Использование собственной прошивки

Если вы энтузиаст или разработчик устройств, для вас мы подготовили инструкции по прошивке устройства и примеры альтернативных прошивок.

Известные неисправности

Аппаратные ошибки/особенности WB-MGE v.3

Ревизии устройства

Список ревизий

Изображения и чертежи

Corel Draw 2018 (шрифт — Ubuntu): Файл:WB-Library.cdr.zip

Visio:

  1. Устройства Wiren Board: Файл:WB-Visio-Lib.zip.
  2. Щиты, автоматы, контакторы и прочее от стороннего разработчика.

SVG: Файл:WB-Library.svg.zip

Габаритный чертеж модуля (DXF): Файл:WB-MGEv3.dxf.zip

Габаритный чертеж модуля (PDF): Файл:WB-MGEv3.pdf

База УГО для AutoCAD Electrical: Файл:Wirenboard-AE-base.zip

Сторонние программные компоненты

Прошивка устройства содержит программные компоненты из проекта ESP-IDF, распространяемого под лицензией Apache, версия 2.0. С полным текстом лицензии можно ознакомиться в репозитории проекта ESP-IDF.