Подключение устройств по протоколу Zigbee

Краткое описание протокола

Zigbee - беспроводная сеть, схожая по принципу работы на Wi-Fi или Bluetooth. От вышеупомянутых сетей отличается, прежде всего, высокой энергоэффективностью - устройства могут работать от одной батарейки год и более. Сеть поддерживает не только простые сети типа точка-точка, но и ячеистую (mesh). Существует три типа устройств в zigbee-сети:

  • координатор - главное устройство сети, без которого невозможно взаимодействие пользователя с конечными устройствами;
  • маршрутизатор - вспомогательное устройство, позволяющее передавать данные с конечных устройств на маршрутизатор. Маршрутизатором может выступать практически любое конечное устройство, работающее от постоянного источника питания;
  • конечное устройство - непосредственно сами датчики, или исполнительные устройства. Если устройство питается от батареек, то большую часть времени оно находится в спящем режиме, за счет чего и достигается высокая энергоэффективность.

Для работы с zigbee сетями мы используем сервис zigbee2mqtt.io, поэтому все его требования к поддерживаемым устройствам остаются актуальными и для BARY.

О выборе координатора и его прошивке можно прочитать тут. После того, как адаптер прошит можно, приступить к подключению.

Настройка BARY

Установка zigbee шлюза в BARY:

  • На главном экране нажмите Меню image

  • Далее выберите Настройки image

  • В открывшемся окне выберите Устройства и нажмите добавить image

  • Откроется список устройств для добавления. Выберите Шлюзы и в раскрывающемся списке выберите zigbee2mqtt или воспользуйтесь поиском по устройствам: image image

Поиск по устройствам: - Нажмите на кнопку поиска: image - И начните вводить "zigbee2mqtt" image
  • Далее необходимо настроить параметры координатора zigbee. Для этого необходимо задать порт к которому подключен координатор zigbee, а так же PanID, канал и ключ сети. image
Как узнать порт, к которому подключен адаптер Zigbee? Вывести в терминал список портов можно командой:
  ls -l /dev/serial/by-id
Результат может быть таким:
  lrwxrwxrwx 1 root root 13 Sep  7 14:49 usb-1a86_USB_Serial-if00-port0 -> ../../ttyUSB0
Например для контроллера Jethub D1/D1+ порт к коротому подключен координатор: ttyAML2
Что такое Permit join? Галочка Permit join означает, что адаптер будет постоянно в режиме добавления устройств. Рекомендуется поставить для первоначальной настройки, но отключить после подключения всех устройств.

Поле MQTT address указывает адрес MQTT сервера, рекомендуется оставить по умолчанию.

Что такое PanID? PAN ID, или Personal Area Network ID. Он используется для логического отделения узлов одной сети ZigBee от узлов другой, если сети расположены на одной и той же территории либо работают на одном и том же канале. Используется шестнадцатиричный формат от 0х0000 до 0х1a62. Рекомендуется изменить это значение.
Как выбрать канал? Допустимый диапазон каналов 11-26. Старайтесь выбирать канал таким образом, чтобы он наименее пересекался с каналами Wifi. Например, на рисунке наиболее оптимальными каналами будут 16, 20, 25-26. Однако, стоит иметь ввиду, что некоторые устройства не работают на других каналах, кроме 11. image
Какой выбрать ключ сети? Размер ключа сетевого шифрования составляет 128-bit по существу 16 десятичных значений между 0 и 255. Вы можете изменить некоторые числа в этой последовательности.
  • После чего нажмите Продолжить: image

  • Далее выберите комнату и, при необходимости, иконку шлюза. Затем нажмите Сохранить: image

  • После чего будет запущен процесс установки дополнительных компонентов zigbee и настройка шлюза. image

  • По завершении настройки компонентов zigbee, вы получите сообщение о готовности работы координатора. image

  • В комнате с добавленным ранее координатором появится модуль zigbee. image

Что делать, если на модуле указан восклицательный знак? image Раздел в разработке

Добавление устройств

Для добавления zigbee устройств в сеть, координатор и устройство нужно перевести в режим сопряжения.

Включение режима сопряжения координатора:

  • На главном экране нажмите Меню image

  • Далее выберите Настройки image

  • В открывшемся окне выберите Устройства и нажмите добавить image

  • В появившемся списке выберите Добавить Zigbee устройство image

