Knxd: различия между версиями

Материал из Wiren Board
Строка 26: Строка 26:


<pre>$ addgroup knxd dialout</pre>
<pre>$ addgroup knxd dialout</pre>
=== knxd.conf ===


Далее необходимо отредактировать конфигурационный файл /etc/knxd.conf
Далее необходимо отредактировать конфигурационный файл /etc/knxd.conf
Строка 38: Строка 40:


<pre> knxd [global-section] [address-section] [cache-section] [multicast-server-section] [local-listener-section] [interface-sections]</pre>
<pre> knxd [global-section] [address-section] [cache-section] [multicast-server-section] [local-listener-section] [interface-sections]</pre>
Хотя все разделы являются необязательными, для работы knxd в качестве маршрутизатора необходимо иметь как минимум два вида интерфейсов.
==== Global-section ====
Глобальные параметры влияют на поведение knxd и не затрагивают при этом работу интерфейсов.
    -d, --daemon[=FILE]        Запустить программу в виде демона. Вывод будет записан в файл (если указан). Не указывайте этот параметр в knxd.conf, так как knxd.service и так запускает программу в фоновом режиме.
    -p, --pid-file=FILE        Записать PID процесса в файл. Не используйте этот параметр в knxd.conf. Используйте systemctl для работы с knxd.
    -t, --trace=MASK          set trace flags (bitmask)
    -f, --error=LEVEL          set error level
==== Address-section ====
    -e, --eibaddr=EIBADDR            Физический KNX-адрес самого knxd (default 0.0.1)
    -E, --client-addrs=ADDRSTART:n  Указывает knxd выдавать KNX-адреса узлам из IP-сети в диапазоне ADDRSTART..ADDRSTART+n


Подробное описание ключей и структуры конфиг файла можно найти на '''[https://github.com/knxd/knxd/wiki/Command-line-parameters#structure-of-parametrization странице github knxd/wiki ]'''. Перед работой с KNXD рекомендуем с ней ознакомится.  
Подробное описание ключей и структуры конфиг файла можно найти на '''[https://github.com/knxd/knxd/wiki/Command-line-parameters#structure-of-parametrization странице github knxd/wiki ]'''. Перед работой с KNXD рекомендуем с ней ознакомится.  

Версия 16:04, 26 мая 2020

Описание

KNXD - Роутер KNX данных. Позволяет перенаправлять их из одного источника в другой. На пример из физической шины KNX в KNX IP или, как в нашем случае, в локальный сокет. Поэтому для правильной работы KNXD в настройках необходимо указывать несколько интерфейсов (больше одного). Это может бытьː

Локальный сокет - создается при установке knxd (/lib/systemd/system/knxd.socket). Порт по умолчанию 6720, путь к файлу на контроллере WB по умолчанию /var/run/knx

Физическая шина KNX - драйвер ncn5120 или usb. Требуется физическое подключение шины KNX к контроллеру.

ip - knxd может подключиться к шлюзу EIBnet / IP либо к другому контроллеру с knxd.

Server (-S в настройках) - knxd может выступать в качестве мультикаст сервера, для подключения к нему KNX клиентов.

Подробнее об интерфейсах на странице github knxd/wiki

Установка

Запустите консоль и введите командуː

$ apt update && apt install knxd knxd-tools

Настройка

Для упрощения настройки KNXD рекомендуем воспользоваться программой WB-KNXD-CONFIG (описание ниже на этой же странице) . Либо произвести настройку в ручнуюː

Для правильной работы программы необходимо добавить пользователя knxd в группу dialoutː

$ addgroup knxd dialout

knxd.conf

Далее необходимо отредактировать конфигурационный файл /etc/knxd.conf

Содержимое этого файла необходимо заменить строкой видаː

 KNXD_OPTS=" -e 1.1.255 -E 1.1.5:50 -D -T -R -n WirenboardKNX -S 224.0.23.12:3671  -b ncn5120:/dev/ttyKNX " 

Порядок параметров Важен. При не правильном расположении KNXD может работать не правильно или не работать вовсе.

Рекомендуемая структура параметровː

 knxd [global-section] [address-section] [cache-section] [multicast-server-section] [local-listener-section] [interface-sections]

Хотя все разделы являются необязательными, для работы knxd в качестве маршрутизатора необходимо иметь как минимум два вида интерфейсов.

Global-section

Глобальные параметры влияют на поведение knxd и не затрагивают при этом работу интерфейсов.

   -d, --daemon[=FILE]        Запустить программу в виде демона. Вывод будет записан в файл (если указан). Не указывайте этот параметр в knxd.conf, так как knxd.service и так запускает программу в фоновом режиме. 
   -p, --pid-file=FILE        Записать PID процесса в файл. Не используйте этот параметр в knxd.conf. Используйте systemctl для работы с knxd.
   -t, --trace=MASK           set trace flags (bitmask)
   -f, --error=LEVEL          set error level

Address-section

   -e, --eibaddr=EIBADDR            Физический KNX-адрес самого knxd (default 0.0.1)
   -E, --client-addrs=ADDRSTART:n   Указывает knxd выдавать KNX-адреса узлам из IP-сети в диапазоне ADDRSTART..ADDRSTART+n 

Подробное описание ключей и структуры конфиг файла можно найти на странице github knxd/wiki . Перед работой с KNXD рекомендуем с ней ознакомится.

Сохраните изменения и перезапустите knxdː

$ service knxd restart

KnxTool

Полезная утилита для работы с KNXD.

Примеры работы и описание на странице в вики

Работа с ETS5

Правильно настроенный knxd позволяет использовать контроллер в качестве KNX шлюза для настройки физических устройств KNX через программу ETS5.

Настройка шлюза

Для того, что бы программа ETS5 могла связаться с KNX устройствами нужно что бы у knxd были включены интерфейсы мультикаст сервера и физической шины KNX (драйвер ncn5120) . Для этого в конфигурации knxd нужно указать опции -D -T -R -S и интерфейс -b ncn5120:/dev/ttyKNX. Подробнее об опциях -DTRS и -b можно причитать Тут