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

Кому-то не хватает датчика давления, кому-то датчика дождя, кому-то хочется устройство на 6 реле в одном корпусе, да ещё и на батарейках. А кому-то просто нужно управлять через Z-Wave пылесосом iRobot Roomba.

Но всего этого нет в Z-Wave (да и в других протоколах тоже), и производители не торопятся осуществлять все ваши мечты.

Мы услышали вашу боль и создали идеальный комбайн. Встречайте Z-Uno, которая сочетает простоту и универсальность. Z-Uno — это Arduino в мире Z-Wave. На этой плате вы можете собрать все ваши устройства мечты и многое другое.

Про создание устройства Z-Wave и сложности с этим связанные я писал совсем недавно. Очевидно, для себя никто разрабатывать собственное устройство не будет — слишком уж это сложно и дорого. Но представьте, если вам дадут доступ к периферии чипа Z-Wave, open source компилятор, простую IDE, лёгкий доступ к сети Z-Wave, сертифицированный функционал и возможность работы с любым другим устройством Z-Wave.

И вот мы сделали это доступным в нашем новом устройстве Z-Uno (более правильно назвать Z-Uno платформой, а не устройством, т.к. устройств на этой маленькой плате можно сделать много). Идея Z-Uno проста:

Вы пишете код на языке C в стиле Arduino прямо в среде Arduino IDE. Эта же среда используется для загрузки вашего кода по USB (есть также возможность залить новый код по радио через контроллеры Z-Wave — так называемая перепрошивка OTA). Ваш код управляет всеми ножками как в Arduino. Привычный набор функций Arduino дополнен специфическими для работы с сетью Z-Wave — получения и отправки команд. Все сложности Z-Wave скрыты «под капотом» Z-Uno.

Приведём пример необычного устройства. Например, вы хотите удалённо поливать ваш любимый цветок, а также включать ему освещение. Ну, очень вам он дорог, и включать полив вы хотите сами, а не автоматически, дабы чувствовать свою причастность к уходу за растением. Для этого вы возьмете датчик влажности почвы, а также реле для включения полива и светодиодную ленту для освещение. Но тянуть провода к цветочку не хочется. Как же быть? Подключим к одному из АЦП Z-Uno наш датчик влажности, реле к цифровым выходам, а освещение к ШИМ. Значение с АЦП мы будем передавать по Z-Wave в виде «многоуровневого датчика» (Sensor Multilevel), реле представим через «бинарный выключатель» (Switch Binary), а регулятор светодиодной ленты через «многоуровневый выключатель» (Switch Multilevel). Контроллеры Z-Wave сразу подхватывают предоставленные в таком виде данные, отображают их в интерфейсе и позволяют удалённо управлять.

Вот как будет выглядеть схема подключения датчика, реле и регулятора освещения к Z-Uno (для простоты я не стал рисовать ни детали подключения реле полива, ни схему управления диммируемой светодиодной ленты — предполагается, что эту часть схемотехники вы уже имеете, собрав прототип на Arduino). Питаться данное устройство будет от micro-USB порта Z-Uno, а 3.3 В для самой Z-Uno и датчика влажности почвы получаются благодаря встроенному преобразователю DC-DC.



Код нашей программы для Z-Uno будет выглядеть так
int moistPin = A1; // нога для чтения значений влажности почвы с АЦП
int feedPin = 14; // нога для включения реле полива
int lightPin = PWM2; // нога для управления освещением

int dimLevel = 0; // тут мы храним значение диммера
int moistLevel = 0; // тут мы храним измеренное значение влажности
int moistLevelHist = 50; // константа для гистерезиса влажности (чтоб избавится от шума АЦП и реагировать только на сильные изменения)
int moistLevelCritical = 300; // пороговый уровень, при котором мы отправляем внешнему устройству команду включить реле

