Что это за умный дом Zigbee? Разбираемся в системе, устройствах и при чем тут Xiaomi

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com (подробнее ») 1 августа 2017, 15:40 | Обзор | Kvazis House

Здравствуйте друзья

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

Где купить?

Вступление

Моя система умного дома начала свой новый виток развития — а именно разделение на 2 части, по «зонам». Для этой цели я в очередной раз докупил различных гаджетов и еще один одноплатный ПК для программной части. Горка Xiaomi устройств из последней посылки:

10de2e0ace.png?w=100

Обо всем я обязательно расскажу в своих дальнейших обзорах, а сегодня я хотел бы остановится на базовом комплекте Xiaomi — состоящем из шлюза, двух датчиков открытия и беспроводной кнопки:

76a966af47.png?w=100

В момент покупки, по отдельности стоимость шлюза составляла — $29, датчиков открытия около $10 и кнопки $7. Легко посчитать, что в комплекте получалась — кнопка в подарок. Даже в данный момент — когда на датчики открытия  идет флешсейл — по $8, все равно цена такого комплекта по отдельности — получается на несколько долларов дороже. Так что покупка вполне оправдана.

Зачем нужен шлюз, теория, ZigBee

Перейдем к теоретической части. Какая основная задача шлюза Xiaomi ?

a1327c5fd6.png?w=100

Как можно догадаться из названия — шлюз — устройство должно быть «мостиком» между чем-то. В роли «чего-то» — выступают беспроводные интерфейсы — всем знакомый wi-fi и менее известный zigbee. Вот как раз с последним и возникает множество вопросов, которые мне задают в комментариях к моим обзорам и видео.

ZigBee — это самостоятельный сетевой протокол, разработанный для безопасной передачи данных при небольших скоростях и характеризующийся крайне низким энергопотреблением. Этим он выгодно отличается от Wi-Fi и даже весьма экономного Bluetooth 4+. Одного миниатюрного элемента питания типа CR2032 — хватит вам примерно на год работы! 

А главной особенностью ZigBee, является то, что при крайне низком энергопотреблении, она поддерживает не только простые структуры типа точка-точка (как Bluetooth) или звезда как Wi-Fi — но и сложные самоорганизующиеся и самовосстанавливающиеся ячеистые сети, с  ретрансляцией и маршрутизацией сообщений. 

Как это выглядит ?

Представим себе простую ситуацию — один шлюз и несколько датчиков:

277984358e.png?w=100

Это классическая сети типа «звезда» — где центральным устройством является шлюз, который и отвечает с сбор и обработку команд от датчиков, и обратную отправку команд управления. Напрямую датчики между собой не «контактируют» и отключения шлюза — ведет к отключению всех управляемых им датчиков. 

Такая схема напоминает работу обычной домашней Wi-Fi сети — где вместо шлюза — роутер, а вместо датчиков — ноутбуки, планшеты телефоны. 

В принципе такая схема — одна из самых распространенных, и неплохо себя зарекомендовала. Однако есть нюанс. Если между шлюзом и датчиками находятся пара-тройка стен, особенно из железобетона, то мощности слабеньких передатчиков — запросто может не хватать. И это будет выражаться в периодическом «отваливании» датчиков, либо просто их неспособности работать в нужном месте. 

И тут самое время вспомнить о особенностях протокола ZigBee — самоорганизация и ретрансляция. В роли такого ретранслятора выступает смарт розетка — естественно ZigBee версия, версия  Wi-Fi тут не подойдет. 

cac8d387be.png?w=100

В такой схеме, розетка выступит ретранслятором сигнала датчиков, что позволит им работать на удалении от шлюза. Эта схема проверена мной лично, и действительно работает. Кстати могу с уверенностью сказать что настенный выключатели Aqara — без 0 линии не работают как ретрансляторы. Про встраиваемую розетку и выключатели с 0 — пока не уверен.

Топология сети — изменяется автоматически, вам достаточно лишь включить в сеть розетку, подключенную к этому же самому шлюзу. При этом состояние реле — которое подает / отключает 220 для внешнего потребителя — значения не имеет. 

Каким устройствам нужен шлюз?

Так же часто спрашивают меня в комментариях к обзорам — тут надо шлюз, а тут ? 

Шлюз однозначно нужен всем беспроводным датчикам — движения, открытия, кнопкам, утечки газа, воды, дыма. Нет проводов — 100 % ZigBee (мы говорим про устройства для умного дома Xiaomi). 

