Gc-helper.ru

ГК Хелпер
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Настенные выключатели z wave

Оборудование Z Wave на базе умного дома: обзор новой технологии

Протокол Z Wave разрабатывался и внедрялся таким образом, чтобы идея «Умного дома» стала доступнее рядовым пользователям, а автоматизация более гибкой. Надо сказать, что это не единственная технология для «Умного дома», но очень распространённая и популярная. В чём её преимущества, уровни протокола и типы узлов, а также возможности технологии — подробнее в статье.

Особенности технологии

Включение света при движении и поддержание постоянной температуры с помощью датчиков и контроллеров — это только вершина айсберга, возможности автоматизации уже сейчас огромны и продолжают расти с новыми сценариями и оборудованием. Протокол Z Wave обладает рядом особенностей, которые позволяют эти возможности воплотить в жизнь:

  1. Технология реализуется за счёт модулей (чипов), которые производители встраивают в оборудование. Функционирует несколько поколений чипов, все они гарантированно совместимы.
  2. Для работы используется довольно свободный диапазон частот (в устройствах, предназначенных для России — это 869 МГц), это минимизирует помехи. При создании домашней сети стоит использовать устройства только одной частоты, необязательно российской.
  3. В сеть можно объединить до 232 устройств, но, как правило, используют 5-100 узлов.
  4. Хотя радиус действия одного узла не больше 50 метров, вся сеть может занимать значительно большие площади за счёт ячеистой структуры — отдельные узлы могут выступать в качестве ретрансляторов и передавать сигнал по цепочке, пока он не дойдёт до точки назначения.

Более 700 производителей разного ценового сегмента используют эту технологию для выпуска продукции, которую можно купить как в магазинах, так и заказать онлайн. При этом в продажу поступают не только отдельные датчики или исполнительные устройства, но и сформированные автоматизированные системы, например, Heatit Z Wave Thermostat.

Для разработки новых изделий на основе этого протокола предназначен специальный набор Development Kit, состоящий из ПО, документации и инструментальных средств разработчика. Для личных проектов разработчики используют платформу Z-Uno (иногда её называют протокол Z Wave + Arduino) — это плата, содержащая передатчик Z Wave программируемая с помощью Arduino IDE.

Уровни логической работы Z Wave

Стандартная модель OSI используется для описания различных уровней логической работы протокола. Хотя модель включает 7 уровней, надо понимать, что уровень представления отсутствует.

  1. Физический . Частота передачи: до 1 МГц; скорость передачи: 9,6 Кбит/с (для старых моделей), 42 Кбит/с или 100 Кбит/с; мощность передачи не больше 1 мВт; скважность до 1%.
  2. Канальный . При отправке пакетов используется адресация и получателя и отправителя, для пакетов применяется контроль целостности данных.
  3. Сетевой . Маршрут сигнала в сети определяется отправителем, если узел не удаётся найти, то запускается алгоритм поиска узла с помощью пакета Explorer Frame, после нахождения которого, записывается новый маршрут. В передаче могут быть задействованы все постоянно работающие узлы
  4. Транспортный . Доставка пакета будет осуществляться до тех пор, пока не придёт подтверждение о получении.
  5. Сеансовый . Если применяется шифрование, то используется одноразовый ключ в коротких сеансах.
  6. Прикладной . Для этого протокола подробно описаны наборы Классов Команд, при этом интерпретации некоторых команд зависит от Класса Устройства.

Z Wave устройства

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