ZUNO_SETUP_CHANNELS(
  ZUNO_SENSOR_MULTILEVEL_MOISTURE(moistureGetter), // канал для влажности почвы и ф-цию, возвращающую значение
  ZUNO_SWITCH_BINARY(feedGetter, feedSetter), // канал для реле полива с ф-циями выставления и получения значений
  ZUNO_SWITCH_MULTILEVEL(lightGetter, lightSetter) // канал для диммирования с ф-циями выставления и получения значений
);

ZUNO_SETUP_ASSOCIATIONS(
  ZUNO_ASSOCIATION_GROUP_SET_VALUE // включаем какое-нибудь устройство Z-Wave при критичном высыхании почвы
);

void setup() {
  // выставим режимы ног
  pinMode(feedPin, OUTPUT);
  // при подаче питания выключим полив и свет
  digitalWrite(feedPin, LOW);
  analogWrite(lightPin, dimLevel);
}

void loop() {
  int moistLevelNew = analogRead(moistPin);
  
  if (moistLevelNew < moistLevel - moistLevelHist || moistLevelNew > moistLevel + moistLevelHist) {
    // значение влажности сильно изменилось
    if (((moistLevel > moistLevelCritical) && (moistLevelNew < moistLevelCritical)) ||
        ((moistLevel < moistLevelCritical) && (moistLevelNew > moistLevelCritical))) {
      zunoSendToGroupSetValueCommand(CTRL_GROUP_1, moistLevel < moistLevelCritical);  // включить устройство, если сухо
    }
    moistLevel = moistLevelNew;
    zunoSendReport(CHANNEL_1); // отправим отчёт на контроллер (отчёт по каналу 1)
  }

  delay(60*1000);
}

byte moistureGetter(void) {
  byte tmpLevel = moistLevel / 9; // приведём значения 0 (сухо) - 900 (в воде) к 0-100% (АЦП 10-бит)
  if (tmpLevel > 100) tmpLevel = 100;
  return tmpLevel;
}

void feedSetter(byte value) {
  digitalWrite(feedPin, value ? HIGH : LOW);
}
 
byte feedGetter() {
  return digitalRead(feedPin);
}

void lightSetter(byte value) {
  dimLevel = (value > 99) ? 99 : value; // по умолчанию включать сразу на максимум (тут можно было бы включать на уровень последнего значения)
  analogWrite(lightPin, dimLevel*255/99);
}
 
byte lightGetter() {
  return dimLevel;
}

Код неплохо прокомментирован. Ниже будет чуть подробней расписан смысл некоторых строк.


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

Вид нашего устройства полива в интерфейсе Z-Way/RaZberry:


Вид нашего устройства полива в интерфейсе Fibaro Home Center 2 и Home Center Lite:


Вид нашего устройства полива в интерфейсе Vera Edge (видно, что экзотический датчик влажности почвы не показывается, но замена на относительную влажность решает проблему в данном случае):


Вид нашего устройства полива в интерфейсе Zipato ZipaBox:


Немного голых фактов о Z-Uno


Z-Uno основана на модуле Mitsumi WML-C85 (также могут встречаться версии с WML-C84 или ZM5101). Почти все ноги и функции мы предоставляем пользователю через удобное API максимально похожее на язык Arduino. Поэтому характеристики Z-Uno очень похожи на характеристики SD3502, ZM5101 и WML-C84.

Отметим, что Z-Uno — бурно развивающийся проект. Курсивом отмечены заявленные цели. По мере реализации и тестирования мы будем их помечать обычным шрифтом. Символом * отмечен частично реализованные функции (наведите мышкой для отображения комментария).

