Корзина  (пустая) 0 руб.
Корзина  (пустая) 0 руб.
Корзина  (пустая) 0 руб.
Корзина  (пустая) 0 руб.

+7 495 204-27-80

 

1. Что такое Z-Wave?

Z-Wave стал новой звездой на горизонте рынка технологий домашней автоматизации с более чем 700 взаимодействующими друг с другом устройствами. Он открывает новичкам на рынке автоматизации новые горизонты для привнесения новых идей в существующую экосистему взаимосвязанных устройств и укрепления уже имеющейся инсталляционной базы.

Эта статья описывает процесс разработки и инструменты, применяемые для создания и тестирования Z-Wave совместимых устройств. Технически, Z-Wave – это спецификация для низкоскоростного протокола передачи данных, который позволяет различным устройствам в здании взаимодействовать друг с другом без использования проводов. Номенклатура этих устройств включает в себя стационарные устройства, такие как выключатели света, регуляторы отопления, мобильные устройства - пульты дистанционного управления, а также шлюзы для интернет-сервисов в мобильных телефонах и в сети. Спецификация описывает все аспекты взаимодействия устройств, от радиоканала до способа, при помощи которого устройства генерируют события и выполняют действия. Только устройства, на всех уровнях отвечающие требованиям протокола, называются Z-Wave совместимыми или Z-Wave сертифицированными.

2. Аппаратная часть.

Для поддержки Z-Wave на уровне радиоканала нужен специальный приемопередатчик. Главный поставщик этого устройства – американская компания Sigma Designs. Второй поставщик - Mitsumi Corporation [Mitsumi2012]. Последнее поколение чипов от Sigma Designs называется Series 400 с ZM4101 в качестве стандартного компонента. Sigma и Mitsumi не продают приемопередатчики отдельно, только в составе однокристальной системы. Радио приемопередатчик может быть применен как микросхема во многих случаях, где он может быть встроен в основную часть устройства, но большинство покупателей приобретают однокристальную систему, которая имеет все функции компьютерной системы с радио-интерфейсом:

• Ядро ЦП, совместимо с 8051

Рисунок 1: Z-Wave приемопередатчик производства Sigma Designs

Рисунок 1: Z-Wave приемопередатчик производства Sigma Designs

Рисунок 2: Z-Wave модуль ZM3102, базирующийся на приемопередатчике ZW0301 Series 300

Рисунок 2: Z-Wave модуль ZM3102, базирующийся на приемопередатчике ZW0301 Series 300

 

• приемопередатчик

• 2 KByte ... 16 KByte внутренняя SRAM?

• 32 KByte ...64 KByte ROM?

• несколько периферийных элементов

Рисунок 1 показывает Z-Wave приемопередатчик Series 400 производства Sigma Designs, как пример.

Серия series 400 снабжена однократно программируемой памятью, что делает ее подходящей для низкобюджетных устройств, где не требуется перепрограммирование. Подавляющее большинство приложений использует чип Series 300 и его флеш-память. Перепрограммируемая флеш-память подходит для разработки программ и приложений, которые время от времени требуют обновления.

Sigma Designs анонсировала выход нового поколения чипов, под общим названием Series 500, в 2013 году. Эта серия микросхем будет совместима с Series 400 по функциям и пинам, но однократно программируемую память в ней заменит флеш-память.

Рисунки 2 и 3 показывают наиболее часто используемый модуль ZW3102 производства Sigma Designs, который сочетает в себе чип серии Series 300 с несколькими конденсаторами, кристаллом и антенным фильтром.

Антенный фильтр нужен для того, чтобы обеспечить соответствие нормам, регулирующим использование нелицензируемых частотных полос для частоты, например 868.4 МГц (Европа, Африка и часть Азии), или 908.4 МГц (Северная Америка), и делает модуль адаптированным к определенному региону. Как результат этого, для разных частотных полос требуется разная аппаратная часть, и производители должны делать отдельные компоненты для европейского и американского рынков. Модули могут быть заказаны либо напрямую у производителя, либо в компании DigiKey, мирового дистрибьютора Sigma Designs. Цена зависит от объема, но бюджетная оценка - $5-6 для нескольких тысяч модулей.

Рисунок 3: Z-Wave модуль Series 300, сравнение размера.

