|
|
(не показано 75 промежуточных версий 7 участников) |
Строка 1: |
Строка 1: |
| {{DISPLAYTITLE: Драйвер wb-mqtt-serial}} | | {{DISPLAYTITLE: Драйвер wb-mqtt-serial}} |
| '''ВНИМАНИЕ:''' драйвер ''wb-mqtt-serial'' ранее назывался ''wb-homa-modbus'', а конфигурационный файл <code>/etc/wb-mqtt-serial.conf</code> как <code>/etc/wb-homa-modbus.conf</code>. Учитывайте это, если используете устаревшие прошивки.
| |
|
| |
| == Описание == | | == Описание == |
| Драйвер <code>wb-mqtt-serial</code> отвечает за работу с подключенными по [[RS-485|RS-485]] устройствами в контроллере Wiren Board. Он обеспечивает работу с устройствами через систему [[MQTT|MQTT]]-сообщений. | | [[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]] |
|
| | === Общая информация === |
| Полное описание драйвера смотрите [https://github.com/contactless/wb-mqtt-serial в репозитории на Github].
| | ''wb-mqtt-serial'' — драйвер master-slave протоколов для устройств, подключённых: |
| | * к шине RS-485 — протокол Modbus RTU и других; |
| | * через Ethernet — протоколы Modbus TCP, Modbus over TCP и другие; |
| | * к разъёмам MOD1–MOD3 — при наличии модулей расширения, использующих обмен по UART. |
|
| |
|
| ==Поддерживаемые устройства==
| | Драйвер опрашивает serial-устройства и публикует данные в топики [[MQTT|MQTT]]-брокера. Устройства и порты настраиваются через веб-интерфейс, подробнее в статье [[RS-485:Configuration via Web Interface | Начальное конфигурирование устройств через веб-интерфейс]]. |
|
| |
|
| Поддерживается работа с:
| | Wb-mqtt-serial использует систему JSON-шаблонов, которые описывают подключённые устройства: тип протокола, номера регистров, название параметров и контролов в веб-интерфейсе контроллера. В стандартной поставке есть шаблоны для всех устройств Wiren Board, а также некоторых сторонних устройств: счётчики электроэнергии, частотные преобразователи, холодильные контроллеры и другие. |
| *Периферийными устройствами Wiren Board с интерфейсом Modbus: модули реле, диммеры, счётчики импульсов, датчики и т.п.
| |
| *Устройствами сторонних производителей, работающих по протоколу [[Протокол Modbus|Modbus]].
| |
| *Некоторыми устройствами, использующими протоколы ADICON, A-BUS, [http://smart.uniel.ru/ Uniel], [http://www.milur.ru/ Милур], [http://www.eksis.ru/catalog/measures-of-relative-humidity-and-temperature/ ИВТМ], [[Сounters Pulsar | Пульсар]], [http://www.incotexcom.ru/m230art.htm Меркурий 230], [http://www.energomera.ru/ Энергомера ГОСТ МЭК 61107], [https://www.meters.taipit.ru/ НЕВА МТ 32х ГОСТ МЭК 61107]. Полный список поддерживаемых устройств можно посмотреть в таблице [[Поддерживаемые устройства#Протестированные устройства сторонних производителей |Протестированные устройства сторонних производителей]].
| |
|
| |
|
| === Поддержка устройств различных протоколов на одной шине ===
| | Если ваше устройство работает по поддерживаемому драйвером протоколу, но в стандартной поставке под него нет шаблона — можете написать шаблон сами: [[Connecting_Third_Party_Devices_to_Wiren_Board | Подключение стороннего Modbus-устройства к контроллеру Wiren Board]]. |
|
| |
|
| Использовать устройства с разными протоколами на одной шине возможно, но необходимо учитывать особенности конкретных протоколов.
| | Файлы и папки: |
| | * <code>/etc/wb-mqtt-serial.conf</code> — файл настроек драйвера, редактировать вручную не рекомендуем; |
| | * <code>/usr/share/wb-mqtt-serial/templates</code> — папка с предустановленными шаблонами; |
| | * <code>/etc/wb-mqtt-serial.conf.d/templates</code> — папка для пользовательских шаблонов, которые имеют приоритет над предустановленными. |
|
| |
|
| Например, фреймы устройств Unitel начинаются с байта <code>0xff</code>, а устройств ИВТМ — с байта <code>0x24</code>. В случае с протоколами Modbus, Меркурий 230 и Милур первым байтом фрейма является идентификатор ''slave'', поэтому при совмещении таких устройств нужно внимательно подходить к выбору ''slave id''.
| | Если вы добавили свой шаблон или изменили существующий, подождите 20 секунд, а потом перезагрузите страницу конфигуратора в веб-интерфейсе клавишами <kbd>Ctrl</kbd>+<kbd>F5</kbd> или перезапустите сервис: <syntaxhighlight lang="bash>systemctl restart wb-mqtt-confed</syntaxhighlight> |
|
| |
|
| У устройств Милур slave id по умолчанию равен <code>0xff</code>, что приведет к конфликту с устройствами Unitel. Также устройства Милур требуют дополнительных задержек при опросе и при использовании на одной шине с другими устройствами могут снизить скорость опроса.
| | О том, как получить доступ к файлам и папкам, читайте в статье [[View controller files from your computer|Просмотр файлов контроллера с компьютера]]. |
|
| |
|
| Иногда устройства, работающие на разных протоколах могут конфликтовать между собой: устройства с поддержкой протокола A-BUS не могут работать на одной шине с устройствами Unitel.
| | Полное описание драйвера, список поддерживаемых протоколов и примеры шаблонов, смотрите '''[https://github.com/contactless/wb-mqtt-serial в репозитории на Github]'''. |
|
| |
|
| Рекомендуем придерживаться проверенной формулы комбинации протоколов на одной шине: <code>Modbus + Милур (slave_id != 0xff) + Uniel</code>. Учитывайте, что сторонние производители устройств могут вносить недокументированные изменения в протокол, поэтому перед покупкой устройства желательно убедиться в работоспособности выбранного решения.
| | === Особенности === |
| | При работе с Modbus-устройствами, драйвер оптимизирует запросы к устройствам: считывает несколько регистров подряд, не выдерживает некоторые задержки, рекомендованные стандартом. |
|
| |
|
| === Доработка драйвера для поддержки новых устройств ===
| | Поэтому при написании шаблона для сторонних Modbus-устройств, нужно указать параметр ''guard_interval_us'', который рассчитывается по формуле: |
| | <syntaxhighlight lang="js"> |
| | guard_interval_us = (3.5*11*10^6)/(скорость в бит/с) |
| | </syntaxhighlight> |
| | Так же этот параметр можно установить через веб-интерфейс: |
| | * Guard interval (us) — для порта. |
| | * Additional delay before each writing to port (us) — для устройства. |
|
| |
|
| Вы можете самостоятельно добавить поддержку новых modbus-устройств при помощи [[Драйвер wb-mqtt-serial:Примеры написания шаблонов|шаблонов]].
| | Если при чтении регистра устройства возникла ошибка, то соответствующий контрол в веб-интерфейсе будет окрашен в красный цвет. Аналогично с устройством — если оно давно не отвечает, то все его контролы будут окрашены красным. |
|
| |
|
| Если у вас возникли проблемы с составлением шаблона или выбранное вами устройство имеет свой протокол обмена данными — [https://wirenboard.com/ru/pages/contacts свяжитесь с нами] и мы постараемся помочь.
| | == Управление драйвером == |
| | |
| ==Управление драйвером== | |
|
| |
|
| Обычно драйвер запускается автоматически при загрузке контроллера и перезапускается при сохранении файла конфигурации в веб-интерфейсе. | | Обычно драйвер запускается автоматически при загрузке контроллера и перезапускается при сохранении файла конфигурации в веб-интерфейсе. |
Строка 40: |
Строка 46: |
| Для выполнения команд подключитесь к контроллеру по [[SSH]]. Доступны команды: | | Для выполнения команд подключитесь к контроллеру по [[SSH]]. Доступны команды: |
| <syntaxhighlight lang="bash"> | | <syntaxhighlight lang="bash"> |
| service wb-mqtt-serial stop #остановить драйвер
| | systemctl stop wb-mqtt-serial # остановить |
| service wb-mqtt-serial start #запустить драйвер
| | systemctl start wb-mqtt-serial # запустить |
| service wb-mqtt-serial restart #перезапустить драйвер
| | systemctl restart wb-mqtt-serial # перезапустить |
| wb-mqtt-serial -c /etc/wb-mqtt-serial.conf -d #запустить драйвер в отладочном режиме с указанием пути к конфигурационному файлу | | wb-mqtt-serial -c /etc/wb-mqtt-serial.conf -d # запустить в отладочном режиме с указанием пути к конфигурационному файлу |
| </syntaxhighlight>
| |
| | |
| == Файл конфигурации драйвера ==
| |
| | |
| Перед использованием драйвер нужно настроить. Конфигурация драйвера хранится в файле <code>/etc/wb-mqtt-serial.conf</code>.
| |
| | |
| === Структура файла ===
| |
| | |
| Файл <code>/etc/wb-mqtt-serial.conf</code> имеет структуру <code>порты (ports)</code> → <code>устройства (devices)</code> → <code>каналы (channels)</code>: в файле есть описание физических портов контроллера, внутри них — список устройств подключенных к этому порту, а внутри устройств описаны каналы.
| |
| | |
| Для каждого порта указываются настройки: скорость, четность и т.п., а также протокол: Modbus, Uniel и т.п. Для каждого устройства обязательно указывается его уникальный адрес на шине — <code>slave_id</code>, остальные параметры указываются по необходимости.
| |
| | |
| Структура файла:
| |
| <syntaxhighlight lang="javascript">
| |
| {
| |
| // основные настройки драйвера
| |
| ...
| |
| | |
| // порты
| |
| "ports": [
| |
| {
| |
| // настройки порта
| |
| ...
| |
| | |
| // список устройств на данном порту
| |
| "devices" : [
| |
| {
| |
| // описание первого устройства на канале
| |
| "name": "Device 1",
| |
| ...
| |
| | |
| // список каналов устройства
| |
| "channels": [
| |
| {
| |
| //описание канала 1
| |
| },
| |
| {
| |
| //описание канала 2
| |
| },
| |
| ...
| |
| ]
| |
| },
| |
| {
| |
| // описание второго устройства на канале
| |
| "name": "Device 2",
| |
| ...
| |
| | |
| // секция инициализации второго устройства
| |
| "setup": [
| |
| {
| |
| // описание регистра настройки
| |
| },
| |
| ...
| |
| ],
| |
| // каналы второго устройства
| |
| "channels": [
| |
| {
| |
| //первый канал
| |
| },
| |
| ...
| |
| ]
| |
| }
| |
| ]
| |
| },
| |
| {
| |
| // ещё один порт со своим набором устройств
| |
| "devices" : [
| |
| {
| |
| ...
| |
| | |
| "channels": [
| |
| ...
| |
| ]
| |
| },
| |
| ...
| |
| ]
| |
| }
| |
| ]
| |
| }
| |
| </syntaxhighlight>
| |
| | |
| ==== Основные настройки драйвера ====
| |
| * debug — опция включает отладочный режим драйвера. Доступные значения: true, false.
| |
| * max_unchanged_interval — Задаёт интервал в секундах, в течение которого не изменяющиеся значения не будут публиковаться в MQTT. По истечении интервала значение будет опубликовано, даже если оно не изменилось. Доступны специальные значения:
| |
| ** <code>0</code> — публиковать все значения;
| |
| ** <code>-1</code> — публиковать только при изменении, значение по умолчанию.
| |
| | |
| ==== Порты (ports) ====
| |
| * port_type — тип порта:
| |
| ** serial — последовательные порты RS-485 или RS-232, значение по умолчанию.
| |
| ** tcp — serial over TCP/IP. Пакеты, формируемые для работы с последовательными портами, передаются без изменений через TCP/IP.
| |
| ** modbus tcp — передача по Modbus TCP. В секции устройств с таким типом порта могут использоваться только те, что поддерживают Modbus.
| |
| * path — если выбран тип serial: устройство в системе, которое соответствует порту RS-485.
| |
| * address — если выбран тип tcp или modbus tcp: IP-адрес или имя хоста.
| |
| * port — если выбран тип tcp или modbus tcp: TCP-порт.
| |
| * baud_rate — скорость порта.
| |
| * parity — четность:
| |
| ** N — none, без бита четности. Значение по умолчанию;
| |
| ** O — odd, нечетный;
| |
| ** E — even, четный.
| |
| * data_bits — количество бит данных, по умолчанию — 8.
| |
| * stop_bits — количество стоп-бит, по умолчанию — 2.
| |
| * poll_interval — минимальный интервал опроса каждого регистра в миллисекундах.
| |
| * response_timeout_ms — максимальное время ответа устройств в миллисекундах. По умолчанию — 500 мс.
| |
| * guard_interval_us — дополнительная задержка перед отправкой данных в порт, микросекунды.
| |
| * connection_timeout_ms — если выбран тип tcp или modbus tcp: таймаут соединения. Если в течение указанного времени ни по одному из устройств на порту не поступило данных и истек connection_max_fail_cycles — разорвать соединение и переподключиться.
| |
| * connection_max_fail_cycles — если выбран тип tcp или modbus tcp: количество неудачных циклов опроса.
| |
| * enabled — включает или отключает порт. Доступные значения: ''true'', ''false''. По умолчанию — ''true''.
| |
| | |
| ==== Устройства, их каналы и параметры (devices, channels и setup) ====
| |
| Раздел devices содержит описание устройств, подключенных к порту и имеет структуру:
| |
| | |
| <syntaxhighlight lang="javascript">
| |
| "devices" :
| |
| [
| |
| {
| |
| // описание устройства
| |
| ...
| |
| "channels" :
| |
| [
| |
| // описание каналов
| |
| ...
| |
| ]
| |
| },
| |
| {
| |
| // описание второго устройства
| |
| ...
| |
| },
| |
| ...
| |
| ]
| |
| </syntaxhighlight> | | </syntaxhighlight> |
|
| |
|
| Так как для описания устройств мы рекомендуем использовать шаблоны, то подробное описание разделов '''devices''', '''channels''' и '''setup''' вы найдете [[Wb-mqtt-serial templates | в статье о шаблонах]].
| | == Диагностика неполадок == |
| | | {{SupportedSinceRelease |
| === Редактирование через веб-интерфейс ===
| | | release = wb-2407 |
| Мы рекомендуем изменять конфигурацию драйвера через веб-интерфейс. Процедура настройки подробно описана в статье [[RS-485:Настройка через веб-интерфейс|RS-485:Настройка через веб-интерфейс]].
| | |content= |
| | | Если возникли проблемы с запуском драйвера, например, новое устройство не появилось, то можно узнать причину в журнале wb-mqtt-serial двумя способами: |
| === Внесение изменений вручную ===
| | * [[SSH | Подключитесь к контроллеру]], выполните команду <code>systemctl status wb-mqtt-serial</code>, вывод будет содержать сообщения о ошибке. В примере файл конфигурации содержит синтаксическую ошибку во второй строке на 14 позиции: |
| Будьте внимательны при редактировании файла конфигурации вручную — в отличие от редактирования через веб-интерфейс, вы можете допустить синтаксическую ошибку и драйвер не запустится.
| | <syntaxhighlight lang="console"> |
| | | # systemctl status wb-mqtt-serial |
| # Ознакомьтесь с инструкцией [[Просмотр файлов контроллера с компьютера|Просмотр файлов контроллера с компьютера]] и выберите удобный для вас способ.
| |
| #Впишите конфигурацию для портов и подключенных устройств в файл. Смотрите [[#Примеры файла конфигурации | примеры]].
| |
| #Чтобы описанные в файле устройства появились в веб-интерфейсе, перезагрузите контроллер или выполните команду:
| |
| #: <syntaxhighlight lang="bash">
| |
| service wb-mqtt-serial restart
| |
| </syntaxhighlight>
| |
| | |
| === Поиск ошибок ===
| |
| Если возникли проблемы с запуском драйвера, например, новое устройство не появилось, то можно узнать причину: выполните команду <code>systemctl status wb-mqtt-serial</code> и в последних двух строчках ответа будет подсказка. | |
| | |
| В примере файл конфигурации содержит синтаксическую ошибку во второй строке на 14 позиции: | |
| <syntaxhighlight lang="bash"> | |
| ~# systemctl status wb-mqtt-serial
| |
| ● wb-mqtt-serial.service - MQTT Driver for serial devices | | ● wb-mqtt-serial.service - MQTT Driver for serial devices |
| Loaded: loaded (/lib/systemd/system/wb-mqtt-serial.service; enabled; vendor preset: enabled) | | Loaded: loaded (/lib/systemd/system/wb-mqtt-serial.service; enabled; vendor preset: enabled) |
Строка 208: |
Строка 71: |
| </syntaxhighlight> | | </syntaxhighlight> |
|
| |
|
| == Примеры файла конфигурации ==
| |
|
| |
| В примерах мы описывали устройства в самом файле конфигурации, но при их большом количестве описание устройств можно вынести в [[Драйвер wb-mqtt-serial:Примеры написания шаблонов | шаблоны]].
| |
|
| |
|
| === Подключено одно устройство ===
| | * Откройте в [[Wiren_Board_Web_Interface|веб-интерфейс контроллера]], перейдите '''Настройки → Системный журнал''' в пункте '''Выберите сервис — wb-mqtt-serial.service''' и нажмите кнопку '''загрузить'''. В примере файл конфигурации содержит два дублирующих друг друга параметра: |
| | | [[Файл:Wb-mqtt-serial error.png|600px|thumb|centre| Журнал ошибок в веб-интерфейсе]] |
| Выведем среднеквадратичное значение напряжения на фазе L1 со счетчика [[WB-MAP3E Power Meter | WB-MAP3E fw2]]. В примере счетчик подключен к serial-порту <code>/dev/ttyRS485-1</code>, работает по протоколу [[Протокол Modbus | Modbus]] и имеет адрес <code>142</code>.
| | }} |
| | |
| <syntaxhighlight lang="javascript">{
| |
| // отладка выключена
| |
| "debug" : false,
| |
| // список портов
| |
| "ports" :
| |
| [
| |
| {
| |
| // тип порта
| |
| "port_type" : "serial",
| |
| // устройство, соответствующее порту RS-485 (если выбран тип порта serial)
| |
| "path" : "/dev/ttyRS485-1",
| |
| // скорость порта
| |
| "baud_rate" : 9600,
| |
| // количество бит данных
| |
| "data_bits" : 8,
| |
| // количество стоп-бит
| |
| "stop_bits" : 2,
| |
| // паритет - N, O или E
| |
| "parity" : "N",
| |
| // включить опрос устройства
| |
| "enabled" : true,
| |
| // минимальный интервал опроса каждого регистра в миллисекундах
| |
| "poll_interval" : 10,
| |
| // список устройств на порту /dev/ttyRS485-1
| |
| "devices" :
| |
| [
| |
| {
| |
| // отображаемое имя устройства
| |
| "name" : "WB-MAP3E fw2",
| |
| // протокол передачи устройства
| |
| "protocol" : "modbus",
| |
| // идентификатор устройства на шине
| |
| "slave_id" : "142",
| |
| // список каналов устройства
| |
| "channels" :
| |
| [
| |
| {
| |
| // адрес регистра
| |
| "address" : "0x1410",
| |
| // формат канала
| |
| "format" : "u32",
| |
| // имя канала
| |
| "name" : "Urms L1",
| |
| // тип регистра
| |
| "reg_type" : "input",
| |
| // порядок, до которого будет округляться значение после всех преобразований
| |
| "round_to" : 0.001,
| |
| // коэффициент, на который умножается значение регистра перед публикацией в MQTT
| |
| "scale" : 1.52588e-07,
| |
| // тип элемента управления
| |
| "type" : "voltage"
| |
| }
| |
| ]
| |
| }
| |
| ]
| |
| }
| |
| ]
| |
| }</syntaxhighlight>
| |
| | |
| === Несколько подключенных устройств ===
| |
| | |
| Выведем среднеквадратичное значение напряжения на фазе L1 со счетчика [[WB-MAP3E Power Meter | WB-MAP3E fw2]] и температуру с датчика [[MSW3]].
| |
| | |
| В примере устройства работают по протоколу [[Протокол Modbus | Modbus]]: счетчик WB-MAP3E подключен к serial-порту <code>/dev/ttyRS485-1</code> с адресом <code>142</code>, а датчик MSW3 подключен к serial-порту <code>/dev/ttyRS485-2</code> и имеет адрес <code>22</code>. | |
| | |
| <syntaxhighlight lang="javascript">
| |
| {
| |
| // отладка выключена
| |
| "debug" : false,
| |
| // список портов
| |
| "ports" :
| |
| [
| |
| {
| |
| // тип порта
| |
| "port_type" : "serial",
| |
| // устройство, соответствующее порту RS-485 (если выбран тип порта serial)
| |
| "path" : "/dev/ttyRS485-1",
| |
| // скорость порта
| |
| "baud_rate" : 9600,
| |
| // количество бит данных
| |
| "data_bits" : 8,
| |
| // количество стоп-бит
| |
| "stop_bits" : 2,
| |
| // четность - N, O или E
| |
| "parity" : "N",
| |
| // включить опрос устройства
| |
| "enabled" : true,
| |
| // минимальный интервал опроса каждого регистра в миллисекундах
| |
| "poll_interval" : 10,
| |
| // список устройств на порту /dev/ttyRS485-1
| |
| "devices" :
| |
| [
| |
| {
| |
| // отображаемое имя устройства
| |
| "name" : "WB-MAP3E fw2",
| |
| // протокол передачи устройства
| |
| "protocol" : "modbus",
| |
| // идентификатор устройства на шине
| |
| "slave_id" : "142",
| |
| // список каналов устройства
| |
| "channels" :
| |
| [
| |
| {
| |
| // адрес регистра
| |
| "address" : "0x1410",
| |
| // формат канала
| |
| "format" : "u32",
| |
| // имя канала
| |
| "name" : "Urms L1",
| |
| // тип регистра
| |
| "reg_type" : "input",
| |
| // порядок, до которого будет округляться значение после всех преобразований
| |
| "round_to" : 0.001,
| |
| // коэффициент, на который умножается значение регистра перед публикацией в MQTT
| |
| "scale" : 1.52588e-07,
| |
| // тип элемента управления
| |
| "type" : "voltage"
| |
| }
| |
| ]
| |
| }
| |
| ]
| |
| },
| |
| {
| |
| // тип порта
| |
| "port_type" : "serial",
| |
| // устройство, соответствующее порту RS-485 (если выбран тип порта serial)
| |
| "path" : "/dev/ttyRS485-2",
| |
| // скорость порта
| |
| "baud_rate" : 9600,
| |
| // количество бит данных
| |
| "data_bits" : 8,
| |
| // количество стоп-бит
| |
| "stop_bits" : 2,
| |
| // четность - N, O или E
| |
| "parity" : "N",
| |
| // включить опрос устройства
| |
| "enabled" : true,
| |
| // минимальный интервал опроса каждого регистра в миллисекундах
| |
| "poll_interval" : 10,
| |
| // список устройств на порту /dev/ttyRS485-2
| |
| "devices" :
| |
| [
| |
| {
| |
| // отображаемое имя устройства
| |
| "name" : "MSW3",
| |
| // протокол передачи устройства
| |
| "protocol" : "modbus",
| |
| // идентификатор устройства на шине
| |
| "slave_id" : "22",
| |
| // список каналов устройства
| |
| "channels" :
| |
| [
| |
| {
| |
| // адрес регистра
| |
| "address" : "0x0000",
| |
| // формат канала
| |
| "format" : "s16",
| |
| // имя канала
| |
| "name" : "Temp",
| |
| // тип регистра
| |
| "reg_type" : "input",
| |
| // порядок, до которого будет округляться значение после всех преобразований
| |
| "round_to" : 0.5,
| |
| // коэффициент, на который умножается значение регистра перед публикацией в MQTT
| |
| "scale" : 0.1,
| |
| // тип элемента управления
| |
| "type" : "temperature"
| |
| }
| |
| ]
| |
| }
| |
| ]
| |
| }
| |
| ]
| |
| } | |
| </syntaxhighlight>
| |
|
| |
|
| == Включение отладки== | | == Включение отладки== |
Строка 396: |
Строка 80: |
| Иногда нужно включить отладочный режим драйвера. Это можно сделать из [[#Управление драйвером | командной строки]] или через веб-интерфейс. | | Иногда нужно включить отладочный режим драйвера. Это можно сделать из [[#Управление драйвером | командной строки]] или через веб-интерфейс. |
|
| |
|
| '''ВНИМАНИЕ: ''' при включенной отладке системный журнал будет быстро расти, поэтому не забудьте отключить отладку, когда необходимость в ней отпадет.
| | {{note|info| При включённой отладке размер системного журнала будет быстро расти, поэтому не забудьте отключить отладку, когда необходимость в ней отпадет.}} |
|
| |
|
| Включение отладки через веб-интерфейс: | | Включение отладки через [[Wiren Board Web Interface|веб-интерфейс]]: |
| #Зайдите в веб-интерфейс '''Settings''' → '''Configs''' → '''Serial Device Driver Configuration''' | | # Зайдите в веб-интерфейс контроллера |
| #Установите флажок '''Enable debug logging''' | | # Если вы работаете под обычным пользователем, то смените [[RS-485:Configuration via Web Interface#Смена уровня доступа к веб-интерфейсу| уровень доступа]] |
| #Нажмите на кнопку '''Save''', чтобы сохранить настройки. | | # Перейдите '''Settings''' → '''Configs''' → '''Serial Device Driver Configuration''' |
| | # Установите флажок '''Enable debug logging''' |
| | # Нажмите на кнопку '''Save''', чтобы сохранить настройки. |
|
| |
|
| Теперь в системный журнал будут записываться отправленные и принятые драйвером пакеты. | | Теперь в системный журнал будут записываться отправленные и принятые драйвером пакеты. |
|
| |
|
| Чтобы посмотреть debug-вывод драйвера, выполните в консоли контроллера команду <code>journalctl -e -p 7</code>, где <code>-e</code> — отобразить последние записи, а <code>-p 7</code> задает уровень сообщений, где 7 — это debug. | | Чтобы посмотреть debug-вывод драйвера, выполните в консоли контроллера команду <code>journalctl -e -p 7</code>, где <code>-e</code> — отобразить последние записи, а <code>-p 7</code> задает уровень сообщений, где 7 — это debug. Подробнее о параметрах утилиты, читайте в статье [[journalctl]]. |
|
| |
|
| Пример вывода команды: | | Пример вывода команды: |
Строка 419: |
Строка 105: |
| 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> |
|
| |
| Подробнее о возможностях утилиты <code>journalctl</code> можете почитать в [https://habr.com/ru/company/ruvds/blog/533918/ статье на Хабре].
| |
|
| |
|
| == Полезные ссылки == | | == Полезные ссылки == |
| * [[Wb-mqtt-serial templates| Описание шаблонов и примеры]] | | * [[Connecting_Third_Party_Devices_to_Wiren_Board | Как подключить стороннее Modbus-устройство]] |
| * [https://github.com/wirenboard/wb-mqtt-serial/blob/master/README.md Описание драйвера в репозитории на Github] | | * [https://github.com/contactless/wb-mqtt-serial Описание wb-mqtt-serial на Github] |
| | * [[Modbus|Описание протокола Modbus]] |
| | * [[Fast_Modbus| Описание расширения Быстрый Modbus]] |
| | * [[RS-485|Описание шины RS-485]] |