wb_editors
26
правок
(Создал страницу для описания новой функциональности сервиса MQTT KNX) |
(Добавил предварительную информацию из документации по коду, и страниц вики) |
||
Строка 1: | Строка 1: | ||
{{Draft}} | {{Draft}} | ||
{{DISPLAYTITLE: Новый MQTT KNX}} | {{DISPLAYTITLE: Новый MQTT KNX}} | ||
Сервис предназначен для работы с KNX и MQTT в двух режимах. | |||
# Как сетевой мост, который обрабатывает, передаёт и принимает KNX телеграммы в MQTT в специальном формате. | |||
# Как набор виртуальных устройств для работы с групповыми объектами и предварительной обработкой типов данных. | |||
Для работы сервиса необходима его установка и настройка. | |||
== Режимы работы == | |||
=== Сетевой мост MQTT <=> KNX === | |||
Чтобы отправить групповую телеграмму в KNX необходимо отправить подготовленное сообщение в MQTT топик: | |||
<pre>mosquitto_pub -t '/devices/knx/controls/data/on' -m "g:${DstAddr} ${APCI} ${Data}"</pre> | |||
Все сообщения из KNX будут доставлены в MQTT топик <code>/devices/knx/controls/data</code> в виде: | |||
<pre>i:${SrcAddr} g:${DstAddr} ${APCI} ${Data}</pre> | |||
* ''SrcAddr'', ''DstAddr'' - Адреса KNX устройств в формате "n/n/n" или "n/n". | |||
* ''APCI'' - Тип сообщения: строка или 4х-битное число. | |||
* ''Data'' - Сообщение в виде байт, разделенных пробелами. Первый байт сообщения должен иметь длину не более 6 бит. | |||
Поддерживаемые типы сообщений(APCI): | |||
* <code>GroupValueRead</code> | |||
* <code>GroupValueResponse</code> | |||
* <code>GroupValueWrite</code> | |||
=== Контроллер групповых объектов === | |||
Для группового адреса KNX создаётся индивидуально настраиваемый MQTT контрол. Это означает, что можно работать с групповым адресом как с MQTT контролом: отправлять в него и принимать из него значения, например: битов, целых знаковых и беззнаковых чисел, чисел с плавающей точкой. | |||
Тип контрола связан типом данных для группового адреса. Тип данных для конкретного группового адреса можно настроить в веб редакторе конфигурационных файлов. | |||
Несколько групповых адресов группируются в одно или несколько произвольных логических MQTT устройств. | |||
На данный момент поддерживаются пять типов данных групповых адресов и один с возможностью обработки сырых данных: | |||
* <code>Raw_Value</code> - обработка сырых данных: массив данных в виде строки (APDU payload); | |||
* <code>1.xxx_B1</code> - 1-битовое значение; | |||
* <code>2.xxx_B2</code> - 2-битовое значение; | |||
* <code>5.xxx_8-Bit_Unsigned_Value</code> - 8-битовое целое без знака; | |||
* <code>6.xxx_V8</code> - 8-битовое целое со знаком; | |||
* <code>9.xxx_2-Octet_Float_Value</code> - 2-байтовое значение с плавающей точкой. | |||
== Установка == | |||
Запустите консоль и введите командуː | |||
<pre>$ apt-get update && apt-get install wb-mqtt-knx</pre> | |||
== Настройка == | |||
{{note|warn| Нужно описать как настроить сервис}} | |||
== Экспорт из ETS == | |||
Для импорта из инструмента ETS в файл конфигурации для работы с групповыми объектами <code>wb-mqtt-knx.conf</code>, | |||
можно воспользоваться консольной утилитой <code>wb-knx-ets-tool</code>. | |||
Утилита принимает на вход XML файлы экспорта из инструмента ETS версии 5 и 6. | |||
Использование: | |||
<pre>$ wb-knx-ets-tool ETS_CONFIG WB_MQTT_KNX_CONFIG</pre> | |||
* ''ETS_CONFIG'' - путь к XML файлу экспорта групповых объектов | |||
* ''WB_MQTT_KNX_CONFIG'' - путь к файлу конфигурации для работы с групповыми объектами <code>wb-mqtt-knx.conf</code> |