Рисунок 3: Z-Wave модуль Series 300, сравнение размера.

Все I/O контакты (вход/выход) расположены по краям модуля. Эти входы мультифункциональны и могут быть легко запрограммированы как выходы, входы, с внутренним потенциалом на них, или без него. Определенные контакты имеют специальные функции для поддержки часто используемых устройств, таких, как диммеры или устройства управления моторами.

Входы/выходы для Series 300:

• 10 общего назначения

• два входа для сигнала прерывания

• Последовательный Универсальный Асинхронный Приемопередатчик (Serial UART)

• Интерфейс системного программирования (SPI Interface)

• Triac Control (симисторный контроль), позволяет напрямую принимать сигнал в момент перехода через нуль в начале фазового фронта в цепи диммера и контролировать сигнал, все это для того, чтобы создать диммер с минимальным количеством внешних компонент

• PWM (ШИМ) выход

• Четыре мультиплексированных 12/8-битных АЦП-входа

В целом, концепция гибких входов/выходов и модульный подход позволяют создавать устройства с минимальной дополнительной стоимостью. Рассматривая проект для простого бинарного сенсора, работающего от батареек, можно сказать, что все устройство может быть спроектировано всего с 10 дополнительными компонентами, включая внешнюю антенну.

Модули обеспечивают последовательный интерфейс, который используется для программирования памяти и может быть использован для присоединения внешней памяти EEPROM. Внешняя память EEPROM может быть использована для хранения дополнительных данных для приложений. Невозможно использовать внешнюю EEPROM для хранения операционного кода. Больше информации об электрических характеристиках Z-Wave модулей серии Series 300 можно найти в спецификации продукта [Sigma300]. Микроконтроллер 8051 с внутренним ПЗУ обычно содержит и выполняет код приложения устройства. Устройства с более сложными функциями - такими, как удаленное управление – могут использовать чип Z-Wave как дополнительный чип только для целей связи, но объем памяти и вычислительная мощность обычно позволяют реализовывать все необходимые функции прямо на чипе приемопередатчика, чтобы снизить стоимость микросхемы.

Рисунок 4: Коммуникационный стек Z-Wave

Рисунок 4: Коммуникационный стек Z-Wave

2.1 Предустановленное ПО

Для разработки программного обеспечения необходим комплект для разработки системы (System Development Kit, SDK). Различные версии этого комплекта предлагают компании Sigma Designs, Mitsumi или DigiKey, по цене $1500- $3500. Они отличаются в аппаратной части. Более дорогие версии SDK имеют не только аппаратные средства с EEPROM для программирования, но также различные компоненты для тестирования сенсоров и для различных частот. Все SDK имеют пакет ПО и документацию. Для доступа к документации, программным кодам и инструментам необходимо заключить соглашение о конфиденциальности с компанией Sigma Designs. Подписывая это соглашение, производитель обязуется хранить всю предоставляемую ему информацию, в том числе SDK, в условиях конфиденциальности.

Как показано на Рисунке 4, коммуникационный стек Z-Wave состоит из трех частей. Физический и канальный уровни определяются в соответствии с рекомендациями ITU-T G.9959 [ITU2012]. Сетевой уровень - это собственный код компании Sigma Designs, он защищен несколькими патентами. Уровень приложения определяется производителем устройства, но должен соответствовать протоколу, чтобы обеспечить возможность взаимодействия с другими устройствами и сертификацию продукта.

SDK содержит всю необходимую документацию и код для того, чтобы создать встроенную программу, которая закрывает все три части коммуникационного стека. Сетевой, физический и канальный уровень предопределены и не являются предметом изменения для разработчиков. По этой причине они не доступны в виде исходного кода, а только в прекомпилированных библиотеках. Эти библиотеки дополнены большим количеством примеров, для того, чтобы показать возможности их использования.

Закрытый код библиотек имеет свои «за» и «против»:

• Против:

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

• За:

Никто не может поменять низший уровень протокола. Это дает гарантию, что, по крайней мере, в этой части Z-Wave продукты будут взаимодействовать без проблем, поскольку они все базируются на одной и той же грамотно построенной кодовой базе.