Типы узлов в сети Z Wave:

  • Контроллеры . Бывают портативные (можно переносить) и статические (не должны менять своего расположения). Первичный (главный) контроллер необходим для создания и поддержания работоспособности сети: он сохраняет все маршруты сигналов, следит за топологией и узлами, входящими в состав. В сети может находиться только один первичный, в то время как вторичных контроллеров может быть любое количество. В среднем ценовом сегменте пользуется спросом Z Wave Me Hub контроллер, Vera и Fibaro выпускают устройства выше классом, известные своей надёжностью и долговечностью. Иногда используют как контроллер Z Wave (Умный дом) Razberry Pi 3 — бюджетный мини-компьютер с помощью платы расширения RaZberry становится контролирующим устройством.

  • Дочерние устройства (ДУ). К ДУ относят и датчики (например, danfoss Z Wave датчики для измерения температуры в помещении), и исполнителей (например, Z Wave реле и диммер для управления освещённостью). Раньше выпускались дочерние устройства, которые могут только получать и отвечать на запросы, сейчас в продажу поступают маршрутизирующие ДУ, которые сохраняют в памяти до 4 маршрутов для 5 узлов, наиболее продвинутые ДУ способны запомнить маршруты ко всем узлам, находящимся в составе сети.

Технология Z Wave разработана по системе DIY (do it yourself), то есть пользователь вполне способен разобраться и самостоятельно развернуть домашнюю сеть.

Чтобы создать сеть Z Wave, потребуется установить первичный (главный) контроллер, желательно расположить его в центре планируемой сети. После настройки контролера надо последовательно подключить модули с постоянным питанием, ориентируясь на предполагаемые маршруты передачи сигналов. В последнюю очередь добавляют те узлы, которые не участвуют в маршрутизации. Заканчивают развёртывание сети подключением пультов и вторичных контроллеров.

После того, как сеть развёрнута можно настроить сценарии и правила управления для отдельных устройств и сформированных групп.

Сравнение с конкурентами

Развернуть сеть «Умный дом» можно не только с помощью протокола Z-Wave, пользователям доступны и другие технологии:

  • ZigBee;
  • Wi-Fi;
  • KNX;
  • 1-Wire;
  • X10;
  • Insteon.

Однако основным конкурентов на сегодняшний день является ZigBee, сравнивая эти протоколы, можно выделить отличия:

  1. ZigBee, в отличие от Z Wave — открытый продукт, поэтому разработчики могут корректировать и вносить изменения. С одной стороны, это делает протокол доступным и распространённым, с другой — нет гарантий совместимости после подобных изменений.
  2. В сетях ZigBee немного выше скорость передачи — до 250 Кбит/с.
  3. ZigBee не требует центрального контроллера и позволяет объединять в сеть до 65000 устройств (Z Wave только 232 устройства).

Оказавшись перед выбором ZigBee или Z Wave, пользователь должен решить, что для него важнее — скорость передачи или гарантированная совместимость устройств.

Сейчас концепция «Умный дом» развивается и находит всё новых приверженцев. Уже существуют способы объединять в сеть, устройства, использующие разные технологии, а также выпускаются продукты, поддерживающие сразу несколько протоколов. Пользователь может выбрать: использовать один стандарт для домашней сети или комбинировать протоколы.

Умный дом — теория и реализация на базе протокола Z-Wave


В предыдущей статье мы рассмотрели протокол ZigBee, плюсами которого является связь по радиоканалу и практически полное отсутствие проводов, а минусом — необходимость тщательно выбирать устройства для совместимости. В этой статье мы рассмотрим протокол Z-Wave, который так же является беспроводным, однако тут проблем стандартизации не возникает — все устройства, вне зависимости от фирмы-производителя, базируются на беспроводных модулях Zensys (именно эта компания разработала протокол).

Z-Wave — это беспроводной протокол, разработанный специально для дистанционного управления. В отличии от стандартов передачи данных IEEE 802.11, работающих в основном на частоте в 2.4 ГГц (ZigBee, Wi-Fi и Bluetooth), Z-Wave работает в диапазоне частот до 1 ГГц (908.42 МГц в США и 868.42 МГц в Европе и России) — выбор такого диапазона обусловлен малым количеством источников помех, в отличии от загруженного диапазона в 2.4 ГГц.

История создания

