ラズパイ(Raspberry Pi)で家電をコントロールする HomeBridgeの使い方 | ホームアプリの使い方
HomeBridgeというフリーソフトウェアが公開されています。 これは、パソコンはもちろん、小型のマイコンボードでも動かすことができます。 これに、大量に公開されているプラグインを組み合わせれば、多くの電気製品をHomeKit対応アクセサリに変身させて、 iPod/iPad/iPhoneから (ホーム)アプリ を使って簡単にコントロールできるようになります。 ここでは、超小型コンピューター:Raspberry Pi(ラズベリーパイ)でHomeBridgeを動かして、家電をコントロールしてみます。なお、HomeBridgeの実体は、NodeJS(サーバーサイドJavaScript環境)上で動作するJavaScriptです。
HomeBridgeのオフィシャルサイト
もくじ
ラズパイ(Raspberry Pi)をセットアップ・初期設定する方法
まずは買ってきたばかりのRaspberry Pi本体をセットアップ・初期設定する方法を解説します。 詳しくは下記の ラズパイ(Raspberry Pi)をセットアップ・初期設定する方法 と ラズパイ(Raspberry Pi)にhomebridgeをインストールする方法 をご覧ください。ただしライブビュー(監視)カメラを作る場合は、より簡単に一気にカメラの設定まで終えてしまう方法があります。 その場合は ラズパイ(Raspberry Pi)でHomeKit対応ライブビュー(監視)カメラを作る をご覧ください。
-
Homebridge for RaspberryP
Niklas von Weihe ユーティリティ 860円
Homebridgeを使用すると、家全体を簡単かつ安価に未来のスマートホームに変えることができます。必要なのは「RaspberryPi」と呼ばれる小型で安価なPCだけですが、このアプリがサポートされているプロジェクトと一連のソフトウェアでサポートされることを心配しないでください。このアプリによってインストールされます、そのため、ガイド付きで、PCオタクの深い経験は必要ありません。
詳細を見る(App Store)
ライブビュー(監視)カメラを作る
iPhoneやMacの情報サイト: appleinsider では、HomeKit対応のライブビュー(監視)カメラを作るための、Raspberry Pi用のSDカードイメージを配布しています。 これをSDカードに書き込み、Raspberry Piに差し込むだけでHomeKit対応ライブビューカメラが完成します。 本来手作業で行う面倒なインストール作業がスキップでき、合計約1万円程度でライブビューカメラが手に入ります。詳しくは下記のページをご覧ください。
パソコンをリモート起動する
HomeBridgeの起動しているLinuxマシンがあれば、そこにプラグイン“homebridge-wol”をインストールするだけで、 自宅のパソコンやNAS、Blu-ray/DVDレコーダーをiPhoneからリモート起動することができます。 上記で作成したライブビューカメラに同居させることもできます。詳しくは下記のページをご覧ください。
ラズパイ起動時にHomeBridgeも自動起動する
ラズパイ起動時にHomeBridgeも自動起動するには、以下の3つの方法があります。- systemd を使う
- init.d を使う
- /etc/rc.local を使う
[1] 設定ファイル(serviceファイル)を格納する
johannrichard/homebridge(GitHub Gist) で公開されている2つのテキストファイルを特定のディレクトリに格納します。 “homebridge”は“/etc/default”の下へ、 また“homebridge.service”は“/etc/systemd/system”の下に格納します。
ファイル“homebridge”の「HOMEBRIDGE_OPTS=」で、設定ファイル「config.json」の格納フォルダを指定します。 またファイル“homebridge.service”の「ExecStart="」で、起動するhomebridgeのバイナリの場所を指定します。 (viで編集するにはsudoを付ける必要があります。)
appleinsiderの配布しているライブビュー(監視)カメラ用OSイメージ での設定例を図に示します。
[2] サービスの実行ユーザーを作成する
このテキストファイルでは、サービスの起動はユーザー名“homebrige”というユーザーで行うようになっています。
sudo useradd -M --system homebridge
で、システムにこのユーザーを追加します。
現在登録されているユーザーの一覧は
getent passwd
で確認できます。
[3] homebridgeディレクトリにアクセス権を設定する
上で作成したユーザーが書き込みできるように、homebridgeのインストールディレクトリにアクセス権を設定します。
sudo chmod 777 /opt/node/lib/node_modules/homebridge
指定するディレクトリは、あなたのインストール環境に合わせて変更してください。
[4] サービスを有効にする
最初に一回だけ、下記3つのコマンドを入力して、サービスを有効にします。
$ sudo systemctl daemon-reload
$ sudo systemctl enable homebridge
Created symlink /etc/systemd/system/multi-user.target.wants/homebridge.service → /etc/systemd/system/homebridge.service.
$ sudo systemctl start homebridge
ここまで設定できたら、ラズパイを再起動します。
sudo shutdown -r now
と入力します。
再起動したらログインして
journalctl -u homebridge
と入力します。
すると図のように動作ログを確認することができます。
このように3ケタ-2ケタ-3ケタのHomeKitセットアップ用コードが表示されていれば自動起動成功です。
この自動起動の設定方法については、 Running Homebridge on a Raspberry Pi(nfarina/homebridge:Github) の中の「Running Homebridge on Bootup」の章で詳しく解説されています。
Running Homebridge on a Raspberry Pi(nfarina/homebridge:Github)
homebridgeにPACKET送信の許可を与える
パソコンをリモート起動するプラグイン homebridge-wol など、PACKET送信を行うプラグインを使う場合は、 HomeBridgeサービスにPACKET送信の許可を与えておきます。 上記のsystemdを使って自動起動している場合は、 ファイル“homebridge.service”の[Service]セクションに、 以下の2行を書き加えて再起動すればOKです。CapabilityBoundingSet=CAP_NET_RAW
AmbientCapabilities=CAP_NET_RAW
このPACKET送信の許可を与える方法については、
A Wake on Lan plugin for Homebridge(AlexGustafsson/homebridge-wol:Github)
の中の「Permissions」の章で詳しく解説されています。
A Wake on Lan plugin for Homebridge(AlexGustafsson/homebridge-wol:Github)
また、プラグイン homebridge-wol の方法については下記で詳しく解説しています。
ラズパイ(Raspberry Pi)でパソコンをリモート起動 HomeBridge-WOLの使い方
HomeBridgeの動作状況を確認する
systemdを使ってHomeBridgeを自動起動するよう設定している場合に、 HomeBridgeが正しく動作しているか確認するには、journalctl -u homebridge
と入力します。
すると図のように動作ログを確認することができます。
また
systemctl status homebridge
と入力すると、HomeBridgeサービスの起動状況を確認することができます。
プロセス番号は
ps aux | grep -i homebridge
で確認できます。
いずれも ctrl + [c] で表示を終了します。
初めてHomeBridgeを起動したとき、あるいは設定を変更したりプラグインを追加したときは、 エラーメッセージが表示されていないか、確認しましょう。
ちなみに、図の黄色で表示されているWARNINGメッセージ6つは、無視しても構いません。
HomeBridgeの各種情報を確認する
homebridgeのインストールフォルダを確認する
これには
which homebridge
と入力します。
homebridgeのユーザー名を確認する
これには
ps aux | grep -i homebridge
と入力します。
homebridgeを再起動する
systemdを使ってHomeBridgeを自動起動するよう設定している場合には
systemctl restart homebridge
と入力します。
config.jsonの場所を確認する
config.jsonの場所は、HomeBridgeのインストール方法によって変わります。 通常以下のいずれかに格納されています。
- /root/.homebridge/config.json
- /home/[username]/.homebridge/config.json
- /var/homebridge/config.json
- /var/lib/homebridge/config.json
systemdを使った自動起動を設定しているときは、 通常インストールされる”/home/
関連リンク集
HomeBridgeのオフィシャルサイト
homebridgeオフィシャルサイト(github)
homebridgeをRaspberry-Piで動作させる方法(github)
homebridge用プラグインのいろいろ(libraries.io)
appleinsiderの製作記事のWebページ(appleinsider)