Для того, чтобы скомпилировать встроенное ПО для Z-Wave модулей, используя SDK от компании Sigma Designs, нужен компилятор KEIL C [KEIL]. Хотя KEIL является хорошим профессиональным инструментом, разработчики скорее предпочтут использовать средства ОС GNU. Прекомпилированные библиотеки для физического и сетевого уровней, однако, принуждают к использованию определенных версий компилятора KEIL и связанных с ним программ. SDK содержит следующие части: прекомпилированные библиотеки для различных приложений, примеры кода, исходный код для некоторых инструментов и полную документацию на Z-Wave протокол.

Z-Wave имеет разные виды сетевых функций, относящихся к контроллерам или ведомым устройствам. Поэтому SDK предлагает различные версии библиотек для различных типов сетевых устройств. Главная причина этого – экономия памяти, поскольку реализация всех функций в одной библиотеке была бы не возможна по причине отсутствия адекватного количества памяти EEPROM для хранения операционного кода. Большинство функций в библиотеке, а именно, те, которые относятся к организации сети, запуску чипа, управлению очередности обращения ко входам и выходам приемопередатчика, спрятаны от разработчика. Главные функции, которые использует разработчик, это:

• отсылка и получения команд приложений

• включение/исключение устройств

• некоторые функции управления сетью

• доступ к периферийным устройствам, таким, как сторожевые схемы, симисторный контроль и т.д.

SDK также содержит скелеты программ для упрощения разработки новых приложений. Всевозможные образцы программ для различных функций Z-Wave также упрощают использование скелетного кода и помогают в разработке приложений. К сожалению, в распоряжении разработчиков почти нет механизмов отладки написанного ими встраиваемого Z-Wave ПО (firmware). Нет ни возможности отладить электрическую цепь посредством какого-либо интерфейса, ни какого-либо эмулятора или симулятора для чипа. Память модуля 300 series добавляет разработчику сложностей и может сделать разработку предустанавливаемого ПО трудным экспериментом.

3. Разработка совместимых устройств

Часть кода устройства, отвечающая за связь с другими устройствами, должна соответствовать требованиям Z-Wave спецификации. Спецификация Z-Wave различает различные сетевые роли устройств, и разработчик должен выбрать один из типов ролей.

• Роль в сети: контроллеры могут строить свои собственные сети, дополнительно различаются мобильные котроллеры (т.е. удаленные контроллеры) и статические контроллеры (т.е. шлюзы).

• Модель источника питания: питание от батареи с регулярным переходом в активный режим, питание от сети, питание от батарей с «пробуждением» по внешней команде.

• Функции устройства: выключатель, диммер, устройство контроля моторов, термостаты, и др.

Ролевые модели Z-Wave описаны в так называемых Классах Устройств (Device Classes). Производителю нужно выбрать один класс устройств, к которому будет принадлежать его устройство. Это уже определяет некоторые функции и сервисы, которые должно поддерживать устройство. Беспроводные функции устройства описаны в так называемых Командных Классах (Command Classes). Командные классы – это группы беспроводных команд, которые используются для контроля некоторых функций или частей устройства, или чтобы доставлять данные, относящиеся к этой функции или части.

Командные классы, например, называются Бинарный выключатель (Binary switch), Батарея (Battery), Устройства контроля мотора (Motor Control) и имеют в себе все функции, относящиеся, соответственно, к бинарному выключателю, отчетам о заряде батарей или состоянии устройства контроля моторов. Командные классы, которые требуется определить при выборе класса устройства, называются обязательными командными классами. Более чем 20 Классов устройств и 100 Командных классов описаны в стандарте Z-Wave.

Производитель может – и обычно делает это – добавить дополнительные произвольные командные классы. Нет ограничений на возможности произвольных командных классов, но если определенная команда должна поддерживаться устройством, этот командный класс должен быть:

• объявлен в так называемом Окне Информации об Узлах (Node Information Frame) во время процесса включения;

• имплементирован полностью и в соответствии с Z-Wave спецификацией Командных классов.

Поэтому, API описание библиотек, определение классов устройств и определение командных классов являются ключевыми документами, с которыми имеют дело разработчики Z-Wave –устройств.

4. Последовательный интерфейс узлов сети (хостов).

Тот же самый модуль, который используется для разработки таких устройств, как диммеры и выключатели, также используется для взаимодействия с другими компьютерами (т.е. РС). Главный интерфейс, который используется для этого – последовательный интерфейс чипа.

