Установка HomeBridge на Raspberry Pi 3

Raspberry Pi 3. Установка и настройка HomeBridge

Дата Автор Dmitry6 комментариев 1 989 просмотров

Одним из нововведений iOS 10 стало приложение «Дом», которое по замыслу корпорации Apple должно превратить ваш айфон или айпад в пульт управления «умным домом».

Программистами из Купертино был создан протокол HomeKit, который по их замыслу должен обеспечивать бесшовную интеграцию между «умными устройствами» и смартфонами и планшетами производства Apple.

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

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

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

Выход из проблемы — установка и использование HomeBridge, этакого «прокси-сервера» для HomeKit, позволяющего подключать к системе любые умные гаджеты, включая даже самоделки на Arduino и ESP8266.

Что нам понадобится

Для осуществления описываемых в этой статье действий понадобится:

  • Raspberry Pi 3 Model B
  • Apple iPhone / iPad
  • Какое-нибудь устройство с возможностью управления по Bluetooth или Wi-Fi

Я буду описывать действия на примере своего iPhone 5s, а умным устройством для интеграции в HomeKit послужит настольная лампа от Xiaomi.

HomeBridge мы будем устанавливать на Raspberry Pi 3, но в принципе эта система разворачивается на любых компьютерах как с ARM так и с x86 архитектурой.

Установка HomeBridge на Raspberry Pi

Начнем с того, что обновим все установленные в системе пакеты:

sudo apt-get update
sudo apt-get dist-upgrade

Сам HomeBridge написан на JavaScript и требует для работы развернутой платформы Node.js, которая транслирует JavaScript в машинный код. Установим ее:

wget https://nodejs.org/dist/latest-v7.x/node-v7.10.1-linux-armv7l.tar.xz
tar xJvf node-v7.10.1-linux-armv7l.tar.xz
cd node-v7.10.1-linux-armv7l
sudo cp -R * /usr/local/

Я привожу ссылку на актуальную версию дистрибутива на момент написания этой статьи. Когда будете повторять действия, советую сперва сходить по ссылке https://nodejs.org/dist/latest-v7.x/ и посмотреть не появилось ли обновленных пакетов.

Теперь установим дополнительные пакеты, нужные для работы HomeBridge:

sudo apt-get install libavahi-compat-libdnssd-dev

Ну а теперь пришло время установить и сам HomeBridge:

sudo npm install -g --unsafe-perm homebridge

Тут уже знакомые с основами работы в Raspbian Jessie люди должны обратить внимание на незнакомую команду «npm»: это менеджер пакетов, устанавливающийся в систему вместе с Node.js и работающий со своими собственными репозиториями.

Запускаем HomeBridge:

homebridge

Если установка прошла без ошибок, то на экране отобразится примерно следующее:
Установка HomeBridge на Raspberry Pi 3

HomeBridge ругается на отсутствие плагинов и файлов конфигурации, но главное — она уже запускает свой серверный модуль, доступный для сопряжения с iOS-устройством.

Если HomeBridge не стартует и выдает какие-то сообщения об ошибках, то скорее всего у вас в системе установлена Node.js устаревшей версии. Обновите Node.js до свежей редакции по приведенной мною выше инструкции, после чего переустановите HomeBridge.

После того как приложение заработает можно приступать к его настройке.

Установка плагинов и настройка HomeBridge

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

Установим плагин для линейки устройств Yeelight, позволяющий управлять настольной лампой:

sudo npm install -g homebridge-yeelight

Теперь создадим файл конфигурации:

cd .homebridge
sudo nano config.json

И впишем в него следующий текст:

{
    "bridge": {
        "name": "YeeBridge",
        "username": "18:00:27:40:BC:1B",
        "port": 51825,
        "pin": "031-45-154"
    },
    
    "platforms": [
        {
            "platform" : "yeelight",
            "name" : "yeelight"
        }
    ]
}

Думаю, что по синтаксису понятно что делает этот код.

И последний штрих — переключаем саму Xiaomi Mi LED Desk Lamp в режим для разработчиков, позволяющий управлять ей не только через китайский сервер Xiaomi, но и через сторонние приложения.

