WBE2-I-KNX KNX Extension Module/en: различия между версиями
FuzzyBot (обсуждение | вклад) м (FuzzyBot переименовал страницу KNX Module for WB6 (WBE2-I-KNX)/en в WBE2-I-KNX KNX Extension Module/en без оставления перенаправления: Часть переводимой страницы KNX Module for WB6 (WBE2-I-KNX).) Метки: правка с мобильного устройства правка из мобильной версии |
(Новая страница: «==Working via iRidium Server==») |
||
(не показано 36 промежуточных версий 1 участника) | |||
Строка 34: | Строка 34: | ||
==Working via iRidium Server== | ==Working via iRidium Server== | ||
Скачайте свежую версию установочного deb пакета с названием '''iRidium server для Raspbian Jessie with the PIXEL и WB 0 (gen 6)''' отсюда [https://iridi.com/ru/download/software/v3/ Загрузки iRidium Pro] | |||
[[Файл:iridium_server_download_link_screenshot.png|Файл:iridium_server_download_link_screenshot.png]] | [[Файл:iridium_server_download_link_screenshot.png|Файл:iridium_server_download_link_screenshot.png]] | ||
скопируйте файл на контроллер [https://wirenboard.com/wiki/index.php/%D0%9F%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80_%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2_%D0%BA%D0%BE%D0%BD%D1%82%D1%80%D0%BE%D0%BB%D0%BB%D0%B5%D1%80%D0%B0_%D1%81_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%B0 (подробное описание как копировать файлы на контроллер)] и установите его выполнив команду | |||
'''dpkg -i iridiumserver_1.3.0-15590_RPI.deb''' | '''dpkg -i iridiumserver_1.3.0-15590_RPI.deb''' | ||
Зайдите на web интерфейс iRidium Server по ссылке '''''адрес_вашего_wirenboard:8888''''' и авторизуйтесь на сервере. | |||
Далее при создании проекта добавте драйвер KNX Serial (UMC) и настройте его как показано ниже | |||
[[Файл:iridium_server_knx_serial_driver_settings.jpg|Файл:iridium_server_knx_serial_driver_settings.jpg]] | [[Файл:iridium_server_knx_serial_driver_settings.jpg|Файл:iridium_server_knx_serial_driver_settings.jpg]] | ||
ипользуйте '''''/dev/ttyMOD2''''' если модуль установлен во второй слот расширения | |||
== | == Работа через MQTT == | ||
Необходимо зайти в консоль и установить пакеты [https://contactless.ru/wiki/index.php/MQTT_KNX_Bridge wb-mqtt-knx (MQTT KNX Bridge)], knxd, knxd-tools: | |||
'''apt-get update''' | '''apt-get update''' | ||
Строка 61: | Строка 61: | ||
'''apt-get install knxd knxd-tools wb-mqtt-knx''' | '''apt-get install knxd knxd-tools wb-mqtt-knx''' | ||
После установки необходимо отредактировать файл '''/etc/default/knxd''': | |||
Замените строку: | |||
DAEMON_ARGS="-u /tmp/eib -u /var/run/knx -i -b ip:" | 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/ttyMOD1 -D -T -R -S"''' | '''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/ttyMOD1 -D -T -R -S"''' | ||
Строка 72: | Строка 72: | ||
На WB6, с новой версией прошивки для корректного запуска knxd необходимо исправить 2 файла: | |||
/etc/knxd.conf - | /etc/knxd.conf - вторую строчку заменить на: | ||
KNXD_OPTS="-t 0xffe -f 9 -e 1.1.255 -E 1.1.10:30 -b ncn5120:/dev/ttyMOD1 -D -T -R -S" | KNXD_OPTS="-t 0xffe -f 9 -e 1.1.255 -E 1.1.10:30 -b ncn5120:/dev/ttyMOD1 -D -T -R -S" | ||
/lib/systemd/system/knxd.service - | /lib/systemd/system/knxd.service - Закоментить User и Group (поставить перед ними решетки, как показано ниже) , либо удалить эти строки: | ||
#User=knxd | #User=knxd | ||
#Group=knxd | #Group=knxd | ||
после этого следует перезагрузить контроллер и всё должно заработать | |||
Расшифровка ключей: | |||
{| class="wikitable" | {| class="wikitable" | ||
! | !Ключ | ||
! | !Функция | ||
|- | |- | ||
| -d /var/log/knxd.log | | -d /var/log/knxd.log | ||
| | | уйти в фон и писать в лог. | ||
|- | |- | ||
| -e 1.1.255 | | -e 1.1.255 | ||
| | |назначает KNX-адрес knxd равным 1.1.255, как IP-шлюзу. | ||
|- | |- | ||
| -E 1.1.10:30 | | -E 1.1.10:30 | ||
| | |указывает knxd выдавать KNX-адреса узлам из IP-сети в диапазоне 1.1.10..1.1.30 | ||
|- | |- | ||
| -u /var/run/knx | | -u /var/run/knx | ||
| | |открываем локальный Unix-сокет | ||
|- | |- | ||
| -t 0xffe | | -t 0xffe | ||
| | |задаём маску вывода отладочных сообщений. | ||
|- | |- | ||
| -f 9 | | -f 9 | ||
| | |задать макс. verbosity level | ||
|- | |- | ||
| -i | | -i | ||
| | |указываем слушать TCP-порт (по умолчанию 6720). Можно прописывать -i 6721 или другой порт. Не исключающая альтернатива -u | ||
|- | |- | ||
| -b ncn5120:/dev/ttyMOD1 | | -b ncn5120:/dev/ttyMOD1 | ||
| | |активируем ncn5120-драйвер на порту для MOD1 (при установке модуля в слот расширения MOD 2 следует указать ttyMOD2) | ||
|- | |- | ||
| -T -R | | -T -R | ||
| | |активируем режим шлюза, туннеля (нужно для работы с ETS) | ||
|- | |- | ||
| -D | | -D | ||
| | |говорит knxd оповещать о себе (Discovery) в сети | ||
|- | |- | ||
| -S | | -S | ||
| | |запускаем сервер (который отвечает на мультикасты) | ||
|} | |} | ||
Подробнее: | |||
knxd --help | knxd --help | ||
== | == Работа == | ||
Для запуска KNX daemon, необходимо прописать строку в консоль: | |||
'''service knxd start''' | '''service knxd start''' | ||
При необходимости перезапуска: | |||
'''service knxd restart''' | '''service knxd restart''' | ||
Для проверки статуса: | |||
'''service knxd status''' | '''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.0.10 -p 1883 -t /devices/knx/controls/data/on -m "g:0/0/1 GroupValueWrite 0x01" | mosquitto_pub -h 192.168.0.10 -p 1883 -t /devices/knx/controls/data/on -m "g:0/0/1 GroupValueWrite 0x01" | ||
Где: | |||
-h 192.168.0.10 - IP- | -h 192.168.0.10 - IP-адрес контроллера с KNX | ||
-p 1883 - MQTT | -p 1883 - порт MQTT | ||
-t /devices/knx/controls/data/on - MQTT | -t /devices/knx/controls/data/on - MQTT топик для выгрузки информации | ||
-m "g:0/0/1 GroupValueWrite 0x01" - | -m "g:0/0/1 GroupValueWrite 0x01" - сообщение для KNX устройства | ||
Подробнее о работе с данными KNX: [https://contactless.ru/wiki/index.php/MQTT_KNX_Bridge wb-mqtt-knx (MQTT KNX Bridge)] | |||
Скрипт для [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] | |||
При работе с ETS '''Важно''': в “interfaces” ETS надо выбирать сам интерфейс ПК, через который происходит общение. Обращение с knxd в по юникасту (ip-адресу хоста с демоном) не даёт запрограммировать устройства. На иллюстрации стрелкой отмечено, какой способ взаимодействия с ETS работает: | |||
[[Файл:EtsInterface.png|500px| | [[Файл:EtsInterface.png|500px|Интерфейсы]] | ||
Так же если вы пользователь Windows 8, 10 советуем отключить антивирусы и брандмауэр, так как они могут мешать работе ETS. |
Версия 11:19, 27 июня 2019
Pinout
Terminal | Function |
---|---|
O1 (Red) | KNX (+) |
O2 (n/a) | n/a |
O3 (Gray) | KNX (-) |
Configuration
You need to set the module type in the web interface, sectionConfigs => Hardware Modules Configuration: for Internal slot 1 (MOD1) or for Internal slot 2 (MOD2) depending on the KNX module position.
Working via iRidium Server
Скачайте свежую версию установочного deb пакета с названием iRidium server для Raspbian Jessie with the PIXEL и WB 0 (gen 6) отсюда Загрузки iRidium Pro
скопируйте файл на контроллер (подробное описание как копировать файлы на контроллер) и установите его выполнив команду
dpkg -i iridiumserver_1.3.0-15590_RPI.deb
Зайдите на web интерфейс iRidium Server по ссылке адрес_вашего_wirenboard:8888 и авторизуйтесь на сервере.
Далее при создании проекта добавте драйвер KNX Serial (UMC) и настройте его как показано ниже
ипользуйте /dev/ttyMOD2 если модуль установлен во второй слот расширения
Работа через MQTT
Необходимо зайти в консоль и установить пакеты wb-mqtt-knx (MQTT KNX Bridge), knxd, knxd-tools:
apt-get update
apt-get install knxd knxd-tools wb-mqtt-knx
После установки необходимо отредактировать файл /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/ttyMOD1 -D -T -R -S"
На WB6, с новой версией прошивки для корректного запуска knxd необходимо исправить 2 файла:
/etc/knxd.conf - вторую строчку заменить на: KNXD_OPTS="-t 0xffe -f 9 -e 1.1.255 -E 1.1.10:30 -b ncn5120:/dev/ttyMOD1 -D -T -R -S"
/lib/systemd/system/knxd.service - Закоментить User и Group (поставить перед ними решетки, как показано ниже) , либо удалить эти строки:
- User=knxd
- Group=knxd
после этого следует перезагрузить контроллер и всё должно заработать
Расшифровка ключей:
Ключ | Функция |
---|---|
-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/ttyMOD1 | активируем ncn5120-драйвер на порту для MOD1 (при установке модуля в слот расширения MOD 2 следует указать ttyMOD2) |
-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.0.10 -p 1883 -t /devices/knx/controls/data/on -m "g:0/0/1 GroupValueWrite 0x01"
Где:
-h 192.168.0.10 - IP-адрес контроллера с KNX
-p 1883 - порт MQTT
-t /devices/knx/controls/data/on - MQTT топик для выгрузки информации
-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 работает:
Так же если вы пользователь Windows 8, 10 советуем отключить антивирусы и брандмауэр, так как они могут мешать работе ETS.