Stick сс2538 что это
Устройства на чипах TI cc253x
Что за чипы такие, в чем разница между ними и что за устройства на них делают.
Для Zigbee-устройств используют в основном 3 вида чипа компании TI:
Но на самом деле есть еще cc2630, cc2650, cc2652r. Это уже относительно новые чипы, поэтому дорогие и не проверенные.
Чипы cc253x привлекательны своей низкой ценой и имеют свою нишу в линейке чипов поддерживающих Zigbee. Именно поэтому достаточно много китайских Zigbee-устройств сделаны на этом чипе.
Сами чипы не сильно интересны. Больше интересны уже готовые модули и устройства. В модулях к чипам добавляют различные усилители, соответственно появляющиеся устройства бывают либо с усилителями, либо без.
Координаторы и роутеры
cc2531
Наличие USB позволяет использовать стик практически с любой системой. Выпускаемые виды стиков в основном используют антенну на плате и поэтому имеют не очень большой радиус действия 5-10м. в помещении.
В последнее время появились в продаже стики с внешней антенной.
С соответствующей прошивкой может выступать как координатором, так и роутером. Так же это популярный инструмент для изучения Zigbee сети.
cc2530
cc2530 выпускается в виде различных модулей, как с внешней, так и с внутренней антенной. Внешняя антенная дает дополнительное преимущество и увеличивает радиус действия устройства. Используются антенны для частоты 2.4GHz.
С соответствующей прошивкой может выступать координатором, роутером и конечным устройством.
сс2530 + PA
Для чипов cc2530 часто применяют усилители сигнала (PA, Power Amplifier) для увеличения дальности распространения сигнала (зоны покрытия) и повышения чувствительности. Обычные модули cc2530 и cc2531 работают с мощностью 4dBm, с усилителями можно достичь показателей в 20dBm.
В основном применяются 3 вида усилителей:
Все эти усилители поддерживаются Z-Stack. Программное управление этими усилителями реализуется разными способами. Поэтому при использовании таких модулей следует использовать прошивки, собранные специально для указанных усилителей.
Вот пример сравнительной таблицы модулей от компании EBYTE, где видно различную мощность усилителей и дальность работы (в идеальных условиях конечно):
Устройства и модули с усилителями потребляют больше энергии и поэтому при их использовании необходим более мощный блок питания!
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 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 сети на данный момент. Посмотрели на плюсы и минусы каждого, но так и не получили ответ на вопрос «Какой таки стик купить?». А ответ на этот вопрос вы и не можете получить от меня, или от какого-либо другого человека. Никто кроме вас не знает, чем вы будете пользоваться в вашем умном доме, сколько там будет устройств, какой фирмы они будут и так далее. Я лишь надеюсь, что смог облегчить вам выбор.
Модуль был куплен на замену USB-стика на базе СС2531 для решения такого ряда задач:
1. Улучшение производительности Zigbee — координатора (ускоряется прохождение команд и увеличивается число поддерживаемых устройств).
2. Переход к протоколу Zigbee v3.0.
3. Интеграция в корпус контроллера с подключением по UART (у меня только 3 USB).
4. Увеличение дальности связи.
Вводная
У SoC CC2538 есть Serial Bootloader (SBL) — специальный загрузчик, который позволяет загрузить прошивку через UART. Если вы купили «свежий» чип с фабрики, то этот загрузчик включен и доступен по умолчанию. При прошивке какого-либо firmware этот загрузчик как правило отключается.
За механизм включения-выключения отвечает специальный бит конфигурации в CCA (Customer Configuration Area).
Если бит сброшен, то при подаче питания (или сбросе через reset) будет выполняться Application code, если установлен — SBL boot code. При прошивке этот бит обычно сбрасывается, так что в режим SBL больше не попасть и потребуется jtag программатор (j-link, segger и т.п).
Чтобы микроконтроллеру понять куда грузиться, в SBL boot code или Application code, микроконтроллер при включении опрашивает определенный порт. Какой именно порт и какой у него будет активный логический уровень — задается в соответствующих битах конфигурации CCA (Customer Configuration Area), см. Serial Boot Loader for CC2538.
Как сохранить режим SBL
Необходимо слегка модифицировать прошивку, установив бит SBL, порт РАх и требуемый логический уровень.
Смотрим на обратную сторону модуля:
Порты РА0-РА1 у меня будут использованы для подключения по UART, остаются РА2-РА7. Я выбрал «дальний» РА7 и низкий активный уровень, проще всего будет подключить тактовую кнопку между РА7 и GND.
Открываем hex прошивку координатора Zigbee (из готовых с подключением по UART, без линий CTS/RTS мне знакома только такая версия)
и в самом конце файла правим два байта, конфигурационный и контрольной суммы:
В конце файла в строке
:0CFFD400FFFFFFEF000000000000200015
изменяем два байта на
:0CFFD400FFFFFFF700000000000020000D
Пайка и прошивка
10 см 4-жильного кабеля (у меня это обрезок шнура от iphone), 4 коннектора и кусок термоусадки.
Паяем и оконечиваем кабель (см. первую картинку).
Натягиваем термоусадку (выход шнура дополнительно проклеил герметиком) и подключаем к USB-UART переходнику.
Схема соединения: TX->RX=PA0, RX->TX=PA1, GND->GND, Vcc3.3->3V3 (питание только 3.3В!)
распаковываем и компилируем:
Подключаем собранную связку (на последнем фото) к порту USB и прошиваем:
где ttyUSB0 — порт переходника
myfile.hex — файл прошивки в формате hex
Модуль готов к использованию.
Подключение
Подключаем полученный модуль координатора к контроллеру Homeassistant (Hass.io) на базе плат renegade- orange- raspberry- banana- (и т.д.).
У меня используется Renegade ROC-RK3328-CC в безвентиляторном корпусе от Asus Tinker board. Корпус полностью алюминиевый, поэтому для подключения внешней антенны к CC2538 потребовался самодельный короткий переходник IPX RP-SMA.
На плате ROC-RK3328 каждый пин гребенки подписан, вычислить UART и питание не составляет труда.
Подключаю модуль
Изолирую его вторым куском термоусадки и укладываю вокруг CPU (на него ставится куб теплосъемника)
Подготовка порта UART
На многих мини-ПК типа orange- raspberry- banana- порты UART в системе по умолчанию отключены.
Включить их можно в файле /boot/armbianEnv.txt, добавив строку
Копирую исходный dtb файл в рабочую папку
Конвертирую dtb в dts
Включаю UART1 (по документации это serial@ff120000) заменяя значение status с «disable» на «okay»
Конвертирую dts в модифицированный dtb (uart)
Делаю резервную копию оригинального dtb файла
И копирую модифицированный dtb на его законное место под старым именем
На всякий случай добавляем вашего пользователя в группу для доступа к /dev/ttyS1
И в системе появляется /dev/ttyS1
Убираем старый USB стик на базе СС2531 и из системы исчезает /dev/ttyACM0, потребуется перенастройка модуля zigbee2mqtt на новый порт /dev/ttyS1. В Hass.io это делается в секции serial и advanced:
Далее, очень желательно в этой же секции advanced заменить encryption key (Zigbee Transport Key) который установлен по умолчанию.
В настройках он представлен рядом из 16 десятичных чисел из диапазона 0..255, например
Для лучшей приватности нужно рандомизировать этот ряд вручную или использовать скрипт
Который выдаст более приличный ключ, например
И последний штрих: необходимо уменьшить таймаут команд до 5 мсек в секции queue
После замены Zigbee Transport Key и задержки необходимо перезагрузить zigbee2mqtt и заново провести сопряжение zigbee устройств с вашим координатором. Страшного в этом ничего нет: ID устройств не меняются, сопоставленные имена, принадлежность к зонам, автоматизации — все останется на месте.
Смотрим логи: все ок.
И под конец немного дегтя: продавцы акцентируют внимание на высокой выходной мощности СС2592 (до +22дБ), умалчивая что на прием у него стоит LNA (Low Noise Amplifier), который улучшает чувствительность всего на 3дБ.
То есть этот координатор будет «просто немного лучше слышать» удаленные маломощные устройства.