Кроме них по ZigBee работают упоминаемые выше смарт — розетки (но у них есть брат близнец с Wi-Fi — это самостоятельное устройство), проводные и беспроводные выключатели и встраиваемая розетка Aqara, и двигатель для штор от того же бренда.

Им нужен шлюз — без шлюза они работать не будут. Ни с MiHome ни с Domoticz ни через малинку. Однозначно нет — только через шлюз и точка. Так как ZigBee — это аппаратный протокол.

dbe8c668f5.png?w=100

Все остальное — светильники Yeelight, Philips, чайники, очистители, удлинители, ИК базы — в большинстве работают через Wi-Fi, в некоторых случаях через Bluetooth. В любом случае, шлюз для работы им не нужен.

Шлюз Xiaomi Multifunctional Gateway

Теперь, когда мы немного разобрались в теории функционирования — перейдем непосредственно к обзору. Шлюз представляет собой «шайбу» из белого пластика, диаметром 8 см

f9f3fc9144.png?w=100

И толщиной в 3,5 см

20b48442fa.png?w=100

Вилка — Type I — применяемая в Китае, Австралии и Новой Зеландии. Использовать в наших розетках либо через переходник, либо применять удлинители с универсальными розетками — те же Xiaomi

3977e370b2.png?w=100

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

По торцевой части шлюза проходит полоска из полупрозрачного пластика — это RGBW подсветка.

Первое включение, подключение

После включения, шлюз рассказывает стишок на китайском языке 🙂 приветливо моргает подсветкой, переходя в режим сопряжения

7221af0eba.png?w=100

Процесс подключения — стандартный. Приложение MiHome обнаруживает новое устройство в зоне досягаемости, предлагает его подключить. Выбираем свою домашнюю Wi-Fi сеть и вуаля — готово.

После этого шлюз, при необходимости затянет одно-два обновления прошивки. 

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

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

Третье окно — содержит в себе список подключенных подустройств. В этом окне можно их удалять и добавлять.

Пройдемся по настройкам. 

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

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

Так же можно включать свет просто по таймеру.

При включении света по таймеру можно выбрать и режим повторения — по определенным дням, каждый день, однократно, задать период работы и цвет подсветки.

В режиме дверного звонка — настраивается условие срабатывания — например нажатие на беспроводную кнопку, настроить тип и громкость звонка, а так же настроить отправку сообщения на управляющий гаджет — например смартфон, на котором установлено приложение Mi Home

Режим будильника — очень похож на режим освещения по таймеру, только там включается не свет а звук. Так же этот режим интересен тем, что здесь можно выбирать не только предустановленные мелодии но и закачивать свои mp3 треки. Для того чтобы шлюз воспроизводил и с нормальной скоростью следует кодировать их в 256 кбит

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

Датчик открытия окон и дверей

Датчик состоит из двух частей — основная собственно сам датчик и магнит. Магнит при приближении к основному датчику замыкает контакты геркона — что дает возможность фиксировать состояния — открыто и закрыто.

3f2add79ad.png?w=100

Кроме датчика в комплекте идет запасной двусторонний скотч, для наклейки датчика на поверхность — дверь или окно

13e180dfe5.png?w=100

Датчик легко разбирается, и модифицируется — за счет того, что триггером срабатывания является состояние контактов. В одном из своих прошлых обзоров я рассказывал как сделать из него датчик протечки воды.

5f07176e9a.png?w=100

Подключаем датчик к шлюзу через вкладку Devices нажав кнопку внизу — add subdevice. Далее следуя подсказкам мастера подключения, при помощи скрепки (идет в комплекте к шлюзу) удерживаем нажатой кнопку сопряжения на датчике, до трехкратного мигания светодиода. После чего останется только выбрать комнату расположения и иконку датчика.

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

При использовании в смарт сценариях, датчик выступает условием сценария и имеет три варианта триггеров — открытие, закрытие и открытие более 1 минуты. 

В одном сценарии можно объединять датчики подключенные к разным шлюзам, но в таком случае эти сценарии будут работать только при наличии интернета. Если участники сценария подключены к одному шлюзу, либо например действием сценария является включение умного светильника Yeelight или Philips — сценарий будет работать и без подключения к интернет.

Беспроводная кнопка

