|
|
(не показано 14 промежуточных версий 2 участников) |
Строка 27: |
Строка 27: |
| [[Файл:Knx conector.png|300px|Модуль расширения KNX]] | | [[Файл:Knx conector.png|300px|Модуль расширения KNX]] |
|
| |
|
| == Конфигурирование == <!--T:11--> | | ==Установка== |
| 1) В веб-интерфейсе в разделе '''Configs => Hardware Modules Configuration''' необходимо выставить тип модуля для Internal slot 1 (MOD1), Либо для Internal slot 2 (MOD2) в зависимости от положения самого модуля KNX.
| | {{Wbincludes:Setup MOD}} |
| | [[Файл:WBE2-I-KNX_Web.png|300px|настройка типа модуля]] |
|
| |
|
| <!--T:12-->
| | ==Конфигурирование== |
| [[Файл:Int1.PNG|300px|настройка типа модуля]]
| |
|
| |
|
| <!--T:13-->
| | В контроллеры 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, при этом не важно в каком слоте из двух будет установлен модуль. |
| 2) Далее необходимо зайти в консоль и установить пакеты [https://contactless.ru/wiki/index.php/MQTT_KNX_Bridge wb-mqtt-knx (MQTT KNX Bridge)], knxd, knxd-tools: | |
|
| |
|
| <!--T:14-->
| | Для удаления модуля выберите тип '''None'''. |
| '''apt-get update''' | |
|
| |
|
| <!--T:15-->
| | ==Программная часть== |
| '''apt-get install knxd knxd-tools wb-mqtt-knx'''
| |
|
| |
|
| <!--T:16-->
| | Для работы с KNX на контроллере Wiren Board есть ряд программː |
| 3) Отредактировать конфигурационные файлыː
| |
|
| |
|
| | [[Knxd]] - Ответвление от eibd 0.0.5. По сути это роутер, перенаправляет данные KNX из разных источников (физическая шина KNX, IP multicast итд). |
|
| |
|
| <!--T:17-->
| | [[KnxTool]] - Консольная программа для работы с knxd. Имеет ряд полезных при отладке функций, такие как слежение за шиной KNX, отправка данных на шину и многое другое. |
| '''Если у Вас версия прошивки debian wheezy (версия без systemd)ː'''
| |
|
| |
|
| В файле '''/etc/default/knxd'''- Замените строку '''DAEMON_ARGS="-u /tmp/eib -u /var/run/knx -i -b ip:"'''
| | [[MQTT_KNX]] - Мост между MQTT и KNXD. Программа пересылает KNX телеграммы из специализированного MQTT топика в KNX сеть и обратно. |
|
| |
|
| На :
| | [[WB-KNXD-CONFIG]] - Программа для конфигурирования KNXD через веб интерфейс контроллера Wiren Board. |
|
| |
|
| '''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"'''
| | == Примеры == |
|
| |
|
| | Пример работы с KNX можно посмотреть в этой статье: '''[[KNX demo-stand]]''' |
|
| |
|
|
| |
| <!--T:18-->
| |
| '''Если у Вас версия прошивки debian stretch (версия с systemd)ː'''
| |
|
| |
| <!--T:19-->
| |
| В файле '''/etc/knxd.conf''' - вторую строчку замените на:
| |
|
| |
|
| |
| '''KNXD_OPTS="-t 0xffe -f 9 -e 1.1.255 -E 1.1.10:30 -b ncn5120:/dev/ttyAPP2 -D -T -R -S"'''
| |
|
| |
|
| |
| В файле '''/lib/systemd/system/knxd.service''' - удалите следующие строки:
| |
|
| |
| '''User=knxd'''
| |
|
| |
| '''Group=knxd'''
| |
|
| |
|
| |
|
| |
| <!--T:20-->
| |
| После этого желательно перезагрузить контроллер.
| |
|
| |
| <!--T:21-->
| |
| Расшифровка ключей:
| |
| {| 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
| |
| |запускаем сервер (который отвечает на мультикасты)
| |
| |}
| |
|
| |
| <!--T:22-->
| |
| Подробнее:
| |
|
| |
| <!--T:23-->
| |
| knxd --help
| |
|
| |
| == Работа == <!--T:5-->
| |
|
| |
| <!--T:6-->
| |
| Для запуска KNX daemon, необходимо прописать строку в консоль:
| |
| '''service knxd start'''
| |
|
| |
| <!--T:24-->
| |
| При необходимости перезапуска:
| |
| '''service knxd restart'''
| |
|
| |
| <!--T:25-->
| |
| Для проверки статуса:
| |
| '''service knxd status'''
| |
|
| |
|
| |
| <!--T:7-->
| |
| Все логи хранятся в файле '''/var/log/knxd.log'''
| |
|
| |
| <!--T:26-->
| |
| При получении сообщения от KNX устройства данные публикуются в MQTT топик '''/devices/knx/controls/data''' на WirenBoard.
| |
|
| |
| <!--T:27-->
| |
| Для управления устройствами KNX необходимо отправлять команды в MQTT топик '''/devices/knx/controls/data/on''' .
| |
|
| |
| <!--T:28-->
| |
| Пример команды:
| |
|
| |
| <!--T:29-->
| |
| mosquitto_pub -h 192.168.0.10 -p 1883 -t /devices/knx/controls/data/on -m "g:0/0/1 GroupValueWrite 0x01"
| |
|
| |
| <!--T:30-->
| |
| Где:
| |
|
| |
| <!--T:31-->
| |
| -h 192.168.0.10 - IP-адрес контроллера с KNX
| |
|
| |
| <!--T:32-->
| |
| -p 1883 - порт MQTT
| |
|
| |
| <!--T:33-->
| |
| -t /devices/knx/controls/data/on - MQTT топик для выгрузки информации
| |
|
| |
| <!--T:34-->
| |
| -m "g:0/0/1 GroupValueWrite 0x01" - сообщение для KNX устройства
| |
|
| |
| <!--T:35-->
| |
| Подробнее о работе с данными KNX: [https://contactless.ru/wiki/index.php/MQTT_KNX_Bridge wb-mqtt-knx (MQTT KNX Bridge)]
| |
|
| |
|
| |
| <!--T:8-->
| |
| Скрипт для [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:36-->
| |
| При работе с ETS '''Важно''': в “interfaces” ETS надо выбирать сам интерфейс ПК, через который происходит общение. Обращение с knxd в по юникасту (ip-адресу хоста с демоном) не даёт запрограммировать устройства. На иллюстрации стрелкой отмечено, какой способ взаимодействия с ETS работает:
| |
|
| |
|
| |
| <!--T:37-->
| |
| [[Файл:EtsInterface.png|500px|Интерфейсы]]
| |
| </translate> | | </translate> |