Какой Zigbee USB стик выбрать в 2020 году?
В последнее время нас просто заваливают вопросами о выборе правильного Zigbee стика для стабильной и правильной работы беспроводных устройств своего умного дома. Кому-то важна именно надежность, а кто-то хочет подешевле познакомиться с миром Zigbee, некоторые вообще просто хотят избавиться от поднадоевшего Xiaomi шлюза. Постараемся вкратце рассказать о самых популярных устройствах и облегчить вам выбор. Также не забывайте, что на каждый из стиков есть ссылка в наш каталог, в котором вы можете посмотреть более подробные характеристики устройства и совместимость с другими системами.
cc2531 и прочие cc2xxx стики
Народная ветка подобных устройств, которых на данный момент набралось уже десяток в самом разнообразном исполнении. В сети масса схем, по которым можно сделать данное устройство под свои нужды, если вы умеете работать и разводить печатные платы.
cc2531
Наверное самый популярный девай, с с которого начинал даже я. Хорош своей дешевизной, доступностью и большой наработкой разного рода прошивок.
cc2538
Самый популярный, на сегодняшний день, ZigBee модуль, который сильно отличается по параметрам от предыдущего, в сторону улучшения. На борту у него уже ARM Cortex-M3, до 512 кБ памяти и 32 кБ оперативной памяти. По сравнению с младшей моделью, у него уже нет особых ограничений на количество подключаемых устройств (пока тестировали на примерно 200 устройствах и он даже не чихнул).
Основной проблемой является то, что стик надо паять самому, потому что продается в основном плата без USB разъема, для которой нужно заказывать дополнительную плату, компоненты и паять по схеме.
Энтузиасты паяют готовые устройства, которые продают через Авито или барахолки. Без корпусов, но зато с внешними антеннами.
Второй проблемой является другая архитектура, которая требует другое оборудование для прошивки. Данный стик прошивается уже с помощью J-Link, то есть приобретенный ранее CC Debugger тут вам уже не поможет.
Плюс ко всему, прошивка является кустарной разработкой, которой занимаются энтузиасты (номер раз и номер два), что отличает данную модель от более слабых, прошивку для которых разрабатывают разработчики проекта Z2M, в который этот стик, кстати, тоже интегрируется.
Поэтому несмотря на явные преимущества, связанные с дальностью координатора и возможностью подключать большое количество устройств, есть свои потенциальные недостатки, которые связаны с тем, что устройство довольно молодое, и не все баги отловлены в релизных прошивках.
Conbee 1/2
Это уже коммерческий вариант народного стика, от наших немецких товарищей. Стал популярным примерно полтора-два года назад, и уже заимел вторую версию железа, которая от первой мало чем отличается. Самым весомым его минусом является сложность покупки в РФ, т.к. официально его, к сожалению, никто не импортирует.
Имеет возможность интеграции также в массу систем, как с помощъю своего собственного софта Deconz, который работает с другим ПО по открытому API, так и с помощью Open-Source проектов напрямую. Home Assistant, например, умеет с ним работать через встроенную итеграцию ZHA. И работает весьма неплохо, кстати. С прошивкой проблем тоже возникнуть не должно ни при родном софте, ни при сторонних Системах. И программаторов специальных для этого не нужно. Без минусов у стика тоже не обошлось. Если использовать родной немецкий софт, то можно столкнуться со случайными глюками и отвалами устройств. А добавления поддержки новых девайсов можно ждать по пол года, и потом вновь их потерять, потому что производитель из-за натянутых костылей в ПО не может ее нормально реализовать.
Прочие стики
Если посмотреть на результаты нашего опроса трехмесячной давности, то можно увидеть, что стиков было гораздо больше, чем я перечислил в статье. Куда делись остальные?
Я решил их не включать в силу малой распространенности, или сложности их приобретения. Просто знайте, что они есть, и кто-то ими даже пользуется, но доля этих людей у нас в сообществе крайне мала, а значит, и получить помощь в случае возникновения проблем будет сложнее.
Вместо заключения
Сегодня вы вкратце познакомились с самыми популярными стиками для организации Zigbee сети на данный момент. Посмотрели на плюсы и минусы каждого, но так и не получили ответ на вопрос «Какой таки стик купить?». А ответ на этот вопрос вы и не можете получить от меня, или от какого-либо другого человека. Никто кроме вас не знает, чем вы будете пользоваться в вашем умном доме, сколько там будет устройств, какой фирмы они будут и так далее. Я лишь надеюсь, что смог облегчить вам выбор.
Что такое 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.
Zigbee. Когда раZмер имеет Zначение
Очень часто от пользователей, кто только начинает знакомиться с сетью Zigbee, можно услышать вопросы: «а сколько Zigbee-устройств потянет малина?», «я купил стик с антенной, который бьет на 2 км, но он даже на 20м не работает, как быть?»
Надеюсь, начальные знания о Zigbee-терминах у вас уже есть. Будем много идей и мало конкретики. Поэтому, поехали!
Суть проблемы
Со временем, многие пользователи Zigbee-устройств начинают испытывать зуд в труднодоступных местах от следующих проблем:
Все ближайшие к zigbee-координатору закутки уже забиты датчиками и надо расположить новую кнопку достаточно далеко от координатора, чтобы сосед по даче мог сигнализировать вам, что «стол накрыт, а жена ушла по делам».
После последнего подключенного Zigbee-устройства, начались какие-то заморочки с первыми устройствами. А потянет ли координатор еще одну кнопку?
Т.е. можно выделить потребность масштабирования сети в связи с увеличением зоны, которую надо покрыть Zigbee-сетью и в связи с увеличением количества подключаемых устройств.
Проблемы количественного и территориального масштабирования на самом деле очень похожи и поэтому решаются примерно одинаково.
1. Меш вам в помощь
Как вы знаете, в сети Zigbee кроме координатора, есть 2 вида устройств: роутеры и конечные устройства. Именно благодаря роутерам создаются узлы сети, которые и позволяют наращивать протяженность сети и количество ее элементов.
Благодаря роутерам, конечные устройства (датчики, кнопки) можно располагать рядом с ними в радиусе их действия. Для работы датчиков через роутер, они должны быть сопряжены с роутером, а не с координатором.
Роутеры способны образовывать цепочки из нескольких роутеров и меш (сети узлов), позволяя расширять покрытие Zigbee-сети.
Таким образом, для возможности расположить датчик далеко от координатора, нужно между датчиком и координатором выстроить цепочку роутеров.
Имейте ввиду, что датчики на батарейках имеют очень ограниченную дальность распространения сигнала (например, у датчиков xiaomi радиус примерно 10-15м в помещении), т.к. он у них слабый. И какая бы мощная антенна не стояла на координаторе или роутере, датчик не сможет «докричаться» до него на больших расстояниях.
Но можно сделать роутер с такой антенной, который сможет общаться с координатором на большом расстоянии, а уже датчик привязать к этому роутеру.
2. Больше устройств, не всегда лучше
Сколько zigbee-устройств можно привязать к одному координатору?
Ответом будет тоже вопрос: а какая у вас структура сети и какой координатор?
Однозначно сказать нельзя, если только производитель не указал это в документации.
Для примера возьмем координатор на чипе TI cc2530/cc2531. Именно на этом чипе работает известный многим «колобок» Athom Homey, «спрутстик» или открытый проект zigbee2mqtt.
Все подобные ограничения задаются параметрами прошивки, и соответственно разные прошивки имеют разные параметры. Поэтому, в случае необходимости большого количества устройств, можно собрать прошивку с соответствующими параметрами, но пожертвовав каким-либо другим функционалом. Разбираться в хитросплетениях этих параметров то еще «удовольствие». Именно поэтому, нет прошивки с максимальными значениями для этих параметров, а есть разные варианты прошивок.
Но это касалось чипа TI cc2530/cc2531. На смену этому чипу уже давно пришел обновленный чип cc2538 (до 32Кб памяти). А на смену этому чипу уже есть cc2650 дополнительно с BLE (до 80К памяти) и его уже заменил CC2652R. Но эти чипы дороже старого проверенного cc2530 и не так доступны.
3. Не сетью единой
Zigbee-сети должны отличаться Panid (идентификатором сети). А если они территориально будут располагаться в одном месте, то можно сменить и номер канала.
Остается только объединить данные этих сетей в одной системе. Тут всё зависит от используемого программного обеспечения.
Если сеть поднимается территориально далеко, то можно использовать небольшой компьютер (аля малина/апельсина) и передавать данные по ethernet/wifi сети используя mqtt протокол (для zigbee2mqtt) или настроив multihost (для ioBroker).
А еще можно собрать шлюз wifi-zigbee на базе esp8266 (или ethernet-шлюз на базе adruino), и координатора на чипе cc2530 подключенным по UART и уже этот шлюз завести через TCP-порт.
Заключение
Как видите, варианты масштабирования Zigbee-сети есть и не надо бояться приближающихся количественных ограничений. Если вы технический специалист и способны применить предложенные подходы, то бояться вам нечего. Можно достаточно гибко комбинировать варианты с роутерами и не торопиться перепрошивать координатор. Или же наплодить несколько сетей без особого труда.
Сети ZigBee. Зачем и почему?