Протокол Z-Wave был создан в 1999 году датской фирмой Zensys — их целью было создание протокола с высокой отказоустойчивостью и низким потреблением энергии. И им это удалось: первые такие устройства появились в 2001 году.

В 2005 году была создана организация Z-Wave Alliance, в которую вошли производители устройств для этого протокола, и за более чем 10 лет в нее вступило более 250 производителей. Целью альянса было не только объединение производителей, но и сертификация устройств Z-Wave и решение маркетинговых вопросов.

В 2008 году американская компания Sigma Designs купила Zensys, что положительно сказалось на популяризации стандарта. На данный момент выпущено больше 1000 различных устройств Z-Wave, а их продажа превышает миллион единиц в год.

Читать еще:  Автоматич выключатель s201 c10

В 2013 году альянс представил улучшенную версию протокола — Z-Wave Plus. Фактически этот проколол выводил Z-Wave на более современный уровень: дальность передачи увеличилась на 67% (до 30 метров), время жизни от аккумулятора на 50%, пропускная способность теперь стала на 250% выше (100 кбит/с), а так же стало обязательным использование трех радиоканалов для большей надежности. Разумеется, Z-Wave Plus был полностью совместим с Z-Wave.

Технические характеристики протокола

В основе протокола Z-Wave лежит ячеистая сеть, в которой каждый узел или устройство может принимать и передавать управляющие сигналы другим устройствам сети, используя промежуточные соседние узлы:

Ячеистая топология в Z-Wave является самоорганизуемой — например, при возникновении преграды между двумя ближайшими узлами сети, сигнал пойдет через другие узлы сети, находящиеся в радиусе действия. Всего в сети может быть до 232 узлов. Каждой логической подсети Z-Wave присваивается собственный идентификатор Network ID, имеющий длину 4 байта. Устройства в подсетях с разными Network ID не могут общаться друг с другом.

В отличии от ZigBee, адресация в сети Z-Wave осуществляется по адресу устройства внутри сети (Node ID, имеет длину 1 байт), а не по его уникальному идентификатору. За взаимодействие между устройствами в сети отвечает первичный (центральный) контроллер, он же отвечает и за связь с внешним миром. Центральный контроллер может быть только один, однако протокол поддерживает возможность реализации в сети нескольких вторичных контроллеров.

Центральный контроллер так же хранит сеть маршрутов, по которым передаются данные между устройствами в сети (максимальный вес одного пакета данных — 46 байт), и при инициализации новых гаджетов он запоминает их расположение. Однако, так как адресация осуществляется не по идентификатору устройства, то перемещение устройства внутри сети может привести к появлению нерабочих маршрутов, так что возможно маршруты нужно будет обновить вручную.

Так же протокол Z-Wave имеет функцию подтверждения доставки данных — при получении пакета данных конечным устройством оно высылает на центральный контроллер команду-подтверждение. Если команда не приходит в течении некоторого времени, то пакет данных отправляется еще раз.

Устройства в сети Z-Wave

Контроллеры делятся на две группы: статические и портативные. Центральный контроллер принадлежит первой группе — он обычно представляет собой устройство, подключенное к сети электропитания (есть возможность использовать ПК как первичный контроллер) и имеющее определенный неменяющийся адрес в сети — то есть он может как передавать, так и получать команды. Портативным контроллером является пульт дистанционного управления — он не имеет постоянного адреса в сети и он отсутствует в списке маршрутов, поэтому он может только отправить команду, но не может ее получить.

Так же в сети могут быть так называемые FLiRS-устройства: они вынуждены работать с входящим сигналом (к примеру, «умные» замки). В таком случае для экономии заряда такие устройства раз в секунду проверяют, нет ли в сети пакета данных для него, и если он есть — устройство просыпается и выполняет свою функцию.