Технические характеристики:

  • 28 кБайт FLASH-памяти для ваших скетчей,
  • 4 кБайта RAM,
  • Z-Wave радио-трансивер на каналах 9.6, 40 и 100 кбит/с,
  • 22 GPIO (некоторые перекрываются с другими функциями),
  • 4 АЦП,
  • 5 ШИМ*,
  • 2 UART*,
  • 1 USB (в режиме serial),
  • 64 кБайта EEPROM,
  • 1 SPI (master или slave режимы)
  • 4 ИК-контроллера и 1 ИК-приёмник с функцией обучения,
  • 1 TRIAC/ZEROX контроллеры для диммирования,
  • 1 прерывание*,
  • 2 таймера (16 MHz или от внешнего источника),
  • I2C (программный на ногах GPIO),
  • 1-wire (программный на ногах GPIO),
  • 8x6 сканер кнопок (в том числе в режиме глубокого сна),
  • 2 сервисных светодиода, 1 сервисная кнопка,
  • 1 пользовательский LED (как pin 13 у Arduino).

«Распиновка» Z-Uno (нажмите, чтобы открыть большую картинку):


Режимы питания:

  • USB 5 В, внешнее 3 В, внешнее 4-15 В или батарейка 3 В,
  • всегда в сети, спящее или FLiRS,

Функции Z-Wave:

  • Соответствие Z-Wave Plus,
  • Все частоты Z-Wave (из-за разных SAW-фильтров будет 3 вида Z-Uno),
  • Поддержка из коробки шифрования AES 128 бит, описанного в протоколе Z-Wave,
  • Обновление прошивки и бутлоадера через USB или по радио (Z-Wave OTA),
  • MultiChannel (10 пользовательских каналов — каждый канал предоставляет одну функцию, см. ниже),
  • 10 групп ассоциаций для управления другими устройствами,
  • Возможность управлять по радио Z-Wave реле, диммерами, замками, запуском сцен,

Каждый пользовательский канал может содержать один из следующих классов команд Z-Wave:
  • Binary Switch (для реле),
  • Multilevel Switch (для диммеров, жалюзи),
  • Color Switch (для цветных ламп),
  • Binary Sensor и Notification (для детекторов и сигнализаций),
  • Multilevel Sensor (для датчиков, возвращающих числовое значение),
  • Meter (для счётчиков).


Установка и настройка среды для программирования Z-Uno


Пользовательские скетчи заливаются в Z-Uno прямо из Arduino IDE. Для работы с Z-Uno необходимо установить соответствующий пакет, который содержит компилятор, загрузчик, библиотеки и .h-файлы проекта Z-Uno. Это делается из появившейся недавно в Arduino IDE менеджера плат (Board Manager). Для появления пакета Z-Uno в списке в менеджере плат, требуется зайти в настройки и прописать в поле Additional Boards Manager URLs ссылку на описание пакетов Z-Uno: http://z-uno.z-wave.me/files/z-uno/package_z-wave.me_index.json. Далее зайдите в Tools -> Board -> Boards manager и установите пакет для Z-Uno.

Важно! На данный момент поддерживается только предпоследняя Arduino IDE 1.6.5.

После установки пакета Z-Uno в списке плат в меню Tools появится пункт Z-Wave>Me Z-Uno, а в списке программаторов Z-Uno Programmer. Выберите нужный порт (COM-порт под Windows, ttyACM-порт на Linux и cu.usbmodem под OS X). Пункт Burn Bootloader позволяет обновить загрузчик скетча Z-Uno и стек Z-Wave (см. архитектуру Z-Uno ниже) до самой последней версии, входящей в пакет Z-Uno.

Также в меню появится галочка для включения шифрования (класс команд Security) и компактной отправки пакетов (класс команд MultiCommand). Эти функции не поддерживаются некоторыми контроллерами. Кроме того, в этом же списке можно выбрать частоту работы Z-Uno (обратите внимание, что SAW-фильтр в любом случае настроен на один из трёх диапазонов частот, т.е. при выборе несоответствующей частоты дальность радио связи будет существенно ниже!).

В меню File->Examples также появятся примеры, специфичные для Z-Uno. С них можно начать изучение возможностей Z-Uno.

