Z-Wave общие сведения о технологии: различия между версиями

Материал из MajorDoMo инфо
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
[[Category:Взаимодействие]]
[[Category:Взаимодействие]]
[[Category:Z-Wave]]
=== Общие сведения о протоколе ===
=== Общие сведения о протоколе ===
'''Z-Wave''' является запатентованным беспроводным протоколом связи, разработанным для домашней автоматизации, в частности для контроля и управления в жилых и коммерческих объектах.
'''Z-Wave''' является запатентованным беспроводным протоколом связи, разработанным для домашней автоматизации, в частности для контроля и управления в жилых и коммерческих объектах.

Версия от 11:54, 30 июля 2020

Общие сведения о протоколе

Z-Wave является запатентованным беспроводным протоколом связи, разработанным для домашней автоматизации, в частности для контроля и управления в жилых и коммерческих объектах.

Sigma Designs, владелец технологии Z-Wave

Z-Wave Альянс, открытый консорциум из более чем 700 производителей. По состоянию на 2018, на рынке представлено более 2700 различных сертифицированных продуктов.

В отличие от Wi-Fi и других IEEE 802.11 стандартов передачи данных, предназначенных в основном для больших потоков информации, Z-Wave работает в диапазоне частот до 1 ГГц и оптимизирована для передачи простых управляющих команд с малыми задержками (например, включить/выключить, изменить громкость, яркость и т.д.).

В 2013 году Sigma Designs и Z-Wave Alliance представили расширение протокола Z-Wave, названное Z-Wave Plus.

Фактически, это обычный протокол Z-Wave, дополненный списком более строгих требований по сравнению с обычными требованиями сертификации Z-Wave. Z-Wave Plus полностью включает в себя все требования Z-Wave. Новые требования направлены на улучшение совместимости устройств на рынке.

Условие совместимости — одно из главных преимуществ технологии Z-Wave. Перед выходом в продажу все устройства проходят сертификацию Z-Wave в одном их трёх центров сертификации, где проверяют устройство на совместимость. Более 150 производителей по всем миру выбрали Z-Wave в качестве основного протокола для своих продуктов. И все они совместимы друг с другом в пределах одного региона (одного диапазона частот).

Внимание! Один контроллер может работать с другими устройствами только на одной частоте. Поэтому если планируете создавать сеть Z-Wave продумайте на какой частоте будете её строить. Если планируете расширять - перепроверьте на какой частоте работает Ваш контроллер.

Совместная работа оборудования Z-Wave и MajorDoMo

Платформа MajorDoMo поддерживает следующие подключение контроллеров: API Z-Wave.Me (USB стик Z-Wave.Me, Z-Stick Z-Way и Плата расширения Z-Wave.Me RaZberry); API VeraLite; Zippato; и возможна работа через windows шлюз mqtt от Aven. При покупке оборудования контроллера, ознакомьтесь с документацией на оборудование. Рекомендация: Перед интеграцией с системой MajorDoMo требуется установить оборудование в ОС, настроить сеть и установить необходимый модуль. Для совместной работы используется Z-Wave модуль.

Возможности и термины сети Z-Way:

Первичный контроллер — координатор сети. Это единственный узел, способный включать в сеть новые узлы и исключать существующие. Он же хранит информацию о топологии сети и может обновлять списки соседей для всех остальных (вторичных) контроллеров и формировать маршруты во всех дочерних узлах. Первичный контроллер может быть только один в сети. Обычно первичным является тот контроллер, с которого началось построение сети. Однако в дальнейшем первичный контроллер может включить в сеть новый контроллер, передав ему свою роль. Каждая Z-Wave сеть определяется уникальным идентификатором сети (Network ID) (генерируется при создании сети генератором случайных чисел с шумом от радиоприёмника в качестве источника случайных числе или назначается Sigma Designs для старых контроллеров). Network ID (он же Home ID) является общим идентификатором всех узлов, принадлежащих к одной логической Z-Wave сети. Network ID имеет длину 4 байта (32 бит) и присваивается каждому устройству через основной (primary) контроллер, когда устройство подключается к сети. На одной территории может сосуществовать несколько сетей Z-Wave с разными Home ID. При этом они не будут друг друга видеть и друг с другом взаимодействовать. и может включать до 232 узлов, определяемых идентификатором устройства (Node ID).

Узлы с различными идентификаторами сети не могут общаться друг с другом.

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

Устройства должны быть «включены» в Z-Wave сеть, прежде чем ими можно будет управлять.

