Модуль расширения KNX (WBE-I-KNX): различия между версиями

Материал из Wiren Board
(не показано 26 промежуточных версий 4 участников)
Строка 1: Строка 1:
<languages/>
<languages/>
<translate>
<!--T:1-->
 
Статья в процессе наполнения.


== Распиновка == <!--T:2-->
== Распиновка == <!--T:2-->


<!--T:9-->
[[Файл:KNX.png|thumb|300px|Модуль расширения KNX]]
[[Файл:KNX.png|thumb|300px|Модуль расширения KNX]]
<!--T:3-->


<!--T:4-->
<!--T:4-->
При заказе модуля расширения совместно с контроллером устанавливаются другие клеммники (на фото).
{| class="wikitable"
{| class="wikitable"
!Клемма
!Клемма
Строка 24: Строка 25:
|}
|}


<!--T:10-->
[[Файл:Knx conector.png|300px|Модуль расширения KNX]]
[[Файл:Knx conector.png|300px|Модуль расширения KNX]]


==Установка==
== Конфигурирование ==
{{Wbincludes:Setup MOD}}
1) В веб-интерфейсе в разделе '''Configs => Hardware Modules Configuration''' необходимо выставить тип модуля для Internal slot 1 (MOD1), Либо для Internal slot 2 (MOD2) в зависимости от положения самого модуля KNX.
[[Файл:WBE2-I-KNX_Web.png|300px|настройка типа модуля]]
 
[[Файл:Int1.PNG|300px|настройка типа модуля]]
 
2) Далее необходимо зайти в консоль и установить пакеты [https://contactless.ru/wiki/index.php/MQTT_KNX_Bridge wb-mqtt-knx (MQTT KNX Bridge)], knxd, knxd-tools:
 
'''apt-get update'''
 
'''apt-get install knxd knxd-tools wb-mqtt-knx'''
 
3) После установки необходимо отредактировать файл '''/etc/default/knxd''':
 
Замените строку:
 
DAEMON_ARGS="-u /tmp/eib -u /var/run/knx -i -b ip:"
 
на :
 
'''DAEMON_ARGS="-d /var/log/knxd.log -t 0xffe -f 9 -e 1.2.255 -E 1.1.10:30 -u /var/run/knx -i -b ncn5120:/dev/ttyAPP2 -D -T -R -S"'''
 
 
Расшифровка ключей:
{| class="wikitable"
!Ключ
!Функция
|-
| -d /var/log/knxd.log
| уйти в фон и писать в лог.
|-
| -e 1.1.255
|назначает KNX-адрес knxd равным 1.1.255, как IP-шлюзу.
|-
| -E 1.1.10:30
|указывает knxd выдавать KNX-адреса узлам из IP-сети в диапазоне 1.1.10..1.1.30
|-
| -u /var/run/knx
|открываем локальный Unix-сокет
|-
| -t 0xffe
|задаём маску вывода отладочных сообщений.
|-
| -f 9
|задать макс. verbosity level
|-
| -i
|указываем слушать TCP-порт (по умолчанию 6720). Можно прописывать -i 6721 или другой порт. Не исключающая альтернатива -u
|-
| -b ncn5120:/dev/ttyAPP2
|активируем ncn5120-драйвер на порту для MOD1 (при установке модуля в слот расширения MOD 2 следует указать ttyAPP3)
|-
| -T -R
|активируем режим шлюза, туннеля (нужно для работы с ETS)
|-
| -D
|говорит knxd оповещать о себе (Discovery) в сети
|-
| -S
|запускаем сервер (который отвечает на мультикасты)
|}
 
Подробнее:
 
knxd --help
 
==  Работа == <!--T:5-->
 
<!--T:6-->
Для запуска KNX daemon, необходимо прописать строку в консоль:
'''service knxd start'''
 
При необходимости перезапуска:
'''service knxd restart'''
 
Для проверки статуса:
'''service knxd status'''
 
 
<!--T:7-->
Все логи хранятся в файле '''/var/log/knxd.log'''
 
При получении сообщения от KNX устройства данные публикуются в MQTT топик '''/devices/knx/controls/data''' на WirenBoard.
 
Для управления устройствами KNX необходимо отправлять команды в MQTT топик '''/devices/knx/controls/data/on''' .
 
На пример:
 
mosquitto_pub -h 192.168.200.163 -p 1883 -t /devices/knx/controls/data/on -m "g:0/0/1 GroupValueWrite 0x01"


==Конфигурирование==
Где:


В контроллеры WB можно вставить до 2х модулей WBE-I-KNX одновременно. Для правильной работы модулей необходимо обозначить их в настройках контроллера. Для этого зайдите во вкладку "Configs" → " Hardware Modules Configuration" → "Internal slot 1 (либо 2)" и выберите устройство WBE-I-KNX: KNX/EIB TP-UART. Нажмите кнопку '''Save''': модуль установлен и готов к использованию. В папке /dev Появятся симлинки на устройства ttyKNX1 - для Internal slot 1 и ttyKNX2 -для Internal slot 2. Если выбрано всего Одно устройство KNX, то так же появитcя симлинк ttyKNX, при этом не важно в каком слоте из двух будет установлен модуль.
-h 192.168.200.163 - IP-адрес WirenBoard


Для удаления модуля выберите тип '''None'''.
-p 1883 - порт WirenBoard


==Программная часть==
-t /devices/knx/controls/data/on - топик для выгрузки информации


Для работы с KNX на контроллере Wiren Board есть ряд программː
-m "g:0/0/1 GroupValueWrite 0x01" - сообщение для KNX устройства


