О технологии Z-Wave
В типичной беспроводной сети центральный контроллер имеет прямое беспроводное соединение со всеми узлами сети. Это всегда требует прямого канала радиосвязи. В случае нарушения контроллер не имеет резервного маршрута для достижения узлов.
Рисунок 3.6: Сеть без маршрутизации
На рисунке показана немаршрутизируемая радиосеть. Узлы два, три и четыре лежат в пределах радио-диапазона контроллера номер 1. Узел 5 лежит за пределами радио-диапазона и не может быть достигнут контроллером. Однако, Z-Wave является беспроводной системой, которая предлагает очень мощный механизм, способный преодолеть это ограничение. Z-Wave узлы могут перенаправлять и повторять сообщения, находящимся не в прямой видимости контроллера. Это дает большую гибкость, поскольку Z-Wave позволяет связать узлы, даже если нет прямого беспроводного соединения или если соединение временно отсутствует из-за каких-либо изменений в комнате или здании.
Рисунок 3.7: Z-Wave-сеть с маршрутизацией
Рисунок 3.7 показывает, контроллер с "Node ID 1" который может напрямую связываться с узлами 2, 3 и 4. Узел 6 лежит вне его радиодиапазона, однако, он находится в радиодиапазоне узла 2. Поэтому контроллер может связаться с узлом 6 через узел 2. Таким образом, путь от контроллера до узла 6 через узел 2 называется "маршрут".
Рисунок 3.7 иллюстрирует другой побочный эффект маршрутизации. В случае, если прямая связи между узлом 1 и 2 блокируется, но есть еще одна возможность коммуникации с узлом 6 через узел 2, путем использования узла 3 в качестве еще одного ретранслятора сигнала. Очевидно, что большее количество узлов приводит к большему множеству различных вариантов маршрутизации для контроллера и поэтому к более стабильной сети.
Z-Wave может пересылать сообщения через четыре повторяющих узла. Это является компромиссом между размером сети и стабильностью, и максимально допустимым временем доставки сообщения в сети.
Рисунок 3.8: Z-Wave общается через препятствие
Как эти маршруты строятся в Z-Wave сети?
Рисунок 3.9: Максимальное расстояние между двумя узлами через 4 Ретранслятора
Каждый узел имеет возможность определить, какие узлы находятся в его прямой беспроводной видимости. Эти узлы называются соседями. Во время Включения, а затем по запросу, узел способен сообщить контроллеру о своем списке соседей. Используя эту информацию, контроллер может строить таблицы, которые имеют всю информацию о возможных маршрутах связи в сети. Пользователь может получить доступ к таблице маршрутизации. Есть несколько программных решений, обычно называемых инструменты установщика, которые визуализируют таблицу маршрутизации, для оптимизации настройки сети.
Рисунок 3.10: Пример ячеистой сети
Рисунок 3.10 показывает пример Z-Wave ячеистой сети, с одним контроллером и пятью других узлов. Контроллер, он же главный контроллер под номером 1. Он может соединяться напрямую с узлами 2 и 3. Но не существует прямого соединения с узлами 4, 5 и 6. Связь с узлом 4 будет либо через узел 2 или через узел 3.
Рисунок 3.11 показывает таблицу маршрутизации такой сети:
Рисунок 3.11: Таблица маршрутизации на примере сети
Строки таблицы содержат узлы источники, а в столбцах содержатся узлы назначения. Ячейка, заполненная "1", показывает, что два узла прямые соседи.
Рисунок 3.12: Маршрутизация от узла 1 через узел 3 до узла 4
Пример показывает связь между источником (узел 1) и узлом назначения 4. Пересечение строки источника 1 и столбца 4 помечено "0". Это означает, что узлы не соседи и не могут общаться напрямую. Маршрут проходит через узел 3, что находится в прямой видимости от узла 1 и узла 4.
В приведенном ниже примере узел 6 может взаимодействовать с оставшейся сетью только с помощью узла 5 в качестве ретранслятора. Так как контроллер не имеет прямой связи с узлом 5, контроллеру необходимо использовать один из следующих маршрутов: 1 -> 3 -> 4 -> 5-> 6 или 1 -> 2 -> 5 -> 6.
Рисунок 3.13: Маршрутизация с использованием нескольких ретрансляторов
Рисунок 3.14: Таблица маршрутизации ячеистой сети
Контроллер будет всегда стараться передать сообщения напрямую к узлу назначения. Если это невозможно, он будет использовать свою таблицу маршрутизации, чтобы найти другой наиболее оптимальный путь. Контроллер может выбрать до трех альтернативных маршрутов и попытаться отправить сообщение с помощью них.
Только если все три маршрута не будут работать, (контроллер не получит подтверждение от получателя) контроллер выдаст ошибку.