anatsuk1のウェブログ

ブログを書いてみたい!

Raspberry PiでHomeKit

SiriとHomeKitは仲良し

スマートホームはSiriに頼むと簡単!

HomeKitとSiriの連携はGood。ラズパイのhomebridgeと自家製スクリプトで赤外線を発信する。

↓の記事の続きだよ。 anatsuk1.hatenablog.com

homebridgeを使いたい

node.jsのインストール

nodejsの公式ページでインストールコマンドがわかる。 github.com

新しいバージョンを使うと良いよ。'Node.js v12.x:'ではこう。最新版では、機能を追加、バグを修正、して使いやすい。

curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt-get install -y nodejs

Homebridgeのインストール

HomePodとiPad miniがホームハブになるの。

俺はラズパイをHomebridgeをデーモンにしてホームハブにする。 ラズパイでプログラムしてやりたいことがあるの。

インストールコマンド

sudo npm install -g --unsafe-perm homebridge

起動確認 -Uは、環境設定ディレクトリへのパス。デフォルトはHomeディレクトリだった🤔

homebridge -U /var/lib/homebridge/

画面にログが出る。031-45-156 が PINだよ。 確認して、CTL-CでHomebridgeをストップさせてね。

Dec 08 18:35:38 raspberrypi homebridge[17276]: Or enter this code with your HomeKit app on your iOS device to pair with 
Dec 08 18:35:38 raspberrypi homebridge[17276]:                        
Dec 08 18:35:38 raspberrypi homebridge[17276]:     ┌────────────┐
Dec 08 18:35:38 raspberrypi homebridge[17276]:     │ 031-45-156 │
Dec 08 18:35:38 raspberrypi homebridge[17276]:     └────────────┘
Dec 08 18:35:38 raspberrypi homebridge[17276]:                        
Dec 08 18:35:38 raspberrypi homebridge[17276]: [12/8/2020, 18:35:38] Homebridge is running on port 51826.

デーモン化

新しくsystemdの設定ファイルを作成する。

nano /etc/systemd/system/homebridge.service

コピペしてね♪

[Unit]
Description=Homebridge server daemon
After=syslog.target network-online.target

[Service]
Type=simple
User=pi
EnvironmentFile=/etc/default/homebridge
ExecStart=/usr/bin/homebridge $HOMEBRIDGE_OPTS
Restart=on-failure
RestartSec=10
KillMode=process

[Install]
WantedBy=multi-user.target

homebridgeの設定ファイルを作成する。

nano /etc/default/homebridge

コピーして♪

# Defaults / Configuration options for homebridge
# The following settings tells homebridge where to find the config.json file and where to persist the data (i.e. pairing and others)
HOMEBRIDGE_OPTS=-U /var/lib/homebridge

# If you uncomment the following line, homebridge will log more 
# You can display this via systemd's journalctl: journalctl -f -u homebridge
# DEBUG=*

homebridgeサービスの再起動

sudo systemctl restart homebridge.service

ホームアプリにホームハブ

PINを調べるよ。

journalctl -e

ジャーナル出力「031-45-156」がPINだよ。

ec 07 00:35:23 raspberrypi homebridge[10888]: Or enter this code with your HomeKit app on your iOS device to pair with 
Dec 07 00:35:23 raspberrypi homebridge[10888]:                        
Dec 07 00:35:23 raspberrypi homebridge[10888]:     ┌────────────┐
Dec 07 00:35:23 raspberrypi homebridge[10888]:     │ 031-45-156 │
Dec 07 00:35:23 raspberrypi homebridge[10888]:     └────────────┘
Dec 07 00:35:23 raspberrypi homebridge[10888]:                        
Dec 07 00:35:23 raspberrypi homebridge[10888]: 2020-12-06T15:35:23.532Z HAP-NodeJS:EventedHTTPServer Server listening on
Dec 07 00:35:23 raspberrypi homebridge[10888]: [12/7/2020, 00:35:23] Homebridge is running on port 51826.

これでHomeKitのホームハブになるよ。 iPhoneのホームアプリで、PINを使って登録してね🤗