translator, wb_editors
4265
правок
Matveevrj (обсуждение | вклад) |
|||
(не показано 12 промежуточных версий 3 участников) | |||
Строка 1: | Строка 1: | ||
{{DISPLAYTITLE: Драйвер wb-mqtt-serial}} | {{DISPLAYTITLE: Драйвер wb-mqtt-serial}} | ||
== Описание == | |||
[[Image: wb-mqtt-serial a few protocols.png |500px|thumb|right| Драйвер wb-mqtt-serial может одновременно опрашивать устройства, работающие по разным протоколам: <br> 1 — виртуальный порт для устройств с протоколом Modbus TCP,<br> 2 — устройство работает по протоколу Modbus RTU,<br> 3 — устройство работает по протоколу DLMS]] | [[Image: wb-mqtt-serial a few protocols.png |500px|thumb|right| Драйвер wb-mqtt-serial может одновременно опрашивать устройства, работающие по разным протоколам: <br> 1 — виртуальный порт для устройств с протоколом Modbus TCP,<br> 2 — устройство работает по протоколу Modbus RTU,<br> 3 — устройство работает по протоколу DLMS]] | ||
=== Общая информация === | === Общая информация === | ||
''wb-mqtt-serial'' — драйвер master-slave протоколов для устройств, подключённых: | ''wb-mqtt-serial'' — драйвер master-slave протоколов для устройств, подключённых: | ||
Строка 8: | Строка 8: | ||
* к разъёмам MOD1–MOD3 — при наличии модулей расширения, использующих обмен по UART. | * к разъёмам MOD1–MOD3 — при наличии модулей расширения, использующих обмен по UART. | ||
Драйвер опрашивает serial-устройства и публикует данные в топики [[MQTT|MQTT]]-брокера. Устройства настраиваются через [[RS-485:Configuration via Web Interface | веб-интерфейс]]. | Драйвер опрашивает serial-устройства и публикует данные в топики [[MQTT|MQTT]]-брокера. Устройства и порты настраиваются через веб-интерфейс, подробнее в статье [[RS-485:Configuration via Web Interface | Начальное конфигурирование устройств через веб-интерфейс]]. | ||
Wb-mqtt-serial использует систему JSON-шаблонов, которые описывают подключённые устройства: тип протокола, номера регистров, название параметров и контролов в веб-интерфейсе контроллера. В стандартной поставке есть шаблоны для всех устройств Wiren Board, а также некоторых сторонних устройств: счётчики электроэнергии, частотные преобразователи, холодильные контроллеры и другие. | |||
Если ваше устройство работает по поддерживаемому драйвером протоколу, но в стандартной поставке под него нет шаблона — можете написать шаблон сами. | Если ваше устройство работает по поддерживаемому драйвером протоколу, но в стандартной поставке под него нет шаблона — можете написать шаблон сами: [[Connecting_Third_Party_Devices_to_Wiren_Board | Подключение стороннего Modbus-устройства к контроллеру Wiren Board]]. | ||
Файлы и папки: | Файлы и папки: | ||
* <code>/etc/wb-mqtt-serial.conf</code> — файл настроек драйвера, редактировать вручную не рекомендуем; | * <code>/etc/wb-mqtt-serial.conf</code> — файл настроек драйвера, редактировать вручную не рекомендуем; | ||
* <code>/usr/share/wb-mqtt-serial/templates</code> — папка с предустановленными шаблонами; | * <code>/usr/share/wb-mqtt-serial/templates</code> — папка с предустановленными шаблонами; | ||
* <code>/etc/wb-mqtt-serial.conf.d/templates</code> — папка для пользовательских шаблонов, которые имеют приоритет | * <code>/etc/wb-mqtt-serial.conf.d/templates</code> — папка для пользовательских шаблонов, которые имеют приоритет над предустановленными. | ||
Если вы добавили свой шаблон или изменили существующий, подождите 20 секунд, а потом перезагрузите страницу конфигуратора в веб-интерфейсе клавишами <kbd>Ctrl</kbd>+<kbd>F5</kbd> или перезапустите сервис: <syntaxhighlight lang="bash>systemctl restart wb-mqtt-confed</syntaxhighlight> | |||
О том, как получить доступ к файлам и папкам, читайте в статье [[View controller files from your computer|Просмотр файлов контроллера с компьютера]]. | О том, как получить доступ к файлам и папкам, читайте в статье [[View controller files from your computer|Просмотр файлов контроллера с компьютера]]. | ||
Строка 28: | Строка 30: | ||
Поэтому при написании шаблона для сторонних Modbus-устройств, нужно указать параметр ''guard_interval_us'', который рассчитывается по формуле: | Поэтому при написании шаблона для сторонних Modbus-устройств, нужно указать параметр ''guard_interval_us'', который рассчитывается по формуле: | ||
<syntaxhighlight lang="js"> | <syntaxhighlight lang="js"> | ||
guard_interval_us = (3.5*11* | guard_interval_us = (3.5*11*10^6)/(скорость в бит/с) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Так же этот параметр можно установить через веб-интерфейс: | Так же этот параметр можно установить через веб-интерфейс: | ||
Строка 67: | Строка 69: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Проверить только шаблоны, в том числе и не подключённые в файле конфигурации, можно командой: | |||
<syntaxhighlight lang="console"> | |||
# wb-mqtt-serial -g | |||
<3>ERROR: [serial config] Failed to parse /usr/share/wb-mqtt-serial/templates/config-bac-6000-series.json | |||
Failed to parse JSON /usr/share/wb-mqtt-serial/templates/config-bac-6000-series.json:* Line 12, Column 5 | |||
Missing ',' or '}' in object declaration | |||
</syntaxhighlight> | |||
Проверить файл конфигурации и шаблоны на ошибки: | |||
<syntaxhighlight lang="console"> | <syntaxhighlight lang="console"> | ||
# wb-mqtt-serial -j | # wb-mqtt-serial -j | ||
Строка 111: | Строка 121: | ||
Jan 29 14:27:24 wirenboard-A6ZZXT2R wb-mqtt-serial[1667]: DEBUG: [serial port driver] register value change: input @ 3 of device modbus:22 <- 39.01 | Jan 29 14:27:24 wirenboard-A6ZZXT2R wb-mqtt-serial[1667]: DEBUG: [serial port driver] register value change: input @ 3 of device modbus:22 <- 39.01 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Полезные ссылки == | |||
* [[Connecting_Third_Party_Devices_to_Wiren_Board | Как подключить стороннее Modbus-устройство]] | |||
* [https://github.com/contactless/wb-mqtt-serial Описание wb-mqtt-serial на Github] | |||
* [[Modbus|Описание протокола Modbus]] | |||
* [[Fast_Modbus| Описание расширения Быстрый Modbus]] | |||
* [[RS-485|Описание шины RS-485]] |