За все время существования протокола Z-Wave вышло 5 поколений устройств:

  • 1 поколение (серия 100, 2001 год) — нет в продаже, базировалось на электронных компонентах Atmel, максимальная скорость передачи 9.6 кбит/с.
  • 2 поколение (серия 200, 2005 год) — скорость выросла до 40 кбит/с, поддержка больших объемов памяти (2 кбайта ОЗУ и 32 кбайта ПЗУ) и периферии, было полностью вытеснено 100% совместимым 3 поколением.
  • 3 поколение (серия 300, 2006 год) — улучшение энергопотребления и мощности излучения.
  • 4 поколение (серия 400, 2008 год) — значительное улучшение функциональности и периферии, увеличение памяти (16 кбайта ОЗУ и 64 кбайта ПЗУ), появление полосы 100 кбит/с и OTP (постоянной памяти с пережигаемыми перемычками).
  • 5 поколение (серия 500, 2013 год) — незначительное улучшение функциональности и периферии, увеличение объема ПЗУ до 128 кбайт.

Актуальными являются 3, 4 и 5 поколения — они полностью совместимы друг с другом. Однако для большей скорости и соответственно быстроты работы стоит брать устройства с поддержкой Z-Wave Plus (это 4 и 5 поколения).

Преимущества и недостатки протокола

Преимущества:

  1. Используется шифрование по 128-битному алгоритму AES для предотвращения клонирования и взлома сети.
  2. Гарантируется совместимость со всеми устройствами от разных производителей, входящих в Z-Wave Alliance.
  3. Не требуется прокладка кабелей.
  4. Сеть легко масштабируется и расширяется новыми устройствами.

Недостатки:

  1. Скорости в 100 кбит/с хватает только для передачи команд, то есть нет возможности передавать графические изображения или звук.
  2. Из-за ограниченного радиуса действия беспроводных устройств большие сети требуют использования повторителей и даже кабелей.
  3. Сети, где требуется больше 30 устройств, становятся более дорогими, чем их кабельные аналоги.

Умный дом

  • 3 апреля 2019
  • Умный дом

По праву, одна из самых востребованных и распространенных беспроводных технологий для «умного дома” — протокол Z-Wave. Поэтому неудивительно, что сегодня этот способ связи в Интернете вещей поддерживает более двухсот компаний-производителей.

Истоки этой технологии прослеживаются еще в далеком 2005 году. Тринадцать лет назад компания Zen-Sys (позже интегрирована в Sigma Designs) разработала Z-Wave Alliance. На данный момент Z-Wave протокол является закрытым для сторонних датчиков, но даже такой статус позволяет работать системе в широком диапазоне с огромным арсеналом смарт-оборудования. Данный протокол обмена информацией обеспечивает работу в действительно больших помещениях площадью до 500 кв. м. При этом сигнал с легкостью проходит даже сквозь стены пятиэтажного дома. В отличие от других возможных протоколов, Z-WAVE позволяет пользователям «умных систем» создать дом с интеллектом своими собственными руками.

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

Преимущества протокола Z-Wave

Из существенных преимуществ этого протокола передачи информации отметим:

отсутствие необходимости прокладки проводов или кабеля;

нет необходимости в демонтаже стен, потолков;

сигнал отлично работает даже при наличии препятствий (стены, мебель, пол);

подходит для установки системы «умный дом» своими руками;

обеспечивает бесперебойную работу с охватом до 500 метров квадратных;

высокая скорость до 100 Кбит/с в последних моделях;

встроенная возможность набора несложных команд.

Принципы работы

Протокол Z-Wave был разработан специально для «умного дома» и способен автоматизировать любую из подключенных домашних подсистем. Например, системы освещения, вентиляции, отопления и водоснабжения.

Обслуживание данного протокола происходит по собственному API адресу и внешнему интерфейсу устройства пользователя. Современная версия этой программы доступна для операционных систем Windows, IOS и Linux. При совместной работе на традиционных персональных компьютерах потребуется наличие собственного адаптера Z-Way USB.

