ОСОБЕННОСТИ НОВОЙ СПЕЦИФИКАЦИИ ZigBee PRO FEATURE SET


PDF версия

Беспроводные системы сбора данных, использующие технологию ZigBee, начали вводиться в эксплуатацию около двух лет назад. Первый опыт реального применения, с одной стороны, подтвердил жизнеспособность новой технологии, а с другой, - показал пути дальнейшего совершенствования. В течение прошлого года члены альянса ZigBee были сосредоточены на поиске решений двух основных задач: добиться совместимости устройств ZigBee различных производителей и обеспечить возможность создания беспроводных сетей больших размеров. Результатом усилий большого количества компаний стала новая спецификация ZigBee Pro Feature Set, принятая альянсом ZigBee в октябре 2007 г.

Совместимость устройств различных производителей

Напомним, что технология ZigBee позволяет создавать самоорганизующиеся и самовосстанавливающиеся беспроводные сети с автоматической ретрансляцией сообщений для систем сбора данных и управления. Сети ZigBee при относительно небольших скоростях передачи данных (десятки Кбит/с) обеспечивают гарантированную доставку пакетов, защиту передаваемой информации, возможность использования батарейных и мобильных узлов.
Одна из основных идей разработки стандарта ZigBee состояла в том, чтобы обеспечить возможность совместной работы в одной беспроводной сети устройств различных производителей. В спецификации ZigBee 2006 г. были описаны протоколы уровня поддержки приложений, канального и сетевого уровней. Совместимость на уровне протоколов позволяла устройствам различных производителей работать в одной сети и обмениваться между собой сообщениями. Однако этого было еще недостаточно для обеспечения совместимости на уровне приложения.
Конечным пользователям хотелось бы, например, иметь один пульт дистанционного управления и для телевизора Panasonic и для музыкального центра SONY, а в случае покупки беспроводного звонка имелась бы возможность докупить пару дополнительных кнопок от другого производителя. При реализации проекта «умный дом» удобно было бы иметь единый центр управления, к которому можно подключать разнообразные устройства домашней автоматизации различных производителей.
Очевидно, что для обеспечения совместимости на уровне приложения устройствам ZigBee требовался некий стандартный язык общения. Для реализации этой задачи была разработана библиотека ZigBee кластеров (ZCL — ZigBee Cluster Library) [1]. Этот документ вводит понятие стандартных типов устройств, стандартных команд для этих устройств, наборы стандартных атрибутов, диапазоны значений этих атрибутов, типы данных для задания значений атрибутов. Документ также определяет структуру фрейма команды ZCL и оговаривает возможность передачи, в том числе и нестандартных сообщений, таким образом, чтобы устройства, не понимающие их, могли бы просто отбросить специализированные сообщения, продолжая обмен стандартными кластерами.
Библиотека ZCL группирует кластеры по функциональному признаку: общего назначения, для работы с датчиками, для управления осветительными устройствами, вентиляцией и т.д. (см. рис. 1).

 

Рис. 1. Библиотека ZCL группирует кластеры по функциональному признаку, а профили приложения содержат кластеры из разных функциональных групп

Использование стандартных кластеров для пересылки сообщений является обязательным требованием новой специ­фикации ZigBee PRO Feature Set.
Для стандартных типов устройств разрабатываются стандартные профили приложения.
Спецификация профиля определяет параметры, необходимые для совместной работы устройств в одной сети. Это способы задания идентификационных параметров сети, режимы образования сети, режимы защиты данных. Для того, чтобы устройства одного профиля могли понимать друг друга, спецификация профиля предписывает использовать для обмена информацией определенный поднабор кластеров из библиотеки ZCL (см. рис. 1).
В октябре 2007 г. было опубликовано описание первого публичного профиля приложения Home Automation (HA) — домашняя автоматизация [2]. Данный профиль дает возможность производителям беспроводных систем домашней автоматизации во всем мире разрабатывать совместимые устройства класса «умный дом». Профиль Home Automation содержит кластеры для управления осветительным оборудованием, для обмена информацией с измерительными устройствами, для управления жалюзи и т.д.
Разрабатывая свой частный профиль приложения, необходимо также использовать кластеры из стандартной библиотеки ZCL (см. рис. 1).
Говоря о проблеме совместимости, следует отметить, что первые версии спецификации ZigBee позволяли разработчику выбрать топологию дерево или мэш. Беспроводные сети с разными топологиями конечно не могли быть совместимыми. В настоящее время стало ясно, что топология дерево имеет целый ряд недостатков: не обеспечивает установление эффективных маршрутов для передачи сообщений; не может существовать в случае отказа координатора и позволяет создавать только небольшие сети. Новая спецификация ZigBee Pro Feature Set предписывает использовать только сети с топологией мэш. Отказ от топологии дерево — важный шаг к достижению совместимости устройств различных производителей.

 