Модули серии Series 400 и выходящие вскоре модули серии Series 500 имеют прямую USB-поддержку. У устройств серии Series 300 можно конвертировать имеющийся последовательный порт в USB, используя любой из обычных Serial-2-USB чипов (ftdi, prolific, и т.д.). Они отлично поддерживаются большинством операционных систем и не требуют дополнительных усилий по установке драйверов устройств. Добавление USB создаст новое виртуальное последовательное устройство, в зависимости от ОС, которую использует Z-Wave (т.е. COM x в Windows или /dev/tty.usbserial для USB портов, использующих USB-2-Serial чип prolific.).

Производители устройств с USB или с последовательными портами могут свободно определять свой собственный коммуникационный протокол, используемый в этом интерфейсе. Однако, поскольку взаимодействие с удаленным компьютером – довольно обычная задача, SDK уже снабжен спецификацией, которая преобразует определенные функции Z-Wave библиотеки в протокол последовательного интерфейса и также определяет, как происходит обмен данными через последовательный интерфейс.

SDK также содержит некоторое прекомпилированное встроенное ПО, которое реализует этот протокол последовательного интерфейса, также относящееся к Serial API компании Sigma Designs. Как результат – большинство интерфейсных устройств, таких, как USB-порт, просто используют эти уже оттестированные и определенные предустановленные программы Sigma Designs Serial API. Однако, определенные вендоры улучшили и оптимизировали предустанавливаемое ПО интерфейса главного процессора поверх последовательного интерфейса.

Со стороны хоста в последовательном соединении ПО должно управлять последовательным интерфейсом, предоставляемым виртуальным последовательным устройством. Поскольку последовательный интерфейс, как рекомендует Sigma Designs, просто отображает библиотечные функции, этот интерфейсный протокол довольно сложный и неочевидный. Код контроллера на хосте должен иметь дело с различными вопросами контроля сети, временным распределением и очередью сообщений от и к Z-Wave приемопередатчику.

Рисунок 5: Логотип Z-Wave гарантирует совместимость устройств

Рисунок 5: Логотип Z-Wave гарантирует совместимость устройств

Sigma и в этом случае предлагает образец кода, как сделать это, но у разработчиков и так есть, из чего выбрать. В Интернет есть несколько проектов с открытым кодом, использующих Sigma Designs Serial API, например [OpenZWave]. Техническая документация на Serial API частично сделана по готовому изделию, как часть SDK (после подписания соглашения о конфиденциальности). Однако, официальной поддержки этих проектов у Sigma Designs нет. Эти реализации открытого кода могут по этой причине не полностью соответствовать спецификации и/или использовать последние функциональные возможности Z-Wave правильным образом.

Существуют коммерческие реализации стороны Z-Wave стеков со стороны хоста, доступные на рынке, в том числе такие, которые предоставляют профессиональную поддержку проектов, в которых не планируется устанавливать Z-Wave Serial API поддержку заново из оперативной памяти.

5. Сертификация

Финальный шаг в процессе разработки Z-Wave устройств – это Z-Wave сертификации. Все устройства, соответствующие стандарту Z-Wave, должны быть сертифицированы, чтобы иметь на себе логотип, показанный на Рисунке 5. Эта сертификация удостоверяет, что протестированное устройство соответствует всем требованиям к устройствам его класса, и что все реализованные на нем командные классы соответствуют спецификации Z-Wave. Дополнительно, тестируется поведение беспроводного соединения, чтобы убедиться в том, что устройство работает в минимально допустимом расстоянии 25 м без ошибок. Руководства по эксплуатации и вся документация также рассматривается, чтобы убедиться в наличии всех ключевых характеристик, присущих устройствам Z-Wave:

• двусторонняя связь,

• работа в mesh-сети,?

• Включение, Исключение, Ассоциация

• Возможность взаимодействия с устройствами других производителей.

Необходимо убедиться, что все эти вопросы упомянуты и описаны в документации на устройство.

Процесс сертификации исключительно прозрачен. Все тестовые испытания тщательно продуманы, и тестовые инструменты, используемые лабораторией, доступны производителям для того, чтобы выполнить предварительные тесты. Сертификационные тесты выполняются двумя независимыми лабораториями: Pepper One [PepperOne] в Германии и Bulogics [Bulogics] в США. Результаты тестов лаборатории предоставляются менеджеру по сертификации, который принимает решение в каждом конкретном случае и присваивает сертификационный номер. Стоимость этой услуги - $2000, вне зависимости от сложности устройства, она включает в себя плату за рассмотрение документации.

