Технический писатель, переводчик
0,0
рейтинг
17 октября 2012 в 01:00

Администрирование → Сети 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.

Если хабравчане выкажут заинтересованность темой, обязуюсь описать профиль стека, варианты топологии сети, алгоритмы маршрутизации, профили приложений, кластеры, конечные точки, привязки, а также обеспечение безопасности. То есть рассказать, как, собственно, формируется топология, строятся и восстанавливаются маршруты, как подключаются и программируются стандартным образом внешние устройства – датчики, контроллеры, исполнительные механизмы.
Вольдемар Лекнин @Vlek
карма
32,0
рейтинг 0,0
Технический писатель, переводчик
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Администрирование

Комментарии (32)

  • +6
    Хочу продолжения!
    И еще, пока читал статью вё время хотел увидеть как-же такое устройство выглядит. Или устройства ) Короче фотки в студию )
    • 0
      Вот например, как в нашей конторе это используют:
      image
      www.energomera.ru/products/askue/zigbee-modem
      • +1
        Что-то у него размер большой. Это из-за RS разъемов? Сама плата с контроллером и RF могут быть значительно меньше.
        • 0
          Да, конечно RS дают о себе знать.
        • 0
          Там на плате внутри можно на велосипеде свободно кататься.
          Сам модуль ZigBee занимает не больше 10% этого пространства. Все остальное место занимают компоненты для питания и преобразователи уровня логики, которых тоже не особо много.
    • 0
      Вот модуль Zigbee из конструктора Libelium Waspmote:
      image

      Чуть больше, чем wi-fi:
      image
    • 0
      Вот эта штука (gps-навигатор) имеет аппаратную поддержку mesh-сетей.
      Только аппаратную, потому что у производителя возникли какие-то проблемы с сертификацией, и в итоге была оставлена только возможность прямого соединения со спутниковым трансивером SPOT.
      А так — были планы на то, чтобы в группе, оснащенной такими устройствами, можно было обмениваться своими координатами и т.п.
  • 0
    А где в этом замечательном стеке переход от проприентарной экзотики в нормальный IP?
    • 0
      А зачем этот переход нужен? Для IP есть Wi-Fi.
    • 0
      Вам подойдет 6LoWPAN
    • +1
      Перехода на IP в ZigBee не будет, так как в IP нет функций по восстановлению сети и поиску устройств, а также понятий дочерние и родительские узлы, ну и еще много чего. Но в альянсе ZigBee идет разработка по передачи ZigBee поверх IP протокола. Это нужно в том случае, если вы хотите передать данные из одной сенсорной сети в другую, между которыми находится Internet.
    • 0
    • 0
      В эом стеке IP не может быть по определению.
      Это стек ZigBee, а у TCP/IP — свой стек протоколов (вспомните иерархическую модель).
      В одном устройстве могут быть несколько различных интерфейсов для связи с внешним миром.
      А внутри обмен данными управляется через уровень приложений (API) каждого из интерфейсов.

      Например в системе позиционирования:
      — метки (http://www.rtlsnet.ru/products/product/2) имеют единственный интерфейс для измерения расстояний — CSS,
      — анкеры, до которых метки измеряют расстояние (http://www.rtlsnet.ru/products/product/3) имеют два интерфейса — тот же CSS и ZigBee, чтобы транслировать полученную информацию через образованную анкерами сеть,
      — а шлюзы (http://www.rtlsnet.ru/products/product/4), которые являются теми же анкерами, но выполняют еще и функции связи ZigBee зоны с IP сетью, имеют для этого IP интерфейс.
  • 0
    Как раз думаю над использованием ZigBee.
    Вроде хорошая штука.
    • 0
      Хочу предостеречь от слепого использования ZigBee. Дело в том, что многие сценарии легко покрываются самим IEEE 802.15.4 и зигбии в них избыточен. ZigBee же нужен, если у вас большая сеть в которой невозможно обеспечить прямую связь всех узлов с координатором.
      • 0
        А вроде же адаптеров отдельно под этот стандарт нет, а только вместе с ZigBee?
        В данном случае оверхед не очень заботит меня, ибо 50 кбит/сек более чем достаточно.
        Хотя действительно схема планируется простая — звезда с одним координатором в центре.
        • 0
          Еще как есть. Некоторые производители RF в комплекте дают библиотеку MAC. Можно у Atmel посмотреть.
          Оверхед не в килобитах, а в размере софта (в разы) и сложности реализации приложения.
  • 0
    Интересно! Жду продолжения и, как было написано выше, больше информации об устройствах: что могут, сколько стоят, как обрабатывать данные.
  • 0
    А в случае использования для связи двух микроконтроллеров, связываются 2 «конечных устройства» на прямую? А в случае 3х?
    • 0
      У координатора и роутера есть ограничение по количеству дочерних узлов, пока оно не превышено все конечные устройства могут подключаться. Т.е. у роутера может быть хоть 10 непосредственных дочерних устройств.
      • 0
        Вы не правильно поняли мой вопрос…
        У меня есть 2 микроконтроллера, которые я хотел бы подключить через это протокол. Достаточно ли мне иметь 2 модуля «конечных устройств» для связи. То есть, можно обойтись без контроллеров и маршрутизаторов?
        • 0
          Нельзя. В сети всегда должен быть один координатор/концентратор, который имеет адрес 0. К нему подключаются все остальные.
  • 0
    А чем Z-Wave не понравился? Никаких преимуществ, кроме открытого протокола, у ZigBee над Z-Wave нет.
    • 0
      Сейчас выбираю беспроводной протокол передачи данных для автоматизации дома. Пришлось остановиться на ZigBee из-за его открытости. Z-wave хорош только тем, что альянс задает единые команды, из-за чего все устройства совместимы друг с другом. Это здорово, но возникла проблема в доступности документации. Я не могу посмотреть возможности Z-Wave модулей, поэтому я не знаю смогу ли реализовать при помощи них то что хочу. Чтобы получить доступ к документации я должен в начале приобрести developer's kit. Лично меня Z-wave оттолкнул именно этим.
      Подскажите, какие преимущества Z-Wave перед ZigBee?
  • 0
    Вот еще, может стоит дать как ссылку: habrahabr.ru/post/154467/
  • 0
    У вас хороший опыт практической реализации? Стоит задача перекинуть проект с SimpliciTI на Z-Stack. Возникают вопросы:
    1. Сколько памяти занимает код для конечного устройства и маршрутизатиора (контроллер — MSP430, RF модуль отдельно)? Насколько его можно оптимизировать? Стоит задача запихнуть в 8кб.
    2. Что нужно знать с юридической точки зрения? Какие необходимо проходить сертификации и прочее?
    • 0
      На сколько я знаю Z-Stack лицензируется автоматически, если вы покупаете определенные чипы TI. Вот тут инфа есть www.ti.com/tool/z-stack.

      Z-Stack оптимизировать не получится, там библиотека, не уверен, что сами исходника дадут. В 8К FLASH точно не влезет ни конечное устройство ни роутер.
  • 0
    Подскажите, насколько сложным будет организация беспроводного «удлинителя» для 1-wire? Теоретически, не нужны ни маршрутизация, ни прочие особенности — но нужны ли устройства, выступающие в роли преобразователя интерфейсов, или можно организовать прямое взаимодействие?
  • 0
    «Цель альянса – разработка эффективных протоколов беспроводной сети и обеспечение совместимости устройств разных производителей.»
    Как они обеспечивают совместимость устройств?

    Как организовывается mesh сеть? Могут ли маршрутизаторы работать с датчиками?
    • 0
      > Могут ли маршрутизаторы работать с датчиками?
      Да, могут. В этом плане основная разница между маршрутизатором и конечной точкой в том, что конечная точка может засыпать и тем самым экономить энергию.
      • 0
        Этот модуль поддерживает режим сна для маршрутизатора.
        • 0
          Прошу прощения, ошибся. Это уже не ZigBee.

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