Кроме того, Z-WAVE открыт для операционной системы Raspberry Pi, работа с которой осуществляется по Сети с помощью веб-браузера. Для удобства пользователей в Интернете запущен портал для удаленного доступа к настройкам. Благодаря легкодоступному интерфейсу, пользователь в любой момент может изменить IP-адрес устройства, совершить перезагрузку, задать пароли или обновить прошивку версии.

Отметим, что производитель технологии Z-WAVE предоставляет полную документацию, доступную разработчикам для создания собственных новых версий интерфейсов для системы Smart Home.

Непосредственно сама программа Z-Way предусматривает несколько различных по возможностям вариантов веб-интерфейсов, которые отличаются внешним дизайном.

Актуальные версии для протокола Z-WAVE

Одна из представленных базовых версий для протокола Z-WAVE — «Expert UI». Создана она для настройки на базовых уровнях и контроля работы всей системы. Именно Expert UI является основным помощником для подключения прибора к сети, здесь же происходит настройка параметров, автономная проверка таблиц маршрутизации и многие другие необходимые операции. Этот вариант интерфейса существует и на русском языке, что позволяет протоколу Z-WAVE оставаться одной из самых востребованных беспроводных технологий в России на равных с Bluetooth и Wi-fi.

Читать еще:  Выключатель концевой emas l3k13mep123

Вторая усовершенствованная версия — Z-Way Home Automation UI. Она несколько дружелюбнее и понятнее для пользователей, однако на данный момен представлена только лишь на английском языке. Этот вариант протокола Z-WAVE позволяет использовать разные скрипты и дополнительные виджеты для настройки функциональности работы все «умной системы». Данный инструмент был создан для работы с мониторами разрешения до 1024×768. Первый экран, именуемый Dashboard, позволяет создать и собрать виджеты, которые необходимы для управления и контроля. Именно здесь можно настроить состав и расположение всех элементов.

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

Так, например, раздел «General» может использоваться для разных профилей одного микроконтроллера. Пункт «Rooms», в свою очередь, распределяет устройства по отдельным помещениям для определенных сценариев работы системы «умного дома». Следующий пункт «Widgets» создан для программирования отдельных параметров для виджета. Для удобства в настройках можно заменить названия всего оборудования, подключенного к системе «умный дом», на наиболее удобные и понятные наименования для конкретного пользователя. Здесь же осуществляется назначение значков, тегов, хранение информации и указание функций для программных устройств.

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

Одна из самых популярных — это автоматическое отключение прибора через определенный период времени. Причем это может происходить с возможной группировкой определенных устройств. Еще одна интересная опция для создания сценария работы системы «умного дома» — Logical rules. Она подразумевает использование многоуровневых датчиков и может осуществлять контроль и управление в соответствии с наступлением определенных событий или времени суток.

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

Не обошлось и без важной опции для любой беспроводной технологии для «умного дома» — отправки уведомлений на смартфон с помощью СМС или с помощью письма на электронную почту пользователя. Для того, чтобы это стало возможным, необходимо активировать раздел Notification в настройках приложения.

Это, конечно же, далеко не все возможности для данного протокола. Также возможно последовательное переключение сценариев, реализация сложных алгоритмов и многое другое. Текущая версия далеко ещё не завершенный проект, хотя на данном этапе уже созданы воистину удивительные возможности для программирования и функционирования сложных схем и устройств в рамках протокола Z-Wave.

Третья версия протокола находится на стадии разработки и именуется как «TV UI». Вектор этого интерфейса направлен на взаимодействие с «умными» телевизорами, приставками и приложениями для просмотра телепередач. Контроль происходит либо через телефон, либо через пульт дистанционного управления. В настройках уже запрограммирован определенный набор необходимых виджетов.

Завершает список версия «Mobile UI», обеспечивающая базовый набор опций для контролирования и управления всеми устройствами, подключенных в систему «умный дом». На данный момент разработчики предлагают использовать этот интерфейс в качестве дополнительного варианта. Пока что работа происходит лишь с физическими приборами, дополнительных скриптов и виджетов интерфейс не поддерживает.

