Zigbee устройства что это
Zigbee 101: руководство для начинающих
Что такое Zigbee?
Zigbee — технология, которая основана на радио стандарте IEEE 802.15.4 и предназначена для стандартизации маломощных M2M устройств разных производителей. Из особенностей сети можно выделить высокую отказоустойчивость, длительный срок службы конечных устройств от одной батареи, поддержку большого количества подключений и совместную работу устройств разных производителей.
Из особенностей архитектуры сети: поддержка топологии mesh, обязательное наличие координатора и, необязательное, роутера. Больше об архитектуре сети здесь.
ZigBee предусматривает передачу информации в радиусе от 5 до 75 (на открытой местности до 200) метров с максимальной скоростью 250 кбит/с. Поддерживает работу в 27 каналах трех частотных диапазонов:
2,4 ГГц (16 каналов)
915 МГц (10 каналов)
868 МГц (1 канал)
Занимательный факт:
Согласно одной из версий, название ZigBee происходит от зигзагообразного танца пчел, которым они указывают своим соседям путь к следующему источнику пищи, аналогично, как и пакеты данных стандарта должны найти свой путь в mesh сети.
Что нового в Zigbee 3.0
Direct binding, или прямое соединение позволяет конечным устройствам разных производителей работать напрямую без участия координатора и роутера. Это позволяет гибко настраивать сценарии поведения устройств и увеличить скорость срабатывания.
Green Power — набор технологий, которые минимизируют использование ресурсов батареи устройством, а также могут ее собирать за счет кинетической, световой, и тепловой энергии. Немного непонятно звучит; говоря иначе, переключатель сможет передать сообщение за счет того, что вы к нему прикоснулись. Детальнее тут
Унификация. Раньше существовало множество так называемых профилей. Например, Home Automation, Building Automation, Health. Zigbee 3.0 — это единый профиль приложений.
Обратная совместимость со всеми продуктами выпущенными до v3.0
Зачем это нужно?
Если кратко — для измерения показаний и автоматизации. Сфер применения этой автоматизации много. И хотя в последнее время прослеживается тенденция унификации, технология поддерживает различные профили, которые делятся по сфере применения. Вот некоторые из них.
Home Automation — управление домашними устройствами и создание сценариев.
Remote Control — управление устройствами дистанционного управления.
Smart Energy — контроль и автоматизация доставки и использования энергии.
Green Power — поддержка устройств генерации электроэнергии.
Light Link — управление освещением.
Health Care — управление устройств медицинского и около медицинского (браслеты измерения показаний, кнопки “sos”) назначения.
Много ли устройств Zigbee?
Приблизительно 2600 устройств (список сертифицированных устройств). Стоит уточнить, что в большинстве случаев каждый производитель имеет свое приложения для подключения только своих устройств, но, используя стороннее программное обеспечение, их можно подружить. Об этом ниже.
Средняя цена одного конечного устройства варьируется в районе 10$.
Вот пример конечных устройств нескольких популярных производителей:
Xiaomi Aqara — около 50 устройств разного назначения.
Philips Hue — около 100 устройств, (большинство светильники),
Ikea trådfri — около 40 устройств (большинство светильники),
Tuya — около 30 устройств,
SONOFF — около 10 недорогих реле.
Zigbee USB устройства (стики)
Для чего нужны Zigbee стики?
Если вы используете стороннее решение, стик удобно использовать как координатор сети, подключив к компьютеру как роутер, чтобы достичь отдаленных от координатора мест.
Вот пример нескольких популярных устройств:
cc2530/2531 — дешевый и популярный стик. Неплохой выбор для начинающих. Из минусов: небольшой радиус покрытия (10-15 м без антенны) и ограничения по количеству подключаемых устройств.
cc2538 стик разработанный энтузиастами проекта modkam.ru. По сравнению с 2531, обладает большим радиусом действия и не имеет ограничений по количеству подключений (тесты показали больше 200 устройств).
deCONZ Conbee стик также поддерживает большое количество систем умного дома. Из минусов родной прошивки — иногда отваливаются конечные устройства.
Sprut.stick (в бета тестировании) координатор от проекта Sprut.AI на основе модулей EFR32MG12 или MGM12P32F1024. Обладает отличными характеристиками мощности, поддерживает большое количество устройств, также постепенно добавляются новые. Детальнее 1 2 3
Также примеры менее популярных:
nRF52840 Dongle — универсальный стик с поддержкой Bluetooth 5, Bluetooth mesh, Thread, ZigBee, 802.15.4 и ANT и удобной средой разработки.
Zigbee шлюзы
Готовые решения
Xiaomi/Aquara три самых популярных устройства — Xiaomi Gateway 2 и 3 версии и Aqara Hub. Gateway 2 не совместим с homekit и имеет 3 версию протокола Zigbee. Третья версия имеет на борту Zigbee 3.0 и Bluetooth Mesh 5.0. С дополнительными различиями поможет разобраться краткий ролик.
Менее популярные zigbee концентраторы просто перечислю
Orvibo
livolo
Wemo
Vera
Fibaro
Zigbee+ Zvawe
Athom Homey
Hubitat Elevation
Wink hub 2
SmartThings Hub
VeraPlus
DIY, или сделай сам
SLS шлюз — Устройство на основе СС2538+СС2592 и ESP32-Wrover-B, а также прошивка. Поддерживает Zigbee 3.0 и в отличие от Xiaomi он не ограничен одной экосистемой. А в отличие от стиков CC2531, CC2538 и Deconz — он является готовым устройством и может работать как самостоятельно, так и в системе домашней автоматизации Home Assistant. На данный момент поддерживается 113 устройств. Видео обзор
ZESP32 — это прошивка для шлюза Xiaomi Gateway. Точно так же как и SLS он рассчитан на подключение Zigbee устройств разных производителей. Основная концепция — упрощение добавления нового устройства в сеть при помощи изменяемых шаблонов.
cc25хх + компьютер удобный вариант если у вас уже имеется raspberry pi, или старенький пк, который будет выступать в роли сервера. В этом случае вы можете выбрать любую удобную систему домашней автоматизации, о которых ниже.
Что по экосистемам?
Apple home — программное решение от Apple. Количество поддерживаемых устройств невелико, но функционал можно расширить с помощью homebridge и aqara hub. Вы можете использовать Apple home в домашней сети используя только Iphone и хаб (Zigbee), но для удаленного управления нужен домашний центр в роли которого могут выступать iPad (iOS 10 или выше), HomePod, или Apple TV.
Google home — также не работает с Zigbee устройствами напрямую, но имеет совместимость с Alexa.
Amazon ассистенты Echo Show, Spot и Plus умеют работать напрямую поскольку имеют встроенный zigbee координатор. Тем не менее проблемой является ограниченное количество совместимых устройств и непопулярность решения в странах СНГ.
Xiaomi/Aqara — шлюзы компаний Xiaomi и Aqara поддерживают только свои zigbee устройства. В отличие от Xiaomi Gateway у Aqara Hub не предусмотрена возможность интеграции с альтернативными системами домашней автоматизации.
Samsung SmartThings позиционируется как универсальный хаб. Работает с большим количеством устройств Z-Wave и Zigbee. Пользователи часто жалуются на падение облака (отсутствие подключения к серверу) и отсутствие интереса в развитии проекта со стороны разработчиков.
Яндекс дом. Диалоги Яндекс Станции и для телефона это разные вещи. Для колонки диалогов меньше, они примитивные. Заявлена поддержка ZigBee и Bluetooth устройств, но не работает с ними напрямую. Многие сценарии зависят от наличия интернет соединения, но решением может быть подключение сторонних контроллеров умного дома, например с помощью yandex2mqtt.
Как там с программной поддержкой?
Для удобства разделю программные решения на категории.
Домашняя автоматизация
Homebridge сервер NodeJS, для интеграции устройств без поддержки HomeKit.
ioBroker открытая система автоматизации, разработанная на платформе NodeJS
HomeAssistant система с открытым кодом с акцентом на конфиденциальность.
OpenHAB opensource проект с акцентом на удобство настройки
MajorDoMo система интеграции с открытым кодом.
Dashboard
RoboDomo фреймворк, на MQTT с привлекательным графическим интерфейсом.
node-red-dashboard модуль node-red для создания панели управления, интегрируется в
Интеграция
Zigbee2mqtt это программа-мост, что позволяет использовать вместе устройства разных поставщиков, транслируя команды zigbee в mqtt.
MQTT Explorer удобный mqtt клиент
Разработка
IAR Embedded Workbench среда с дружественным интерфейсом и поддержкой большого количества микроконтроллеров
Simplicity Studio IDE и набор инструментов для разработки приложений на базе процессоров Silicon Labs
SimpleLink SDK среда разработки для чипов разработки Texas Instruments, включающий API, TI-RTOS и прочее.
Red-node блочный инструмент программирования для соединения аппаратных устройств, API и онлайн-сервисов.
Тестирование и аудит
KillerBee — инструмент для тестирования Zigbee сетей.
SecBee — тестирование реализаций ZigBee на проблемы безопасности.
Z3sec — основная цель фреймворка тестирование сертифицированных устройств, реализующие ZigBee Light Link (ZLL), или стандарт ZigBee 3.0.
pwnrf — инструмент для тестирования безопасности в сетях Wi-Fi, Bluetooth и Zigbee.
Что выбрать: Wi-Fi, Bluetooth, ZigBee или Z-Wave?
На рынке существуют десятки IOT технологий, но самыми популярными решениями являются Wi-Fi, Bluetooth, ZigBee и Z-Wave.
WiFi очень популярная технология, она удобна и идеальна для голосовых помощников, систем видеонаблюдения, телевизоров, или в случае если у вас небольшое количество умных устройств. Но WiFi сильно энерго затратен и если умных устройств десятки, или сотни постоянно заряжать их проблематично. К тому же WiFi роутер не рассчитан на большое количество подключений. Конечно есть решения и на такой случай, но тогда цена развертывания сети вырастет в разы. WiFi имеет единую точку отказа — роутер.
Bluetooth LE (Low Energy) не менее популярная технология с низким энергопотреблением, что позволяет более года не менять батарейку и высокой скоростью передачи 1-2 Мбит. Имеет функцию маячка (настраиваемое поведение устройств при приближении) и работает с устройствами напрямую. Из минусов работа в диапазоне 2,4 ГГц, и небольшой радиус действия в помещении с другими устройствами. Также большинство BLE устройств работают по принципу «точка-точка», что плохо подходит для создания продвинутых сценариев автоматизации. Но решением данной проблемы можно считать спецификацию Bluetooth mesh.
ZigBee открытый стандарт с низким энергопотреблением конечных устройств (1-2 года), поддержкой ячеистой (mesh) топологии, высокой помехоустойчивостью, хорошей масштабируемостью (в теории до 65000 узлов) и большим проникновением на рынок. Из минусов: Zigbee работает в загружённом диапазоне 2,4 ГГц, что при сильных помехах может привести к снижению помехоустойчивости, и уменьшению радиуса действия. Каждый производитель создает отдельное приложение для поддержки только своих продуктов. Но как по мне самый большой минус это то, что устройства разных производителей не могут “общаться» между собой “из коробки”. Их можно объединить при использовании стороннего ПО, но отсутствие общих решений приводит к относительно высокому порогу вхождения. Альянс знает об этих проблемах и для устранения работает над DotDot и Connected Home over IP.
Z-Wave — зарекомендовавший себя закрытый стандарт. Обладает высоким уровнем совместимости устройств, низким энергопотреблением, поддержкой ячеистой топологии, имеет стабильный сигнал в диапазоне 800–900 МГц, что позволяет лучше огибать препятствия (чем больше длина волны (ниже частота), тем лучше она преодолевает препятствия). Поддерживает до 232 устройств в одной сети и скорость до 100 кбит/с. Из недостатков стоит указать, что в разных странах для устройств малого радиуса действия выделены разные частоты. И устройства созданные для одной страны могут быть несовместимы для другой. Также Z-Wave несколько дороже ZigBee устройств.
С чего начать, если вы новичок?
Если вы пытаетесь выбрать на чем построить свой умный дом начните с этой занимательной схемы. Также лично для меня вдохновляющими была статья Дом Дурачок 2.0
Если у вас возникают трудности в настройке своего умного дома, вы можете попросить совета в группе SmartHome
Если вы хотите купить SLS шлюз и другие Zigbee устройства вам в Zigberu
Обсуждение устройств, прошивок и прочего софта, работающего с Zigbee — Вокруг да около Zigbee и
Zigbee
Вместо заключения
Тяжело сказать кто победит в войне протоколов умного дома. Zigbee не лишен недостатков, имеет сильных конкурентов, но вместе с тем его сильная сторона это большое заинтересованное сообщество (Zigbee Альянс, энтузиастов и гиков). Интерес к Zigbee проявляют как именитые бренды, так и молодые компании.
Стоит отметить, что не существует универсального решения на все случаи жизни. Выбирайте, то что подходит именно вам, именно в вашем случае. WiFi и Bluetooth хотя и громоздки, но есть случаи, когда их использование оправдано.
Zigbee для самых маленьких. Пост номер 1
Около месяца назад попали в мое распоряжение модули Atmel ATZB-S1-256-3-0-C основанные на чипе ATmega256RFR2 объединяющим в себе 2.4Mhz трансивер, микроконтроллер AVX на 256 килобайт памяти и даже чип-антенну. Атмель обещали в свою очередь out of the box поддержку Zigbee для этих модулей и было принято решение строить наш mesh именно на них.
Если кто не понял то при помощи этих модулей можно относительно просто построить IoT меш сеть добавляя к модулям лишь кнопочки, лампочки, сенсоры и батарейки. Основной микропроцессор уже на месте, даже с осцилятором из трансивера.
Звучит довольно просто, не так ли? На практике все оказалось намного прозаичнее. Основной проблемой оказалась недооценка технологической сложности атмелевского стека Zigbee, самого стандарта Zigbee, ну и переоценка собственных возможностей. Дело в том что сам я давно не програмировал на C, давно перешел на Matlab и Python, все указатели и другие средства управления ресурсами и процессами давно положил в тумбочку и выкинул ключ. Ну что-же… в мире ембеддед меня ждало много приятных неожиданностей.
Закатал я короче рукава, расчехлил модули, припаял батарейки, установил AtmelStudio, сел программировать, встал через три дня с пониманием того, что я до сих пор ни во что не врубаюсь. Ощущение неприятное, но делать нечего, проект сам себя не закончит и надо что-то делать. Первым шагом к исправлению ошибки был переход на другой микроконтроллер который тоже присутствовал в проекте — STM32 на который была уйма туториалов в интернете и который позволил мне более плавно влиться в мир embedded. Про STM32 я тоже написал подобную серию постов которая как мне кажется довольно подробно описывает работу с этим микроконтроллером для совсем начинающих. Данная серия постов — «Zigbee для самых маленьких» будет относительно продвинутой по сравнению с серией про STM32 как мне кажется, но все же я постараюсь разжевывать и представлять материал достаточно структурировано что-бы получилось, как можно более доступно и можно было повторить эксперимент дома.
Стандарт Zigbee
В этой части мы попробуем разобраться что же такое Zigbee. Рассмотрим стандарт в общих чертах, посмотрим что такое Zigbee application profiles, clusters и endpoints. В следующей части углубимся в технические подробности фрэйма, и безопасности в Zigbee (можно даже и не читать пока, а вернуться когда они понадобятся). После ознакомления с протоколом перейдем непосредственно к модулям Atmel и программированию.
Вступление
Итак, Who is Mr. Zigbee?
Во первых. ZigBee — спецификация сетевых протоколов верхнего уровня — уровня приложений APS (англ. application support sublayer) и сетевого уровня NWK, — использующих сервисы нижних уровней — уровня управления доступом к среде MAC и физического уровня PHY, регламентированных стандартом IEEE 802.15.4.
Если по-простому то Википедия по-моему очень емко выразилась на счет этого: «Сотрудничество между IEEE 802.15.4 и ZigBee подобно тому, что было между IEEE 802.11 и альянсом Wi-Fi».
А если разжевать, то все вместе работает примерно так:
APS(Zigbee) NWK(Zigbee) MAC(IEEE 802.15.4) PHY(IEEE 802.15.4)
1. PHY — physical layer. Физический уровень. Отвечает за передачу и прием битов нашим трансивером.
2. MAC — media access control. Подуровень управления доступом к среде. Для простоты запоминания можно сосредоточиться на механизме адресации. Все слышали про MAC адрес вот именно в этом подуровне он и появляется. Подуровень ответственный за то что бы бит был послан или принят не просто так, а по определенному адресу в сети.
3. NWK — network layer. Уровень управления сетью. Ответственный за передачу пакетов в сети — включает протоколы переадресации, раутинга и т.д.
4. APS — application support sublayer. Команды вызываемые непосредственно из приложения для пересылки в сети.
Во вторых. Zigbee так же включает в себя (из важных для понимания вещей) механизм стандартизации приложений включающий профили приложений и библиотеки стандартных кластеров. (Запомните этот твит!)
Механизм стандартизации приложений
Из этой части мы должны вынести несколько основных понятий:
Profile ID Profile Name
0101 Industrial Plant Monitoring (IPM)
0104 Home Automation (HA)
0105 Commercial Building Automation (CBA)
0107 Telecom Applications (TA)
0108 Personal Home & Hospital Care (PHHC)
0109 Advanced Metering Initiative (AMI)
Профили прежде всего нужны для того что бы устройства одного производителя работали с устройствами другого производителя в общей области применения. Интересно то, что устройства могут быть мультипрофильными и какая то лампочка может быть например сертифицирована и как (HA) и как (CBA). Профили не ограничиваются стандартными и производитель устройств может придумывать свои собственные. Также сообщения в Zigbee передаются внутри одного профиля с помощью profile id — то есть области применения разграничены не только в коде, в сертификации, логически и но и на канале связи.
В стандартных профилях придуманы стандартные типы устройств например для (HA) существуют следующие осветительные устройства:
Важно заметить что данное разделение является функциональным а не физическим то есть одна встраиваемая панель управления может быть одновременно и «Dimmer Switch» и «On/Off Light Switch». Как же ей это удается? С помощью концепции называющийся endpoints. В нашем железном-устройстве мы можем «зарегистрировать» несколько endpoints каждый из которых будет заниматься своим делом и даже не не будет знать про остальных. Таким образом совмещаются несколько устройств виртуальных на одном физическом.
Ну и на сладкое, Zigbee предоставляет специальные библиотеки ZCL — кластеры которые должны здорово помогать нам имплементировать различные устройства. Кластеры являются функциональными кирпичиками осуществляющими некие простые функции из которых можно создать целое рабочее устройство. Например стандартное устройство называющееся «Dimmer Switch» использует библиотеки/кластеры:
Но что это? Это самолет! Нет это птица! Нет это супермэн разграничение на сервер и клиент. Последнее основное понятие которое мы затронем сегодня это разграничение на сервер/клиент в коде и функционале устройства. Сервер это обычно то куда складывается информация/команды а клиент это тот кто посылает, таким образом «Dimmer Switch» он в основном клиент (посылает команды) а лампочка — сервер (выполняет команды). Заметим так же что у того же устройства «Dimmer Switch» есть и серверная сторона отвечающая видимо за настройку идентификации в этом самом выключателе. Почти все стандартные устройства имеют что-то на обоих частях и на серверной и на клиентской. Так же заметим из примера выше, что кластеры могут иметь как серверный так и клиентский функционал.
Все это разграничение и стандартизация по идее должны здорово помогать в разработке программного обеспечения.
Пример:
Завод изготовитель Zingbao ltd выпускает для Philips ltd систему состоящую из лампочки, датчика движения и интернет портала для них. Эта система конечно же работает и сертифицирована как Zigbee (HA). Это кстати значит что лампочка в системе умеет делать то что должно делать устройство Colour Dimmable Light (HA), а именно принимать команды цвета и свето-силы, датчик должен уметь делать то что положено Occupancy Sensor (HA) и т.д. Поэтому все части системы содержат код данного профиля Согласно своей функции. Далее лампочки с датчиками и выходом в интернет от Philips поставляются в офис крупной интернет компании Booble. Заметив это, предприимчивые китайские хакеры пишут свой Zigbee профиль «I want to know your secrets» (IWNYS) и договариваются с Zigbao ltd или ее сотрудником на внеочередной апдейт системы. После апдейта датчики движения кроме индикации движения начинают передавать еще и разговоры (благо датчик основан на микрофоне, а в прошивку добавлено новое устройство «Spy senor» опирающееся на хакерские кластеры «Big boss detector», «Speech transmitter», «Secret encoder» и конечно зарегистрированное как дополнительный endpoint в датчике движения) из офиса начальника Booble через профиль (IWNYS) без какой либо связи с (HA). Вот так например стандартный (HA) может отлично уживаться с фирменным профилем (IWNYS). Ну и для полноты примера, система отлично работает с лампочками от Osram так же сертифицированными как (HA) и установленными в Booble.
Ну вот вроде и все на сегодня. Напоминаю что в следующей части мы пройдемся по технической части протокола — по строению фрэйма и по настройкам и осуществлению безопасности. Если кому будет скучно эту часть можно пока пропустить. В последующих частях мы перейдем непосредственно к запуску Zigbee на модулях ATmega и разбору Atmel bitcloud SDK — пакету для работы с Zigbee и модулями ATmega.
Что такое 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 устройств) мне этого стика будет достаточно, а дальше, если возникнет необходимость, можно будет и что-то другое купить.
Если решите покупать, то лучше всего сразу купить 3 лота:
Второй и третий лот — это программатор и кабель для подключения. Для того чтобы стик работал на него нужно залить прошивку. Это можно сделать с помощью arduino/raspberry pi/orange pi, но, гораздо проще и быстрее это сделать с помощью специального устройства. Иногда приходится эту прошивку менять, так что очень удобно когда это оборудование есть под рукой.
После того как у вас есть аппаратная часть (стик), нужно поставить софт. Есть много разных способов как можно установить zigbee2mqtt (и тут разные люди будут советовать разные решения). Я используют экосистему умного дома Home Assistant и с помощью этого бесплатного софта можно установить zigbee2mqtt в несколько кликов мышкой (но после установки нужно еще выполнить некоторые настройки). Home Assistant использовать не обязательно, но, на мой взгляд, это хорошая идея использовать Home Assistant и zigbee2mqtt.