Через Mi Home это сделать нельзя, нужно установить на телефон приложение Yeelight (для iOS или для Android), залогиниться в нем в свой Mi-аккаунт и активировать в настройках Developer Mode:

Установка HomeBridge на Raspberry Pi 3

Кстати, в отличие от Mi Home приложение Yeelight работает только с двумя регионами — Singapore и Mainland China, поэтому если лампа подключалась через Mi Home и при подключении был указан другой регион (U.S., например, или Other) — нужно удалить ее из списка своих устройств, сделать Reset и подключить заново, выбрав в качестве региона Mainland China. И все последующие устройства от Xiaomi привязывать к материковому Китаю даже если они имеют международные версии, так проблем с совместимостью будет меньше.

Сопряжение HomeBridge с HomeKit

HomeBridge установлен, плагин управления устройствами Yeelight добавлен, а лампа включена в сеть и переведена в режим для разработчиков.

Включаем HomeBridge на «малине»:

homebridge

Теперь уже можно взять в руки айфон и добавить устройства в эппловскую систему умного дома.

Для этого включаем на смартфоне Bluetooth, открываем приложение «Дом» и нажимаем «Добавить аксессуар»:

Установка HomeBridge на Raspberry Pi 3

Приложение найдет HomeBridge и затребует восьмизначный код, который HomeBridge выводит в консоль при запуске (вы можете увидеть его на скриншоте терминала выше по тексту). Можно навести камеру на код и дождаться его распознания, а можно ввести его вручную.

На этом сопряжение будет завершено и в «Доме» появятся два аксессуара — сам HomeBridge и подключенная через него лампа:

Установка HomeBridge на Raspberry Pi 3

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

Установка HomeBridge на Raspberry Pi 3

Голосовое управление работает:

Установка HomeBridge на Raspberry Pi 3

Команды регулировки яркости Siri тоже понимает. Можно сказать «установи яркость лампы на 50%» и она сделает.

А в центре управления (это меню, которое появляется при свайпе снизу вверх и доступно даже при заблокированном экране) появляется новая вкладка, через которую также можно управлять элементами умного дома:

Установка HomeBridge на Raspberry Pi 3

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

Добавление HomeBridge в автозагрузку

Последний шаг — прописать HomeBridge в автозагрузку.

Для этого создадим файл:

sudo nano /etc/init.d/homebridge

И впишем в него:

#!/bin/sh
### BEGIN INIT INFO
# Provides: homebridge
# Required-Start:    $network $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start daemon at boot time
# Description:       Enable service provided by daemon.
### END INIT INFO

dir="/home/pi"
cmd="DEBUG=* /usr/local/bin/homebridge"
user="pi"

Выставим права доступа и зарегистрируем:

sudo chmod 755 /etc/init.d/homebridge
sudo update-rc.d homebridge defaults

Готово, теперь HomeBridge будет стартовать автоматически при включении Raspberry Pi.

Заключение

Вот таким образом Raspberry Pi может быть задействована в системе умного дома.

Со временем я опубликую статьи о системах Domoticz и openHAB, а также о создании Telegram-бота для управления как самой «малиной», так и контролируемыми ей смарт-устройствами через мессенджер Telegram с любого устройства по интернету.

Raspberry Pi 3B (английская сборка)в интернет-магазине GearBest Raspberry Pi 3B (китайская сборка)в интернет-магазине GearBest

Понравилась статья? Выразите благодарность автору переводом любой суммы на ваше усмотрение :)

6 комментария на «Raspberry Pi 3. Установка и настройка HomeBridge»

  1. Собрал уже несколько малин себе и родственникам по Вашим инструкциям, дай Бог Вам здоровья и процветания!
    Единственное не работает торрент, пока не разобрался в чем дело.
    А так слежу за Вашими статьями, продолжайте, очень интересно! Все сохраняю на будущее в PDF)

  2. Огромное спасибо за такой туториал!! Вопрос — девайсы от Sonoff так же можно подключать к малине и они будут подгружаться в HomeKit?

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *