Статья

История рождения ZigBee Sprutstick Pro

Defaro

Кто внимательно следит за Instagram @sprut666666, помнит периодические посты про новую разработку ZigBee стика, которая началась зимой прошлого года. Комментариев и вопросов к постам было много, а ответы есть далеко не на все вопросы.

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

Идейный вдохновитель Спрутхаба знал, что разрабатывать стик надо совместно с теми, кто ни разу не держал в руках ни одного ZigBee устройства :). Что из этого вышло, можно прочесть ниже.

Идея новой железки назрела давно, так как все существующие координаторы по разным причинам не устраивали. Если посмотреть на недавний опрос, проводившийся в Deconz Conbee, можно выделить тройку лидеров среди 1082 участников опроса:

  1. СС2530/31 - 23%
  2. Deconz Conbee – 15%
  3. CC2538 -13%

Результат опроса вполне объясним и даже предсказуем, так как лидером является Open Source решение на основе прошивки ZigBee2MQTT, позволяющей добавлять в ваш умный дом устройства разных ZigBee производителей, которые изначально могут быть не совместимы между собой, а совместимость достигается благодаря взаимодействию на уровне протокола MQTT. Этому решению много лет, базируется оно на бюджетных чипах от производителя Texas Instruments, которые в изобилии можно найти на всеми любимом Aliexpress, поэтому оно и охватило наибольшую армию пользователей.

Решение от Phoscon, под названием Deconz Conbee, появившееся позже и позволяющее также скрестить не скрещиваемое в рамках того, что реализовано производителем, основывается на софте, где как раз и осуществляется поддержка разных устройств. В ZigBee стике Conbee 2 установлен чип ATSAMR21B18 от Microchip.

Ну и замыкает тройку лидеров более новая версия чипа от Ti CC2538 с прошивкой координатора, также основанной на решении ZigBee2MQTT, то есть по идее, голоса за СС2538 можно смело плюсовать к первому варианту, если мы хотим понять соотношение решений, основанных на использовании ZigBee2MQTT и Deconz Conbee, как основных конкурентов.

Ответ на вопрос - какой же чип или решение использовать в собственной разработке (имеем ввиду SputHub), кажется, очевиден, но не все так просто. Если рассматривать имеющиеся ZigBee координаторы, то решение на основе прослойки в виде MQTT, с точки зрения разработки своего софта не очень удобно, так как не позволяет напрямую взаимодействовать с ZigBee сетью, а решение на основе Conbee - это вообще сторонний софт, за который приходится платить, приобретая стик, что тоже не очень оправданно.

В "зоопарке" ZigBee много производителей, предлагающих чипы, на которых можно было бы сделать свой координатор, удовлетворяющий поставленным требованиям, но после их изучения выбор пал на Silicon Labs, который, кстати, является еще и владельцем стандарта Z-Wave, о чем мы писали в блоге ранее. Для разработчиков Zigbee устройств, Silicon Labs предлагает улучшенный стек сетевых протоколов EmberZNet PRO, удобную работу хост-приложения со стеком EmberZNet PRO через хорошо задокументированный последовательный протокол EZSP.

Всё это возможно благодаря так называемой прошивке Network Co-Processor (NCP) от Silabs, для взаимосвязи хост-приложений с ZigBee сетью. Данное решение упрощает работу разработчиков, так как большая часть магии работы с сетью ZigBee реализована в прошивке от самого производителя. Но так как все равно требуется достаточно много времени и сил на освоение документации, универсальность решения EmberZNet PRO от Silabs, на наш взгляд, сильно недооценена, что, надеемся, все же будет исправлено со временем.

Итак, с производителем определились, осталось выбрать модуль, на котором будем строить новый стик. Из того, что удалось закупить для тестов, в распоряжении оказались различные модули на чипах EFR32MG1B, EFR32MG13P. Так как задачу хотелось решить максимально быстро, также быстро был найден корпус для будущего стика из ассортимента, что был в наличии в Москве. Им оказался корпус Gainta G1901.

Под данный корпус быстро была спроектирована и заказана плата.

Изготовлены первые прототипы.

И тут нас поджидал удар, которого не могли предвидеть даже в страшном сне. В этом же корпусе когда-то жил первый Conbee стик.

Идти туда, откуда уже все начали возвращаться, мы себе позволить не могли, поэтому данная версия стика была закопана в лесу, вдалеке от цивилизации и начала разрабатываться новая.

После нескольких итераций родилась конечная версия стика, которую удалось вместить в тот же корпус, что и у нашего Z-Wave стика.

Основная проблема, которую нам пришлось преодолевать – это размер посадочного места под ZigBee модуль. Он был больше габарита печатной платы, но всё оказалось решаемо и новая версия платы выглядит следующим образом:

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

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

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

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

Итак, встречайте MGM12P32F1024 – модуль с самым топовым железом, характеристики которого приведем ниже в сравнительном анализе с другими модулями.

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

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

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

Результат проектирования платы выглядит вполне гармонично:

Стик на данном модуле было решено назвать версией DEFARO ZigBeeSprutStick PRO.

Первые образцы PRO версии уже отправлены пользователям для проведения полевых тестов в "боевых условиях".

Давайте теперь сравним технические характеристики рассмотренных в статье модулей:

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

Чип стика обладает максимальными, на данный момент, характеристиками среди популярных ZigBee чипов. Даже более новые чипы от Silicon Labs немного ужались в характеристиках. По сути, модуль MGM12P - единственный в линейке Silabs с объемом памяти в мегабайт и 256 Кб RAM. Что из этого следует для рядового пользователя? Да по сути ничего.

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

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

Ну а если вы будете использовать ПО SprutHub, то больше вообще ничего не потребуется для обновления. Забудьте про программаторы и прочие бесовские штуки.

Ну и в заключение пару слов о работе стика с Open Source проектами, такими, как Home Assistant и OpenHAB.

Если кратко – то стик работает, так как в данном ПО есть поддержка протокола EZSP от Silabs, ну а дальше, как обычно, начинаются нюансы.

За время разработки стика, Silabs тоже не дремал. Они выпускали обновления SDK, поэтому работоспособность стороннего софта можно описать применительно к конкретным прошивкам стика и версий софта. Ну и то, что не работало вчера, сегодня уже может вполне себе работать и как это бывает с HA и наоборот.

Итак, версия HA 0.105.5 отказалась работать с последней на момент тестирования прошивкой EmberZNet 6.7.1, но после отката прошивки на более младшую EmberZNet 6.6.4 (с Hardware Flow Control), удалось увидеть стик и добавить датчик влажности и температуры.

OpenHab (v.2.5.2) не поперхнулся и увидел ZigBee координатор с прошивкой EmberZNet 6.7.1. Настройки для стика можно увидеть на скриншоте. Но показания батарейки датчика в интерфейсе так и не появились.

Чтобы никого не огорчать, про SprutHub писать не будем, так как там наилучшая поддержка функционала нового стика и всё работает «из коробки». И на это было потрачено очень много времени и ресурсов разработчиков.

Что касается техподдержки стика SprutStick Pro, она естественно будет нацелена исключительно на свой продукт, ну а работа со сторонним софтом уже лежит на совести авторов плагинов и интеграций для этого софта.

Мы лишь можем предоставить разные прошивки для стика (разные версии SDK, HW или SW управление потоком), чтобы заставить этот софт работать и с нашим стиком.


Где купить можно? Я готов!!!!!#хочуспрутстик

После завершения тестирования, будет дополнительно объявлено.

#хочуспрутстик !!!!!


Жалко, что можно поставить только один лайк))))

А с сегодняшнего дня, SprutHub так же поддерживает Light Link на этом стике. Можно находить лампочки и спаривать без мучений. И да, Philips лампочки тоже спариваются.

Я как помню есть идея реализации SprutHub на базе малины? 
Вместе с спрутстиком не планируется ли выпуск , даже на платной основе, софта для малины аля "спрутхаба"? Просто как я понимаю, если все заточено под спрутаб, но СХ сейчас только для ВБ, то даже при покупке не сильно много возможностей будет для реализации спрутстика.
На самом деле все эти ХА, ХБ это такая боль, даже при правильной настройке просто забыть об их существовании невозможно) Очень жду коробочного решения хоть за 30 тысяч, но поставил и забыл.
ПС если тыкните где можно поддержать ваш проект, то поддержал бы:)

Запуск на WB это искуственное уменьшение аудитории и возможность отладить продукт перед запуском в массы + "коробочное решение" для тех кто делает уд через щиток.
Вся ценность стика будет заключаться во взоимодействии с софтом, поэтому тут ты прав что в других местах сильного кайфа не будет...
Тоже не оставляю мечту о коробочке, которую купил поставил на стол и наступило счастье =)
Есть пока только донатик для своих =) 

Поддержать проект: https://www.tinkoff.ru/sl/4mnFYrkyCgR">https://www.tinkoff.ru/sl/4mnF... (красивые системы поддержки будут чуть позже )