Совместимость

Для работы протокола Z-WAVE в разных странах используют разные частоты. В настоящее время Россия поддерживает работу протокола на частоте 869 МГц. Отметим превосходную совместимость этого протокола практически с любыми гаджетами и девайсами, представленными на современном рынке устройств для «умного дома». С данным протоколом отлично соединяются контроллеры, управляющие устройства, диммеры, выключатели, термостаты, сенсоры и датчики. Список можно продолжать, так как Z-WAVE действительно идеально подходит для эффективной устойчивой работы подсистем, подключенных к «умному дому».

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

Настройка сети Z-WAVE

Для обеспечения работы сети Z-WAVE необходимо подключение в систему специального контроллера, который зачастую работает в диапазоне в пределах допустимых границ. Однако в то же время он не является основным устройством, обеспечивающим обмен и передачу данных между подключенными гаджетами, число которых может превышать 200 единиц.

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

Для контроллера подходят готовые решения системы «умного дома» под ключ, так и отдельные устройства с USB-передатчиком с платформой Z-Wave. Через сам контроллер работает все программное обеспечение, которое реализует все алгоритмы и сценарии в системе «умный дом».

Готовые решения, хоть и удобнее в эксплуатации, но, к сожалению, несколько ограничивают возможности системы. А вот «умный дом», подключенный по протоколу Z-WAVE, открывает действительно колоссальный арсенал всевозможных опций и интересных решений. Для осуществления такого варианта, безусловно, от пользователя потребуется некоторый опыт и знания в программировании.

Существенный плюс — возможность реализации управления и контроля системы в облачных хранилищах. В таком случае, все алгоритмы, сценарии, настройки происходят на определенных серверах. Для пользователя понадобятся лишь датчики, актуаторы и сам приемник. Как вариант, контроллер может представлять устройства, которые рассчитаны на выполнение определенных небольших задач в рамках системы «умный дом». Например, это могут быть реле управления, термостаты, автоматика для дверей и окон.

Главный этап в подключении устройств к генеральному контролеру происходит с помощью определенного пункта в программе и активации всех приборов.

Безопасность

Стоит отметить, что сегодня вопрос безопасности и защиты от взлома протокола Z-Wave практически не изучен. С одной стороны, большая часть устройств работают без шифрования информации, однако, несмотря на это, для взлома системы потребуется специальное оборудование и максимально близкий контакт с генеральным компьютером. К счастью для пользователей, такой вариант на практике маловероятен.

В свою очередь, работа некоторого оборудования, испытывающего высокую потребность в защите, в условиях соединения по протоколу Z-WAVE, шифруется с помощью ключей, передаваемых от гаджетов к контроллеру. Чаще всего это электронные замки, реле управления открытия и закрытия окон и дверей.

Таким образом, Z-WAVE способен обеспечить достаточно высокий уровень безопасности всей системе. Согласно заявлениям производителя, в дальнейшем защита и шифрования передачи данных будет совершенствоваться.

В завершении

Решения для интеллектуальной домашней системы, объединенные посредством протокола Z-Wave, предоставляют огромные возможности для современной квартиры или частного дома. Индивидуальный проект системы «умный дом» позволяет создать собственные правила взаимодействия между приборами со своим уникальным программным обеспечением. Именно эта особенность несколько затрудняет оценку ценовой политики, ведь итоговая стоимость зависит от огромного ряда факторов и оценивается исключительно индивидуально.

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

Читать еще:  Выключатель поплавковый для насоса гном

Подключить все! Делаем экстремально дешевый хаб для устройств ZigBee и Z-Wave

Содержание статьи

  • Выбираем и прошиваем железо
  • Ставим сервер zigbee-shepherd на Raspberry Pi Zero W
  • Работаем с выключателями Xiaomi из zigbee-shepherd
  • Увязываем наше решение с другими

