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

Нет описания правки
Строка 1: Строка 1:
'''Драйвер wb-mqtt-serial''' (ранее '''wb-homa-modbus''') отвечает за работу с подключёнными по [[RS-485]] устройствами в Wiren Board. Он обеспечивает работу с подключёнными устройствами через систему [[MQTT]]-сообщений. В этой статье даётся упрощённое описание драйвера, полное смотрите [https://github.com/contactless/wb-homa-drivers/tree/master/wb-mqtt-serial в описании драйвера на нашем Github].
'''Драйвер wb-mqtt-serial''' (ранее '''wb-homa-modbus''') отвечает за работу с подключёнными по [[RS-485]] устройствами в Wiren Board. Он обеспечивает работу с подключёнными устройствами через систему [[MQTT]]-сообщений. В этой статье даётся упрощённое описание драйвера, полное смотрите [https://github.com/contactless/wb-homa-drivers/tree/master/wb-mqtt-serial в описании драйвера на нашем Github].


== Краткое описание драйвера ==
==Поддерживаемые устройства==
===Поддерживаемые устройства===
В настоящее время поддерживается работа с [[Периферийные устройства с интерфейсом Modbus серии WB-xxxx | устройствами с интерфейсом Modbus нашего производства]], счётчиками Меркурий и Милур, а также некоторыми другие устройства, в том числе работающие по протоколу Modbus. Полный список протестированных устройств: [[Поддерживаемые устройства#Подключаемые по RS-485]].
В настоящее время поддерживается работа с [[Периферийные устройства с интерфейсом Modbus серии WB-xxxx | устройствами с интерфейсом Modbus нашего производства]], счётчиками Меркурий и Милур, а также некоторыми другие устройства, в том числе работающие по протоколу Modbus. Полный список протестированных устройств: [[Поддерживаемые устройства#Подключаемые по RS-485]].
===Конфигурирование и запуск===
=== Поддержка устройств различных протоколов на одной шине ===
Использовать устройства с разными протоколами на одной шине возможно, но необходимо учитывать особенности конкретных протоколов.
 
Например, фреймы устройств Uniel начинаются с байта 0xff, устройств ИВТМ - с байта 0x24 ('$'), в случае же протоколов Modbus, Меркурий 230 и Милур первым байтом фрейма является идентификатор slave, поэтому при совмещении подобных устройств следует внимательно подходить к выбору slave id - у устройств Милур, например, slave id по умолчанию равен 0xff, что приводит к конфликту с устройствами Uniel. Устройства Милур требуют дополнительных задержек при опросе (заданы в шаблоне) и при использовании на одной шине с другими устройствами могут снизить скорость опроса. Некоторые устройства, поддерживающие дополнительные протоколы, могут оказаться несовместимыми с теми или иными протоколами на той же шине, например, было замечено, что устройства с поддержкой протокола A-BUS производства "Разумный дом" не могут работать на одной шине с устройствами Uniel. Работа устройств ИВТМ на одной шине с устройствами, работающими по другим протоколам, не проверялась. Проверенная рабочая комбинация: Modbus + Milur (slave_id != 0xff) + Uniel на одной шине.
 
=== Доработка драйвера для поддержки новых устройств ===
В качестве отправной точки смотрите статью [[Драйвер wb-homa-modbus:Примеры написания шаблонов]], для дальнейшей поддержки [mailto:info@contactless.ru свяжитесь с нами].
 
==Конфигурирование и запуск драйвера==
Конфигурация драйвера задаётся в файле <code>/etc/wb-mqtt-serial.conf</code> (ранее <code>/etc/wb-homa-modbus.conf</code>). Если такой файл создан, драйвер запускается при загрузке контроллера автоматически. Также драйвером можно управлять в ручном режиме из консоли:
Конфигурация драйвера задаётся в файле <code>/etc/wb-mqtt-serial.conf</code> (ранее <code>/etc/wb-homa-modbus.conf</code>). Если такой файл создан, драйвер запускается при загрузке контроллера автоматически. Также драйвером можно управлять в ручном режиме из консоли:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
Строка 119: Строка 126:
}
}
</syntaxhighlight>
</syntaxhighlight>
== Поддержка устройств различных протоколов на одной шине ==
Использовать устройства с разными протоколами на одной шине возможно, но необходимо учитывать особенности конкретных протоколов.
Например, фреймы устройств Uniel начинаются с байта 0xff, устройств ИВТМ - с байта 0x24 ('$'), в случае же протоколов Modbus, Меркурий 230 и Милур первым байтом фрейма является идентификатор slave, поэтому при совмещении подобных устройств следует внимательно подходить к выбору slave id - у устройств Милур, например, slave id по умолчанию равен 0xff, что приводит к конфликту с устройствами Uniel. Устройства Милур требуют дополнительных задержек при опросе (заданы в шаблоне) и при использовании на одной шине с другими устройствами могут снизить скорость опроса. Некоторые устройства, поддерживающие дополнительные протоколы, могут оказаться несовместимыми с теми или иными протоколами на той же шине, например, было замечено, что устройства с поддержкой протокола A-BUS производства "Разумный дом" не могут работать на одной шине с устройствами Uniel. Работа устройств ИВТМ на одной шине с устройствами, работающими по другим протоколам, не проверялась. Проверенная рабочая комбинация: Modbus + Milur (slave_id != 0xff) + Uniel на одной шине.
== Доработка драйвера для поддержки новых устройств ==
В качестве отправной точки смотрите статью [[Драйвер wb-homa-modbus:Примеры написания шаблонов]], для дальнейшей поддержки [mailto:info@contactless.ru свяжитесь с нами].