Как стать автором
Обновить
0
Z-Wave.Me
Производитель оборудования Z-Wave

HomeKit для Z-Wave, Raspberry GPIO и устройств с HTTP API с помощью контроллера RaZberry

Время на прочтение 4 мин
Количество просмотров 28K


Тема интернета вещей сейчас как никогда наиболее популярна. Каждый день выходят новые интересные устройства способные общаться друг с другом через интернет. Пока различные производители договариваются о общем протоколе общения, Apple решила взять дела в свои руки и выпустила Framework HomeKit стандартизирующий способы управления устройствами различных производителей. В перспективе с помощью мобильного приложения HomeKit можно будет управлять различными лампочками, термостатами, розеточными модулями по wifi или bluetooth. Но это все в ближайшем будущем, хотя нет, постойте…
Вы уже сейчас можете работать более чем с 1000 HomeKit устройствами или создавать свои HomeKit совместимые устройства!!!

  1. О HomeKit шлюзе RaZberry
  2. Установка ПО автоматизации Z-Way
  3. Создание датчика температуры из данных OpenWeather и Реле из GPIO Raspberry
  4. Приложение HomeKit для iOS из примеров Apple


О HomeKit шлюзе RaZberry



На данный момент на мировом рынке присутствует более 1000 Z-Wave устройств и все они совместимы друг с другом. Устройства могут работать, как друг с другом напрямую так и через центральный контроллер, который выполняет роль шлюза Z-Wave <=> TCP/IP. Обычно такие шлюзы служат для управления Z-Wave устройствами из Web интерфейса или мобильного приложения. Одним из самых популярных шлюзов является Z-Wave контроллер RaZberry http://razberry.z-wave.me/.
RaZberry — это программно-аппаратный комплекс поддерживающий протоколы Z-Wave, HTTP, TCP и возможность запуска системных команд, например Bash. ПО автоматизации RaZberry называется Z-Way и благодаря поддержке HTTP API можно создать, датчик температуры, взяв данные с OpenWeather, который можно использовать в различных правилах автоматизации. Z-Way распространяется бесплатно и доступен для многих платформ, более того проект является OpenSource, за исключением части работы с Z-Wave, т.к. подписан NDA с Sigma Designs, владелицей протокола Z-Wave. В состав Z-Way входит модуль для работы с HomeKit, который и позволяет транслировать Z-Wave и HTTP устройства из RaZberry в HomeKit приложение на iOS.

Установка ПО автоматизации Z-Way


Скачайте Z-Way http://razberry.z-wave.me/z-way-server/ на ваш компьютер, есть различные сборки под Linux x86, Raspberry и Windows. Для Raspberry можно воспользоваться инсталлятором, который ко всему прочему установит еще и сервис удаленного доступа, позволяющий попасть в панель управления умным домом через сервис find.z-wave.me, используя RaZberry ID и пароль:
wget -q -O - razberry.z-wave.me/install/v2.0.1-rc24 | sudo bash

Для различных версий Linux скаченный архив нужно просто распаковать и запустить z-way-server:
LD_LIBRARY_PATH=./libs ./z-way-server &

Создание датчика температуры из данных OpenWeather и Реле из GPIO Raspberry


После запуска нужно перейти в Web интерфейс настройки автоматизации IP_ADDRESS:8083.


Выберите интерфейс Z-Way Home Automation UI.


Теперь нужно создать устройства, которыми будем управлять. Если используется плата RaZberry или USB Z-Wave Stick, то у вас уже есть устройства, иначе давайте создадим датчик температуры и подключим реле к GPIO выходам Raspberry.

Для создания датчика температуры перейдите на вкладку Preferences-->Modules-->Environment и выберите модуль OpenWeather.


Проводим не сложную настройку.


И получаем датчик температуры.


Далее добавляем реле. Управлять GPIO будем командой echo, поэтому системе автоматизации нужно разрешить использовать внешнюю программу. В z-way-server/automation/.syscommands вносим разрешенную команду echo:
echo "echo" >> .syscommands

Возвращаемся в интерфейс автоматизации и переходим на вкладку Preferences-->Modules-->Devices, здесь нужно выбрать модуль CodeDevice.


Указываем тип: SwitchBinary
Команда включить:
system('echo "1" > /sys/class/gpio/gpio24/value');

Команда выключить:
system('echo "0" > /sys/class/gpio/gpio24/value');



При старте системы автоматизации нужно настроить GPIO порт на выход, для этого переходим на вкладку Preferences-->Modules-->Scripting и выбираем модуль CustomUserCode, в текстовое поле пишем код:
system('echo "24" > /sys/class/gpio/export');
system('echo "out" > /sys/class/gpio/gpio24/direction');



Теперь у нас есть 2 работающих устройства.


Далее нужно активировать модуль HomeKit. Для сопряжения устройства с приложением HomeKit требуется ввести код, в Z-Way этот код можно посмотреть в логе, запускаем просмотр лога в консоле:
tail -f /var/log/z-way-server.log



И теперь запускаем модуль HomeKitGate на вкладке Preferences-->Modules-->Peripherals.


Из настроек, только имя которое будет отображаться при поиске на iOS устройстве.


После запуска модуля смотрим в лог и видим код сопряжения HomeKit PIN:249-01-266.

Приложение HomeKit для iOS из примеров Apple


В AppStore есть одно работающее приложение HomeKit — MyTouchHome (на момент написания статьи), стоит 1.99$.


Для iOS разработчиков компания Apple охотно делится примерами, поэтому мы сами можем скачать исходники и скомпилировать себе приложение на iOS устройство. Исходники примера HomeKit берем здесь:
https://developer.apple.com/library/ios/samplecode/HomeKitCatalog/HomeKitCatalog.zip
Для сборки приложения требуется аккаунт разработчика, без него приложение сообщало об ошибке, что не может подключиться.
После запуска приложения находим наш контроллер, добавляем его в наш дом, и видим список наших устройств, которыми можем управлять.


Состояния устройств полностью синхронизированы, управлять можно и из Web панели и из приложения HomeKit.


Надеюсь в скором времени появится много функциональных приложений с поддержкой HomeKit, ну а мы уже готовы!
Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
+13
Комментарии 17
Комментарии Комментарии 17

Публикации

Информация

Сайт
rus.z-wave.me
Дата регистрации
Дата основания
Численность
11–30 человек
Местоположение
Россия

Истории