Поводом для того, чтобы смешать дома умные устройства разных производителей, может быть желание сэкономить, выбирая наиболее выгодные варианты, или наоборот — стремление взять все самое лучшее. Но чаще всего ответ более прозаичный: «так вышло». Сначала ты покупаешь лампочки и датчики движения Philips, а потом обнаруживаешь, что, к примеру, умных розеток эта компания не делает вовсе, а тебе позарез нужна одна из них.

Опять же, если ты выбрал Xiaomi (а предложение этой компании — одно из самых выгодных), то тебя ждет хаб с китайским софтом, подключенный к фирменному сервису. С точки зрения безопасности — далеко не самый лучший вариант.

В этой статье я покажу, как сконструировать универсальный хаб на основе Raspberry Pi Zero W и экстремально дешевого контроллера. А поможет мне в этом программа под названием zigbee-shepherd. Она поддерживает множество устройств ZigBee, в том числе и выключатели Xiaomi на батарейках серии Aqara, и позволяет писать скрипты на JavaScript.

Выбираем и прошиваем железо

Сначала нужно определиться, на каком железе собирать хаб. В принципе, ты можешь взять что угодно (хоть свой основной компьютер, если ты его не выключаешь), но Raspberry Pi Zero W — это сверхкомпактный, дешевый и достаточно производительный вариант.

Микрокомпьютер Raspberry Pi Zero W

Xakep #235. Возрождение эксплоит-китов

  • Содержание выпуска
  • Подписка на «Хакер»

Zigbee-shepherd совместим с чипами ZigBee производства Texas Instrument CC2530 и CC2531. У TI есть референсный USB-стик CC2531 USB Evaluation Module Kit за 49 долларов, но есть и полная документация и схемы по сборке такого стика, поэтому будет несложно найти в Поднебесной такой же стик, но за 7 долларов.

Фирменный стик Texas Instrument на чипе CC2531

Для работы стика с zigbee-shepherd потребуется файл прошивки с GitHub, а чтобы ее зашить, понадобится программатор CC Debugger за 49 долларов или его китайская копия за 12.

Texas Instrument CC Debugger

Прошивают USB-стик с помощью официальной утилиты TI SmartRF Flash Programmer. Чтобы все заработало, нужно подключить CC Debugger в один порт компьютера, стик ZigBee — в другой и шлейфом соединить их между собой.

Подключение CC Debugger к стику ZigBee для прошивки

В настройках программатора выбираем прошиваемое устройство (1), прошивку (2), задаем нужные действия (3) и прошиваем (4).

SmartRF Flash Programmer для прошивки стика ZigBee

Проверить, что USB-стик удачно прошился и работает, можно, подключив его к Raspberry Pi Zero W и выполнив команду

Устройство будет отображаться в системе как ttyACM0.

При подключении стика появляется устройство ttyACM0

Ставим сервер zigbee-shepherd на Raspberry Pi Zero W

Установка zigbee-shepherd и сопутствующих пакетов будет проводиться на последней версии ОС Raspbian для Raspberry Pi Zero W — Stretch.

Zigbee-shepherd написан на JavaScript и работает на Node.js. Для начала ставим Node.js:

Для установки расширений из npm нужно установить утилиты для сборки:

И сама установка zigbee-shepherd:

Проверить, правильно ли работает zigbee-shepherd, можно, запустив скрипт zigbee-server.js . Во время работы скрипт выводит информацию о каждом этапе добавления устройства и время выполнения операции.

Запускаем zigbee-shepherd в режиме отладки:

Debug-вывод при добавлении устройства ZigBee

На этапе разработки скрипта для Node.js всегда используй отладочный режим. Вывод при этом более подробный, легче отловить ошибки, а zigbee-shepherd показывает все данные, которые он отправляет и получает.

Работаем с выключателями Xiaomi из zigbee-shepherd