Пришло время к последнему участнику комплекта — беспроводной кнопке. Это один из самых дешевых и удобных датчиков системы умный дом Xiaomi

b2892fcf3f.png?w=100

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

e948194517.png?w=100

Диаметр кнопки — 5 см, вся ее фронтальная поверхность — это плоскость нажима, в отличии от кнопки Aqara — про которую я недавно рассказывал, где нажимная поверхность находится в центре квадратной кнопки.

Добавляется кнопка аналогично датчику движения, все необходимые действия демонстрирует мастер подключения. 

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

Окно настроек — подобно описанному у датчика открытия (у датчика движения например или кубика — такие же), с двумя вкладками — перечень сценариев и лог срабатываний.

Кнопка предлагает к использованию в условиях сценариев три действия — однократное нажатие, двойной клик и длинный клик.

Пример простого сценария — на включение и выключения потолочного светильника Philips. 

В основном окне плагина шлюза — появляются добавленные нами датчики, и в окне автоматизации — составленный сценарий.

Вывод

На этом я буду заканчивать, надеюсь я не сильно утомил читателей. Очень надеюсь что мне получилось в этом обзоре ответить на, по крайней мере некоторые вопросы касательно функционирования датчиков умного дома. 

Видео версия обзора у меня в этот раз получилась более чем на полчаса. Основной смысл вы уже прочитали (если читали) более подробно — можно посмотреть здесь

Спасибо за внимание, надеюсь обзор был полезен.

ZigBee — один из протоколов, который используют для домашней автоматизации. Его поддержкой наделяют умные лампочки, беспроводные выключатели, датчики движения и прочие устройства, которые повышают комфорт. Но насколько они безопасны? В этой статье я расскажу, как устроен ZigBee, и покажу, при помощи каких устройств и программ перехватывать его сигнал для изучения.

INFO

Мои коллеги из GS Labs занимаются разработками, связанными с умным домом, что позволило мне вблизи познакомиться с безопасностью ZigBee. На этот опыт я и буду опираться, когда речь зайдет о практике.

Почему ZigBee?

Конечно, этот протокол не нов — стандарт появился еще в 2003 году. Сегодня есть более современные аналоги вроде LoRaWAN и RPMA, но ZigBee продолжает быть популярным. Почему? Взгляни на картинку.

Помимо дальности и скорости здесь учтена стоимость. И сразу видно, что ZigBee отлично сбалансирован и при невысокой цене дает приемлемые дальность действия и скорость передачи данных. Вряд ли тебе понадобится стримить видео в 4K на выключатель, а чтобы что-то сделать издалека, обычно используется подключенный к интернету хаб. Вот и получается, что ZigBee не сильно бьет по карману при создании умного дома и покрывает основные нужды.

К тому же более новые протоколы могут таить неприятные сюрпризы. Например, в разговорах о LoRa я уже несколько раз слышал от интеграторов, что при большом количестве устройств в сети могут начаться чудеса. Говорят, что на опрос сотни девайсов может уйти около часа.

WWW

Об опыте использования LoRaWAN можешь прочесть в статье на «Хабрахабре».

Основные понятия

Топология сети может быть одной из следующих:

  • звезда;
  • кластерное дерево;
  • стильный-модный-молодежный вариант — mesh.

Координатор (он же FFD) — это самый главный узел. Он создает сеть, выбирает, на каком канале общаться, может выступать как «центр доверия» (trust center). Роутеры — устройства уже чуть попроще. Они служат зачастую ретрансляторами сообщений от конечных устройств. Конечные устройства (end device) — то, что мы объединяем в сеть, то есть выключатели, лампочки, датчики движения и прочие гаджеты.

А теперь открываем официальную спецификацию ZigBee. Там нас почти сразу встречает вот такая интересная картинка.

Но пусть она тебя не пугает, потому что к концу статьи ты поймешь, что в реальности все немного проще! 🙂

PHY

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

INFO

Мы будем говорить о ZigBee, но ZigBee базируется на IEEE 802.15.4. Причем этот же стандарт взят за основу для WirelessHART и для ISA100.11a.

ZigBee, а точнее, IEEE 802.15.4 может работать в трех частотных диапазонах.

И, как ты можешь заметить, если выбрать для него частоту 2,4 ГГц, то Wi-Fi и ZigBee могут начать мешать друг другу. Для уменьшения перекрестных помех между Wi-Fi и ZigBee лучше выбирать следующие каналы.