6. Альянс Z-Wave

Z-Wave Alliance - это альянс всех компаний, использующих или поддерживающих стандарт Z-Wave протокола. Кроме определенной маркетинговой и промоутерской деятельности, альянс также помогает разработчикам различными способами.

• Альянс организует тематические встречи, во время которых разработчики могут тестировать свои продукты – как законченные, так и находящиеся в разработке – в сравнении с продуктами других вендоров экосистемы и получить помощь от инженеров-эксплуатационщиков компании Sigma Designs.

• Одно- или двухдневные тренинги также помогают ближе познакомиться с Z-Wave технологией и процессом разработки.

• Альянс также имеет Лабораторию взаимодействий в Нью-Джерси (США), которую разработчики могут использовать для самых различных тестов своих продуктов.

• Альянс поддерживает и предлагает инструмент для тестирования совместимости (Z-Wave Compliance Test Tool) для сертификации своих собственных продуктов в соответствии со спецификацией Z-Wave.

• Разработчики могут также присоединяться к рабочим группам Альянса, которые разрабатывают новые командные классы и классы устройств. Это удобно в том случае, когда разрабатываются устройства с принципиально новыми возможностями, еще не определенными в Z-Wave. Сотрудничество в таких вопросах не только возможно, но и всячески приветствуется.

Больше информации о такого рода деятельности можно найти на веб-сайте Альянса www.z- wavealliance.org.

7. Выводы

Внедрение аппаратной части Z-Wave в разрабатываемые вами продукты – не столь сложная задача, для этого нужно только небольшое количество дополнительных компонентов. В большинстве случаев, модуль микроконтроллера однокристальной системы Z-Wave может быть также использован и для нужд приложений. Разработка встроенного ПО Z-Wave на чипе требует документации, скелета кода и библиотеки, доступные как SDK, после заключения соглашения о нераспространении данных. Отсутствие отладочных инструментов создает определенные трудности, но они компенсируются большим количеством примеров кода и качественным документированием всех аспектов разработки продуктов. Z-Wave сертификация устройств гарантирует совместимость посредством тестирования правильности внедрения командных классов уровня приложений и некоторых других аспектов. Sigma Designs предлагает целостный подход к процессу разработки, который обеспечивает эффективное внедрение Z-Wave совместимых устройств. Альянс Z-Wave предоставляет Инструмент для тестирования совместимости (Compliance Test Tool) – «золотой стандарт» в области тестирования и поддерживает Лабораторию тестирования взаимодействий (Interoperability Test Lab).

Ссылки:

[Mitsumi2012] Mitsumi Electric Co, Ltd Press Release: Mitsumi concluded Z-Wave Module Supply Agreement with Sigma Designs, Inc. in USA, May23rd, 2011, http://www.mitsumi.co.jp/pdf/20110523_e.pdf

[Sigma300] Sigma Designs, Ltd ZM3102 Z-Wave Module, Data Sheet, October, 2007, http://media.digikey.com/pdf/Data%20Sheets/Zensys%20PDFs/ZM3102N.pdf

[ITU2012] ITU-T G.9959: Short range narrowband digital radio communication transceivers - PHY & MAC layer specification, International Telecommunication Union, 02/2012

[OpenZWave] Open Source Z-Wave Implementation in C, code.google.com/p/open-zwave/

[PepperOne] Homepage: www.pepper-one.de?

[Bulogics] Homepage: www.bulogics.com/?

[KEIL] Homepage: www.keil.com/

Об авторе:

Christian P?tz – уважаемый профессор в области надежности систем в Техническом Университете города Хемниц и представитель Z-Wave Alliance в Европе.

Перевод www.z-wave.ru

Способы доставки

Самовывоз

Самовывоз заказов осуществляется из ПВЗ СДЭК.

Доставка по Москве

Стоимость курьерской доставки по Москве в пределах МКАД составляет 350 руб.

Доставка по России

В другие города мы отправляем товар компаниями «СДЭК», «EMS» после поступления оплаты заказа.

Подробнее о способах доставки...