зигби стик что такое
Сети ZigBee. Зачем и почему?
Чего «репу» чешешь?
На золотую рыбку другая сеть нужна!
Собственно, я собирался продолжить серию топиков, посвященных работе RTLS – системы позиционирования в реальном времени. А именно, рассказать о беспроводной инфраструктуре системы, основанной на сетях ZigBee. Но вдруг с удивлением обнаружил, что на Хабрахабре нет публикаций, посвященных стандарту IEEE 802.15.4 и спецификации ZigBee. Есть лишь немногочисленные упоминания, связанные с тем или иным приложением. Попытаюсь по мерее сил заполнить этот пробел.
В последнее время все большее распространение и значение приобретают беспроводные сенсорные сети. Сети, которые по своему назначению, параметрам, спецификациям существенно отличаются от сетей связи – WiFi, GSM, LTE и т.п. Среди прочих, используемых в сенсорных сетях, выделяется спецификация ZigBee – наиболее продвинутая надстройка к стандарту IEEE 802.15.4
В этом году исполнилось 10 лет со времени основания ZigBee альянса, а в октябре исполняется 5 лет с момента утверждения действующей в настоящее время спецификации ZigBee Pro Feature Set 2006. Так что публикацию можно считать юбилейной.
Желающих познакомиться с самоорганизующейся самовосстанавливающейся и не требующей специального частотного разрешения сенсорной сетью прошу под кат.
Начну с вынесенных в заголовок вопросов:
Зачем?
Во многих приложениях требуются беспроводные сети связи, не обладающие высокой скоростью передачи, но надежные, живучие (способные к самовосстановлению), простые в развертывании и эксплуатации. Важно также, чтобы оборудование таких сетей допускало длительную работу от автономных источников питания, имело низкую стоимость, и было компактным. Пример такого приложения – «умный дом».
Такому сочетанию требований еще 10 лет назад не отвечал ни один из сетевых стандартов, что и привело к созданию стандартов IEEE 802.15.4 и ZigBee, описывающих устойчивые масштабируемые многошаговые беспроводные сети, простые в развертывании и поддерживающие самые разные приложения.
Почему именно ZigBee?
Сети ZigBee, в отличие от других беспроводных сетей передачи данных, полностью удовлетворяют перечисленные выше требования, а именно:
а) благодаря ячеистой (mesh) топологии сети и использованию специальных алгоритмов маршрутизации сеть ZigBee обеспечивает самовосстановление и гарантированную доставку пакетов в случаях обрыва связи между отдельными узлами (появления препятствия), перегрузки или отказа какого-то элемента;
б) спецификация ZigBee предусматривает криптографическую защиту данных, передаваемых по беспроводным каналам, и гибкую политику безопасности;
в) устройства ZigBee отличаются низким электропотреблением, в особенности конечные устройства, для которых предусмотрен режим «сна», что позволяет этим устройствам работать до трех лет от одной обычной батарейки АА и даже ААА;
г) сеть ZigBee – самоорганизующаяся, ее структура задается параметрами профиля стека конфигуратора и формируется автоматически путем присоединения (повторного присоединения) к сети образующих ее устройств, что обеспечивает простоту развертывания и легкость масштабирования путем простого присоединения дополнительных устройств;
д) устройства ZigBee компактны и имеют относительно невысокую стоимость.
Связь в сети ZigBee осуществляется путем последовательной ретрансляции пакетов от узла источника до узла адресата. В сети ZigBee предусмотрено несколько альтернативных алгоритмов маршрутизации, выбор которых происходит автоматически.
Стандарт предусматривает возможность использования каналов в нескольких частотных диапазонах. Наибольшая скорость передачи и наилучшая помехоустойчивость достигается в диапазоне от 2,4 до 2,48 ГГц. В этом диапазоне предусмотрено 16 каналов по 5 МГц.
Цена, которую пришлось заплатить в сетях ZigBee за минимизацию энергопотребления, компактность и дешевизну – относительно низкая скорость передачи данных.
«Брутто» скорость (включая служебную информацию) составляет 250 кбит/c. Средняя скорость передачи полезных данных, в зависимости от загрузки сети и числа ретрансляций, составляет от 5 до 40 кбит/с.
Расстояние между рабочими станциями сети составляет десятки метров внутри помещений и сотни метров на открытом воздухе. За счет ретрансляций покрываемая сетью зона может быть весьма значительной: до нескольких тысяч квадратных метров в помещении и до нескольких гектар на открытом пространстве. Более того, сеть ZigBee в любой момент может быть расширена добавлением новых элементов или наоборот разбита на несколько зон простым назначением соответствующего числа новых конфигураторов сети. Это бывает полезно для снижения нагрузки и соответственно повышения скорости передачи данных.
Немного истории
Альянс ZigBee был учрежден в 2002 году. Сейчас в него входят более 300 компаний. Цель альянса – разработка эффективных протоколов беспроводной сети и обеспечение совместимости устройств разных производителей. Первые стандарты «родились» в 2003 году и активно совершенствовались и расширялись.
Была внедрена стохастическая адресация, механизмы маршрутизации Many-to-One и Source Routing, а также возможность выявления асимметричных связей, что повысило эффективность сетей ZigBee для ряда специфических приложений.
Разработаны стандартные профили приложений и библиотека стандартных кластеров. Это существенно упростило разработку приложений, облегчило и ускорило внедрение новых решений с использованием аппаратуры разных производителей.
Введен ряд новых механизмов, повышающих защищенность и надежность сети.
Предусмотрен автоматический переход на «чистый» частотный канал при возникновении помех.
Действующая спецификация ZigBee Pro Feature Set 2006 принята в октябре 2007 г.
Устройства ZigBee
Сети ZigBee строятся из базовых станций трех основных типов: координаторов, маршрутизаторов и конечных устройств.
Координатор запускает сеть и управляет ею. Он формирует сеть, выполняет функции центра управления сетью и доверительного центра (trust-центра) – устанавливает политику безопасности, задает настройки в процессе присоединения устройств к сети, ведает ключами безопасности.
Маршрутизатор транслирует пакеты, осуществляет динамическую маршрутизацию, восстанавливает маршруты при перегрузках в сети или отказе какого-либо устройства. При формировании сети маршрутизаторы присоединяются к координатору или другим маршрутизаторам, и могут присоединять дочерние устройства – маршрутизаторы и конечные устройства. Маршрутизаторы работают в непрерывном режиме, имеют стационарное питание и могут обслуживать «спящие» устройства. Маршрутизатор может обслуживать до 32 спящих устройств.
Конечное устройство может принимать и отправлять пакеты, но не занимается их трансляцией и маршрутизацией. Конечные устройства могут подключаться к координатору или маршрутизатору, но не могут иметь дочерних устройств.
Конечные устройства могут переводиться в спящий режим для экономии заряда аккумуляторов. Именно конечные устройства имеют дело с датчиками, локальными контроллерами и исполнительными механизмами.
Формирование сети
Сеть ZigBee – самоорганизующаяся, и ее работа начинается с формирования. Устройство, назначенное при проектировании координатором персональной сети (PAN координатор), определяет канал, свободный от помех, и ожидает запросов на подключение.
Устройства, пытающиеся присоединиться к сети, рассылают широковещательный запрос. Пока PAN координатор – единственное устройство в сети, отвечает на запрос и предоставляет присоединение к сети только он. В дальнейшем присоединение к сети могут предоставлять также присоединившиеся к сети маршрутизаторы.
Устройство, получившее ответ на широковещательный запрос, обменивается с присоединяющим устройством сообщениями, чтобы определить возможность присоединения. Возможность определяется способностью присоединяющего маршрутизатора обслужить новые устройства в дополнение к ранее подключенным.
Вступление в сеть (присоединение)
Существует два способа присоединения: МАС ассоциация и повторное сетевое присоединение (NWK rejoin).
МАС ассоциация
МАС ассоциация доступна любому устройству ZigBee и осуществляется на МАС уровне. Механизм МАС ассоциации следующий:
Устройство, позволяющее присоединиться к нему, выставляет на МАС уровне разрешение на присоединение.
Устройство, вступающее в сеть, выставляет на МАС уровне запрос на присоединение и передает широковещательный запрос маячка.
Получив маячок от устройств, готовых подключить присоединяемое устройство, последнее определяет, в какую сеть и к какому устройству оно желает присоединиться, и выставляет на МАС уровне требование о вступлении с флажком «повторное присоединение» в значении FALSE.
Затем вступающее устройство направляет на выбранное для присоединения устройство запрос присоединения и получает ответ с присвоенным ему сетевым адресом.
При МАС ассоциации данные передаются не зашифрованными, поэтому МАС ассоциация не является безопасной.
Повторное сетевое присоединение Повторное сетевое присоединение вопреки названию может применяться и при первичном присоединении. Оно выполняется на сетевом уровне. При этом, если вступающее устройство знает текущий сетевой ключ, обмен пакетами может быть безопасным. Ключ может быть получен, например, при настройке.
При повторном подключении присоединяющееся устройство выставляет на сетевом уровне запрос присоединения и обменивается с подключающим устройством пакетами «запрос присоединения» – «ответ на запрос присоединения».
Динамика сети
Кроме случаев присоединения новых устройств структура сети меняется и в случаях, когда устройства покидают сеть и повторно присоединяться в других местах (это происходит, например, в случае перезагрузки устройства).
На рисунке ниже – пример переподключения. Устройство с адресом «0E3B» переподключается как «097D», а затем как «0260». Каждый раз оно присоединяется к другому маршрутизатору и получает адрес из имеющегося в распоряжении присоединяющего маршрутизатора диапазона адресов.
Переподключение конечного устройства в древовидной сети
Сетевые протоколы
Протоколы, регламентированные стандартами IEEE 802.15.4 и ZigBee 2007 Specification, обеспечивают формирование и функционирование беспроводной сенсорной сети.
Стандарт IEEE 802.15.4 определяет физический и MAC уровни, а спецификация ZigBee определяет сетевой уровень и уровень приложений. На рисунке показан стек протоколов ZigBee.
Стек протоколов ZigBee
Прошу извинить, но на этом месте я в связи с поздним временем вынужден прерваться. Описание стека протоколов можно посмотреть здесь: http://www.rtlsnet.ru/technology/view/3.
Если хабравчане выкажут заинтересованность темой, обязуюсь описать профиль стека, варианты топологии сети, алгоритмы маршрутизации, профили приложений, кластеры, конечные точки, привязки, а также обеспечение безопасности. То есть рассказать, как, собственно, формируется топология, строятся и восстанавливаются маршруты, как подключаются и программируются стандартным образом внешние устройства – датчики, контроллеры, исполнительные механизмы.
Zigbee 101: руководство для начинающих
Что такое Zigbee?
Zigbee — технология, которая основана на радио стандарте IEEE 802.15.4 и предназначена для стандартизации маломощных M2M устройств разных производителей. Из особенностей сети можно выделить высокую отказоустойчивость, длительный срок службы конечных устройств от одной батареи, поддержку большого количества подключений и совместную работу устройств разных производителей.
Из особенностей архитектуры сети: поддержка топологии mesh, обязательное наличие координатора и, необязательное, роутера. Больше об архитектуре сети здесь.
ZigBee предусматривает передачу информации в радиусе от 5 до 75 (на открытой местности до 200) метров с максимальной скоростью 250 кбит/с. Поддерживает работу в 27 каналах трех частотных диапазонов:
2,4 ГГц (16 каналов)
915 МГц (10 каналов)
868 МГц (1 канал)
Занимательный факт:
Согласно одной из версий, название ZigBee происходит от зигзагообразного танца пчел, которым они указывают своим соседям путь к следующему источнику пищи, аналогично, как и пакеты данных стандарта должны найти свой путь в mesh сети.
Что нового в Zigbee 3.0
Direct binding, или прямое соединение позволяет конечным устройствам разных производителей работать напрямую без участия координатора и роутера. Это позволяет гибко настраивать сценарии поведения устройств и увеличить скорость срабатывания.
Green Power — набор технологий, которые минимизируют использование ресурсов батареи устройством, а также могут ее собирать за счет кинетической, световой, и тепловой энергии. Немного непонятно звучит; говоря иначе, переключатель сможет передать сообщение за счет того, что вы к нему прикоснулись. Детальнее тут
Унификация. Раньше существовало множество так называемых профилей. Например, Home Automation, Building Automation, Health. Zigbee 3.0 — это единый профиль приложений.
Обратная совместимость со всеми продуктами выпущенными до v3.0
Зачем это нужно?
Если кратко — для измерения показаний и автоматизации. Сфер применения этой автоматизации много. И хотя в последнее время прослеживается тенденция унификации, технология поддерживает различные профили, которые делятся по сфере применения. Вот некоторые из них.
Home Automation — управление домашними устройствами и создание сценариев.
Remote Control — управление устройствами дистанционного управления.
Smart Energy — контроль и автоматизация доставки и использования энергии.
Green Power — поддержка устройств генерации электроэнергии.
Light Link — управление освещением.
Health Care — управление устройств медицинского и около медицинского (браслеты измерения показаний, кнопки “sos”) назначения.
Много ли устройств Zigbee?
Приблизительно 2600 устройств (список сертифицированных устройств). Стоит уточнить, что в большинстве случаев каждый производитель имеет свое приложения для подключения только своих устройств, но, используя стороннее программное обеспечение, их можно подружить. Об этом ниже.
Средняя цена одного конечного устройства варьируется в районе 10$.
Вот пример конечных устройств нескольких популярных производителей:
Xiaomi Aqara — около 50 устройств разного назначения.
Philips Hue — около 100 устройств, (большинство светильники),
Ikea trådfri — около 40 устройств (большинство светильники),
Tuya — около 30 устройств,
SONOFF — около 10 недорогих реле.
Zigbee USB устройства (стики)
Для чего нужны Zigbee стики?
Если вы используете стороннее решение, стик удобно использовать как координатор сети, подключив к компьютеру как роутер, чтобы достичь отдаленных от координатора мест.
Вот пример нескольких популярных устройств:
cc2530/2531 — дешевый и популярный стик. Неплохой выбор для начинающих. Из минусов: небольшой радиус покрытия (10-15 м без антенны) и ограничения по количеству подключаемых устройств.
cc2538 стик разработанный энтузиастами проекта modkam.ru. По сравнению с 2531, обладает большим радиусом действия и не имеет ограничений по количеству подключений (тесты показали больше 200 устройств).
deCONZ Conbee стик также поддерживает большое количество систем умного дома. Из минусов родной прошивки — иногда отваливаются конечные устройства.
Sprut.stick (в бета тестировании) координатор от проекта Sprut.AI на основе модулей EFR32MG12 или MGM12P32F1024. Обладает отличными характеристиками мощности, поддерживает большое количество устройств, также постепенно добавляются новые. Детальнее 1 2 3
Также примеры менее популярных:
nRF52840 Dongle — универсальный стик с поддержкой Bluetooth 5, Bluetooth mesh, Thread, ZigBee, 802.15.4 и ANT и удобной средой разработки.
Zigbee шлюзы
Готовые решения
Xiaomi/Aquara три самых популярных устройства — Xiaomi Gateway 2 и 3 версии и Aqara Hub. Gateway 2 не совместим с homekit и имеет 3 версию протокола Zigbee. Третья версия имеет на борту Zigbee 3.0 и Bluetooth Mesh 5.0. С дополнительными различиями поможет разобраться краткий ролик.
Менее популярные zigbee концентраторы просто перечислю
Orvibo
livolo
Wemo
Vera
Fibaro
Zigbee+ Zvawe
Athom Homey
Hubitat Elevation
Wink hub 2
SmartThings Hub
VeraPlus
DIY, или сделай сам
SLS шлюз — Устройство на основе СС2538+СС2592 и ESP32-Wrover-B, а также прошивка. Поддерживает Zigbee 3.0 и в отличие от Xiaomi он не ограничен одной экосистемой. А в отличие от стиков CC2531, CC2538 и Deconz — он является готовым устройством и может работать как самостоятельно, так и в системе домашней автоматизации Home Assistant. На данный момент поддерживается 113 устройств. Видео обзор
ZESP32 — это прошивка для шлюза Xiaomi Gateway. Точно так же как и SLS он рассчитан на подключение Zigbee устройств разных производителей. Основная концепция — упрощение добавления нового устройства в сеть при помощи изменяемых шаблонов.
cc25хх + компьютер удобный вариант если у вас уже имеется raspberry pi, или старенький пк, который будет выступать в роли сервера. В этом случае вы можете выбрать любую удобную систему домашней автоматизации, о которых ниже.
Что по экосистемам?
Apple home — программное решение от Apple. Количество поддерживаемых устройств невелико, но функционал можно расширить с помощью homebridge и aqara hub. Вы можете использовать Apple home в домашней сети используя только Iphone и хаб (Zigbee), но для удаленного управления нужен домашний центр в роли которого могут выступать iPad (iOS 10 или выше), HomePod, или Apple TV.
Google home — также не работает с Zigbee устройствами напрямую, но имеет совместимость с Alexa.
Amazon ассистенты Echo Show, Spot и Plus умеют работать напрямую поскольку имеют встроенный zigbee координатор. Тем не менее проблемой является ограниченное количество совместимых устройств и непопулярность решения в странах СНГ.
Xiaomi/Aqara — шлюзы компаний Xiaomi и Aqara поддерживают только свои zigbee устройства. В отличие от Xiaomi Gateway у Aqara Hub не предусмотрена возможность интеграции с альтернативными системами домашней автоматизации.
Samsung SmartThings позиционируется как универсальный хаб. Работает с большим количеством устройств Z-Wave и Zigbee. Пользователи часто жалуются на падение облака (отсутствие подключения к серверу) и отсутствие интереса в развитии проекта со стороны разработчиков.
Яндекс дом. Диалоги Яндекс Станции и для телефона это разные вещи. Для колонки диалогов меньше, они примитивные. Заявлена поддержка ZigBee и Bluetooth устройств, но не работает с ними напрямую. Многие сценарии зависят от наличия интернет соединения, но решением может быть подключение сторонних контроллеров умного дома, например с помощью yandex2mqtt.
Как там с программной поддержкой?
Для удобства разделю программные решения на категории.
Домашняя автоматизация
Homebridge сервер NodeJS, для интеграции устройств без поддержки HomeKit.
ioBroker открытая система автоматизации, разработанная на платформе NodeJS
HomeAssistant система с открытым кодом с акцентом на конфиденциальность.
OpenHAB opensource проект с акцентом на удобство настройки
MajorDoMo система интеграции с открытым кодом.
Dashboard
RoboDomo фреймворк, на MQTT с привлекательным графическим интерфейсом.
node-red-dashboard модуль node-red для создания панели управления, интегрируется в
Интеграция
Zigbee2mqtt это программа-мост, что позволяет использовать вместе устройства разных поставщиков, транслируя команды zigbee в mqtt.
MQTT Explorer удобный mqtt клиент
Разработка
IAR Embedded Workbench среда с дружественным интерфейсом и поддержкой большого количества микроконтроллеров
Simplicity Studio IDE и набор инструментов для разработки приложений на базе процессоров Silicon Labs
SimpleLink SDK среда разработки для чипов разработки Texas Instruments, включающий API, TI-RTOS и прочее.
Red-node блочный инструмент программирования для соединения аппаратных устройств, API и онлайн-сервисов.
Тестирование и аудит
KillerBee — инструмент для тестирования Zigbee сетей.
SecBee — тестирование реализаций ZigBee на проблемы безопасности.
Z3sec — основная цель фреймворка тестирование сертифицированных устройств, реализующие ZigBee Light Link (ZLL), или стандарт ZigBee 3.0.
pwnrf — инструмент для тестирования безопасности в сетях Wi-Fi, Bluetooth и Zigbee.
Что выбрать: Wi-Fi, Bluetooth, ZigBee или Z-Wave?
На рынке существуют десятки IOT технологий, но самыми популярными решениями являются Wi-Fi, Bluetooth, ZigBee и Z-Wave.
WiFi очень популярная технология, она удобна и идеальна для голосовых помощников, систем видеонаблюдения, телевизоров, или в случае если у вас небольшое количество умных устройств. Но WiFi сильно энерго затратен и если умных устройств десятки, или сотни постоянно заряжать их проблематично. К тому же WiFi роутер не рассчитан на большое количество подключений. Конечно есть решения и на такой случай, но тогда цена развертывания сети вырастет в разы. WiFi имеет единую точку отказа — роутер.
Bluetooth LE (Low Energy) не менее популярная технология с низким энергопотреблением, что позволяет более года не менять батарейку и высокой скоростью передачи 1-2 Мбит. Имеет функцию маячка (настраиваемое поведение устройств при приближении) и работает с устройствами напрямую. Из минусов работа в диапазоне 2,4 ГГц, и небольшой радиус действия в помещении с другими устройствами. Также большинство BLE устройств работают по принципу «точка-точка», что плохо подходит для создания продвинутых сценариев автоматизации. Но решением данной проблемы можно считать спецификацию Bluetooth mesh.
ZigBee открытый стандарт с низким энергопотреблением конечных устройств (1-2 года), поддержкой ячеистой (mesh) топологии, высокой помехоустойчивостью, хорошей масштабируемостью (в теории до 65000 узлов) и большим проникновением на рынок. Из минусов: Zigbee работает в загружённом диапазоне 2,4 ГГц, что при сильных помехах может привести к снижению помехоустойчивости, и уменьшению радиуса действия. Каждый производитель создает отдельное приложение для поддержки только своих продуктов. Но как по мне самый большой минус это то, что устройства разных производителей не могут “общаться» между собой “из коробки”. Их можно объединить при использовании стороннего ПО, но отсутствие общих решений приводит к относительно высокому порогу вхождения. Альянс знает об этих проблемах и для устранения работает над DotDot и Connected Home over IP.
Z-Wave — зарекомендовавший себя закрытый стандарт. Обладает высоким уровнем совместимости устройств, низким энергопотреблением, поддержкой ячеистой топологии, имеет стабильный сигнал в диапазоне 800–900 МГц, что позволяет лучше огибать препятствия (чем больше длина волны (ниже частота), тем лучше она преодолевает препятствия). Поддерживает до 232 устройств в одной сети и скорость до 100 кбит/с. Из недостатков стоит указать, что в разных странах для устройств малого радиуса действия выделены разные частоты. И устройства созданные для одной страны могут быть несовместимы для другой. Также Z-Wave несколько дороже ZigBee устройств.
С чего начать, если вы новичок?
Если вы пытаетесь выбрать на чем построить свой умный дом начните с этой занимательной схемы. Также лично для меня вдохновляющими была статья Дом Дурачок 2.0
Если у вас возникают трудности в настройке своего умного дома, вы можете попросить совета в группе SmartHome
Если вы хотите купить SLS шлюз и другие Zigbee устройства вам в Zigberu
Обсуждение устройств, прошивок и прочего софта, работающего с Zigbee — Вокруг да около Zigbee и
Zigbee
Вместо заключения
Тяжело сказать кто победит в войне протоколов умного дома. Zigbee не лишен недостатков, имеет сильных конкурентов, но вместе с тем его сильная сторона это большое заинтересованное сообщество (Zigbee Альянс, энтузиастов и гиков). Интерес к Zigbee проявляют как именитые бренды, так и молодые компании.
Стоит отметить, что не существует универсального решения на все случаи жизни. Выбирайте, то что подходит именно вам, именно в вашем случае. WiFi и Bluetooth хотя и громоздки, но есть случаи, когда их использование оправдано.