• 記事をシェア
  •  
  •  
  •  
  • B! 
  •  

ラズパイ(Raspberry Pi)で家電をコントロールする:HomeBridgeの使い方 | ホームアプリの使い方

HomeBridgeというフリーソフトウェアが公開されています。 これは、パソコンはもちろん、小型のマイコンボードでも動かすことができます。 これに、大量に公開されているプラグインを組み合わせれば、多くの電気製品をHomeKit対応アクセサリに変身させて、 iPod/iPad/iPhoneから (ホーム)アプリ を使って簡単にコントロールできるようになります。 ここでは、超小型コンピューター:Raspberry Pi(ラズベリーパイ)でHomeBridgeを動かして、家電をコントロールしてみます。
なお、HomeBridgeの実体は、NodeJS(サーバーサイドJavaScript環境)上で動作するJavaScriptです。 HomeBridgeのオフィシャルサイト

ラズパイ(Raspberry Pi)をセットアップ・初期設定する方法

iPhone
まずは買ってきたばかりのRaspberry Pi本体をセットアップ・初期設定する方法を解説します。 詳しくは下記の ラズパイ(Raspberry Pi)をセットアップ・初期設定する方法 ラズパイ(Raspberry Pi)にhomebridgeをインストールする方法 をご覧ください。
ただしライブビュー(監視)カメラを作る場合は、より簡単に一気にカメラの設定まで終えてしまう方法があります。 その場合は ラズパイ(Raspberry Pi)でHomeKit対応ライブビュー(監視)カメラを作る をご覧ください。

ライブビュー(監視)カメラを作る

iPhone
iPhoneやMacの情報サイト: appleinsider では、HomeKit対応のライブビュー(監視)カメラを作るための、Raspberry Pi用のSDカードイメージを配布しています。 これをSDカードに書き込み、Raspberry Piに差し込むだけでHomeKit対応ライブビューカメラが完成します。 本来手作業で行う面倒なインストール作業がスキップでき、合計約1万円程度でライブビューカメラが手に入ります。
詳しくは下記のページをご覧ください。

パソコンをリモート起動する

iPhone
HomeBridgeの起動しているLinuxマシンがあれば、そこにプラグイン“homebridge-wol”をインストールするだけで、 自宅のパソコンやNAS、DVDレコーダーをiPhoneからリモート起動することができます。 上記で作成したライブビューカメラに同居させることもできます。
詳しくは下記のページをご覧ください。

ラズパイ起動時にHomeBridgeも自動起動する

ラズパイ起動時にHomeBridgeも自動起動するには、以下の3つの方法があります。
  • systemd を使う
  • init.d を使う
  • /etc/rc.local を使う
この中で最もモダンな方法がsystemdを使うものです。 上で紹介した監視カメラを作成するための、 How to create your own HomeKit camera with a Raspberry Pi and HomeBridge(appleinsider) で配布しているOSイメージも、この方法で自動起動が設定されています。

[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

iPhone
ここまで設定できたら、ラズパイを再起動します。 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
複数の場所に見つかったときは、そのうちどれか一つが実際に使用されているものです。 appleinsiderの配布しているOSイメージを使って監視カメラを構築 した場合の格納場所は「/var/homebridge/config.json」です。
systemdを使った自動起動を設定しているときは、 通常インストールされる”/home//.homebridge”フォルダは systemdのようなサービスには不適切であるため、 /var/lib/homebridgeなどに設定されていると思います。