Григорий Ситнин z-wave.me

23

Upload: apps4all

Post on 29-Nov-2014

803 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

История вопроса

Форум “Apps4All” — 2013Запуск Z-Wave.Me — 2010

Создание Z-Wave Alliance — 2005

Несколько знакомых названий

Sigma Designs, Dune HD, LG, Mitsumi, Motorolla, NEC, Sharp, Technicolor, Verizon,

ZyXEL, D-Link...

...и ещё более 200

Почему Z-Wave?

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

Устройства хорошо выглядятили не видны вовсе

Сертифицированнаяв России частота 869MHz

Конкуренты

443MHz — тотальный vendor lock,слабая маршрутизация

EnOcean — “набитая” частота 2.4MHz,нет подтверждения доставки

ZigBee — стандарт толькодо транспортного уровня

(несовместимость оборудования)

Контроллеры Z-Wave

Fibaro Home Center 2 — 27,500MiCasa Verde Vera 3 — 12,500

MiCasa Verde Vera Lite — 7,900

Raspberry Pi + RaZberry — 6,600Z-Way для Windows — 4,400

Z-Way для Windows

USB-стик и ПО, позволяющие сделать из любого компьютера Z-Wave контроллер

(пт-с-с... секрет...) стик прекрасно работаети на других платформах ;)

RaZberry

Полноценный контроллер домашней автоматизации на базе Raspberry Pi, оснащённый GPIO-модулем Z-Wave

...по лучшей цене

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

3 публичных API

5 демонстрационных UI с открытым кодом, в том числе, для iOS

Как устроена сеть Z-Wave

Ноль или больше контроллеров

До 232 устройств в одной сети

Большинство устройств — ретрансляторы

Как “видно” устройства сети

1 физическое устройство (device)

1 и больше логических устройств (instance)

несколько классов команд(command classes)

Дерево Z-Wave

JSON-дерево, содержащее актуальную информацию о сети Z-Wave и доступное

из любого нашего API

{ "controller": {...} "devices": { "0": { "instances": { "0": { "commandClasses": { "64": {...}, ... } }, ... } }, ... }}

API #1 — JavaScript-движокна базе v8

позволяет написать собственный движок автоматизации и манипулировать деревом

Z-Wave напрямую

работает на контроллере

может управляться через API #2

API #2 — ZWaveAPI

REST-like API (http), экспортируещее дерево, обновления к нему и позволяющее запускать

javascript-код, переданный “снаружи”, в том числе, в виде callback-ов

http://host:8083/ZWaveAPI/*

API #2 — /ZWaveAPI

/Data/<0|$ts>

/Run/devices[$D].instances[$I].commandClasses[$C].<Get()|Set()>

/Run/

API #2 — Mini UI

http://github.com/Z-Wave-Me/z-way-mini-ui

Открытый код, использующий ZWaveAPI

Легко разобраться и начать экспериментировать

API #3 — Z-Way Home Automation Engine

Высокий уровень абстракции, практическине связанный с “физикой” сети

Коммуникация через асинхроннуюшину сообщений

Собственные сообщения разработчика

API #3 — Z-Way Home Automation Engine

Сделан на базе API #1,как пример собственногоскрипта автоматизации

Расширяемая открытаямодульная система

JavaScript

API #3 — Z-Way Home Automation Engine

Постоянно пополняемая коллекция работающих модулей-примеров

AutoOff, BatteryPolling, Cron...

API #3 — Z-Way Home Automation Engine

AutomationController

EventLog

ZWaveGate

API #3 — Z-Way Home Automation Engine

http://github.com/Z-Wave-Me/home-automation

Полностью открытый код

Пулл-реквесты и энтузиасты — Welcome!

Григорий Ситнин

JavaScript-архитектор

[email protected]