Олег, так в целом есть шанс релиза сх на малине? Ставить вб без вариентоа:(

У нас в тестовой группе уже 134 человека с ВБ, и многие из них так же ставят на малину. Разницы никакой нет.

Просто это пока закрытое тестирование, мы не хотим наплыва аудитории раньше времени.

Как купить?

После завершения тестирования, будет дополнительно объявлено.

#хочуспрутстик

Супер! А цена какая?

Кстати TI чипы редко сейчас используют без усилителей, стик modkam v2 и v3 с усилителем сс2592, а это +22-dBm Output Power

Розничная цена стика 4000 руб. Про дополнительные усилители в статье и сказано, что для Силабса они не нужны, подразумевая как раз то, что для Ti используются дополнительные усилители мощности.


Встаю в очередь за SprutStick Pro :) готов к покупке и тестированию.

Спасибо. Вот такое бы теперь и про СпрутХаб. А перебор с таинственностью и неизвестностью :)

А редакция для установки прямо в WB будет?

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


ТАк и не понял, в чем ключевое(функциональное) отличие(кроме техн.характеристик) от других зигби стиков?

Наш стик намного быстрее, и там значительно больше памяти, а значит больше размер сети. И он не имеет никаких ограничений, все что есть в стандарте ZigBee 3.0 поддерживается как в стике так и в SprutHub. Полная реализация протокола без компромисов.

Скажите ,а другие решения (кpоме conbee2 ), которые есть на официальном сайте zigbee2mqtt.io -вы не рассматривали?


Они чем-то хуже?


--slaesh’s CC2652RB stick

--Texas Instruments LAUNCHXL-CC26X2R1 



--Texas Instruments LAUNCHXL-CC1352P-2 


--Electrolama zig-a-zig-ah!

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

Ок, спасибо за идею!


сравнил камни.


Равные в принципе-у вас больше Flash , но меньше RAM


Процессор такой же, только у вас без поддержки FPU


CC2652RB


Flash (KB) 352, RAM (KB) 80, CPU core Arm® Cortex®-M4F с FPU


Ваше-Sprut2 -из таблицы


Flash (KB) 512,RAM (KB) 64,CPU core Arm® Cortex®-M4 без FPU

Про версию Про вы сами сказали что она явно избыточна , причем не только на сейчас



Будет производится только ПРО версия, поэтому сравнение с обычной не имеет никакого смысла.

Обновлённый стик будет на EFR32MG21A020F1024

Ну тут вопросов нет-версия Про по ТТХ рвет CC2652RB как тузик грелку)


Тогда другой вопрос, даже больше совет -прошу у вас-чисто практический.


Я не могу использовать много зигби сенсоров из-за ограничения на количество


и мне надо приобрести новый зигби шлюз/стик.


slaesh’s CC2652RB stick (официально рекомендуемый сайтом zigbee2mqtt.io и описаный там как "мощное решение с поддержкой 100+ девайсов)


я могу купить за 45$ прямо сейчас-без листа ожидания и т.д.


Имеет ли мне смысл ждать возможности приобретения вашего стика из-за ТТХ его камня?


Что он даст такого в реальной жизни, что стоит ожидания ?

Спасибо!

Если планируется использовать стик совместно с з2м, то однозначно ждать не стоит и берём ти-шный, как минимум по тому что з2м не умеет силикон...

Спасибо!

А что с софтом под данный стик ?
К примеру с тем же конби все как-то очень заморочено. Сперва Фоскон, там определяй железки, потом деконз. Странности и усложнения. 
У 2531 и иже с ними корявый вид топологии сети (хотя в последнее время есть подвижки), не в сравнение с визуальной топологией деконза.

Будет ли отдельный софт для интеграции и своя топология сети?



Такой? :)


https://sprut.ai/static/media/cache/00/13/58/5/3456974/55750/1000x_image.png?1586695579" alt="1000x_image.png?1586695579" />

после прочтения остается, пожалуй, только один вопрос. А чего на кикстартере-то вас не видно?)

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


Вернуться назад

Устройства


Texas Instruments

USB Stick CC2531

(14 отзывов)

Texas Instruments

USB Stick CC2538

(1 отзыв)

Phoscon

deCONZ Conbee 2

(5 отзывов)

Phoscon

deCONZ Conbee

(3 отзыва)

DEFARO

Sprut.stick ZigBee 2 Pro

(57 отзывов)

Вернуться назад