Что не может не радовать, в стандарте есть такое понятие, как ED — Energy Detection. Эта фича используется в координаторе умного дома, чтобы он выбирал канал, где меньше всего помех.

Общий вид посылки для PHY имеет следующий вид.

Если у тебя дома завалялся SDR и ты желаешь контролировать каждый-прекаждый битик в модуляции OQPSK, то тебе поможет вот эта схема.

Этот вид модуляции как раз и применяется на частоте 2,4 ГГц. А мы тем временем идем дальше выше по стеку протоколов, и нас ждет уровень MAC.

MAC

Общий вид MAC-фреймов представлен ниже.

Как видишь, Frame Control отвечает за тип пакета данных (Beacon, Ack, Cmd, Data), тип адресации, а также наличие шифрования.

Теперь поговорим о каждом фрейме данных чуть подробнее.

Data Frame — один из самых простых фреймов. В нем передаются данные протоколов, которые работают поверх IEEE 802.15.4. Получается, что ты можешь взять за основу IEEE 802.15.4 и разработать протокол для своих нужд.

ACK Frame — фрейм подтверждения. Увы, мы живем в неидеальном мире, где бывает много помех, а при передаче по радиоканалу тем более. Поэтому необходимо подтверждать принятые данные.

Здесь Sequence Number указывает на то, какой фрейм из пришедших ранее мы подтверждаем.

MAC Cmd frame в той или иной степени отвечает за «организацию сети» на уровне 802.15.4.

Ниже представлены команды, которые могут тебе встретиться.

FFD — Full-function Device — это координатор сети, та самая главная «железка», которая организовывает сеть ZigBee.

RFD — Reduced-function Device — не столь важное устройство, как координатор, выполняет функции роутера при пересылке пакетов.

Beacon frame — об этом фрейме стоит поговорить подробнее.

Так как мы передаем данные по радиоканалу и у нас есть несколько устройств, эти устройства должны как-то определять, в какой момент можно передавать данные, а когда занята несущая и стоит подождать. Поэтому в сетях ZigBee/IEEE 802.15.4 есть два способа передачи данных: режимы Beacon и NonBeacon.

Для передачи данных в режиме NonBeacon используется так называемый unslotted CSMA-CA channel access mechanism. По моему опыту, он используется редко.

Наиболее частый случай — использование режима Beacon. В этом случае координатор отправляет так называемые маячки (beacons), на основе которых остальные устройства синхронизируются и передают данные.

Общий вид передачи данных в этом режиме представлен ниже.

Во фрейме Beacon указывается, сколько будет slotted CSMA-CA, будет ли доступ без конкуренции и последует ли Inactive portion — время, когда конечные устройства смогут со спокойной совестью уйти в спячку для продления работы от батарейки.

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.

Я уже участник «Xakep.ru»← Ранее Check Point: ботнет Echobot начал широкомасштабные атаки на умные устройстваДалее → Свежую уязвимость в vBulletin уже используют ботнеты

Что такое ZigBee протокол в системе «умный дом» Xiaomi?

У многих устройств и датчиков умного дома Xiaomi мы видим приписку ZigBee, что это за зверь, какие плюсы и минусы он несет, я постараюсь разобрать в этой статье.

ZigBee-xiaomi-kit.jpg

Наверное, все представляют что такое Wi-Fi сеть, которая есть почти в каждой квартире. Есть устройство передатчик (роутер) и приемники (телефон, ноутбук и другие устройства), их связывает единая сеть, которая создается на уровне роутера. Схематично это выглядит так:

Shema-Wi-Fi.jpg

Такой тип сети называется «Звезда», из-за визуального сходства (Центральное устройство и лучи отходящее от него). Тут все кажется довольно просто.

Как вы можете заметить, на схеме присутствуют устройства из системы «Умный дом» от Xiaomi. Получается, что на протоколе Wi-Fi можно построить свою систему автоматизации? Ответ — да, можно.

А зачем тогда что-то придумывать?

Если вы обратите внимание на схему, то заметите, что все устройства либо подключаются к розетке, либо требуют частой зарядки. Тут во всей красе предстает главный минус Wi-Fi сети, а именно высокое энергопотребление. И если для устройств питающихся от розетки это не страшно, то для устройств и датчиков работающих от батарейки — это смертельно. Согласитесь, зачем нужен датчик, в котором нужно каждый день заряжать аккумулятор?