Включение происходит переводом контроллера в специальный режим Включения (Inclusion mode; обычно какой-то специальной кнопкой в или комбинацией клавиш), а включаемого устройства в режим Обучения (Learn mode; обычно одинарным или тройным нажатием на кнопку). При этом контроллер и включаемое устройство должны находиться в прямой видимости. Многие современные (версии протокола 4.5x или 6.x) постоянно питающиеся (не спящие) устройства первые 3-5 минут после включения в сеть электропитания самостоятельно переходят в специальный режим обучения (Network Wide Inclusion, NWI), если они ещё не включены в сеть. При этом условие нахождения в прямой видимости уже не требуется. Это позволяет достаточно легко включать в сеть новые устройства, не бегая по дому.

Исключение из сети происходит аналогично: контроллер переводится в режим Исключения (Exclusion mode), а дочерний узел в режим Обучения. После исключения Node ID и Home ID устройства сбросятся на 0 (для контроллеров NodeID сбросится на 1, а HomeID на заводское значение). Большинство устройств при исключении сбросит и все остальные пользовательские настройки на заводские значения.

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

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

Уровни модели OSI и основные характеристики Z-Wave.

Физический уровень

Передача данных осуществляется на частоте 869.0 МГц (Россия), 868.42 МГц (Европа, страны CEPT, Китай, Сингапур, ОАЭ, ЮАР), 908.42 МГц (США, Мексика), 921.42 МГц (Австралия, Бразилия, Новая Зеландия), 919.8 МГц (Гонконг), 865.2 МГц (Индия), 868.2 МГц (Малайзия), Япония (951-956 и 922-926 МГц). Модуляция FSK (частотная манипуляция). Скорость передачи: 42 кбит/с, 100 кбит/с и 9.6 кбит/с (для совместимостью со старыми устройствами). Предельная мощность передачи 1 мВт.

Канальный уровень

Используются пакеты с контролем целостности данных (контрольная сумма) и адресацией получателя и отправителя. В качестве получателя может использоваться multicast адрес или broadcast (в этом случае пакет принимается всеми участниками сети с включенным радио-модулем).

Сетевой уровень

Протокол Z-Wave определяет алгоритм маршрутизации, позволяющий передавать данные между устройствами вне прямой видимости. Все постоянно работающие узлы сети (бывают ещё спящие и «часто слушающие» узлы) могу участвовать в пересылке пакетов между другими участниками сети. Z-Wave использует механизм Source Routing, т.е. маршрут следования определяется отправителем. Broadcast и multicast пакеты не маршрутизируются. При невозможности найти нужный узел по маршрутам, записанным в памяти, существует механизм поиска узла по всей сети путём посылки специального пакета Explorer Frame всем узлам сети. После успешного нахождения узла новый маршрут записывается отправителем в память для последующего использования.

Транспортный уровень

На данном уровне Z-Wave гарантирует подтверждение доставки и повторную отправку в случае, если пакет не был доставлен до получателя. Каждый узел, участвующий в пересылке, подтверждает факт получения сообщения. Для уменьшения загрузки эфира в Z-Wave используется механизм «молчаливых подтверждений»: узел (А), передавший пакет следующему узлу (Б) на пути следования пакета не ждёт подтверждения от него, а видит, что Б отправил пакет дальше узлу С и воспринимает это как факт подтверждения успешной пересылки пакета от А к Б. Получив пакет, конечный узел передаёт назад подтверждения доставки, которое путешествует назад тем же маршрутом до исходного отправителя. Таким образом отправитель всегда знает, дошёл ли пакет до точки назначения или нет.

Сеансовый уровень

Используется только при использовании шифрования, где определяются короткие сеансы с одноразовым ключом.

Прикладной уровень

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

С 2012 года физический и канальный уровни протокола Z-Wave вошли в стандарт ITU-T G.9959(рекомендации сектора стандартизации электросвязи Международного союза электросвязи).

Уровни от транспортного до канального реализованы в программном коде Sigma Designs и поставляются в прекомпилированном виде (в комплекте SDK). С одной стороны проприетарный код — это минус, но в закрытости данного протокола есть и свои плюсы: ни один производитель не может изменить нижние уровни протокола, что позволяет легче обеспечивать совместимость — все устройства основаны на одном хорошо отлаженном коде.

Все команды в Z-Wave компактно упакованы. Это нужно для уменьшения размера пакета, что положительно влияет на занимаемое в эфире время, а также на уменьшение потерь при передаче. Z-Wave предназначен для передачи коротких команд без открытия сессии, т.е. совсем не подходит для потоковой передачи потоковых данных. Максимальный полезный размер передаваемых данных составляет 46 байт (размер данных прикладного уровня без шифрования).