Как стать автором
Обновить

Сети ZigBee. Зачем и почему?

Время на прочтение7 мин
Количество просмотров199K

Чего «репу» чешешь?
На золотую рыбку другая сеть нужна!


Собственно, я собирался продолжить серию топиков, посвященных работе 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.

Если хабравчане выкажут заинтересованность темой, обязуюсь описать профиль стека, варианты топологии сети, алгоритмы маршрутизации, профили приложений, кластеры, конечные точки, привязки, а также обеспечение безопасности. То есть рассказать, как, собственно, формируется топология, строятся и восстанавливаются маршруты, как подключаются и программируются стандартным образом внешние устройства – датчики, контроллеры, исполнительные механизмы.
Теги:
Хабы:
Всего голосов 47: ↑43 и ↓4+39
Комментарии32

Публикации

Истории

Ближайшие события

15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань