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

Материал из Wiren Board
Строка 79: Строка 79:
Параметр --Server должен быть указан после модификаторов сервера [server modifiers].
Параметр --Server должен быть указан после модификаторов сервера [server modifiers].


-S, --Server[=ip[:port]]  Запустить EIBnet/IP мультикаст сервер (default address:port 224.0.23.12:3671)
    -S, --Server[=ip[:port]]  Запустить EIBnet/IP мультикаст сервер (default address:port 224.0.23.12:3671)


Подробное описание ключей и структуры конфиг файла можно найти на '''[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 рекомендуем с ней ознакомится.  

Версия 17:26, 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 

Сache-section

   -c, --GroupCache                 Включить кэширование групповой сети

Multicast-server-section

Этот раздел состоит из двух частейː [server modifiers] - модификаторы сервера и [server] - сервер.

Server modifiers

Модификаторы сервера изменяют поведение мультикаст сервера и должны указываться перед параметром --Server

   --allow-forced-broadcast   Treat routing counter 7 as per KNX spec (dangerous)
   -n, --Name=SERVERNAME      Произвольное имя сервера в сети (default is 'knxd')                               
   -D, --Discovery            Разрешить серверу отвечать на запросы на обнаружение и описание в сети.
   -R, --Routing              Включить маршрутизацию EIBnet/IP на сервере
   -T, --Tunnelling           Включить туннелирование EIBnet/IP на сервере
Server

Параметр --Server должен быть указан после модификаторов сервера [server modifiers].

   -S, --Server[=ip[:port]]   Запустить EIBnet/IP мультикаст сервер (default address:port 224.0.23.12:3671)

Подробное описание ключей и структуры конфиг файла можно найти на странице 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 можно причитать Тут