Wb-mqtt-serial driver: различия между версиями

Строка 21: Строка 21:
mcedit /etc/wb-homa-modbus.conf #открыть файл в псевдографическом редакторе
mcedit /etc/wb-homa-modbus.conf #открыть файл в псевдографическом редакторе
</syntaxhighlight>
</syntaxhighlight>
#Файл имеет структуру ''порты (ports) -> устройства (devices)'': в файле есть описания физических портов контроллера, а внутри них - список устройств, которые подключены к этому порту.
#Файл имеет структуру ''порты (ports) -> устройства (devices)'': в файле есть описания физических портов контроллера, а внутри них - список устройств, которые подключены к этому порту. В файле-образце собраны примеры конфигурации для разных устройств - ненужные придётся удалить.
:Для каждого порта указываются настройки (скорость, чётность и т.п.), а также протокол (Modbus, RTU, etc.)
:Для каждого порта указываются настройки (скорость, чётность и т.п.), а также протокол (Modbus, RTU, etc.)
:Для каждого устройства обязательно указывается его уникальный адрес на шине - ''slave_id'' (подробнее про это можно прочитать в статье [[RS-485]]).
:Для каждого устройства обязательно указывается его уникальный адрес на шине - ''slave_id'' (подробнее про это можно прочитать в статье [[RS-485]]). Также можно указать другие необязательные параметры - смотрите полное описание формата в [https://github.com/contactless/wb-homa-drivers/#wb-homa-modbus подробной документации].
Кроме этого, для устройства можно задать его id в системе [[MQTT]], название устройства, а также описание каналов и регистров. Полное описание формата см. в [https://github.com/contactless/wb-homa-drivers/#wb-homa-modbus подробной документации].
Пример конфигурации для [[WB-MRM2 Реле 2х канальное | модуля реле WB-MRM2]], подключённого к изолированному порту (RS-485-ISO) [[Wiren Board 4]]:
Пример конфигурации для [[WB-MRM2 Реле 2х канальное | модуля реле WB-MRM2]]  
<syntaxhighlight lang="javascript">{
<syntaxhighlight lang="javascript">{
     "ports": [
     "ports": [
         {
         {
             "path" : "/dev/ttyNSC0",
             "path" : "/dev/ttyNSC0",
             "baud_rate": 9600,
             "baud_rate": 9600, #скорость порта, 9600 почти для всех устройств, но проверьте документацию к ним
             "parity": "N",
             "parity": "N", #четность
             "data_bits": 8,
             "data_bits": 8, #битов данных в посылке
             "stop_bits": 2,
             "stop_bits": 2, #количество стоп-битов. Чётность, количество битов и стоп-битов тоже редко меняются
             "poll_interval": 10,
             "poll_interval": 10, #интервал опроса устройств на порту в миллисекундах
             "enabled": true,
             "enabled": true,
             "devices" : [
             "devices" : [
                 {
                 {
                     "device_type" : "WB-MRM2",
                     "device_type" : "WB-MRM2", #тип устройства
                     "slave_id": 25,
                     "slave_id": 25, #адрес устройства
                    "enabled": true
                 }
                 }
             ]
             ]