О Z-Wave
В рамках протокола Z-Wave предусматривается обмен данными только по радиоканалу. Так что, если по какой-либо причине радиообмен нарушается, то разработчики Z-Wave не могут уже положиться на передачу сообщения по другим видам транспорта. Следовательно, перед разработчиками Z-Wave стояла задача создать множество доработок, чтобы сделать беспроводную систему надежной, насколько это возможно.
Наиболее примечательно то, что протокол Z-Wave направляет сообщения, используя Алгоритмы маршрутизации источника SRA (Source Routing Algorithm). Этот алгоритм требует, чтобы устройства, инициирующие сообщения, «знали» расположение других устройств сети (ее топологию) с тем, чтобы могли рассчитывать наилучшие маршруты для передачи сообщений. Но техническая поддержка и распределение базы данных по топологии сети - это сложная задача, особенно учитывая то, что некоторые из устройств мобильны. Поэтому, для снижения стоимости сетевого решения, протокол Z-Wave определяет несколько различных видов приборов, некоторые из которых, как заведено в компьютерных технологиях, для снижения стоимости лишены способности передавать сообщения и называются «слейв» (slave).
Чтобы организация имела право создавать изделия, сертифицированные для использования в Z-Wave сетях, она должна входить в союз Z-Wave Alliance как Full Member. Членство в этом союзе в данном статусе стоит 2500 $ в год.
На территории США владельцем патента N6879806 от 12 апреля 2005 года является компания ZenSys. Патент называется System and а Method for Building Routing Tables and for Routing Signals in an Automation System (Методы создания таблиц маршрутизации и принципы маршрутизации сигнала в системах автоматизации зданий). Этот патент касается некоторых аспектов организации сети Z-Wave.
Как работает Z-Wave
Протокол Z-Wave предназначен для организации беспроводного управления жилищем. Он разрабатывался для относительно небольшого количества узлов (20-200), которые соединяются друг с другом в среднем каждые 5-15 минут. Сообщения в сети Z-Wave переменной длины и несут полезное содержание в среднем 4-6 байт. Задержка сообщений может составлять 200 мс или даже более.
Физический слой реализации Z-Wave
Протокол Z-Wave построен на применении нелицензионной частоты 868,42 МГц для Европы и 908,42 МГц для США. Модуляция данных осуществляется с «битрейтом» в 9600 бит/сек с помощью алгоритма BFSK (binary frequency shift keying - двухчастотная манипуляция).
Передача сообщений в сети Z-Wave
Согласно стандарту, минимальная длина сообщения в сети Z-Wave составляет 9 байт, однако для передачи сообщения требуется 12 байт, вместе с которыми передаются еще данные ретранслятора и полезное содержание сообщения.
Протокол передачи сообщения включает в себя информацию о маршрутизации, построении пакета данных и другую информацию, необходимую для предотвращения конфликта со случайной повторной попыткой передачи данных после неудачной попытки, а также контрольная сумма пакета с учетом ретрансляции (если в ней есть необходимость).
Сеть Z-Wave самоорганизована и обладает функцией самовосстановления. Для реализации самоорганизации узлы Z-Wave имеют программное обеспечение, которое обнаруживает соседей и сообщает о них контроллеру SUC (Static Update Controller). Алгоритм маршрутизации источников SRA (Source Routing Algorithm), реализованный в устройствах, способен инициировать цепочки коммутаций для передачи сообщений и генерировать маршруты на основании базы данных топологии сети. Функция самовосстановления требует, чтобы программное обеспечение находило в динамическом режиме новые маршруты вокруг временно недоступных узлов. Мобильные узлы также должны входить в сферу действия программного обеспечения, которые в свою очередь может запрашивать новое сетевое окружение в автоматическом режиме. Такое программное обеспечение является частью стека протокола Z-Wave и записано в микросхеме памяти.
Установка сети Z-Wave
Поскольку в сети Z-Wave устройства не обладают уникальными адресами сети (ID), то необходима процедура, с помощью которой контроллер SUC (Static Update Controller) будет присваивать идентификаторы ID всем сетевым устройствам. Протокол Z-Wave предусматривает, что установка сети должна проводиться либо централизовано с помощью некоторого монтажного оборудования, либо локально, когда приборы будут находить сеть сами. Однако, как описано в приложении к стандарту Z-Wave Usability Evaluation (Оценка применимости протокола Z-Wave) - в устройствах Z-Wave различных производителей предусматриваются различные методы локальной установки.
Процесс ассоциации узлов Z-Wave
Чтобы создавать ассоциации между кнопками на панели контроллера и его функциями, протокол Z-Wave предусматривает следующее:
- в сети должен действовать такой инструмент, как Association Wizard (Мастер ассоциаций);
- в сети предусмотрена «санитарная проверка» (общий контроль на отсутствие тривиальных ошибок ассоциации), который действует при рассмотрении запросов;
- все узлы должны полностью реализовывать заложенные в них возможности.
Эти функции поддерживаются программными средствами, так что разработчики сетевых продуктов могут выбирать между включением в проекты готовых сетевых решений, либо их разработкой с нуля. Возможности разработки определяет объем используемой памяти.
Чипы Z-Wave
Компания ZenSys предлагает чипы Z-Wave с объемом флэш-памяти 32 Кб и возможностью подключения внешней памяти. Прежде применявшиеся микросхемы серии 100 сменила серия 200 с более компактной матрицей. Оба чипа построены на основе интегрированного блока FSK radio (frequency-shift keying - «частотная манипуляция») и центрального ядра на основе процессора 8051. Компания ZenSys также предлагает и радиомодули, построенные на основе этих чипов.
Разработка приложений под Z-Wave
Чтобы создавать устройства для работы в сети Z-Wave, разработчики обычно используют компилятор с языка программирования С, на котором пишется прикладное программное обеспечение. Исполняемый код прошивается во флэш-память. Операционная система MS Windows обладает необходимыми DLL библио¬теками (dynamically linked library - «динамически связанная библиотека»), с помощью которых и решается эта задача.
Вопросы совместимости с Z-Wave
Чтобы расширить возможности системы к взаимодействию с устройствами различных производителей, команда технической поддержки протокола Z-Wave стандартизировала список команд и перечень спецификаций на совместимые с этим стандартом устройства.
Устройства Z-Wave должны проходить процедуру сертификации, стоимость которой 750 $. Затем их разработчики получают право поставить на них эмблему Z-Wave. Компания ZenSys недавно объявила о создании программного продукта Compliance Test Tool (Тест на совместимость). Его создала другая компания ControlThink. С помощью этого программного комплекса члены Z-Wave Alliance могут оценивать собственные устройства еще до их официальной сертификации.
Несмотря на эти меры, устройства Z-Wave от различных производителей отличаются своим поведением.
Типы Z-Wave устройств
Маршрутизация сообщений в беспроводной сети затруднена тем обстоятельством, что некоторые из устройств мобильны. В сети под управлением протокола Z-Wave используется принцип маршрутизации источников, так что любое устройство, способное к работе в сети, должно знать, по каким маршрутам в настоящее время можно передавать сигнал. Оно также должно выбирать лучший маршрут и включать в передаваемые данные информацию о нем. Такие алгоритмы маршрутизации были разработаны для многих сетей, но они требуют большого количества инструкций, закладываемых в исполняемый код. Большой объем исполняемого кода требует от микросхемы значительной памяти, и поэтому устройства с использованием этих микросхем будут стоить дороже.
Чипы для Z-Wave имеют 32 Кб встроенной флэш-памяти, а также возможность использования внешней памяти. Если зарезервировать достаточно памяти, чтобы можно было записать в устройство Z-Wave программу, то его стек не будет большим. Протокол Z-Wave определяет значительное количество типов устройств, которые обладают возможностью варьировать объем памяти и объем стека. Основные устройства такого рода - это Controller (контроллеры), Routing Slaves (слейвы-маршрутизаторы) и Slaves (слейвы).
Контроллеры Z-Wave могут инициировать соединения с любыми узлами, и поэтому имеют самый большой стек. Мастер-контроллеры SUC (static update controller) отвечают за управление сетью, рассылая по узлам информацию о текущей сетевой топологии. Вторичные контроллеры получают эту информацию. Таким образом, передаются данные о централизованной или местной регистрации устройств в сети. Мобильные контроллеры используют стек портативного контроллера (portable controller stack), который позволяет устройствам подавать запрос на повторное открытие мобильных узлов. Информация о топологии сети также может распределяться среди контроллеров в виде номера SIS (от SUC ID server - «идентификационный номер сервера с мастер-контроллером»). Однако такое программное обеспечение, как правило, используется на персональных компьютерах. Если номер SIS для сети Z-Wave недоступен, то пользователи должны вручную копировать данные о топологии сети с мастер-контроллера на все остальные вторичные контроллеры по мере добавления или удаления Z-Wave устройств.
Слейвы-маршрутизаторы (Routing Slave) могут инициировать взаимодействие с узлами, имея «на борту» стек меньших размеров. Его размер зависит от объема информации по топологии сети, получаемой с мастер-контроллера SUC. Слейвы (Slave) имеют самый малый стек и могут участвовать в коммуникации, лишь отвечая на запросы.
Протокол Z-Wave также определяет класс «устройств-монтажников» (Installers), которые применяются для проведения централизованной установки сети, а также устройств «мостов» (Bridge), которые соединяют вместе разнородные сети.
Определяя несколько классов устройств с пониженной функциональностью, разработчики протокола Z-Wave стремились снизить стоимость системы, поэтому пожертвовали простотой коммуникации равноправных узлов ЛВС. Подобная «сделка» вполне понятна, если принять во внимание сложность маршрутизации. Но с учетом того, что различные устройства обладают разными возможностями, пользователи сети должны обладать знаниями о том, как работает такая сеть. Наиболее серьезным ограничением для пользователя сети Z-Wave является требование единого мастер-контроллера.