Первым делом следует добавить устройство ZigBee в сеть. Для этого сначала нужно сбросить его настройки на заводские и тем самым удалить информацию о предыдущей сети, если оно было добавлено прежде. Комбинация сброса и добавления устройства для выключателей Xiaomi Aqara следующая: зажать кнопку на пять секунд, пока светодиоды не начнут мигать, после чего отпустить и ждать, когда закончится процесс добавления. Если включен дебаг, то при добавлении устройства выводится подробный лог. Добавление устройства может занять до одной минуты.

После добавления устройства важно еще правильно с ним работать. Zigbee-shepherd не предоставляет веб-интерфейса для добавления устройств и управления ими, вместо этого мощный JS API позволяет получить полный контроль над любым устройством и написать собственную систему автоматизации.

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

IEEE address. Каждое устройство ZigBee имеет уникальный 48-битный MAC-адрес, он зашит в девайс, и сбросить его невозможно. По MAC-адресу можно обращаться к устройству и получать информацию о нем.

Endpoint. В устройстве может быть несколько функций, например датчик температуры и влажности или выключатель с двумя кнопками. Для каждой функции устройства создается отдельный Endpoint.

Clusters. Группа команд, которые можно отправлять устройству. Например, команда genOnOff включает или выключает устройство, а если это лампа с диммером, то команда genLevelCtrl позволит задать уровень яркости.

Attributes. У устройства можно запросить его текущее состояние, обратившись в интересующий Cluster. Например, командой genOnOff можно узнать состояние атрибута onOff — оно может быть 0 или 1.

Выключатель Xiaomi Aqara с одной кнопкой имеет следующую структуру:

Чтобы обрабатывать нажатие кнопки, нужно отловить сообщение от выключателя. Делается это с помощью события ind . Изменим код следующим образом:

При нажатии кнопки придет сообщение:

  • msg.endpoints[0].device.ieeeAddr — MAC-адрес устройства;
  • msg.endpoints[0].epId — канал (endpoint) устройства;
  • msg.data — ID кластера и атрибут, в данном случае выключатель прислал команду genOnOff:0 .

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

Zigbee-shepherd полностью поддерживает работу с диммируемыми лампами Ikea Trådfri и Philips Hue, поэтому для примера можно настроить простой алгоритм включения лампы с помощью выключателя Xiaomi Aqara. Добавляем в код обработчик нажатия кнопки и включение лампы Ikea Trådfri на максимальную яркость:

Увязываем наше решение с другими

Zigbee-shepherd использует инфраструктуру Node.js, поэтому можно реализовать управление любыми объектами, для которых есть соответствующие библиотеки. Например, протокол MQTT дает возможность интеграции со многими системами домашней автоматизации, такими как OpenHub и Home Assistant. Для последней существует готовый проект на GitHub.

Многие хабы и самостоятельные устройства Wi-Fi вроде розеток поддерживают управление через запросы HTTP. Команды можно узнать из документации, либо подглядеть в веб-интерфейсе хаба умного дома, либо проанализировать трафик от мобильного приложения.

Z-Wave-контроллер RaZberry имеет хорошо документированный HTTP API, поэтому не составит труда написать запрос на выключение света. Для отправки HTTP-запросов требуется установить библиотеку request:

Добавляем в код поддержку HTTP-запросов и сам запрос на выключение света:

Минимальная домашняя автоматизации готова! В 26 строках кода запускается сервер ZigBee, отслеживается нажатие кнопки и исполняется команда управления светодиодной лампой или команда HTTP. Если подключить фреймворк веб-приложений для Node.js (например, express), то можно реализовать полноценный HTTP API для работы с устройствами ZigBee.

Zigbee-shepherd позволяет добавить к уже существующей домашней автоматизации на KNX, Z-Wave или Wi-Fi недорогие устройства ZigBee, которых с каждым годом выпускается все больше.

голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector