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

в 12:28, , рубрики: Homekit, IoT, razberry, smart home, z-wave, гаджеты, Интернет вещей, умный дом, метки: ,

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

Тема интернета вещей сейчас как никогда наиболее популярна. Каждый день выходят новые интересные устройства способные общаться друг с другом через интернет. Пока различные производители договариваются о общем протоколе общения, 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

HomeKit для Z-Wave, Raspberry GPIO и устройств с HTTP API с помощью контроллера RaZberry - 2
На данный момент на мировом рынке присутствует более 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.
HomeKit для Z-Wave, Raspberry GPIO и устройств с HTTP API с помощью контроллера RaZberry - 3

Выберите интерфейс Z-Way Home Automation UI.
HomeKit для Z-Wave, Raspberry GPIO и устройств с HTTP API с помощью контроллера RaZberry - 4

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

Для создания датчика температуры перейдите на вкладку Preferences-->Modules-->Environment и выберите модуль OpenWeather.
HomeKit для Z-Wave, Raspberry GPIO и устройств с HTTP API с помощью контроллера RaZberry - 5

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

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

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

echo "echo" >> .syscommands

Возвращаемся в интерфейс автоматизации и переходим на вкладку Preferences-->Modules-->Devices, здесь нужно выбрать модуль CodeDevice.
HomeKit для Z-Wave, Raspberry GPIO и устройств с HTTP API с помощью контроллера RaZberry - 8

Указываем тип: SwitchBinary
Команда включить:

system('echo "1" > /sys/class/gpio/gpio24/value');

Команда выключить:

system('echo "0" > /sys/class/gpio/gpio24/value');

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

При старте системы автоматизации нужно настроить GPIO порт на выход, для этого переходим на вкладку Preferences-->Modules-->Scripting и выбираем модуль CustomUserCode, в текстовое поле пишем код:

system('echo "24" > /sys/class/gpio/export');
system('echo "out" > /sys/class/gpio/gpio24/direction');

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

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

Далее нужно активировать модуль HomeKit. Для сопряжения устройства с приложением HomeKit требуется ввести код, в Z-Way этот код можно посмотреть в логе, запускаем просмотр лога в консоле:

tail -f /var/log/z-way-server.log

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

И теперь запускаем модуль HomeKitGate на вкладке Preferences-->Modules-->Peripherals.
HomeKit для Z-Wave, Raspberry GPIO и устройств с HTTP API с помощью контроллера RaZberry - 13

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

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

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

В AppStore есть одно работающее приложение HomeKit — MyTouchHome (на момент написания статьи), стоит 1.99$.
HomeKit для Z-Wave, Raspberry GPIO и устройств с HTTP API с помощью контроллера RaZberry - 15

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

Состояния устройств полностью синхронизированы, управлять можно и из Web панели и из приложения HomeKit.
HomeKit для Z-Wave, Raspberry GPIO и устройств с HTTP API с помощью контроллера RaZberry - 17

Надеюсь в скором времени появится много функциональных приложений с поддержкой HomeKit, ну а мы уже готовы!

Автор: aivs

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js