Участник:Y.usishchev: различия между версиями
Метка: visualeditor |
|||
Строка 1: | Строка 1: | ||
== MQTT KNX Bridge == | |||
wb-mqtt-knx | Устройства, использующие протокол KNX. | ||
Пакет: wb-mqtt-knx. Исходный код: https://github.com/contactless/wb-mqtt-knx | |||
wb-mqtt-knx пересылает KNX телеграммы из специализированного MQTT топика в KNX сеть и обратно. Для работы с KNX используется KNXD - https://github.com/knxd/knxd. | wb-mqtt-knx пересылает KNX телеграммы из специализированного MQTT топика в KNX сеть и обратно. Для работы с KNX используется KNXD - https://github.com/knxd/knxd. | ||
Установка | === Установка === | ||
wb-mqtt-knx в wirenboard устанавливается через apt-get:<blockquote>$ apt-get install wb-mqtt-knx</blockquote> | |||
$ apt-get install wb-mqtt-knx | |||
Настройка | === Настройка === | ||
На данный момент wb-mqtt-knx не имеет конфигурационного файла. | На данный момент wb-mqtt-knx не имеет конфигурационного файла. | ||
Работа с wb-mqtt-knx | Информацию по настройке knxd можно найти в конфигурационном файле /etc/knxd.conf - https://github.com/knxd/knxd/blob/master/systemd/knxd.conf и в<blockquote>$ knxd --help</blockquote> | ||
При инициализации wb-mqtt-knx подписывается на MQTT топик: | |||
/devices/knx/controls/data/on | === Работа с wb-mqtt-knx === | ||
и открывает Busmonitor connection на стандартный сокет(ip:localhost:6720), создаваемый knxd по умолчанию. | При инициализации wb-mqtt-knx подписывается на MQTT топик:<blockquote>/devices/knx/controls/data/on</blockquote>и открывает Busmonitor connection на стандартный сокет (ip:localhost:6720), создаваемый knxd по умолчанию. | ||
Все полученные из KNX телеграммы будут отправлены в MQTT топик: | Все полученные из KNX телеграммы будут отправлены в MQTT топик:<blockquote>/devices/knx/controls/data</blockquote> | ||
/devices/knx/controls/data | |||
Формат MQTT сообщений | === Формат MQTT сообщений === | ||
Рассмотрим два примера сообщений, которые можно послать через wb-mqtt-knx: | Рассмотрим два примера сообщений, которые можно послать через wb-mqtt-knx: | ||
# Индивидуальная телеграмма: mosquitto_pub -t '/devices/knx/controls/data/on' -m "i:0/0/1:9/7/55 4 message" в `mosquitto_sub -t '/devices/knx/controls/#'` придут следующие сообщения: /devices/knx/controls/data/on i:0/0/1:9/7/55 4 message /devices/knx/controls/data i:0/0/1 i:9/7/55 4 message в данном примере: <nowiki>*</nowiki> "i:" обозначает индивидуальный адрес <nowiki>*</nowiki> "0/0/1" адрес источника сообщения (From:) <nowiki>*</nowiki> "9/7/55" адрес целевого устройстав (To:) <nowiki>*</nowiki> "4" тип KNX сообщения (ACPI) "message" - полезная информация (payload) во втором сообщении мы видим что из сети KNX пришло сообщение(которое мы только что отправили). Оно было отправлено от устройства с индивидуальным адресом 0/0/1 (i:0/0/1) к устройству с индивидуальным адресом 9/7/55 (i:9/7/55) с ACPI "4" и payload "message" | |||
mosquitto_pub -t '/devices/knx/controls/data/on' -m "i:0/0/1:9/7/55 4 message" | |||
в `mosquitto_sub -t '/devices/knx/controls/#'` придут следующие сообщения: | |||
/devices/knx/controls/data/on i:0/0/1:9/7/55 4 message | |||
/devices/knx/controls/data i:0/0/1 i:9/7/55 4 message | |||
в данном примере: | |||
"i:" обозначает индивидуальный адрес | |||
"0/0/1" адрес источника сообщения (From:) | |||
"9/7/55" адрес целевого устройстав (To:) | |||
"4" тип KNX сообщения (ACPI) | |||
"message" - полезная информация (payload) | |||
во втором сообщении мы видим что из сети KNX пришло сообщение(которое мы только что отправили). Оно было отправлено от устройства с индивидуальным адресом 0/0/1 (i:0/0/1) к устройству с индивидуальным адресом 9/7/55 (i:9/7/55) | |||
с ACPI "4" и payload "message" | |||
2) Групповая телеграмма: | 2) Групповая телеграмма: | ||
mosquitto_pub -t '/devices/knx/controls/data/on' -m "g:9/7/55 4 message" | mosquitto_pub -t '/devices/knx/controls/data/on' -m "g:9/7/55 4 message" |
Версия 17:32, 16 декабря 2016
MQTT KNX Bridge
Устройства, использующие протокол KNX.
Пакет: wb-mqtt-knx. Исходный код: https://github.com/contactless/wb-mqtt-knx
wb-mqtt-knx пересылает KNX телеграммы из специализированного MQTT топика в KNX сеть и обратно. Для работы с KNX используется KNXD - https://github.com/knxd/knxd.
Установка
wb-mqtt-knx в wirenboard устанавливается через apt-get:
$ apt-get install wb-mqtt-knx
Настройка
На данный момент wb-mqtt-knx не имеет конфигурационного файла.
Информацию по настройке knxd можно найти в конфигурационном файле /etc/knxd.conf - https://github.com/knxd/knxd/blob/master/systemd/knxd.conf и в
$ knxd --help
Работа с wb-mqtt-knx
При инициализации wb-mqtt-knx подписывается на MQTT топик:
/devices/knx/controls/data/on
и открывает Busmonitor connection на стандартный сокет (ip:localhost:6720), создаваемый knxd по умолчанию. Все полученные из KNX телеграммы будут отправлены в MQTT топик:
/devices/knx/controls/data
Формат MQTT сообщений
Рассмотрим два примера сообщений, которые можно послать через wb-mqtt-knx:
- Индивидуальная телеграмма: mosquitto_pub -t '/devices/knx/controls/data/on' -m "i:0/0/1:9/7/55 4 message" в `mosquitto_sub -t '/devices/knx/controls/#'` придут следующие сообщения: /devices/knx/controls/data/on i:0/0/1:9/7/55 4 message /devices/knx/controls/data i:0/0/1 i:9/7/55 4 message в данном примере: * "i:" обозначает индивидуальный адрес * "0/0/1" адрес источника сообщения (From:) * "9/7/55" адрес целевого устройстав (To:) * "4" тип KNX сообщения (ACPI) "message" - полезная информация (payload) во втором сообщении мы видим что из сети KNX пришло сообщение(которое мы только что отправили). Оно было отправлено от устройства с индивидуальным адресом 0/0/1 (i:0/0/1) к устройству с индивидуальным адресом 9/7/55 (i:9/7/55) с ACPI "4" и payload "message"
2) Групповая телеграмма: mosquitto_pub -t '/devices/knx/controls/data/on' -m "g:9/7/55 4 message"
в `mosquitto_sub -t '/devices/knx/controls/#'` придут следующие сообщения: /devices/knx/controls/data/on g:9/7/55 4 message /devices/knx/controls/data i:0/0/0 g:9/7/55 4 message
Видно что изменились только адреса: "g:" обозначает групповой адрес. В случае группового адреса не задается адрес источника, поэтому "9/7/55" групповой целевой адрес (Group To:) тип сообщения и payload задаются также.
Во втором сообщении также только одно изменение - адрес To: теперь групповой.
Групповой адрес может содержать два элемента: g:5/55.
Подробнее про адресацию можно узнать в Serial Data Transmission and KNX Protocol
Формально исходящее сообщение имеет формат:
mosquitto_pub -t '/devices/knx/controls/data/on' -m "address acpi message"
где адрес это либо
i:from_addr:to_addr
либо
g:to_group_addr
где from_addr и to_addr это индивидуальные KNX адреса, а to_group_addr это групповой адрес.
Входящее сообщение имеет формат: /devices/knx/controls/data "from_addr to_addr acpi message" где from_addr - индивидуальный адрес источника сообщения, to_addr - групповой или индивидуальный адрес назначения.