Что такое Zigbee

Как и у многих, мое знакомство с умным домом началось с умной Wi-Fi лампочки.

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

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

Меня вполне устраивал Wi-Fi, поэтому я не сильно интересовался чем-то другим. Но в конце-концов я разобрался что такое Zigbee и сейчас очень жалею что не узнал все это раньше.

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

Как это работает и зачем это нужно

Zigbee — это стандарт беспроводной связи для умных устройств.

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

Точно также в Zigbee сети есть центральный элемент — он называтеся "Координатор", к нему по воздуху подключаются разные клиенты: умные лампочки, кнопки, разные датчики. Устройства которые подключаются к Zigbee сети могут быть как с постоянным питанием, так и работающие от батареек.

Огромный плюс Zigbee по сравнению с Wi-Fi — это то как работают устройства на батарейках. Совершенно обычная ситуация что какая-нибудь зигби кнопка работает несколько лет (!!!) на одной батарейке.

Бывают разные типы датчиков:

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

Стандарт Zigbee создан специально для умных устройств. Zigbee — это не замена Wi-Fi. Через Zigbee вы не сможете посмотреть фильм в интернете, не бывает зигби камер, но всякие умные устройства могут использовать Zigbee для эффективной работы.

Самоорганизующая сеть

Интересная особенность Zigbee — это то как устройств объединяются в сеть.

Есть 3 типа устройств в Zigbee сети:

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

Роутер — тоже какое-то полезное устройство, например умная розетка или умная лампочка.

Назначение роутеров — это расширение сети Zigbee. Конечные устройства могут подключаться или напрямую к координатору, или к роутеру. Это происходит автоматически. Устройства сами понимают куда и как нужно подключаться и повлиять на это никак нельзя.

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

Вот пример как может выглядеть Zigbee сеть:

Первое время после того как появляются Zigbee устройства очень интересно смотреть в карту сети. И тут сразу появляются вопросы "Почему этот датчик температуру идет напрямую в координатор, который находится через 2 стены от него, а не садиться на роутер который находится в 20 сантиметрах?" Ответ — сеть сама понимает как ей лучше. Может быть, когда-нибудь, сеть перестроится, но возможно что все и дальше будет работать именно так. Не стоит ожидать мгновенной перестройки сети. Могут проходить недели перед тем как поменяются маршруты. Нет возможности настроить конечное устройство чтобы оно подключалось к какому-то определенному роутеру. Сеть сам определяет какие маршруты использовать.

Координатор

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

Официальные устройства

Давайте сначала рассмотрим официальный подход. Есть много разных производителей умных устройств. Например, Aqara. Можно купить датчик температуры Aqara, датчик движения Aqara, датчик открытия Aqara — все это очень хорошие и популярные устройства. Но чтобы работать этим устройствами нужен Координатор. И компания Aqara продает устройства которое работает Кординатором — Aqara шлюз (есть несколько разных моделей этого устройства).

Практически все производители которые делают умные зигби устройства продают Координаторы. Обычно эти устройства называются Шлюз, Хаб, Gateway, Центр умного дома.

Но тут есть одна тонкость. Чаще всего к Координатору компании можно подключить только устройства которые производит эта же компания. Если у вас Sonoff Шлюз, то к нему будут подключаться только Sonoff Zigbee устройства. Если у вас Konke Шлюз, то к нему можно подключить только Konke устройства. Бывают небольшие исключения (например, в Aqara Шлюз можно подключать не только устройства Aqara, но и Mi), но в общем случае — к Координатру можно подключать только устройства этой же компании.

И это, конечно, ужасно. В мире Wi-Fi все совершенно не так: к Wi-Fi роутеру любой компании без проблем подключаются все Wi-Fi устройства любых других производителей.

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

USB Стики

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

Можно вообще не использовать официальные устройства в качестве Координатора, а использовать так называемые "USB стики". USB стик втыкает в компьютер. На компьютер ставится специальный софт. И вот совокупность этого стика + софт — это получается zigbee Координатор.

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

Самый популярный софт который работает с zigbee стиками — это zigbee2mqtt. Этот софт поддерживает более 1000 Zigbee устройств разных производителей. При использовании стика + zigbee2mqtt в одной сети могут быть устройства разных брендов: датчики Aqara, кнопки Konke, лампочки Ikea.

Софт zigbee2mqtt может работать с разными стиками (список). Вот несколько популярных стиков:

DIY устройства

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

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

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

Кроме этого, нужно упомянять проект github.com/AlexxIT/XiaomiGateway3 — это дополнение к популярной системе умного дома Home Assistant, которое использует недокументированные возможности Xiaomi шлюза для того чтобы он хорошо работал с системой Home Assistant.

С чего начать

Итак, вы хотите попробовать Zigbee. Что это этого нужно?

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

Я начал с того что купил самый простой и дешевый стик CC2531 и стал использовать его с zigbee2mqtt.io.

Я решил что на первое время (10-20-30 устройств) мне этого стика будет достаточно, а дальше, если возникнет необходимость, можно будет и что-то другое купить.

Свой стик я покупал вот в этом магазине на AliExpress.

Если решите покупать, то лучше всего сразу купить 3 лота:

Второй и третий лот — это программатор и кабель для подключения. Для того чтобы стик работал на него нужно залить прошивку. Это можно сделать с помощью arduino/raspberry pi/orange pi, но, гораздо проще и быстрее это сделать с помощью специального устройства. Иногда приходится эту прошивку менять, так что очень удобно когда это оборудование есть под рукой.

Документация zigbee2mqtt как прошить стик CC2531 — https://www.zigbee2mqtt.io/information/flashing_the_cc2531.html.

После того как у вас есть аппаратная часть (стик), нужно поставить софт. Есть много разных способов как можно установить zigbee2mqtt (и тут разные люди будут советовать разные решения). Я используют экосистему умного дома Home Assistant и с помощью этого бесплатного софта можно установить zigbee2mqtt в несколько кликов мышкой (но после установки нужно еще выполнить некоторые настройки). Home Assistant использовать не обязательно, но, на мой взгляд, это хорошая идея использовать Home Assistant и zigbee2mqtt.

Что дальше

Иван Бессарабов
ivan@bessarabov.ru

23 ноября 2020

Кстати, у меня есть телеграм канал про Home Assistant: https://t.me/bessarabov_ha