[[Knxd]] - Ответвление от eibd 0.0.5. По сути это роутер, перенаправляет данные KNX из разных источников (физическая шина KNX, IP multicast итд).
Подробнее о работе с данными KNX: [https://contactless.ru/wiki/index.php/MQTT_KNX_Bridge wb-mqtt-knx (MQTT KNX Bridge)]


[[KnxTool]] - Консольная программа для работы с knxd. Имеет ряд полезных при отладке функций, такие как слежение за шиной KNX, отправка данных на шину и многое другое.


[[MQTT_KNX]] - Мост между MQTT и KNXD. Программа пересылает KNX телеграммы из специализированного MQTT топика в KNX сеть и обратно.
Скрипт для [https://contactless.ru/wiki/index.php/%D0%94%D0%B2%D0%B8%D0%B6%D0%BE%D0%BA_%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB_wb-rules wb-rules] упрощающий обработку телеграмм: [https://gist.github.com/Yanni66/bc7604bb8646d52c9c864b4ca40c63b6 knx_group_addresses.js]  
<!--T:8-->


[[WB-KNXD-CONFIG]] - Программа для конфигурирования KNXD через веб интерфейс контроллера Wiren Board.


== Примеры ==
При работе с ETS '''Важно''': в “interfaces” ETS надо выбирать сам интерфейс ПК, через который происходит общение. Обращение с knxd в по юникасту (ip-адресу хоста с демоном) не даёт запрограммировать устройства. На иллюстрации стрелкой отмечено, какой способ взаимодействия с ETS работает:


Пример работы с KNX можно посмотреть в этой статье: '''[[KNX demo-stand]]'''


</translate>
[[Файл:EtsInterface.png|500px|Интерфейсы]]

Версия 17:19, 23 мая 2018

Другие языки:

Статья в процессе наполнения.

Распиновка

Модуль расширения KNX


Клемма Функция
O1 (Red) KNX (+)
O2 (n/a) n/a
O3 (Gray) KNX (-)

Модуль расширения KNX

Конфигурирование

1) В веб-интерфейсе в разделе Configs => Hardware Modules Configuration необходимо выставить тип модуля для Internal slot 1 (MOD1), Либо для Internal slot 2 (MOD2) в зависимости от положения самого модуля KNX.

настройка типа модуля

2) Далее необходимо зайти в консоль и установить пакеты wb-mqtt-knx (MQTT KNX Bridge), knxd, knxd-tools:

apt-get update

apt-get install knxd knxd-tools wb-mqtt-knx

3) После установки необходимо отредактировать файл /etc/default/knxd:

Замените строку:

DAEMON_ARGS="-u /tmp/eib -u /var/run/knx -i -b ip:"

на :

DAEMON_ARGS="-d /var/log/knxd.log -t 0xffe -f 9 -e 1.2.255 -E 1.1.10:30 -u /var/run/knx -i -b ncn5120:/dev/ttyAPP2 -D -T -R -S"


Расшифровка ключей:

Ключ Функция
-d /var/log/knxd.log уйти в фон и писать в лог.
-e 1.1.255 назначает KNX-адрес knxd равным 1.1.255, как IP-шлюзу.
-E 1.1.10:30 указывает knxd выдавать KNX-адреса узлам из IP-сети в диапазоне 1.1.10..1.1.30
-u /var/run/knx открываем локальный Unix-сокет
-t 0xffe задаём маску вывода отладочных сообщений.
-f 9 задать макс. verbosity level
-i указываем слушать TCP-порт (по умолчанию 6720). Можно прописывать -i 6721 или другой порт. Не исключающая альтернатива -u
-b ncn5120:/dev/ttyAPP2 активируем ncn5120-драйвер на порту для MOD1 (при установке модуля в слот расширения MOD 2 следует указать ttyAPP3)
-T -R активируем режим шлюза, туннеля (нужно для работы с ETS)
-D говорит knxd оповещать о себе (Discovery) в сети
-S запускаем сервер (который отвечает на мультикасты)

Подробнее:

knxd --help

Работа

Для запуска KNX daemon, необходимо прописать строку в консоль: service knxd start

При необходимости перезапуска: service knxd restart

Для проверки статуса: service knxd status


Все логи хранятся в файле /var/log/knxd.log

При получении сообщения от KNX устройства данные публикуются в MQTT топик /devices/knx/controls/data на WirenBoard.

Для управления устройствами KNX необходимо отправлять команды в MQTT топик /devices/knx/controls/data/on .

На пример:

mosquitto_pub -h 192.168.200.163 -p 1883 -t /devices/knx/controls/data/on -m "g:0/0/1 GroupValueWrite 0x01"

Где:

-h 192.168.200.163 - IP-адрес WirenBoard

-p 1883 - порт WirenBoard

-t /devices/knx/controls/data/on - топик для выгрузки информации

-m "g:0/0/1 GroupValueWrite 0x01" - сообщение для KNX устройства

Подробнее о работе с данными KNX: wb-mqtt-knx (MQTT KNX Bridge)


Скрипт для wb-rules упрощающий обработку телеграмм: knx_group_addresses.js


При работе с ETS Важно: в “interfaces” ETS надо выбирать сам интерфейс ПК, через который происходит общение. Обращение с knxd в по юникасту (ip-адресу хоста с демоном) не даёт запрограммировать устройства. На иллюстрации стрелкой отмечено, какой способ взаимодействия с ETS работает:


Интерфейсы