2009
№3
Реализация стандартного профиля ZigBee Home Automation на базе платформы Ember. Часть 1
Одна из основных задач разработки спецификации ZigBee PRO — обеспечить возможность совместной работы устройств различных производителей в одной беспроводной сети. Для реализации этой идеи альянс ZigBee разрабатывает стандартные профили приложения, которые регламентируют правила взаимо- действия беспроводных устройств. Первым опубликованным профилем приложения стал Home Automation, пред- назначенный для организации систем домашней автоматизации [1]. В течение прошедшего года более десятка компаний сертифицировали свои устройства на соответствие этому профилю. В данной статье описаны возможности платформы Ember и программы Application Builder для разработки устройств стандартного ZigBee-профиля Home Automation.
Кластеры и профили ZigBee
Спецификация профиля определяет набор стандартных устройств и все параметры, необходимые для их совместной работы на разных уровнях взаимодействия. На уровне стека протоколов ZigBee регламентируются, например, такие характеристики, как способы задания идентификационных параметров сети, режимы образования сети, режимы защиты данных. Совместимость на уровне стека позволяет устройствам работать в одной сети и обмениваться между собой сообщениями. Однако этого недостаточно для того, чтобы эти устройства понимали друг друга на уровне приложения. Для обеспечения совместимости на уровне приложения требуется некий стандартный язык общения между беспроводными устройствами одного и того же назначения. Для реализации этой задачи была разработана библиотека ZigBee-кластеров (ZCL-ZigBee Cluster Library)[2]. Этот документ вводит понятие стандартных типов устройств, стандартных команд для этих устройств, специфицирует наборы стандартных атрибутов, диапазоны значений этих атрибутов и типы данных для задания значений атрибутов. Набор связанных атрибутов и команд, определяющих свойства объекта и методы работы с ним, получил название кластер. Например, для стандартного устройства «лампочка» определен кластер «включить/выключить»(On/Off), содержащий следующие атрибуты и команды:
- стандартный атрибут — состояние (горит/не горит);
- стандартные команды — включить, выключить, изменить состояние на противоположное.

Одно и то же устройство может содержать клиентские части одних кластеров и серверные части других. Например, выключатель в нашем примере может дополнительно содержать серверную часть кластера “On/Off switch configuration” (конфигурация выключателя), при помощи которого он будет получать информацию о режимах своей работы от конфигурирующего устройства (рис. 2).
Большинство кластеров поддерживают механизм передачи отчетов. Отчеты — это сообщения, регулярно передаваемые одним из устройств в сети на узел сбора данных, которые несут в себе информацию о текущем значении какого-либо атрибута одного из кластеров этого устройства. Отчеты отсылаются через определенные интервалы времени или после изменения значения какого-либо атрибута.