Чего «репу» чешешь?
На золотую рыбку другая сеть нужна!
Собственно, я собирался продолжить серию топиков, посвященных работе RTLS – системы позиционирования в реальном времени. А именно, рассказать о беспроводной инфраструктуре системы, основанной на сетях ZigBee. Но вдруг с удивлением обнаружил, что на Хабрахабре нет публикаций, посвященных стандарту IEEE 802.15.4 и спецификации ZigBee. Есть лишь немногочисленные упоминания, связанные с тем или иным приложением. Попытаюсь по мерее сил заполнить этот пробел.
В последнее время все большее распространение и значение приобретают беспроводные сенсорные сети. Сети, которые по своему назначению, параметрам, спецификациям существенно отличаются от сетей связи – WiFi, GSM, LTE и т.п. Среди прочих, используемых в сенсорных сетях, выделяется спецификация ZigBee – наиболее продвинутая надстройка к стандарту IEEE 802.15.4
В этом году исполнилось 10 лет со времени основания ZigBee альянса, а в октябре исполняется 5 лет с момента утверждения действующей в настоящее время спецификации ZigBee Pro Feature Set 2006. Так что публикацию можно считать юбилейной.
Желающих познакомиться с самоорганизующейся самовосстанавливающейся и не требующей специального частотного разрешения сенсорной сетью прошу под кат.
Начну с вынесенных в заголовок вопросов:
Зачем?
Во многих приложениях требуются беспроводные сети связи, не обладающие высокой скоростью передачи, но надежные, живучие (способные к самовосстановлению), простые в развертывании и эксплуатации. Важно также, чтобы оборудование таких сетей допускало длительную работу от автономных источников питания, имело низкую стоимость, и было компактным. Пример такого приложения – «умный дом».
Такому сочетанию требований еще 10 лет назад не отвечал ни один из сетевых стандартов, что и привело к созданию стандартов IEEE 802.15.4 и ZigBee, описывающих устойчивые масштабируемые многошаговые беспроводные сети, простые в развертывании и поддерживающие самые разные приложения.
Почему именно ZigBee?
Сети ZigBee, в отличие от других беспроводных сетей передачи данных, полностью удовлетворяют перечисленные выше требования, а именно:
а) благодаря ячеистой (mesh) топологии сети и использованию специальных алгоритмов маршрутизации сеть ZigBee обеспечивает самовосстановление и гарантированную доставку пакетов в случаях обрыва связи между отдельными узлами (появления препятствия), перегрузки или отказа какого-то элемента;
б) спецификация ZigBee предусматривает криптографическую защиту данных, передаваемых по беспроводным каналам, и гибкую политику безопасности;
в) устройства ZigBee отличаются низким электропотреблением, в особенности конечные устройства, для которых предусмотрен режим «сна», что позволяет этим устройствам работать до трех лет от одной обычной батарейки АА и даже ААА;
г) сеть ZigBee – самоорганизующаяся, ее структура задается параметрами профиля стека конфигуратора и формируется автоматически путем присоединения (повторного присоединения) к сети образующих ее устройств, что обеспечивает простоту развертывания и легкость масштабирования путем простого присоединения дополнительных устройств;
д) устройства ZigBee компактны и имеют относительно невысокую стоимость.
Связь в сети ZigBee осуществляется путем последовательной ретрансляции пакетов от узла источника до узла адресата. В сети ZigBee предусмотрено несколько альтернативных алгоритмов маршрутизации, выбор которых происходит автоматически.
Стандарт предусматривает возможность использования каналов в нескольких частотных диапазонах. Наибольшая скорость передачи и наилучшая помехоустойчивость достигается в диапазоне от 2,4 до 2,48 ГГц. В этом диапазоне предусмотрено 16 каналов по 5 МГц.
Цена, которую пришлось заплатить в сетях ZigBee за минимизацию энергопотребления, компактность и дешевизну – относительно низкая скорость передачи данных.
«Брутто» скорость (включая служебную информацию) составляет 250 кбит/c. Средняя скорость передачи полезных данных, в зависимости от загрузки сети и числа ретрансляций, составляет от 5 до 40 кбит/с.
Расстояние между рабочими станциями сети составляет десятки метров внутри помещений и сотни метров на открытом воздухе. За счет ретрансляций покрываемая сетью зона может быть весьма значительной: до нескольких тысяч квадратных метров в помещении и до нескольких гектар на открытом пространстве. Более того, сеть ZigBee в любой момент может быть расширена добавлением новых элементов или наоборот разбита на несколько зон простым назначением соответствующего числа новых конфигураторов сети. Это бывает полезно для снижения нагрузки и соответственно повышения скорости передачи данных.
Немного истории
Альянс ZigBee был учрежден в 2002 году. Сейчас в него входят более 300 компаний. Цель альянса – разработка эффективных протоколов беспроводной сети и обеспечение совместимости устройств разных производителей. Первые стандарты «родились» в 2003 году и активно совершенствовались и расширялись.
Была внедрена стохастическая адресация, механизмы маршрутизации Many-to-One и Source Routing, а также возможность выявления асимметричных связей, что повысило эффективность сетей ZigBee для ряда специфических приложений.
Разработаны стандартные профили приложений и библиотека стандартных кластеров. Это существенно упростило разработку приложений, облегчило и ускорило внедрение новых решений с использованием аппаратуры разных производителей.
Введен ряд новых механизмов, повышающих защищенность и надежность сети.
Предусмотрен автоматический переход на «чистый» частотный канал при возникновении помех.
Действующая спецификация ZigBee Pro Feature Set 2006 принята в октябре 2007 г.
Устройства ZigBee
Сети ZigBee строятся из базовых станций трех основных типов: координаторов, маршрутизаторов и конечных устройств.
Координатор запускает сеть и управляет ею. Он формирует сеть, выполняет функции центра управления сетью и доверительного центра (trust-центра) – устанавливает политику безопасности, задает настройки в процессе присоединения устройств к сети, ведает ключами безопасности.
Маршрутизатор транслирует пакеты, осуществляет динамическую маршрутизацию, восстанавливает маршруты при перегрузках в сети или отказе какого-либо устройства. При формировании сети маршрутизаторы присоединяются к координатору или другим маршрутизаторам, и могут присоединять дочерние устройства – маршрутизаторы и конечные устройства. Маршрутизаторы работают в непрерывном режиме, имеют стационарное питание и могут обслуживать «спящие» устройства. Маршрутизатор может обслуживать до 32 спящих устройств.
Конечное устройство может принимать и отправлять пакеты, но не занимается их трансляцией и маршрутизацией. Конечные устройства могут подключаться к координатору или маршрутизатору, но не могут иметь дочерних устройств.
Конечные устройства могут переводиться в спящий режим для экономии заряда аккумуляторов. Именно конечные устройства имеют дело с датчиками, локальными контроллерами и исполнительными механизмами.
Формирование сети
Сеть ZigBee – самоорганизующаяся, и ее работа начинается с формирования. Устройство, назначенное при проектировании координатором персональной сети (PAN координатор), определяет канал, свободный от помех, и ожидает запросов на подключение.
Устройства, пытающиеся присоединиться к сети, рассылают широковещательный запрос. Пока PAN координатор – единственное устройство в сети, отвечает на запрос и предоставляет присоединение к сети только он. В дальнейшем присоединение к сети могут предоставлять также присоединившиеся к сети маршрутизаторы.
Устройство, получившее ответ на широковещательный запрос, обменивается с присоединяющим устройством сообщениями, чтобы определить возможность присоединения. Возможность определяется способностью присоединяющего маршрутизатора обслужить новые устройства в дополнение к ранее подключенным.
Вступление в сеть (присоединение)
Существует два способа присоединения: МАС ассоциация и повторное сетевое присоединение (NWK rejoin).
МАС ассоциация
МАС ассоциация доступна любому устройству ZigBee и осуществляется на МАС уровне. Механизм МАС ассоциации следующий:
Устройство, позволяющее присоединиться к нему, выставляет на МАС уровне разрешение на присоединение.
Устройство, вступающее в сеть, выставляет на МАС уровне запрос на присоединение и передает широковещательный запрос маячка.
Получив маячок от устройств, готовых подключить присоединяемое устройство, последнее определяет, в какую сеть и к какому устройству оно желает присоединиться, и выставляет на МАС уровне требование о вступлении с флажком «повторное присоединение» в значении FALSE.
Затем вступающее устройство направляет на выбранное для присоединения устройство запрос присоединения и получает ответ с присвоенным ему сетевым адресом.
При МАС ассоциации данные передаются не зашифрованными, поэтому МАС ассоциация не является безопасной.
Повторное сетевое присоединение Повторное сетевое присоединение вопреки названию может применяться и при первичном присоединении. Оно выполняется на сетевом уровне. При этом, если вступающее устройство знает текущий сетевой ключ, обмен пакетами может быть безопасным. Ключ может быть получен, например, при настройке.
При повторном подключении присоединяющееся устройство выставляет на сетевом уровне запрос присоединения и обменивается с подключающим устройством пакетами «запрос присоединения» – «ответ на запрос присоединения».
Динамика сети
Кроме случаев присоединения новых устройств структура сети меняется и в случаях, когда устройства покидают сеть и повторно присоединяться в других местах (это происходит, например, в случае перезагрузки устройства).
На рисунке ниже – пример переподключения. Устройство с адресом «0E3B» переподключается как «097D», а затем как «0260». Каждый раз оно присоединяется к другому маршрутизатору и получает адрес из имеющегося в распоряжении присоединяющего маршрутизатора диапазона адресов.
Переподключение конечного устройства в древовидной сети
Сетевые протоколы
Протоколы, регламентированные стандартами IEEE 802.15.4 и ZigBee 2007 Specification, обеспечивают формирование и функционирование беспроводной сенсорной сети.
Стандарт IEEE 802.15.4 определяет физический и MAC уровни, а спецификация ZigBee определяет сетевой уровень и уровень приложений. На рисунке показан стек протоколов ZigBee.
Стек протоколов ZigBee
Прошу извинить, но на этом месте я в связи с поздним временем вынужден прерваться. Описание стека протоколов можно посмотреть здесь: http://www.rtlsnet.ru/technology/view/3.
Если хабравчане выкажут заинтересованность темой, обязуюсь описать профиль стека, варианты топологии сети, алгоритмы маршрутизации, профили приложений, кластеры, конечные точки, привязки, а также обеспечение безопасности. То есть рассказать, как, собственно, формируется топология, строятся и восстанавливаются маршруты, как подключаются и программируются стандартным образом внешние устройства – датчики, контроллеры, исполнительные механизмы.