Но ведь есть протокол передачи данных, с низким энергопотреблением, который нам давно известен и до сих пор активно используется. Вспомните фразу: «включи блютуз, я тебе перекину фотки.». Да, именно Bluetooth, который раньше использовался для передачи данных, а сейчас занял нишу подключения беспроводных аудио-устройств и гаджетов, так же применяется в системе «Умный дом». Чаще конечно идет в пару с Wi-Fi, но есть и устройства только с bluetooth, например чайник Mi Smart Kettle.

bluetooth-mitu.jpg

Но и тут все не так гладко, как хотелось бы. Как и Wi-Fi, Bluetooth использует топологию «Звезда». А что в этом страшного? Ответ прост, малая дальность действия и низкая отказоустойчивость. Основное устройство необходимо размещать максимально по центру помещения, чтобы обеспечить связь со всеми устройствами. И если для квартиры это не так критично, то в частном доме просто не получится обеспечить постоянную связь между устройствами, находящимися на заметном удалении друг от друга. Для решения этой проблемы были внедрены Bluetooth шлюзы. И постепенно развивается система Mesh, для которой выпустили специальные лампочки.

ZigBee

Логично, что нужен был протокол передачи данных с низким энергопотреблением и надежностью соединения. Поэтому еще в 2003 году была ратифицирована спецификация ZigBee. Основное отличие от Bluetooth — это топология «Mesh».

В ней подразумевается наличие 3 типов устройств:

  1. Координатор — головное устройство, которое создает сеть. В умном доме сяоми эту роль выполняет один из шлюзов.
  2. Роутер — устройство, которое имеет постоянное питание. Эту роль берут на себя выключатели и розетки.
  3. Конечные устройства — датчики и гаджеты работающие от батарейки.

На схеме умного дома Xiaomi протокол будет выглядеть так:

Shema-raboty-ZigBee-Xiaomi.jpg

Ничего не понятно? Давайте попробуем разобраться.

У нас на схеме есть шлюз Gateway 2, он выполняет роль координатора. К нему, в приложении MiHome мы подключаем все остальные устройства. Как и в Wi-Fi и Bluetooth, только стрелочек тут заметно больше. Все это потому, что розетки и выключатели выполняют роль «Роутера», они принимают сигнал от головного устройства и транслируют его дальше по сети до конечных датчиков. Это позволяет масштабировать сети до уровня дома или даже большого производственного здания. А выход из строя одного из устройств-роутеров не скажется на работоспособности всей сети.

Сравнительная таблица характеристик этих протоколов связи:

Технология Wi-Fi Bluetooth ZigBee
Стандарт связи IEEE 802.11 IEEE 802.15.4 IEEE 802.15.4
Скорость передачи данных 300+ Мбит/с до 3 Мбит/с 250 Кбит/с
Энергопотребление Высокое Низкое Низкое
Частотный диапазон 2.4 Ггц 2.4 Ггц 2.4 Ггц
Поддержка IP +
Топология «звезда» «mesh» «звезда», «mesh» «звезда», «mesh»

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

Обратите внимание, если в вашей системе 2 шлюза, то это будет 2 разных, независимых ZigBee сети только в случае недосягаемости. А так второй и последующий шлюз подхватывает сеть первого. Но если вдруг один из шлюзов умрет, то датчики можно переподключить к другому.

Значимость ZigBee в системе умного дома Xiaomi

На конец 2017 года, в системе Xiaomi 22 устройства, которые используют ZigBee протокол. Wi-Fi используют около 80, а блютуз около 25.

Да, самая маленькая доля устройств, но стоит отметить, что ZigBee устройства предназначены именно для автоматизации жилища, и их доля в вашей системе скорее будет доминировать.

Если у вас появились вопросы, смело задавайте в комментариях.

До новых встреч!

Используемые источники:

  • https://www.ixbt.com/live/kvazis/bazovyy-nabor-dlya-umnogo-doma-xiaomi—shlyuz-i-datchiki-zigbee-osnovy-raboty.html
  • https://xakep.ru/2019/09/30/zigbee-exploits/
  • https://xiaomi-smarthome.ru/zigbee/

Рейтинг автора
5
Подборку подготовил
Андрей Ульянов
Наш эксперт
Написано статей
168
Ссылка на основную публикацию
Похожие публикации