Весь процесс в картинках





Подробная инструкция по установке представлена на сайте проекта Z-Uno.

Что ещё можно сделать на Z-Uno?


Тут нужно пускать в ход вашу фантазию. Вот несколько идей:
  • Выключатель на батарейках,
  • Диммер-крутилку (роторный диммер),
  • Датчик температуры, влажности, освещённости, напряжения, расстояния, давления, дождя,...
  • Счётчик, датчик сухих контактов, низковольтное реле,
  • ИК-пульт,
  • LED-драйвер,
  • Управление двигателем,
  • Панель кнопок (клавиатуру) на батарейках,
  • Преобразователь из Z-Wave в другие протоколы (любые датчики, подключенные по SPI/UART/I2C/1-wire шинам).


Z-Uno и Z-Wave


Создавая свои устройства на базе Z-Uno вам не нужно изучать всю документацию протокола Z-Wave и микроконтроллеров ZM5101. Однако какие-то минимальные знания о Z-Wave вам понадобятся, чтобы правильно описать в скетче нужные вам функции.

Каналы

Чтобы представить несколько функций в одном устройстве, в протоколе Z-Wave описаны каналы (изредка называемые «экземплярами»). В Z-Uno мы используем это понятие для создания сложных устройств. Каждый канал Z-Uno предоставляет одну из заявленных пользователем функций. Сколько функций описано, столько каналов будет. Используйте макрос ZUNO_SETUP_CHANNELS для описания количества и типов каналов.

Например, вот так мы опишем устройство измерения влажности и включения полива и освещения.
ZUNO_SETUP_CHANNELS(
	ZUNO_SENSOR_MULTILEVEL_MOISTURE(moistureGetter),
	ZUNO_SWITCH_BINARY(feedGetter, feedSetter),
	ZUNO_SWITCH_MULTILEVEL(lightGetter, lightSetter)
);

Данный код описывает три канал. Первый будет содержать класс команд Sensor Multilevel и передавать значение влажности почвы, второй — управление поливом, третий — выключатель освещения.


Ассоциации

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

Макрос ZUNO_SETUP_ASSOCIATIONS позволяет определить количество доступных в устройстве групп и вид отправляемой команды для каждой группы (управление реле, диммером или запуск сцен).

Например, вот так мы опишем группу для управления другим устройством типа реле.
Вверху файла проекта:
ZUNO_SETUP_ASSOCIATIONS(ZUNO_ASSOCIATION_GROUP_SET_VALUE);

и в нужном месте в коде:
zunoSendToGroupSetValueCommand(CTRL_GROUP_1, значение);


Управление питанием

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

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

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

Z-Uno поддерживает все три режима питания. Режим питания можно определить макросом ZUNO_SETUP_SLEEPING_MODE.

Важно! При изменении параметров или количества каналов, групп ассоциаций или режима питания необходимо исключить Z-Uno из сети и заново её включить в сеть. Это вызвано требованием протокола Z-Wave не менять свои характеристики «на лету».

Узнать больше о Z-Wave

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

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


Мы делаем Z-Uno полностью соответствующей самому свежему стандарту Z-Wave Plus. Однако, увы, это не гарантирует полной работоспособности во всех контроллерах. Увы, многие контроллеры требуют «шаблонов» для поддержки конкретных устройств. Писать такие шаблоны сложно или даже невозможно (производитель контроллера может не давать возможности загрузить свой шаблон). А некоторые контроллеры и вовсе ограничивают отображаемые функции устройства тремя или четырьмя элементами управления. Это сильно ограничивает возможность использования Z-Uno.

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

Пока мы тестировали Z-Uno с Z-Way (полная совместимость), Fibaro (до четырёх функций), Vera Edge (не поддерживаются экзотические датчики), Zipato (мало тестировали, но пока проблем не замечено). Мы надеемся, что производители контроллеров будут улучшать работу контроллеров и поддержку входящих в стандарт Z-Wave функций.