Что делать, если в появившемся списке отсутствует опция добавления zigbee устройства? Вероятно, Zigbee координатор не работает или не запущен. ... Раздел в разработке
  • После чего координатор перейдет в режим сопряжения. Теперь переведите ваше Zigbee-устройство так же в режим сопряжения. image
Как перевести zigbee-устройство в режим сопряжения? Для перевода zigbee-устройства в режим сопряжения, воспользуйтесь инструцкией с вашему zigbee-устройству. Это может быть длительное удержание клавиши сопряжения на устройства или троекратное нажатие и т.п. ... Раздел в разработке
  • Если всё сделали правильно, будет получено сообщение об обмене данными с добавляемым устройством: image

  • После успешного обмена данными вы получите сообщение о новом устройстве, где вам будет предложено указать комнату и иные параметры, либо пропустить этот шаг и настроить устройство позднее. image

  • Когда устройству будет назначена комната, оно будет отображено с имеющимися возможностями. В данном примере датчик открытия двери имеет возможность передачи информаиции о своем состоянии, времени срабатывания, а так же состояния батареи и качества связи (0-255). image

  • Для вашего устройства набор возможностей может быть другим. image

Просмотр карты сети ZigBee

  • Вы можете строить и просматривать карту сети Zigbee. Это бывает необходимо для диагностики и локалзации проблем связи узла или отдельных устройств. Для этого необходимо открыть окно шлюза ZigBee и нажать Refresh network map: image

  • Далее будет получено сообщение о построении карты сети.В течение некоторого времени координатор опросит все устройства и построит карту сети Zigbee, где вы можете увидеть конечные устройства, маршрутизаторы, координатор, а так же линии связи. image

  • Карта сети ZigBee. Её можно увеличить/уменьшить, нажав соответствующие кнопки, а так же развернуть на весь экран, нажав на неё. Для выхода из полноэкранного режима необходимо нажать на клавиатуре ESC. image

  • Пример карты сети из нескольких устройств: image

Удаление устройства ZigBee

  • Вы можете удалить устройство из вашей сети. Для этого при выключенном режиме сопряжения координатора переведите ваше устройство в режим сопряжения. Устройство будет отвязано от координатора и перестанет отправлять данные. После чего вы можете удалить устройство из системы привычным способом через настройки, не отличающимся от удаления любых других устройств. image
Как перевести zigbee-устройство в режим удаления? Для перевода zigbee-устройства в режим удаления, воспользуйтесь инструцкией с вашему zigbee-устройству. Это может быть длительное удержание клавиши сопряжения на устройства или троекратное нажатие и т.п.
После удаления устройства, оно сразу добавляется вновь, почему? Вероятно, установлен режим сопряжения в координаторе. Отключите режим сопряжения координатора (Permit join) в дополнительных настройках.

Откроется список устройств для добавления. Выберите Шлюзы и в раскрывающемся списке выберите zigbee2mqtt или воспользуйтесь поиском по устройствам:

Координатор переводится в режим сопряжения либо галочкой Permit join в настройках устройства, либо нажатием соответствующей кнопки в интерфейсе устройства.

Для перехода в интерфейс устройства нажмите Главная, далее выберите комнату, которую вы выбрали в настройках zigbee2mqtt

image

Рис. Выбор комнаты

Затем выберите zigbee2mqtt:

image

Рис. Выбор zigbee2mqtt

Вы попадете в интерфейс zigbee2mqtt, в котором можно посмотреть статус всех подключенных устройств, а также активировать режим сопряжения кнопкой Include device

image

Рис. Интерфейс zigbee2mqtt

После активации режима сопряжения адаптера, нужно включить режим сопряжения у устройства. Делается это разными способами, поэтому воспользуйтесь оригинальной инструкцией к вашему устройству. После успешного включения режима сопряжения и у устройства, и у координатора будет запущен процесс сопряжения, в BARY будут соответствующие уведомления. Процесс сопряжение состоит из следующих этапов:

  • Соединение устройства с сетью;
  • Начало опроса устройства;
  • Окончание опроса устройства.

image

Рис. Успешное окончание опроса устройства

После успешного сопряжения устройство автоматически попадает в группу нераспределенные устройства. Если сообщения об успешном интервью нет, то повторите сопряжение.

image

Рис. Нераспределенные устройства

Вам остается выбрать подходящее название устройства и комнату, в которой оно будет расположено.