Стек протоколаZigBee
Спецификация ZigBee регламентирует стек протоколов взаимодействия узлов сети, в котором протоколы верхних уровней используют сервисы, предоставляемые протоколами нижележащих уровней.
В качестве двух нижних уровней (физического и уровня доступа к среде MAC) используется стандарт IEEE 802.15.4. MAC-уровень в сети ZigBee реализует механизм CSMA/CA (прослушивания несущей и устранения коллизий), сетевой уровень NWK отвечает за маршрутизацию сообщений, а уровень поддержки приложений APS обеспечивает интерфейс с уровнем приложения.
Сектор ZDO (ZigBee Device Object), связывающий три верхних уровня, отвечает за определение роли устройства в сети (будет оно являться координатором или конечным устройством), инициализацию и реакцию на запросы соединения и обнаружения, за установление надежного и безопасного соединения между устройствами сети. Сектор SSP (Security Service Provider) осуществляет операции, связанные с обеспечением безопасности на сетевом уровне и на уровне поддержки приложения (рисунок 9).
Рисунок 9 – Стек протоколов ZigBee
Одна из основных идей разработки стандарта ZigBee состояла в том, чтобы обеспечить возможность совместной работы в одной беспроводной сети устройств различных производителей. Очевидно, что для обеспечения совместимости на уровне приложения устройствам ZigBee требуется некий стандартный язык общения. Для реализации этой задачи была разработана библиотека ZigBee-кластеров ZCL (ZigBee Cluster Library).
Кластер похож на класс в объектно-ориентированном программировании и представляет собой совокупность:
описания стандартного устройства ZigBee (осветительное устройство, диммер, выключатель, счетчик);
описания стандартных атрибутов для этого устройства (вкл./выкл., яркость, показания счетчика);
описания стандартных команд для этого устройства (установить уровень яркости, считать показания, включить/выключить);
кластеры имеют клиент-серверную природу [7].
Рисунок 10 – Клиент-серверная структура
ZigBee-cервер - это устройство, которое хранит значение атрибута, в то время, как ZigBee-клиент дистанционно считывает или записывает значение этого атрибута. Например, пара стандартных устройств лампочка и выключатель могут вместе реализовать функционирование стандартного кластера включить-выключить. При этом лампочка будет ответственна за серверную часть кластера. Она хранит значение атрибута включено или выключено. Выключатель дистанционно устанавливает значение этого атрибута и реализует, таким образом, клиентскую часть кластера. Одно и то же устройство может содержать клиентские части одних кластеров и серверные части других. Например, выключатель в может дополнительно содержать серверную часть кластера конфигурация, при помощи которого он будет получать информацию о режимах своей работы от конфигурирующего устройства.
Библиотека ZCL группирует кластеры по функциональному признаку: общего назначения, для работы с датчиками, для управления осветительными устройствами, вентиляцией и т.д. Использование стандартных кластеров для пересылки сообщений является обязательным требованием новой спецификации ZigBee PRO Feature Set.
Профилем называется совокупность настроек программного обеспечения узлов сети, обеспечивающая их совместную работу. Спецификация профиля определяет такие параметры, как способы задания идентификационных параметров сети, режимы образования сети, способы защиты данных, используемый поднабор кластеров, который включает кластеры из разных функциональных групп библиотеки ZCL.
Профиль Home Automation дает возможность производителям беспроводных систем домашней автоматизации во всем мире разрабатывать совместимые устройства класса «умный дом» [6]. Он регламентирует работу таких устройств, как устройства управления осветительным оборудованием, системами кондиционирования, отопления, вентиляции и т.д.