Внутреннее устройство Z-Uno


Хотелось бы упомянуть о том, как устроена Z-Uno внутри. Исполняемый код Z-Uno состоит из четырёх частей:

Пользовательский код, он же «скетч» — это ваш код, написанный на упрощённом языке C и загруженный в Z-Uno посредством Arduino IDE. Пользовательский код управляет всеми «ногами» и логикой работы устройства. Вы сами решаете, как подключить ту или иную периферию!

Загрузчик пользовательского кода реализует уровень приложения Z-Wave в соответствии с пользовательскими настройками, определяет каналы и группы ассоциаций, задаёт режим сна. Он также управляет сервисными светодиодами и обрабатывает сервисные кнопки, необходимые для включения устройства в сеть, сброса и перевода в режим «восстановления» (режим, в котором пользовательский код не грузится). Но главная роль загрузчика состоит в том, чтобы вызывать Пользовательский код при получении пакетов Set (установка значения) и Get (запрос значения) из сети Z-Wave, а также вызов функции loop всё время, пока более низкие уровни не заняты. Данный уровень является основной частью «ядра» прошивки Z-Uno.

Уровень приложения Z-Wave отображает объявленные пользователем каналы, функции и ассоциации Z-Uno на классы команд Z-Wave, обеспечивая соответствие стандарту Z-Wave Plus. Данный уровень также предоставляет такие функции, как обновление прошивки, по USB и по радио (OTW и OTA), AES шифрование всех радио пакетов, мониторинг мощности радио сигнала, измерение заряда батарейки, периодические пробуждения, а также анонсирует в сеть базовую информацию об устройстве.

Сетевой уровень Z-Wave основан на SDK Sigma Designs (версии 6.5x), которая реализует сетевой и радио уровни протокола Z-Wave, устанавливая надёжную двухстороннюю связь в mesh-сети умного дома. Этот уровень занимается вычислением маршрутов, обеспечивая доставку пакетов получателям даже вне зоны прямой видимости, осуществляет пересылку (маршрутизацию) и приём пакетов.

Пользовательский код (скетч) компилируется в Arduino IDE с библиотеками Z-Uno Core Libraries, которые необходимо установить через Arduino Board Manager. Как и скетчи Arduino, скетчи Z-Uno являются обычными прошивками, скомпилированными для соответствующего микроконтроллера. Однако по сравнению с Arduino, основанной на микроконтроллерах Atmel, Z-Uno основана на чипе Z-Wave, т.е. архитектуре 8051. Потому вместо avg-gcc при сборке скетчей Z-Uno используется компилятор sdcc.

Есть ещё одно отличие от скетчей Arduino: скетчи Z-Uno должны взаимодействовать с уровнями ниже. Данное взаимодействие осуществляется через Z-Uno Core Libraries, с которыми компилируются скетчи Z-Uno.

Как уже упоминалось, Пользовательский код можно загрузить через Arduino IDE по USB (используя кнопку «Upload»), а также по радио через контроллер Z-Wave, поддерживающий обновление прошивок в устройствах.

Все нижние уровни (Загрузчик пользовательского кода, Уровень приложения Z-Wave и Сетевой уровень Z-Wave — все вместе) можно также обновить по USB из Arduino IDE (используя пункт меню «Upload Bootloader») или также по радио через контроллер Z-Wave.

Замечу, что эти нижние уровни скомпилированы с библиотеками Z-Wave SDK при помощи компилятора Keil C51, в то время как пользовательский код собран при помощи sdcc. Думаю, мы напишем отдельную статью о том, как мы скрещивали ежа с ужом. Ведь эти компиляторы даже имеют немного разные конвенции и ABI вызова функций.

Недостатки Z-Uno


Мы старались сделать идеальный продукт, но не всегда получается все гладко ;)

Увы первая выпущенная версия не помещается на одну макетную плату (из-за размера батарейки мы не смогли уменьшить плату). Но следующая версия будет у?же и поместится на одну стандартную макетку.

Также в текущей версии мы прогадали с выбором батарейки — текущая не способна нормально питать устройство в режиме FLiRS. Следующая не будет иметь батарейки на борту, а только кабель для подключения внешней батарейки.

Также текущая плата не имеет защиты от подключения одновременно батарейки и внешнего питания. Об этом напоминает защитная бумажка в отсеке для батареек. Но и это исправится.

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

Также стоит отметить, что в отличии от Arduino, Z-Uno имеет на ногах 3 В, а не 5 В. Это следует учитывать, чтобы не спалить входы.

После нескольких workshop мы поняли, что продукт всё-таки получился сложным: те, кто знаком с Ардуино, должны познакомиться с экосистемой устройств Z-Wave и интерфейсом контроллеров Z-Wave, а те, кто знаком с Z-Wave, должны иметь базовые знания С. К счастью пересечение подмножеств этих людей весьма велико.

Чем Z-Uno не является


  • Z-Uno представляет одно устройство (с несколькими каналами). Т.е. полноценным шлюзом между Z-Wave и другой технологией Z-Uno быть не сможет (для этого в Z-Wave есть Bridge Controller).
  • Z-Uno — дочернее Z-Wave устройство и не может быть контроллером (т.е. строить и администрировать сеть). Однако через ассоциации Z-Uno может управлять другими устройствами.
  • Z-Uno не является законченным устройством — вам потребуется подключить датчики (например, из списка совместимых с Arduino) и запрограммировать работу с ними.


Развитие проекта и планы


Как я уже упоминал, Z-Uno — быстро развивающийся проект. Мы поставили себе очень амбициозную цель, и уверенно шагаем к ней. Вот краткий план проекта на ближайшие месяцы:
  • Январь — чистка синтаксиса, подготовка к сертификации Z-Wave Plus.
  • Февраль — сертификация Z-Wave Plus, добавление функций работы с EEPROM, с памятью NZ XRAM.
  • Март — добавление протоколов SPI, I2C, 1-wire.
  • Апрель — выпуск обновлённой версии платы (для диапазона 865-870 МГц — частоты Z-Wave для России, Европы, Малайзии, Индии,...)
  • Май и далее — добавление новых функций в порядке приоритета (на основе пожеланий пользователей).
  • где-то к осени — выпуск версий платы для других регионов.


Следите за новостями!

Вся информация о ходе проекта публикуется на сайте z-uno.z-wave.me. Там же находится описание функций языка программирования C и примеры кода (на английском).

Также у нас есть англоязычный форум, посвященный Z-Uno.

Код Z-Uno Core Libraries доступен на github.

Информацию об ошибках и предложениях мы принимаем через github: вы можете создать тикет и доложить о проблеме.

Ну а купить-то где?


Z-Uno уже доступна (пока только в России) у наших партнёров 5 smart, которые в течение недели после данной публикации дарят 5% на все устройства Z-Wave по скидочному купону GT_ZUNO. Надеемся, скоро Z-Uno появится и в других магазинах.

Рекомендованная розничная цена 3500 руб.

Подробности проекта на сайте z-uno.z-wave.me.

Комментарии (29)


  1. vabank_knabav
    18.01.2016 17:45

    всё время читаю про умный дом и ни разу не увидел того что мне надо (не очень сильно искал, так как нужно погружаться в эту тему), может быть вы или кто-то ещё подскажет решение.
    Есть гаражная дверь — две штуки, от них необходимо получать сигнал о состоянии (открыта или закрыта) и иметь возможность это состояние изменить (привод двери позволяет). Всё беспроводным способом без участия компьютера (максиму- Wi-Fi сеть).


    1. IronHead
      18.01.2016 17:59

      Привод ворот с радиопультом. Кнопку нажал — открыл, кнопку нажал — закрыл.


      1. vabank_knabav
        18.01.2016 18:13
        +1

        там нет обратной связи по состоянию.
        надо так: дверь открылась -> лампочка загорелась ->слюна выделяется -> кнопку рядом с лампочкой нажал -> дверь закрылась


        1. BIanF
          19.01.2016 00:42

          Пара герконов решила бы эту проблему.


        1. nochkin
          19.01.2016 06:08

          Если ворота уходят из вертикального положения в горизонтальное, то есть «tilt sensor», который можно давать обратную связь (вертикально — закрыто, горизонтально — открыто).
          Tilt sensor есть для Z-Wave. Но если хочется что-то своё, то можно просто голый сенсор взять и подключать как хочется.


        1. Kostyanych
          19.01.2016 16:51

          А если кого-то дверью приложит?
          В идеале надо еще какие-нибудь датчики типа ультразвуковых или оптических чтобы аварийно останавливать дверь если кто-то засуетился при начале движения…


    1. aivs
      18.01.2016 18:06
      +1

      Если к вашим воротам можно подключить внешнюю клавишу, и есть сигнальная лампа, которая горит, когда ворота движутся или открыты, то вы можете использовать двойное реле rus.z-wave.me/shop/lights/fibaro-double-switch-2x15kw.
      Первое реле вы подключаете в блок управления воротами к контактам, к которым подключается клавиша, так вы сможете управлять воротами.
      С помощью второго реле мы будем получать статус ворот, для этого докупаем в чип-дип обычное реле управляемое 24В (напряжение лампы) и подключаем вход этого реле параллельно лампе, а выход к контакту O2 на fibaro double switch (к этому контакту обычно подключается клавиша выключателя). Когда лампа будет гореть реле замкнется, а fibaro double switch будет думать нажата клавиша и включит свое реле. На контроллере Z-Wave мы будем видеть и статус ворот и сможем управлять.


      1. vabank_knabav
        18.01.2016 18:38

        Спасибо!
        да, всё необходимое есть, там проблема что лампа гаснет через какое-то время (кажется) и необходимо будет использовать внешний датчик или смотреть, как настроить лампу чтобы не выключалась.
        Пробежался по компонентам, кажется, то что надо.
        Виталии, возможно вы поможете ещё и подскажите контроллер с минимальным требуемым функционалом?


        1. aivs
          18.01.2016 18:43

          Я сам использую RaZberry, как раз тот самый что выпускает Z-Wave.Me. Плату RaZberry года 2 назад. За это время даже написал свое приложение для iPhone под этот контроллер, родное не нравится.


          1. vabank_knabav
            18.01.2016 18:48

            Ещё раз спасибо за информацию, очень мне помогли. Давно не мог решиться на изучения вопроса, с вашими наводками всё оказалось элементарно (пока не начал делать).


    1. aivs
      18.01.2016 22:57
      +1

      Даже схему подключения нашел, прям для вашего случая


    1. GreatKoshak
      19.01.2016 00:48

      А как насчет управления гаражными воротами через Bluetooth с помощью приложения на смартфоне? Расскажу в лс подробней, если интересно, а то ещё сочтут за рекламу.

      P.S. схема примерно такая же, как в комментарии товарища aivs


      1. vabank_knabav
        19.01.2016 09:14

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


    1. rozboris
      19.01.2016 07:44

      Для обычного детектирования открытия/закрытия есть Wink Quirky+GE Tripper Door/Window Sensor, там геркон внутри. Замечательно работает с моим Wink Hub.
      Для гаражных дверей есть Chamberlain MyQ ($99), он умеет радиосигналы отправлять, да и сенсор открытия в нем есть.


      1. vabank_knabav
        19.01.2016 09:21

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


  1. LAVir
    18.01.2016 18:19
    +1

    Ребята вы молодцы! То что надо! Ориентировочно можете сказать когда будет возможность отправлять в Европу, в частности в Финляндию?


    1. PoltoS
      18.01.2016 18:34
      +1

      Мы, возможно, часть текущей партии отправим коллегам в Европу, но у нас backorder больше того, что у нас осталось из первой партии. Апрельская партия будет 1000 штук и точно появится в Европе в Апреле-Мае.


  1. MAXXL
    18.01.2016 19:39

    «Март — добавление протоколов SPI, I2C, 1-wire.» — это программно будет добавляться? Или лучше подождать вторую версию платы? Хочу реализовать охранную систему, и нужен как раз 1-wire чтоб «таблеткой» управлять постановкой/снятием.Или может уже что-то есть, а я просто не нашел для такого решения?


    1. aivs
      18.01.2016 20:30

      Программный 1-wire реализовывается, так же просто, как Хеллоу ворлд, библиотек под ардуино полным полно, уверен можно и под zuno их адаптировать, пусть меня поправят, если я не прав.


    1. PoltoS
      18.01.2016 20:54
      +1

      SPI у модуля Z-Wave есть аппаратный. Его и завернем в Ардуино-подобное API.
      I2C и 1-wire будут программными. И вот тут отличие от Ардуино сильное: там работа с пинами идет в реальном времени, а у нас еще отдается управление в неуправляемый код Sigma Design SDK для обслуживания радио, что приводит к проблемам тайминга. Потому эту часть будем делать в нашем коде, а не в скетче.


  1. silenzushka
    19.01.2016 16:01

    Спасибо за статью. Может быть подскажите, ищу шлюз Z-Wave (у меня контроллер Wink и очень им доволен) на какой-нибудь проводной стандарт, для которого есть 8-12 канальное реле на DIN рейку?


    1. PoltoS
      19.01.2016 16:38

      Wink никогда не тестили.

      Z-Uno может управлять 8 релейными каналами без проблем. Вопрос только в том, как Wink отобразить это. Если он отобразит все каналы и контролы для реле, то будет всё отлично.

      Можете принести к нам его, мы потестим. Нам и самим интересно его потестить — что за зврерь


      1. silenzushka
        19.01.2016 16:42

        Я в Питере. Если интересно, как-нибудь с оказией могу завести или если кто-то из ваших в Питере будет, передам. Устройство брал для тестов, в важных задачах не использую.


      1. silenzushka
        19.01.2016 16:43

        А какое устройство можете посоветовать для замыкая/размыкания нагрузки 220В для использования вместе с Z-Uno?


        1. aivs
          19.01.2016 17:03
          +1

          Любое реле 5В реле, которое используется для Arduino
          http://ru.aliexpress.com/item/Free-Shipping-8-channel-8-channel-relay-control-panel-PLC-relay-5V-module-for-arduino-hot


          1. silenzushka
            19.01.2016 17:14

            Очень круто. Спасибо за наводку.


    1. aivs
      19.01.2016 17:13

      Судя по фоткам с сайта Wink, это американское устройство и частота должна быть соответствующая. Z-Uno тогда тоже нужно на американской частоте.


      1. silenzushka
        19.01.2016 17:19

        Думаю, Вы правы на счёт частоты. Я брал Wink и выключатели Aeotec на Amazon. Z-Uno на американской частоте бывает? А то бы я попробовал собрать реле + Z-Uno + может какой преобразователь 220В на питание Z-Uno — собрать в одном корпусе и завести это в Wink.


        1. PoltoS
          19.01.2016 18:49
          +1

          Z-Uno будет на 908 МГц (частота Z-Wave для США) после лета. Сначала решили освоить рынки России и Европы.

          Кстати, текущие Z-Uno вообще без фильтра и будут работать на всех частотах! Можно сказать, эксклюзивные версии. А для следующих мы расскажем, как заменять SAW-фильтр на перемычку ;)