見出し画像

Raspberry Pi ZERO WHへのHomebridgeセットアップ

Raspberry pi をApple ホームapp対応デバイスにする

Raspberry pi に Apple homekit に対応するHomebridgeと呼ばれるプログラムをインストールしていきます。
これにより、iPhoneなどにインストールされているホームappから、Raspberry pi上のHomebridgeに登録した家電などの操作を可能とすることができます。
「Hey , Siri 、エアコンをつけて」の、第一歩です。

1. Raspberry pi ZEROへの下準備① OSインストール

Raspberry pi ZERO WHセットアップガイドに沿って、OSインストール済みの状態としておきます。

2.Raspberry pi ZEROへの下準備② node.jsインストール

node.jsとは、Javascript実行環境の一種です。HomebridgeはJavascriptでコードされているため、その実行環境を整えます。
node.jsの安定版(※1)は、2021年3月末現在v14.16.1。
しかし、Raspberry pi ZEROはarmv6lアーキテクチャCPUなのですが、node.js公式からはビルドバージョンv11.xを最後に、このCPU向けのリリースが行われなくなりました。(※2)
そこで、次の手順ではnode.jsチームが非公式の扱いでビルドしたv14.xをインストールしていきます。

※1最新版はv15.xですが、こうしたプログラムは慣例として、一つ前の安定したバージョンを使用します。多く利用され、たくさんのフィードバックが得られているバージョンの方が、トラブルが起きにくいからです。
※2Node.js v12からarmv6lの公式ビルドが提供されない

CPUアーキテクチャはこのようにして確認できます

pi@raspizero:~ $ uname -ra
Linux raspizero 5.10.17+ #1403 Mon Feb 22 11:26:13 GMT 2021 armv6l GNU/Linux

アーカイブのダウンロードと解凍

pi@raspizero:~ $ wget https://unofficial-builds.nodejs.org/download/release/v14.16.0/node-v14.16.0-linux-armv6l.tar.gz
pi@raspizero:~ $ tar zxvf node-v14.16.0-linux-armv6l.tar.gz

解凍したディレクトリに移動して

pi@raspizero:~ $ cd node-v14.16.0-linux-armv6l/

中身を確認します

pi@raspizero:~/node-v14.16.0-linux-armv6l $ ls -ltr

実行に不要なReadmeなどのファイルが3つありますので、消去

pi@raspizero:~/node-v14.16.0-linux-armv6l $ rm CHANGELOG.md LICENSE README.md

システム管理者がローカルにインストールする場合に使用するディレクトリに移しちゃいます

pi@raspizero:~/node-v14.16.0-linux-armv6l $ sudo cp -R * /usr/local/

Path通っているはずなので、バージョン確認

pi@raspizero:~/node-v14.16.0-linux-armv6l $ node -v
v14.16.0
pi@raspizero:~/node-v14.16.0-linux-armv6l $ npm -v
6.14.11

解凍したものは、削除しておいたほうが後のため

pi@raspizero:~/node-v14.16.0-linux-armv6l $ cd ..
pi@raspizero:~ $ ls -ltr
pi@raspizero:~ $ rm node-v14.16.0-linux-armv6l.tar.gz 
pi@raspizero:~ $ rm -r node-v14.16.0-linux-armv6l/
pi@raspizero:~ $ ls -ltr
合計 36
drwxr-xr-x 2 pi pi 4096  35 07:57 Bookshelf
drwxr-xr-x 2 pi pi 4096  46 18:50 Desktop
drwxr-xr-x 2 pi pi 4096  46 18:50 Videos
drwxr-xr-x 2 pi pi 4096  46 18:50 Templates
drwxr-xr-x 2 pi pi 4096  46 18:50 Public
drwxr-xr-x 2 pi pi 4096  46 18:50 Pictures
drwxr-xr-x 2 pi pi 4096  46 18:50 Music
drwxr-xr-x 2 pi pi 4096  46 18:50 Downloads
drwxr-xr-x 2 pi pi 4096  46 18:50 Documents

3.Raspberry pi ZEROへの下準備③ npmアップグレード

pi@raspizero:~ $ sudo npm install -g npm
pi@raspizero:~ $ nmp -v

4.Raspberry pi ZEROへの下準備④ avahi(マルチキャストDNS用のソフトウェア)をインストール

pi@raspizero:~ $ sudo apt-get install libavahi-compat-libdnssd-dev

5.homebridgeインストール(合わせてconfig UI-Xも)

ここからは、Homebridge公式Gitのインストール手順より

pi@raspizero:~ $ sudo npm install -g --unsafe-perm homebridge homebridge-config-ui-x
pi@raspizero:~ $ sudo hb-service install --user homebridge


この記事が気に入ったらサポートをしてみませんか?