Сети с большим количеством узлов

Для создания больших сетей новая спецификация ZigBee Pro Feature Set ввела новые механизмы маршрутизации сообщений Many-to-One и Source Routing, стохастическую адресацию узлов и механизм выявления ненадежных асимметричных связей в сети.
Механизм маршрутизации Source Routing предполагает, что маршруты в сети хранятся на узлах-источниках (для сравнения — в топологии дерево все маршруты хранил координатор, в мэш-сети ранее предполагалось, что каждый узел хранит информацию о том, в каком маршруте он участвует). Поскольку в сети ZigBee все сообщения обязательно сопровождаются ответным пакетом подтверждения доставки, то даже для односторонней передачи данных необходимо, чтобы в момент обмена данными оба узла (как источник, так и приемник) имели информацию о маршруте, связывающем их. Поэтому передача сообщения состоит из двух этапов. Сначала узел-источник посылает узлу-приемнику информацию о маршруте (пакет Route Record) и не ждет подтверждения о приеме, а затем уже посылает собственно пакет данных. Если узел-источник не получает подтверждения доставки пакета данных, то считает, что маршрут нарушен и начинает процесс поиска нового маршрута. Узел-приемник, в зависимости от соотношения количества своих источников и объема свободной оперативной памяти, может постоянно хранить в памяти информацию о всех своих источниках (тогда источники могут не посылать служебный пакет с информацией о маршруте) или помнить только ограниченное количество маршрутов в течение заданного времени после обмена данными.
Такой механизм позволяет создавать сети сбора данных, в которых множество удаленных устройств передают информацию на один центральный узел. Ранее, когда узлы должны были хранить в памяти информацию о всех маршрутах, в которых они принимают участие, не удавалось создавать сети с большим количеством удаленных узлов, т.к. переполнялись таблицы маршрутизации центральных узлов. При этом если центральный узел сбора данных еще можно было сделать специализированным и снабдить его большим объемом оперативной памяти, то проблема все равно оставалась, т.к. переполнялись таблицы маршрутизации узлов, ближайших к цент­ральному, поскольку они тоже участвуют в большом количестве маршрутов в системе сбора данных.
Механизм Source-Routing позволяет быстро найти новый маршрут или восстановить утерянный, но при этом его недостатком для централизованных систем является чрезмерная загрузка сети. Как известно, процесс поиска маршрута состоит в том, что узел-источник генерирует широковещательное сообщение о поиске маршрута к узлу-приемнику. Это широковещательное сообщение многократно повторяется другими узлами, пока не достигнет узла-приемника всеми возможными путями. При использовании механизма Source-Routing каждый удаленный узел при поиске маршрута генерирует широковещательные запросы к центральному узлу.

 

Рис. 2. Маршрутизация Many-to-One

Механизм Many-to-One (см. рис. 2) состоит в том, что множество широковещательных рассылок от удаленных узлов к центральному заменяются на одну широковещательную рассылку от центрального узла к удаленным. В результате все удаленные узлы получают маршруты к центральному и при этом сеть загружается во много раз меньше.
Еще одним ограничением первых спецификаций ZigBee, препятствующим созданию больших сетей, был централизованный способ назначения сетевых адресов. Этот способ предполагал, что каждый маршрутизатор при подключении к сети получает группу адресов, которые он может раздавать вновь подключаемым узлам. Всем маршрутизаторам выделялось одинаковое количество адресов. Таким образом, если какой-либо маршрутизатор не имел подчиненных узлов, то выделенные ему адреса просто пропадали. Также пропадали адреса в случае, когда узлы отключались и затем вновь подключались к сети, т.к. при новом подключении им каждый раз выделялись новые адреса.
Спецификация ZigBee Pro Feature Set вводит механизм стохастической (случайной) адресации, при которой для каждого вновь присоединяемого узла адрес генерируется случайным образом и при этом автоматически проверяется, что в сети больше таких адресов не существует.
Первый опыт разработки реальных беспроводных сетей показал, что очень опасными с точки зрения надежности сети являются асимметричные связи между узлами, когда качество связи в одном направлении является хорошим, но в обратном направлении связи может не быть совсем.

 

Рис. 3. Отказ от асимметричных связей

 

