Преобразователь интерфейсов WB-MGE v.3 (RS-485, Ethernet, Wi-Fi, WBIO)
Эта страница описывает новое устройство WB-MGE v.3, описание предыдущей версии WB-MGE v.2.
Страница описывает последнюю ревизию устройства с последней stable-прошивкой. Если прошивка вашего устройства старая, обновите ее по возможности (см. Обновление прошивки).Назначение
Предназначен для подключения устройств с интерфейсом 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:
- современный многоязычный веб-интерфейс (русский, английский, немецкий, итальянский, казахский), который работает на компьютере и мобильном телефоне;
- 2 порта RS485 с возможностью использовать любые протоколы на каждом из них;
- в дополнение к Ethernet теперь есть Wi-Fi, который можно отключить, если он не нужен — в том числе полностью (важно для проектов, где запрещены беспроводные коммуникации);
- опционально PoE 802.3af, 802.3at модулем WBP-ACTIVE-POE с возможностью питать подключённые к WB-MGE v.3 устройства;
- поддержка боковых модулей ввода-вывода WBIO;
- электронное управление терминаторами и failsafe bias;
- управление питанием подключённых устройств;
- factory-режим для восстановления работы в случае проблем с основной прошивкой;
- отладочный USB-C порт;
- сниффер Modbus-трафика с декодированием прямо в веб-интерфейсе;
- кеширующий мультимастер: шлюз собирает значения с шины и отдаёт их по отдельному Modbus TCP-серверу без повторного опроса устройств — несколько мастеров могут читать данные параллельно;
- отключение передачи (TX) на порту — приёмопередатчик физически переводится в режим только приёма для абсолютно неинвазивного подключения к существующим системам;
- режим повторителя — прозрачная ретрансляция RS-485 между двумя портами;
- открытый исходный код прошивки (лицензия MIT-WB);
- разработчики могут использовать аппаратную часть модуля в собственных прошивках.
Технические характеристики
| Параметр | Значение |
|---|---|
| Питание | |
| Напряжение питания интерфейсной части | 9 В — 28 В постоянного тока |
| Потребляемая мощность при 24 В | 1 Вт |
| Максимальный ток с Vout | 2.5 A |
| Максимальный ток с Vout при питании от PoE (долговременный) | 500 мА |
| Входы питания |
|
| Приоритет входов питания |
от входа с бо́льшим напряжением |
| Выход для питания внешних устройств | |
| Vout | На клеммы подаётся напряжение питания модуля, с защитой по току больше 2.5 А, программным отключением и сохранением состояния при перезагрузке.
При питании от PoE на Vout будет подано стабилизированное напряжение 24 В. При питании от PoE ток снимаемый с Vout меньше. |
| Клеммники и сечение проводов | |
| Рекомендуемое сечение провода с НШВИ | 0.35 – 1 мм2 — одинарные, 0.35 – 0.5 мм2 – сдвоенное обжатие |
| Длина стандартной втулки НШВИ | 8 мм |
| Момент затяжки винтов | 0.2 Н∙м |
| Коммуникация | |
| Протокол обмена данными |
Через клеммы RS-485:
Боковой разъём I/O: WBIO. |
| Интерфейсы |
|
| Параметры интерфейса 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 Вт |
Индикация
На лицевой панели под наклейкой есть индикаторы, которые показывают состояние модуля и его выходов.
| Обозначение | Цвет | Состояние | Значение |
|---|---|---|---|
| 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
Последовательно можно подключать до 8 штук: до 4 модулей ввода (типа «I») и до 4-х модулей вывода (тип «O»).
Боковые модули ввода-вывода WBIO подключаются к порту I/O Bus, расположенному на правом боку модуля. Следите за попаданием всех штырей модуля в отверстия ответного разъёма.
Устройство позволяет отделить модули ввода-вывода от контроллера Wiren Board и перенести их на другую DIN-рейку или в другой щит. Кроме того, этот преобразователь интерфейсов позволяет использовать модули ввода-вывода как отдельное устройство с контроллерами других производителей.
- Подключение устройств к WB-MGE v.3
Режимы работы
Режим «Modbus TCP»
В этом режиме модуль принимает Modbus TCP-запросы через сетевые интерфейсы, преобразует их в Modbus RTU и передаёт в один из портов RS-485. Полученный RTU-ответ преобразуется обратно в Modbus TCP и возвращается клиенту, отправившему запрос.
Выбор режима доступен для каждого порта отдельно:
- Перейдите Инструменты Modbus → TCP-шлюз и выберите карточку нужного порта.
- В поле Режим выберите «Modbus TCP».
- При необходимости укажите TCP-порт, запросы с которого будут передаваться в этот RS-485-порт.
В режиме Modbus TCP модуль работает только как сервер. К каждому порту можно одновременно подключить несколько TCP-клиентов (до 8).
Режим «Прозрачный шлюз»
В этом режиме модуль принимает через сетевые интерфейсы TCP-пакеты с данными любого протокола (например, Modbus RTU over TCP) и передаёт их байт в байт в один из портов RS-485. Полученный ответ так же без изменений передаётся обратно клиенту, от которого поступил запрос.
Выбор режима доступен для каждого порта отдельно:
- Перейдите Инструменты Modbus → TCP-шлюз и выберите карточку нужного порта.
- В поле Режим выберите «Прозрачный мост» и задайте роль в поле Роль.
- При необходимости укажите TCP-порт, запросы с которого будут передаваться в этот RS-485-порт.
В режиме «Прозрачный мост» доступны роли:
- Сервер — используется, когда к нему подключается, например, контроллер Wiren Board.
- Клиент — используется, когда WB-MGE v.3 подключается к другому подобному модулю.
В этом режиме на каждом порту допускается только один мастер.
Сниффер
Сниффер захватывает трафик на выбранном порту RS-485 в обе стороны, декодирует Modbus-кадры (в том числе Быстрый Modbus) и в реальном времени отображает их в веб-интерфейсе по WebSocket. Удобно для диагностики обмена без внешнего анализатора.
Откройте Инструменты Modbus → Sniffer, выберите порт и нажмите Старт. Для каждого кадра показываются: отправитель (мастер/слейв), адрес устройства, код функции, данные (HEX), длина и результат проверки CRC. Доступны:
- фильтры по Slave ID и коду функции, счётчики пакетов и ошибок CRC;
- кнопка Отправить пакет — сформировать и отправить в шину запрос на чтение (FC01–FC04) или запись (FC05/06/15/16); CRC считается автоматически, показывается превью кадра;
- экспорт захваченных пакетов в CSV.
Сниффер — это оверлей поверх уже открытого порта: он не переключает транспортный режим и работает параллельно с кэшем.
Кеширующий мультимастер
Шлюз может пассивно отслеживать 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).
| Адрес (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 | Причина последней перезагрузки МК |
| Адрес (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)
Повторитель — прозрачная передача «Serial↔Serial»: байты, принятые на Порту 1, побайтно пересылаются на Порт 2 и наоборот, без разбора кадров. Используется для удлинения линии RS-485 и восстановления целостности сигнала.
Откройте Инструменты Modbus → Повторитель и нажмите переключатель — он переводит оба порта в режим повторителя (повторное нажатие выключает). На странице показывается статистика пересылки в реальном времени: переслано байт в каждую сторону, потеряно байт по каждому порту, время работы и средняя скорость.
Потеряно байт — счётчик байтов, принятых на порту, которые не удалось переслать на встречный порт (его буфер передачи переполнен): входящий поток на короткое время превысил пропускную способность передачи. В нормальной работе равен нулю.
Разные скорости портов. Скорости портов независимы, и повторитель может работать при разных скоростях, но надёжно — не всегда. Лучше всего работает асимметричный случай: мастер на медленной линии (например, 9600), слейв — на быстрой (например, 115200). Тогда мастер шлёт запросы медленно, а обратно транслируются только ответы на его запросы — встречного трафика мало. Но и так линию можно перегрузить, если запросить очень большой кусок данных одним запросом: размер одного кадра ограничен буфером 1000 байт, и если слейв ответит пакетом длиннее, кадр переполнит буфер и будет отброшен ещё на приёме.
Внимание: пока повторитель активен, оба сегмента RS-485 ведут себя как электрически соединённые. При наличии мастеров с обеих сторон шины возможны коллизии на шине и нарушение связи. Это локальное соединение двух портов одного модуля; объединение сегментов через два модуля по IP описано в разделе Повторитель (два модуля через TCP).
Повторитель (два модуля через TCP)
Если вы хотите объединить два сегмента шины 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, который представляет их Modbus-устройством на порту RS485-2 с настройками по умолчанию, как на всех устройствах Wiren Board:
- адрес — 247;
- параметры связи — 9600 8N2.
В веб-интерфейсе модуля вы можете включить или выключить встроенный WB-MIO, для этого:
- Перейдите Конфигурация → Последовательные порты и найдите карточку I/O Bus.
- Переключите Включить I/O Bus в нужное состояние.
По умолчанию WB-MIO включён, отключите его, если вам надо освободить занимаемый им Modbus-адрес или если на порту RS485-2 будет использоваться произвольный протокол, который конфликтует с Modbus RTU.
Важно! Настройки параметров связи подключённых устройств и настройки встроенного WB-MIO должны совпадать. Если настройки подключённых устройств отличаются, надо изменить настройки WB-MIO через запись новых значений в регистры. Записывать значения можно:
- в веб-интерфейсе контроллера через настройки драйвера wb-mqtt-serial;
- через SSH-консоль контроллера утилитой Modbus-client, порт RS485-2 должен работать в режиме «Modbus TCP»;
- Остановите драйвер wb-mqtt-serial:
systemctl stop wb-mqtt-serial
- Запишите новое значение скорости порта 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 бит/с.
- Запустите драйвер wb-mqtt-serial:
systemctl start wb-mqtt-serial
- Остановите драйвер wb-mqtt-serial:
- подключившись напрямую к порту RS485-2, через Преобразователь интерфейса WB-USB485.
| Адрес | Параметры регистра | Описание | Значения | Примечание | |||
|---|---|---|---|---|---|---|---|
| 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 работает в режиме точки доступа:
- Откройте на ноутбуке или телефоне список Wi-Fi точек доступа и подключитесь к WB-MGE-XXXXXX, где XXXXXX — последние 3 цифры MAC Ethernet в hex формате.
- Введите ключ безопасности (пароль), который напечатан на наклейке сбоку устройства.
- Веб-интерфейс будет доступен по адресу 192.168.5.1, логин / пароль — admin / admin.
По Ethernet
По умолчанию Ethernet порт модуля настроен на получение IP-адреса по DHCP, поэтому вам понадобится роутер с настроенной раздачей IP-адресов — обычно это любые роутеры, стоящие в квартире или офисе:
- Подключите модуль к роутеру по Ethernet;
- Зайдите в настройки вашего роутера и посмотрите, какой IP-адрес он выдал модулю.
- Откройте на компьютере, подключённому к тому же роутеру, веб-браузер. Веб-интерфейс будет доступен по IP-адресу из предыдущего пункта, логин / пароль — admin / admin.
Через Ethernet-порт контроллера
Если модуль подключён к Ethernet-порту контроллера и находится в другой подсети, доступ к его веб-интерфейсу можно получить через SSH-туннель. В примере ниже вы подключаетесь к контроллеру с адресом 192.168.42.1 со своего компьютера, а модуль имеет адрес 192.168.0.7.
- Создайте 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):
- В Session укажите Host Name: 192.168.42.1, затем перейдите в Connection → SSH → Tunnels.
- В Source port введите 8088.
- В Destination введите 192.168.0.7:80.
- Тип туннеля — Local. Нажмите Add.
- Вернитесь в Session, нажмите Open и выполните вход под пользователем root.
- В Linux/macOS (OpenSSH) или Windows (PowerShell / CMD):
- Откройте веб-интерфейс в браузере по адресу, введите логин и пароль:
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)
Для каждого порта 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:
- Добавьте в настройках драйвера wb-mqtt-serial TCP-порты для получения данных от RS-485-1 и RS-485-2 модуля.
- Чтобы устройства появились на вкладке Устройства в веб-интерфейсе контроллера Wiren Board, добавьте их автоматически, через поиск устройств Wiren Board на шине RS-485, или вручную, через выбор шаблона.
- Модули WBIO добавляются вручную, через выбор шаблона. Адрес модуля зависит от того, с чем используется WB-MGE v.3:
- Контроллер Wiren Board —
<Modbus-адрес WB-MIO>:<порядковый номер модуля WBIO (начиная с 1)>. - Сторонний контроллер или ПО — адреса рассчитываются по таблице регистров WB-MIO.
- Контроллер Wiren Board —
Обновление прошивки и сброс настроек
Обновление прошивки
Обновить можно из веб-интерфейса модуля:
- Скачайте последнюю версию прошивки. Если устройство видит обновление, на страницах Обзор и Система рядом с версией прошивки появляется кнопка скачивания — нажмите её. Либо скачайте файл по прямой ссылке latest.bin.
- Откройте веб-интерфейс WB-MGE v.3.
- Перейдите на страницу Система, блок Прошивка.
- Нажмите кнопку Выбрать файл, выберите файл с прошивкой — обновление запустится автоматически, дождитесь окончания процесса.
После обновления прошивки устройство будет перезагружено.
Перезагрузка
Для перезагрузки устройства с сохранением настроек обесточьте его на 10 секунд.
Также можно использовать кнопку Перезагрузить в веб-интерфейсе на странице Система.
Сброс на заводские настройки
Из веб-интерфейса
Чтобы сбросить настройки:
- Перейдите Конфигурация → Система, блок Конфигурация.
- Нажмите кнопку Сбросить в строке «Сброс к заводским настройкам».
Кнопкой Config
Для сброса настроек в модуле есть кнопка Config, доступная через отверстие в передней крышке модуля. Способа два — они отличаются глубиной сброса и тем, нужна ли работающая основная прошивка.
- Сброс к заводским настройкам (на работающем устройстве, без перезагрузки). Удерживайте кнопку Config 5 секунд при включённом питании: прошивка переписывает все настройки в значения по умолчанию и сразу применяет их. При этом переписывается только содержимое известных настроек — сам NVS-раздел не очищается. Подтверждение — несколько частых миганий индикатора Status. Тот же результат даёт кнопка «Сбросить» в веб-интерфейсе.
- Полная очистка хранилища (через Factory-режим). Нужна, когда основная прошивка не запускается, либо когда требуется гарантированно стереть всё. Подайте питание с зажатой кнопкой Config, чтобы войти в режим Factory, затем удерживайте кнопку Config 5 секунд — выполняется полное стирание NVS-раздела целиком: удаляются все ключи, включая посторонние и повреждённые. После этого основная прошивка стартует с чистыми заводскими настройками. Подтверждение — несколько частых миганий индикатора Status.
Режим Factory
Режим доступен только в модуле с заводской прошивкой и служит для восстановления работы, если основная прошивка по каким-то причинам не запустилась.
Для включения режима Factory подайте питание на устройство с зажатой кнопкой Config.
В этом режиме Ethernet назначается статический ip-адрес 192.168.0.7, по mDNS задаётся имя хоста wb-mge-factory.local, а вместо веб-интерфейса показывается форма загрузки заводской прошивки модуля.
Обновление прошивки встроенного WB-MIO
В устройствах Wiren Board можно обновлять прошивку по протоколу Modbus. Это даёт возможность устранять найденные в прошивке ошибки на месте монтажа, а иногда и добавлять новые функции, если это возможно технически. Настройки, хранящиеся в памяти устройства, не пропадают при обновлении прошивки.
Инструкции:
- Обновление прошивки (видеоинструкция)
- Сброс настроек
- Настройка параметров подключения
- 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:
- Устройства Wiren Board: Файл:WB-Visio-Lib.zip.
- Щиты, автоматы, контакторы и прочее от стороннего разработчика.
Габаритный чертеж модуля (DXF): Файл:WB-MGEv3.dxf.zip
Габаритный чертеж модуля (PDF): Файл:WB-MGEv3.pdf
База УГО для AutoCAD Electrical: Файл:Wirenboard-AE-base.zip
Сторонние программные компоненты
Прошивка устройства содержит программные компоненты из проекта ESP-IDF, распространяемого под лицензией Apache, версия 2.0. С полным текстом лицензии можно ознакомиться в репозитории проекта ESP-IDF.