3692
правки
Admin (обсуждение | вклад) |
|||
Строка 1: | Строка 1: | ||
'''Внимание!''' В этой статье даётся упрощённое и, возможно, устаревшее описание драйвера, работающего с устройствами Modbus и передающего сообщения в MQTT. Полное актуальное описание смотрите на https://github.com/contactless/wb-homa-drivers/#wb-homa-modbus | '''Внимание!''' В этой статье даётся упрощённое и, возможно, устаревшее описание драйвера, работающего с устройствами Modbus и Uniel и передающего сообщения в MQTT. Полное актуальное описание смотрите на https://github.com/contactless/wb-homa-drivers/#wb-homa-modbus | ||
== Краткое описание драйвера == | == Краткое описание драйвера == | ||
В настоящее время поддерживается работа с устройствами Modbus RTU, подключаемыми через RS-485. | В настоящее время поддерживается работа с устройствами Modbus RTU, а также Uniel, подключаемыми через RS-485. | ||
Конфигурация драйвера задаётся в файле /etc/wb-homa-modbus.conf | Конфигурация драйвера задаётся в файле /etc/wb-homa-modbus.conf | ||
Остановить драйвер: - <code>service wb-homa-modbus stop</code> | |||
Запуск драйвера: <code>service wb-homa-modbus start</code> | Запуск драйвера: <code>service wb-homa-modbus start</code> | ||
Строка 13: | Строка 13: | ||
<code>wb-homa-modbus -c /etc/wb-homa-modbus.conf -d</code> | <code>wb-homa-modbus -c /etc/wb-homa-modbus.conf -d</code> | ||
=== Кофигурационный файл и подключение устройств === | |||
Для работы нужно создать файл <code> /etc/wb-homa-modbus.conf </code>. | |||
В файле есть описания физических портов контроллера, с которыми работает драйвер. | |||
Для каждого порта указываются настройки (скорость, чётность и т.п.), а также протокол. | |||
Для каждого порта определён также список устройств, которые подключены к этому порту. | |||
Для каждого устройства обязательно указывается его уникальный идентификатор на шине (подробнее про это можно прочитать в статье [[RS-485]]) - slave_id. | |||
Кроме этого, для устройства можно задать его id в системе [[MQTT]], название устройства, а также описание каналов и регистров. Полное описание формата см. в [[ https://github.com/contactless/wb-homa-drivers/#wb-homa-modbus подробной документации]. | |||
Для многих устройств уже существуют шаблоны, которые позволяют подключать эти устройства простым способом. Минимальное описание одного устройства, таким образом, имеет вид: | |||
<syntaxhighlight lang="javascript"> | |||
{ | |||
"slave_id": "0x06", | |||
"device_type" : "WB-MRM2" | |||
} | |||
</syntaxhighlight> | |||
Здесь <code>slave_id</code> - идентификатор устройства на шине, а <code> device_type </code> - тип устройства. | |||
Поддерживаемые типы устройств: [https://github.com/contactless/wb-homa-drivers/blob/master/README.md#%D0%A2%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0-%D1%88%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%BE%D0%B2-device_type список в документации]. | |||
Пример конфигурационного файла <code> /etc/wb-homa-modbus.conf </code> : | |||
<syntaxhighlight lang="javascript"> | |||
// Configuration options | |||
{ | |||
"debug": false, | |||
"ports": [ | |||
{ | |||
"path" : "/dev/ttyNSC1", | |||
"baud_rate": 9600, | |||
"parity": "N", | |||
"data_bits": 8, | |||
"stop_bits": 2, | |||
"poll_interval": 0, | |||
"enabled": true, | |||
"devices" : [ | |||
{ | |||
"name": "DRB88", | |||
"id": "drb88", | |||
"enabled": true, | |||
"slave_id": "0x23", | |||
"device_type" : "DRB88" | |||
}, | |||
{ | |||
"slave_id": "0x26", | |||
"device_type" : "MSU24" | |||
}, | |||
{ | |||
"slave_id": "0x31", | |||
"device_type" : "MSU34" | |||
}, | |||
{ | |||
"slave_id": "0x04", | |||
"device_type" : "LC-103" | |||
}, | |||
{ | |||
"device_type" : "DDL24", | |||
"slave_id" : "0x20" | |||
}, | |||
{ | |||
"enabled": true, | |||
"slave_id": "0x06", | |||
"device_type" : "WB-MRM2" | |||
}, | |||
{ | |||
"slave_id" : 16, | |||
"device_type" : "WB-MRGB" | |||
} | |||
] | |||
}, | |||
{ | |||
"path" : "/dev/ttyNSC0", | |||
"type": "uniel", | |||
"poll_interval": 10, | |||
"enabled": true, | |||
"devices" : [ | |||
{ | |||
"device_type" : "UCH-M141RC", | |||
"slave_id": 1 | |||
} | |||
] | |||
} | |||
] | |||
} | |||
</syntaxhighlight> | |||
== Подключение устройств == | |||
====MSU34+TLP, MSU24 и MSU21 и подобные устройства==== | ====MSU34+TLP, MSU24 и MSU21 и подобные устройства==== |