Такой асимметричный маршрут на деле не может быть использован, т.к. он не дает возможности передать пакет подтверждения доставки и в результате передача сообщения считается неуспешной. Новая спецификация ZigBee Pro Feature Set предписывает при поиске маршрута отбрасывать асиммет­ричные пути и отдавать предпочтение маршрутам, у которых в обоих направлениях имеется приемлемое качество связи (см. рис. 3).

 

Новые механизмы защиты данных и смены частотного канала

Спецификация ZigBee Pro Feature Set ввела целый ряд новых механизмов, позволяющих сделать сеть ZigBee более защищенной и более надежной.
По-прежнему, поддерживается шифрование данных при помощи симметричных ключей на сетевом уровне. Но при этом разработаны новые правила, регламентирующие способы изменения, рассылки и шифрования этих ключей. Кроме того, появился механизм дополнительного шифрования на уровне приложения. Любые два узла в сети теперь могут установить между собой безопасное соединение на уровне приложения и передавать друг другу данные, которые не могут быть расшифрованы ни одним другим узлом сети, несмотря на то, что все они имеют сетевой ключ.
Для обеспечения более устойчивой работы в сложной помеховой обстановке новая спецификация ZigBee предписывает выполнять сканирование эфира и в случае необходимости автоматически уходить на другой частотный канал.
В совокупности все перечисленные здесь новые свойства ZigBee-сетей позволят создавать беспроводные сети датчиков и системы управления с количеством узлов до нескольких тысяч.


EmberZNET 3.1 — первый пакет программного обеспечения, сертифицированный на соответствие спецификации ZigBee Pro Feature Set

В настоящее время разработчикам доступен пакет программного обеспечения EmberZNET 3.1 компании Ember, который реализует стек протоколов ZigBee и сертифицирован на соответствие новой спецификации ZigBee Pro Feature Set.
Пакет EmberZNet 3.1, кроме реализации описанных выше новых механизмов, предлагает разработчикам дополнительные полезные особенности, в первую очередь касающиеся обслуживания батарейных и мобильных узлов.
В частности, механизм обслуживания «спящих» узлов в сети заключается в том, что во время «сна» дочерних устройств родительские узлы представляют их в сети и хранят в своих буферах сообщения, передаваемые по сети для спящих устройств. Для обслуживания мобильных узлов пакет EmberZNET 3.1 содержит механизм, который позволяет при перемещении узлов по сети быстро переключаться от одного родительского узла к другому.
Кроме того, Ember предлагает сегодня разработчикам генератор кода Application Builder, который позволяет при помощи простого и удобного интерфейса задать тип устройства, профиль приложения, конфигурационные параметры стека, выбрать необходимые кластеры из библиотеки ZCL и сконфигурировать приемопередатчик Ember. После задания всех параметров Application Builder генерирует каркас нового проекта, который содержит инициализирующий программный код и код, позволяющий формировать беспроводную сеть и передавать сообщения в сети. Разработчик конечного приложения по–прежнему отвечает за разработку основного алгоритма и программ, реализующих функциональные особенности приложения. Использование генератора Application Builder не только ускоряет процесс разработки, но также позволяет создавать проекты, которые могут быть быстро сертифицированы на соответствие спецификации ZigBee Pro Feature Set.

 

ETRX2 — первые ZigBee-модули, сертифицированные на соответствие спецификации ZigBee Pro Feature Set

Хорошей иллюстрацией того, что использование библиотеки EmberZNet 3.1 позволяет быстро создавать устройства, соответствующие новой спецификации ZigBee, является тот факт, что уже через два месяца после появления пакета Em­berZNET 3.1 компания Telegesis смогла сертифицировать свои ZigBee-модули ETRX2 [3] на соответствие новой спецификации. Популярный набор AT-команд компании Telegesis, разработанный на базе библиотеки EmberZNET 3.1, является удачным примером реализации специализированного профиля приложения (MSP — Manufacturer Specific Profile), использующего, тем не менее, стандартные кластеры для передачи сообщений.

 

ЛИТЕРАТУРА
1. ZigBee Cluster Library Specification, Octo­ber 19, 2007, www.zigbee.org.
2. ZigBee Home Automation Public Applica­tion Profile, October 25, 2007, www.zigbee.org.
3. Кривченко Т.И. Zigbee-модемы ETRX2 ком­пании Telegesis: Что нового//Беспровод­ные технологии, 2007, №2.

Оставьте отзыв

Ваш емейл адрес не будет опубликован. Обязательные поля отмечены *