Ранее мы уже писали о выходе релиза SDK для чипов Z-Wave 700 серии Silicon Labs. В данной статье речь пойдет о том, что же всё-таки предложил рынку новый владелец технологии Z-Wave, а также о нашем новом продукте - Z-Wave стике DEFARO UZB7.
К так называемым чипам Z-Wave 700 Series относятся два чипа - EFR32ZG14 и ZGM130S.
Чип EFR32ZG14 является модемом и предназначен для установки в Z-Wave контроллеры, шлюзы. В основе чипа лежит хорошо известное многим разработчикам 32-битное ядро ARM® Cortex®-M4. Размер чипа 5х5 мм (корпус QFN32). Все технические характеристики приводить не будем, с ними можно ознакомиться на сайте производителя по ссылке, скажем лишь, что от большого брата (ZGM130S) EFR32ZG14 отличается практически полным отсутствием GPIO (имеющиеся на борту 5 GPIO предназначены для коммуникации с внешним миром по UART и для выбора SAW фильтров, предназначенных для работы в разных частотных диапазонах).
Назначение чипа ZGM130S становится очевидно - он предназначен для установки в оконечные устройства. На его борту для разработчиков доступно 32 GPIO, а также богатый выбор различной периферии - АЦП, ЦАП, компараторы, операционные усилители, прямой доступ к памяти, ШИМ, сторожевые таймеры, UART, SPI, IrDA, I2S, I2C. Даташит на чип также доступен на сайте производителя, а сам чип основан на всё том же ядре ARM® Cortex®-M4. Благодаря такому функционалу габариты чипа стали 9х9 мм (в корпусе LGA64).
Из принципиальных отличий от предыдущих серий Z-Wave чипов следует отметить то, что новые чипы 700 серии могут работать в любом частотном диапазоне (EU, US, ANZ), в то время как ранее для каждого такого диапазона требовался Z-Wave модуль соответствующего региона.
Новые чипы Z-Wave 700 Series Silicon Labs добавил в свой IoT портфель Wireless Gecko, где присутствуют такие продукты, как Bluetooth Low Energy, ZigBee, Thread и собственный протокол SiLabs.
Физически это выглядит следующим образом: разработчик имеет одну отладочную плату, в которую может вставлять платы расширения с соответствующими чипами (протоколами) и довольно быстро менять платформу.
Ну и теперь такие радио платы доступны и на чипах EFR32ZG14 и ZGM130S.
Таким образом, можно сказать, снизился порог входа для разработчиков, уже знакомых со средой разработки Simplicity Studio и продуктами Wireless Gecko. А наличие средств отладки в Simplicity Studio, ранее не доступных для Z-Wave чипов должно еще больше упростить жизнь разработчиков.
Что касается нового стика DEFARO UZB7, то он, как можно теперь уже догадаться, основан на чипе EFR32ZG14. Разработка стика началась еще на стадии бета версии SDK, поэтому с выходом релиза кое-что успело поменяться.
На плате можно увидеть места для кнопки и светодиода, но в текущей версии SDK управление ими недоступно, т.к. впервые исходники Serial API производитель не открыл, и поэтому кнопка и светодиод пока "висят в воздухе до лучших времен" и в текущей версии стиков они отсутствуют. Вроде исходники для разработчиков планируется открыть, но это не точно.
Еще одним сюрпризом стало то, что в первых версиях наборов для разработчиков, а также в документации наличие SAW фильтров было обязательным, в то время как позже это требование пропало. Тем не менее, для шлюзов, контроллеров, производитель рекомендует использование SAW фильтров, поэтому в нашем стике присутствует один SAW фильтр для RU/EU региона. Чтобы стик можно было использовать на всех возможных частотах, в него необходимо добавить еще два SAW фильтра и схему коммутации данных фильтров, либо вовсе убрать все SAW фильтры. Но на этапе разработки было решено оставить один SAW фильтр RU/EU, отказаться от неиспользуемых частот с целью возможного улучшения работы в нужном диапазоне. Что из этого следует на практике? Стик можно переключить и на US, и на ANZ диапазон, и он будет работать, однако входной фильтр будет ослаблять данные частоты и фактическое расстояние работы между устройствами будет значительно ниже (мы проверили работу стика в US диапазоне, в трех метрах связь была вполне нормальная, дальше не было цели проверять). В процессе разработки не обошлось и без накладок – в документации столкнулись, как с незначительными ошибками, так и со ссылками на несуществующие компоненты.
Но главное, что все вопросы оказались решаемыми, а поиск кварца по всему миру с рабочей частотой 39МГц и высокой стабильностью привел в Россию, что в нашей практике явилось уникальным случаем, т.к. обычно редкие компоненты приходится ждать неделями.
Особо наблюдательные пользователи могут заметить на стике металлическую скобу, которая явно не предназначена для улучшения работы радио). Наш ответ - это транспортировочная скоба, при необходимости ее можно просто снять). Вписывали плату в один из самых доступных и популярных корпусов, где скоба досталась в наследство.
Раз уж заговорили про переключение частот, то объясним, что это значит. Это тоже особенность новых чипов, т.к. раньше эта возможность не была реализована на уровне SDK, а переключение частоты отдельных стиков было реализовано "нештатными средствами".
Но возможность переключения частоты есть и в ПО Z/IP, установочный пакет для RPi с необходимой документацией может скачать каждый желающий по ссылке после регистрации на сайте SiLabs
Далее читаем Doxygen документацию (файл zip.html), где сказано, что для смены частоты необходимо открыть файл конфигурации /usr/local/etc/zipgateway.cfg и внести в него запись ZWRFRegion со значением 0х00 (EU) или 0х07 (RU). При перезагрузке сервера и чтении файла конфигурации частота стика изменится. В дальнейшем можно закомментировать данную строчку, чтобы при каждом запуске сервера не выполнять процедуру записи значения частоты.
Про само ПО Z/IP можно писать целый цикл статей, это, если можно так выразиться, новый стандарт от Silabs для контроллеров Z-Wave. Чтобы стандартизировать, наконец, и Z-Wave контроллеры, все вновь разрабатываемые контроллеры теперь обязаны быть на основе Z/IP - это то, чего до сих пор не хватало пользователям, ибо до сих пор каждый разработчик Z-Wave контроллера мог многие вещи интерпретировать по-своему (писать свой движок для работы с Z-Wave, поддерживать или не поддерживать какие-то Command Classes, отображать устройства в виде шаблонов, которые есть не для всех устройств, плодить какие-то ошибки при работе с Z-Wave и т.д.). Ну а наличие сборки под RPi открывает возможность сообществу использовать "родной" софт от производителя взамен умирающего софта, основанного на Open Z-Wave, у которого многие новые возможности протокола Z-Wave просто недоступны. И порог входа в этот софт - наличие стика DEFARO UZB7 и микрокомпьютера Raspberry Pi, т.е. за меньшие деньги можно получить функционал, не доступный на сегодняшний день во всех популярных контролерах - Fibaro, Vera, Zipato, Athom Homey, Razberry :). Речь о шифровании S2, добавлении устройств Smart Start, по QR коду и новых плюшках SDK типа поморгать светодиодом на конкретном устройстве (СС Indicator). Правда и устройств таких пока особо не видать, но когда они появятся, интересно будет понаблюдать, когда появится их поддержка в данных контроллерах.
Возможности ПО Z/IP весьма широки - прямо из "коробки" вы получаете готовый контроллер с веб-интерфейсом, адаптированным для разных клиентов:
PC веб-интерфейс /ui/pc/index.html
Phone веб-интерфейс /ui/phone/index.html
Для контроллера доступны бесплатные мобильные приложения:
iOS Native https://itunes.apple.com/app/z-wave/id1427154750
Android Native https://play.google.com/store/apps/details?id=com.silabs.zware7app
Присутствует поддержка IFTTT
Для тестовых целей можно использовать портал удаленного доступа, расположенный по адресу:
https://z-ware.silabs.com/
куда можно добавить свой контроллер.
В Z/IP реализован проброс устройств в HomeKit через собственный бридж, но этот функционал доступен только для разработчиков, и пока непонятно может ли он быть доступен в каком-либо виде для OpenSource сообщества.
Z-Ware API позволяет осуществлять взаимодействие по HTTP, поэтому программистам не составит труда реализовать интеграцию контроллера Z/IP со сторонним ПО. Механизм обмена данными основан на HTTP POST запросах и описан в документе INS 14430, который можно скачать с сайта silabs.com после регистрации (данный документ также присутствует в архиве по ссылке, указанной выше).
В качестве примера есть простейший клиент pyzware, написанный на питоне.
Еще одной полезной функцией использования стика в инсталляторских целях можно отметить настройку им устройств в Z-Wave сети, когда существующие контроллеры по каким-то причинам с этим не справляются. Это бывает не часто, но, когда случается, причиняет много боли инсталляторам и пользователям. Достаточно вспомнить недавний баг контроллеров Fibaro после обновления и невозможность конфигурирования в них параметров устройств.
А контроллер Vera может прописать ассоциации, которые потом не удаляет, из-за чего устройства "начинают тормозить", т.к. пытаются отправить команды несуществующим узлам.
Для решения подобных проблем достаточно включить стик в существующую сеть контроллера вторичным контроллером (предварительно скачав с сайта Silabs программу PC Controller v5.30, которая общедоступна).
В данном софте для разработчиков можно увидеть и лишние ассоциации (которые контроллер Vera не отобразит в своем интерфейсе), и настроить параметры устройств (если контроллер Fibaro это разучился делать). Также уже приходилось прибегать к подобным шаманствам для сетей на основе Open Z-Wave, где настройка еще более неочевидная. Так что не забывайте и о такой возможности использования стика.
Если вы дочитали эту длинную статью до конца, то напоминаем, что для сообщества сайта Sprut.ai действует скидка 15% в магазине Z-Wave.ru, где стики уже в наличии. Поэтому можете в комментарии к заказу написать "я это прочитал" или просто Sprut.ai :).
Всего хорошего и до новых встреч!
Апдейт. В данной статье приведена ссылка на образ Z/IP Gateway SDK 2.81, который можно скачатьс сайта SiLabs. Данный образ предназначен для чипов 500 серии. А для чипов 700 серии придется скачать с сайта silabs.com и установить ПО Simplicity Studio, в нем открыт доступ ко всему Z-Wave SDK 700 Series, в том числе и к ПО Z/IP всем желающим. Что там в SiLabs происходит только им известно :)
Графических дизайнеров бы им нанять.
Кому им?
На софт Z-Ware
Ну так это ж просто пример, образец. Предполагается, что разработчики сами нарисуют нужный интерфейс
как зарегистрировать стикер на локальном zware Portal ? где взять Gateway ID ?)))