ウチ、スマートホームなんだよね 〜Homebridge on Docker on Raspberry Pi 〜

ウチ、スマートホームなんだよね 〜Homebridge on Docker on Raspberry Pi 〜

Apple の Home Kit を使って家電を管理しようとしています。Home Kit や Google Assistant などのスマートホーム規格に対応した製品も最近は増えていますが、多くはまだまだ値段が高かったり、わざわざ変えるのはエコでもないしもったいないです。

簡単にスマートホームを構築する

そこで、スマートホーム対応の学習リモコンのような機械を使うことにより安価に今ある家電をスマートホームアプリで操作するケースがあります。有名どころだと、Nature Remo や eRemote などは家電量販店でも見かけることがあります。

使い方は簡単で、スマートリモコンを起動したら Wi-Fi ネットワークなどに接続し、学習させたいリモコンの赤外線信号を学習させていきます。すると学習した信号をスマホアプリの画面に配置したボタンに記憶させられるので、スマホから家電を操作できるようになります。

しかし、製品によっては専用アプリからしか操作ができないケースもあるので、そういった場合は Homebridge というスマートホームサーバーを使って Home アプリなどから操作できるようにします。今は Broadlink の RM mini3 を使っているので、homebridge で操作できるようにします。

Homebridge を簡単に管理

Homebridge はサーバーなので稼働させるコンピュータが必要です。Linux ベースのコンピュータであれば動作します。余っているコンピュータがあればそれらを使えますが、常時稼働させておく必要があるものなのでなるべく省電力な物を使いたいです。というわけでシングルボードコンピュータの Raspberry Pi にインストールすることにします。手元にあった Raspberry Pi 3 model B+ を使っていきます。

Raspberry Pi にインストールした Raspbian OS 上で直接 Homebridge をインストールしてもいいのですが、管理しやすくするために Docker で Homebridge を動かすようにします。検索すると Docker で動く Homebridge のリポジトリを公開している方がいました。

https://github.com/oznu/docker-homebridge

手順も公開されているので Wiki を見れば問題なく構築を進められます。

https://github.com/oznu/docker-homebridge/wiki/Homebridge-on-Raspberry-Pi

以下の Raspberry Pi であれば動作するようです。

  • Raspberry Pi 1
  • Raspberry Pi Zero W
  • Raspberry Pi 2
  • Raspberry Pi 3
  • Raspberry Pi 4

Homebridge on Docker on Raspberry Pi 構築

Raspbian OS をインストール

OS イメージダウンロードと書き込み

Raspberry Pi 公式サイトから最新の OS イメージ[Raspbian Buster Lite]をダウンロードします。

ダウンロードしたイメージを SD カードに書き込みます。

この後の操作を楽にできるよう、書き込んだ SD カードに対して次の処理を行います。

SSH 有効化

最初の起動時に SSH 接続を有効かできるよう、SD カードのルートディレクトリに ssh というからのファイルを作成します。

Wi-Fi の有効化

Wi-Fi モジュールが組み込まれているモデルの場合は、利用する無線の SSID を指定できます。以下の設定ファイルを wpa_supplicant.conf という名前で SD カードのルートディレクトリに作成します。(YOUR_COUNTRY_CODEJP に、YOUR_SSIDYOUR_PASSWORD は自身の環境に合わせて置き換えます)

country=YOUR_COUNTRY_CODE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="YOUR_SSID"
    scan_ssid=1
    psk="YOUR_PASSWORD"
    key_mgmt=WPA-PSK
}

ログイン

Raspberry Pi を電源とネットワークに接続し、 SSH でログインします。

ssh pi@raspberrypi.local

クイックインストール

Raspberry Pi 上で次のコマンドを実行し、インストールします。

curl https://raw.githubusercontent.com/oznu/docker-homebridge/master/raspbian-installer.sh?v=2019-12-11 -o get-homebridge.sh
chmod u+x get-homebridge.sh
./get-homebridge.sh

Homebridge 起動

次のコマンドで Homebridge を実行します。

docker-compose up -d

Homebridge 管理画面

http://<ip of raspberry pi>:8080 にアクセスして Homebridge 管理画面にアクセスします。初期のユーザー情報は以下です。

  • username: admin
  • password: admin

上部の「プラグイン」からは、Homebridge プラグインの検索とインストール管理ができます。「コンフィグ」からは直接 config.json の編集ができます。GUI なのでかなり楽に管理ができます。

Broadlink RM-mini3 の利用について

ライブラリから検索したプラグインをインストールして実行しようとするとエラーが発生します。右上のメニューから[ターミナル]を起動して次のコマンドを実行しておきます。

 npm install hap-nodejs