Профиль Home Automation
Профиль Home Automation специфицирует стандартные типы устройств домашней автоматизации и стандартные типы сообщений, определяющие протокол взаимодействия между ними. Он регламентирует работу таких механизмов, как устройства управления осветительным оборудованием, системами кондиционирования, отопления, вентиляции и т. д., а также предусматривает возможность взаимодействия с другими стандартными ZigBee-профилями. Так, взаимодействие с профилем Smart Energy позволяет обеспечить беспроводную связь между устройствами домашней автоматизации и измерительной аппаратурой инфраструктуры коммунальной службы, занимающейся учетом потребления воды, газа, электрической энергии. Списки некоторых кластеров и стандартных устройств, используемых в профиле Home Automation, представлены соответственно в таблицах 1 и 2.
Каждое устройство подробно описано в спецификации профиля. В описании имеется перечень обязательно и опционально поддерживаемых кластеров, а также перечень функциональных особенностей устройства.
ZigBee-узел способен выполнять функции нескольких стандартных устройств. Например, на одном узле беспроводной сети могут быть реализованы «датчик освещенности» и «переключатель света». В этом случае считается, что приложение узла имеет две конечные точки. Данные, полученные ZigBee-узлом, адресуются одному или другому устройству в зависимости от указанного адреса конечной точки.
Т а б л и ц а 1 . Кластеры профиля Home Automation
| Кластеры общего назначения | |
| Basic | Базовый |
| Power configuration | Настройка параметров питания/мощности |
| Device Temperature Configuration | Температура устройства |
| Identify | Идентификация |
| Groups | Групповые настройки |
| Scenes | Сценарий |
| On/Off | Вкл./выкл. |
| On/off switch configuration | Настройка состояний вкл./выкл. |
| Level control | Управление уровнем |
| Alarms | Тревога |
| Time | Время |
| Освещение | |
| Color control | Управление цветом |
| Жалюзи | |
| Shade Configuration | Настройка параметров жалюзи |
| Отопление, вентиляция, кондиционирование | |
| Pump Configuration and Control | Настройка и управление насосами |
| Thermostat | Термостат |
| Fan Control | Управление вентилятором |
| Thermostat User Interface Configuration | Интерфейс пользователя для настройки термостата |
Т а б л и ц а 2 . Стандартные устройства профиля Home Automation
| Устройства общего назначения | |
| On/Off Switch | Переключатель |
| Level Control Switch | Включатель с регулировкой уровня |
| On/Off Output | Исполнительное реле |
| Level Controllable Output | Исполнительное устройство с регулировкой уровня |
| Scene Selector | Устройство управления сценариями |
| Configuration Tool | Инструмент настройки |
| Remote Control | Пульт управления |
| Combined Interface | Устройство комбинированное интерфейсное |
| Range Extender | Расширитель зоны охвата |
| Mains Power Outlet | Сетевая розетка |
| Освещение | |
| On/Off Lig | Лампочка вкл./выкл. |
| Dimmable Light | Лампочка-диммер |
| Color Dimmable Light | Цветная лампочка-диммер |
| On/Off Light Switch | Переключатель |
| Dimmer Switch | Переключатель-диммер |
| Color Dimmer Switch | Переключатель-«диммер» с регулировкой цвета |
| Light Sensor | Датчик освещенности |
| Occupancy Sensor | Датчик присутствия |
| Жалюзи | |
| Shade | Жалюзи |
| Shade Controller | Устройство управления жалюзи |
Программные средства компании Ember для разработки приложений, поддерживающих стандартные профили ZigBee
Компания Ember к своим приемопередатчикам предлагает набор программных средств для разработки устройств, реализующих стандартные профили ZigBee. Процесс разработки с использованием этого набора для системы на кристалле EM250 показан на рис. 3. Набор включает в себя следующие компоненты:
- Стек EmberZNet — встраиваемая библиотека EmberZNet, реализующая все уровни стека ZigBee PRO.
- Каркас приложений — исходные коды демонстрационных проектов, входящие в состав пакета EmberZNet, которые содержат реализацию всех стандартных устройств и кластеров профиля Home Automation. Существует механизм отключения-подключения необходимых кластеров при помощи директив препроцессора. Пакет EmberZNet содержит семь готовых проектов с соответствующими настройками конфигурационных файлов для устройств следующих типов: термостат, температурный сенсор, лампочка-диммер и переключатель лампочки-диммера, электрическая розетка, нагреватель/охладитель, пульт управления.
- Application Builder — программа-генератор конфигурационных файлов [3]. Эта программа, используя каркас приложений, определяет, какие порции исходных кодов будут входить в проект для реализации требуемых стандартных операций, а какие нет. Результатом работы программы Application Builder являются конфигурационные заголовочные файлы и файлы проекта для соответствующего компилятора, в зависимости от используемой аппаратной платформы.
- xIDE for EM250 — интегрированная отладочная среда (IDE) для кристалла EM250, которая содержит менеджер проекта, редактор текста, ассемблер, компилятор, линковщик и отладчик.
- Использовать примеры готовых проектов и модифицировать их в среде xIDE.
- С помощью программы Application Builder задать конфигурацию нового устройства и cгенерировать новый проект для xIDE.


Остановимся более подробно на втором варианте. Основное окно программы Application Builder (рис. 4) содержит 3 вкладки: ZCL cluster configuration, Stack configuration и HAL configuration. Вкладка ZCL cluster configuration позволяет производить настройки уровня приложения (тип ZigBee-устройства, кластеры, атрибуты). Во вкладке Stack configuration задается конфигурация стека (параметры, определяющие политику безопасности устройства, настройки радиоинтерфейса физического уровня, установки конечной точки, временные интервалы энерго сберегающих режимов для спящих устройств). Вкладка HAL configuration определяет настройки уровня аппаратной абстракции стека EmberZNet (выбор микросхемы приемопередатчика, для которой разрабатывается проект, конфигурирование входов и выходов, режим работы последовательного порта, выбор набора команд интерфейса командной строки).
Текущая конфигурация и настройки могут быть сохранены в конфигурационном файле с расширением .isc. Т.е. при желании их можно загрузить в Application Builder и вновь использовать. После того как все конфигурационные параметры определены, посредством нажатия кнопки Generate генерируются два заголовочных файла с расширением .h и два файла проекта для среды разработки xIDE с расширениями .xip и xiw. Итоговый проект реализует все основные операции в сети ZigBee PRO, такие как образование сети, присоединение к сети, ретрансляция данных и прочее. Он также выполняет все операции, связанные с функционированием ZigBee-кластеров: формирование, обработка стандартных ZCL-команд, запись, изменение и чтение атрибутов, отправка и прием отчетов.
Кроме того, проект содержит интерфейс командной строки, позволяющий управлять устройством через последовательный порт. С помощью этого интерфейса пользователь может сформировать и отправить любую стандартную ZCL-команду. Это позволяет изучать ZCL-команды путем ввода их через последовательный интерфейс, наблюдая, что при этом происходит.
Дальнейшая разработка проекта сводится к добавлению пользовательского кода, относящегося непосредственно к разрабатываемому приложению, в среде xIDE for EM250, в том числе кода, интерпретирующего значения атрибутов кластеров в соответствии с функциональными особенностями разрабатываемого устройства.
Итак, процесс разработки приложений, реализующих стандартный профиль ZigBee, состоит из следующих шагов:
- задание конфигурации (при помощи Application Builder);
- генерация заголовочных фалов (при помощи Application Builder);
- добавление пользовательского кода в среде xIDE for EM250;
- компиляция исходных кодов со встраиваемой библиотекой EmberZNet.
Заключение
Устройства, разработанные описанным выше способом, могут быть использованы совместно с устройствами других производителей, поддерживающих профиль Home Automation. Однако право использовать логотип ZigBee на упаковке производитель получает только после того, как данная продукция пройдет сертификацию на соответствие технологии. Сертифицирующие организации тестируют устройства на совместимость с Zigbee PRO путем проверки их способности работать совместно в одной сети с устройствами-эталонами, выполненными на базе платформ, получивших статус Golden Suite. Платформа Ember имеет такой статус. Поэтому ее использование при разработке устройств позволяет пройти сертификацию на соответствие спецификации ZigBee PRO быстро и без проблем.
Литература
- ZigBee Home Automation Public Application Profile, October 27, 2007, www.zigbee.org.
- ZigBee Cluster Library Specification, October 19, 2007, www.zigbee.org.
- Introducing AppBuilder. Application Note 5056. 23 September 2008, 120-5056-000B
Другие статьи по данной теме:
- ЗАО «НПП «РОДНИК»: 15 лет на российском рынке
- В 2011 году WiMAX воспользуется миллиард человек
- Новый высокоскоростной Bluetooth 2.0+EDR модуль с радиусом действия до 300 метров, производства Bluegiga
- События рынка беспроводных технологий и беспроводной связи
- Новый высокоскоростной Bluetooth 2.0+EDR модуль с радиусом действия до 300 метров, производства Bluegiga
- Двухпортовый наноадаптер Powerline XAVB2602 от NETGEAR
- Компания Wavecom. Год больших перемен
- Компоненты для беспроводной передачи данных в диапазонах 304 - 915 МГц




