🎉

iPhoneからRaspberry Piに指示を出す(Homebridge)

2024/05/18に公開

iPhoneからHomebridgeを使用して、Raspberry Piに対して、指示を出す環境を構築します。
この環境ができれば、Lチカなど、さまざまなことをiPhoneから操作することができます。

Homebridge
HomeKitに対応していない製品とHomekitとの橋渡しをしてくれる。
HomeKitAPIをエミュレートしてくれるNode.jsサーバー

準備するもの

  • iPhone
  • Raspberry Pi

Homebridgeインストール/設定

Node.jsのインストール

homebridgeはNode.jsで動くため、Node.jsとインストールする必要があります。
インストール方法は、homebridgeのサイトに記述があるので、その通りに実行します。

# リポジトリ登録
$ curl -sL https://deb.nodesource.com/setup_14.x | sudo bash -

# Node.jsのインストール
$ sudo apt install -y nodejs gcc g++ make python net-tools

# バージョン確認 これでバージョンが出れば、問題なくインストールできている。
$ node -v
v14.17.1

homebridgeのインストール

HomebridgeとHomebridge UIをインストールします。

sudo npm install -g --unsafe-perm homebridge homebridge-config-ui-x

HomebridgeをRaspberry Piの起動時に立ち上がるようにします。

sudo hb-service install --user homebridge

今回、Raspberry Pi上のスクリプト実行する必要があるので、homebridge-cmdをインストールします。

Homebridgeでは色んなプラグインが用意されているので、自分の用途にあったプラグインをインストールしてください。
※Homebridge UIからもインストールできるようです。

sudo npm install -g homebridge-cmd

homebridgeにログイン

「http://<raspberry piのipアドレス、もしくは、ホスト名>:8581」でHomebridge Config UI Xにアクセスします。

以下でアクセスできます。
ユーザ名:admin
パスワード:admin

iPhoneのホームに登録

Homebridge Uiにログインすると以下のようなページが出てきます。
iPhoneのホームAppの「アクセサリを追加」からこのQRコードを読み込んでください。

スクリプトを追加

Homebridge Uiのコンフィグを選択すると、Homebridgeコンフィグエディタが出てきます。
ここで、以下のようのaccessoriesの中に記述すると、iPhoneから選択できるようになります。
以下の表はhomebridge-cmdで使用するタグです。

| accessory | "CMD"で固定 |
| name | iPhoneに表示されるアクセサリの名前 |
| on_cmd | オンする時に実施するスクリプト |
| off_cmd | オフする時に実施するスクリプト |

今回の例では、iPhoneのホームAppに「IpAddress」というアイコンが出てきます。

家の外から実施したい場合は、ホームハブが必要

HomePod、HomePod mini、Apple TV、iPadのいずれかのApple製品をホームハブとして設定する必要があります。
設定方法はAppleから確認することができます。
残念ながら、Raspberry Piなどをホームハブに設定することはできないようです。

Discussion