Шлюзы и координаторы

Какие бывают шлюзы и другие координаторы Zigbee-сети. Как собрать, где купить и заказать

Шлюзы

Шлюзы - это устройства, которые позволяют внешним приложениям взаимодействовать с Zigbee-устройствами и сетью вцелом.

Обычно, каждый производитель Zigbee-устройств поставляет также собственный шлюз. Такой шлюз организует сеть, управляет устройствами и их подключением, а также отправляет куда-то в облака все данные с этих устройств. Всё для того, чтобы мобильное приложение тоже смогло получить эти данные и вы смогли их использовать.

Некоторые щедрые производители дают возможность подключаться к своим шлюзам локально (developer mode, не обращаясь в облако) и получать данные об устройствах внутри локальной сети. С такими шлюзами очень хорошо можно интегрироваться и именно это их свойство используют при подключении их к системам "умного дома".

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

Универсальные Zigbee-шлюзы

Но в природе существуют и универсальные шлюзы, которые поддерживают работу с устройствами разных производителей и не шлют данные куда-то далеко, а предоставляют их локально в сети (по wifi в основном) или через USB/UART.

Все они отличаются чипами, на которых построены и подходами к реализации.

Аппаратные:

Программные:

Координаторы в виде USB "стиков"

Координатор Zigbee V2 (СС2530+CC2592)

https://modkam.ru/?p=1017

Координатор Zigbee V3 (СС2538+CC2592)

https://modkam.ru/?p=1112

Координатор Zigbee от Texas Instruments (СС2531)

http://www.ti.com/tool/CC2531EMK

Устройства на чипах TI cc253x

Что за чипы такие, в чем разница между ними и что за устройства на них делают.

Для Zigbee-устройств используют в основном 3 вида чипа компании TI:

Но на самом деле есть еще cc2630, cc2650, cc2652r. Это уже относительно новые чипы, поэтому дорогие и не проверенные.

Чипы cc253x привлекательны своей низкой ценой и имеют свою нишу в линейке чипов поддерживающих Zigbee. Именно поэтому достаточно много китайских Zigbee-устройств сделаны на этом чипе.

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

Для работы с этими чипами есть специальный SDK (код на основе которого пишутся прошивки) - Z-Stack. В нем реализованы как функции координатора, так и функции роутера и конечного устройства. Есть несколько примеров для изучения.

Координаторы и роутеры

cc2531

Картинки по запросу cc2531Картинки по запросу ebyte cc2531

cc2531 - самый популярный вариант Zigbee-стика с подключением в USB порт. Его преимущество в том что он продается в готовом для эксплуатации виде (нужно только прошить прошивку).

Наличие USB позволяет использовать стик практически с любой системой. Выпускаемые виды стиков в основном используют антенну на плате и поэтому имеют не очень большой радиус действия 5-10м. в помещении.

В последнее время появились в продаже стики с внешней антенной.

С соответствующей прошивкой может выступать как координатором, так и роутером. Так же это популярный инструмент для изучения Zigbee сети

cc2530

Картинки по запросу cc2530Картинки по запросу cc2530Картинки по запросу cc2530Картинки по запросу cc2530

cc2530 выпускается в виде различных модулей, как с внешней, так и с внутренней антенной. Внешняя антенная дает дополнительное преимущество и увеличивает радиус действия устройства. Используются антенны для частоты 2.4GHz.

Для работы с этими модулями используется UART-соединение, либо напрямую, либо через UART TTL - USB.

С соответствующей прошивкой может выступать координатором, роутером и конечным устройством.

сс2530 + PA

Картинки по запросу cc2591 cc2530Картинки по запросу cc2591 cc2530Картинки по запросу gban cc2530Картинки по запросу gban cc2530

Для чипов cc2530 часто применяют усилители сигнала (PA, Power Amplifier) для увеличения дальности распространения сигнала (зоны покрытия) и повышения чувствительности. Обычные модули cc2530 и cc2531 работают с мощностью 4dBm, с усилителями можно достичь показателей в 20dBm.

В основном применяются 3 вида усилителей:

Все эти усилители поддерживаются Z-Stack. Программное управление этими усилителями реализуется разными способами. Поэтому при использовании таких модулей следует использовать прошивки, собранные специально для указанных усилителей.

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

Вот пример сравнительной таблицы модулей от компании EBYTE, где видно различную мощность усилителей и дальность работы (в идеальных условиях конечно):

Устройства и модули с усилителями потребляют больше энергии и поэтому при их использовании необходим более мощный блок питания!

Примеры

Усилитель RFX2401

https://ru.aliexpress.com/item/32889230764.html

Усилитель cc2592

https://ru.aliexpress.com/item/32797561046.html 

Усилитель cc2591

https://ru.aliexpress.com/item/32609313983.html

с модулем GBAN, усилитель cc2591/RFX2401

https://ru.aliexpress.com/item/4000060995530.html

Усилитель cc2591

https://ru.aliexpress.com/item/33031584326.html

Усилитель cc2592

https://modkam.ru/?p=1017

cc2538

Картинки по запросу cc2538Картинки по запросу cc2538Картинки по запросу cc2538

На этот чип обратили внимание относительно недавно, как на следующий этап развития линейки cc2530/cc2531.

Его особенность в том (относительно предыдущих чипов), что значительно изменилась архитектура процессора (теперь тут Cortex-M3) и увеличилась доступная оперативная память (32Кб). Это даёт прирост в производительности и объеме обрабатываемых данных - можно значительно увеличить размер сети с координатором на этом чипе.

И еще одна особенность - модули и устройства на этом чипе значительно менее распространены в розничной продаже.

Существуют модули как без усилителя, так и с ним (в основном используется усилитель cc2592).

 

ZESP

Этот шлюз-координатор задумывался как самостоятельное устройство для поднятия zigbee сети и возможности управления ею без использования систем УД, но для большей совместимости добавили трансляцию данных через MQTT

Схема устройства достаточно проста при наличии готовых модулей потребуется  минут 10, соединяем согласно таблице выводы есп32 и сс2530

примерно так позже будет своя платка для устройства 

Прошиваем с помощью нашего мультифлешера в два этапа, скачиваем и распаковываем флешер 

заходим на вкладку ZESP

 

выбираем ком порт на котором села наша плата с есп и жмем

процесс ни как не визуализируется поэтому ждем пока исчезнут песочные часики, не более трех минут

прошивка уже содержит в себе агента для работы с модулем сс253х, активируется он перемычкой между выводом IO21 и GND в ЕСП32, в общем ставим перемычку и переходим на вкладку [arduino CC]

в архиве флешера уже содержится прошивка для модуля сс2530 в папке VLK_DIY_Multi_Flasher\firmware\ZESP ее и выбираем, ну а далее все как в инструкции к флешеру подключаемся кнопкой [Connect], стираем чип кнопкой [Chip Erase] далее [Write]. все просто...

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

Кто уже работал с чипами ESP тот знает что он может работать как в режиме точки доступа(создает свою сеть) так и в общей сети, не настроенный шлюз создает свою точку доступа с названием ZESPXXXX находим ее

и подключаемся, пароль adminxxxx где хххх цифры из названия сети в моем случае admin5D21

открываем браузер и переходим по адресу 192.168.4.1 для первичной настройки сети

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

жмем меню и заходим в настройки

настраиваем подключение к MQTT активируем его если надо, сохраняем и перегружаемся

так как у нас свежепрошитый модуль СС2530 его нужно инициализировать жмем меню

после окончания процесса наш шлюз готов полностью к работе, для работы устройств в сети zigbee их необходимо пригласить в сеть жмем кнопку

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

после подключения устройства оно сможет отсылать данные внутри сети

устройство находится в стадии разработки поэтому функционал и интерфейс будут меняться если есть конструктивные предложения или пожелания присоединяйтесь к группе в телеграмм https://t.me/zesp32

UPdate:

добавили функцию прошивки модулей непосредственно из интерфейса, компьютер больше не нужен :)

SLS Zigbee Gateway

 

Общие сведения

Шлюз выполняет роль координатора Zigbee и позволяет:

1) Использовать большинство доступного Zigbee оборудования. Список поддерживаемого и протестированного обрудования доступен по ссылке. Новое оборудование может быть добавлено после обсуждения с нами.

2) Отказаться от необходимости использования облаков производителей устройств. В качестве альтернативы, предлагается использовать облачный сервис Smart Logic System, либо нативные приложения для Android и Apple iPhone (в разработке).

3) Использовать распространенные локальные системы автоматизации, такие как MajorDomoioBroker SmarthomeHomeAssisiantNode-Red и др. Для интеграции с этими системами используется протокол MQTT. Структура топиков протокола MQTT идентична проекту zigbee2mqtt, поэтому для использования и интеграции шлюза нет необходимости изучать скриптовые языки указанных выше систем, так как протокол в основном уже доступен с помощью модулей расширения.

Самостоятельная сборка шлюза

В качестве аппаратной начинки шлюза используется современный микроконтроллер ESP32-WROVER-B от Espressif, который согласно даташиту с сайта производителя может одновременно работать с WiFi и BLE, имеет достаточный для работы шлюза объем оперативной памяти и хорошую производительность. Еще одной полезной особенностью данного чипа является доступность написания кода в Arduino IDE или PlatformIO, а также его цена.

Работоспособность протокола zigbee в шлюзе обеспечивает трансивер от Texas Instruments сс2538 с усилителем сс2592.

Пользователем @Nick7zmail разработан корпус для печати на 3D-принтере. 

Более подробная информация по сборке шлюза описана на сайте modkam.ru

Прошивка шлюза

После сборки платы необходимо с помощью программатора j-link прошить трансивер сс2538+сс2592. Более подробно информация по перепрошивке разобрана в статье Прошиваем СС2538 с помощью J-Link на сайте modkam.ru.  Прошивку трансивера для работы через UART можно взять тут 

Далее необходимо с помощью micro-usb кабеля прошить чип ESP32. 

После подключения шлюза к персональному компьютеру с помощью micro-usb кабеля, в обязательном порядке должен появиться COM-порт. Если порт не обнаруживается в системе, то необходимо проверить в ОС наличие драйверов для сh340. 

Актуальные прошивки SLS шлюза можно найти в канале новостей или в официально github проекта. 

Если прошивка установилась корректно, необходимо настроить WiFi, и провести конфигурирование портов GPIO, шлюз готов к работе.

home

Сопряжение устройств

Для добавления устройств, выберите режим сопряжения из меню Zigbee -> Join.

Карта сети

Логическая карта сети доступна из меню Zigbee-> Map

 

Скрипты и автоматизации

В шлюзе SLS Zigbee Gateway доступны следующие виды автоматизаций:

1) SimpleBind

2) Скрипты Lua

3) Binding средствами протокола Zigbee

Интеграция с системами умного дома

Для интеграции с MajorDoMo разработано дополнение. Интеграция с Home-assistant описана в инструкции. В скором времени будет реализован механизм discovery для home-assistant. Также доступен вариант управления устройствами шлюза через HTTP API. В среднесрочной перспективе будет реализована работа с оборудованием BLE

app2

Полезные ссылки

Руководство по использованию шлюза 

Группа в Telegram

Канал новостей в Telegram 

Список поддерживаемых устройств

Обзор от Alex Kvazis

Где купить

Обсуждение на форуме Majordomo