RaspberryPi zero2 Wにhomebridgeを入れて起動するまで

RaspberryPi zero2 Wにhomebridgeを入れて起動するまで

ことはじめ

スマートホーム沼に興味を持ち始めているのですが、homebridgeを使うと色々遊べるらしいというのを知りました。homebridgeはnodeのツールなのですが、raspberry piなどのマイコンで動かすのがよくあるケースとのことです。たまたまRaspberry pi zero2 wを購入できたので、初期セットアップからhomebridge起動までの記録を残しておこうという次第です。

購入したもの

Raspberry pi zero2 w スターターキット

本体のみ購入が売り切れている中、若干お値段が張りますがこちらは残っていたので購入できました。

前提

MicroSDへのOS書き込み」といったセットアップにはMacを利用します。

目指すところ(動くまでにやったこと概要)

  • Rasbian OS liteをMicroSDに書き込む
    • Raspberry Pi Imagerを利用します
    • wifi, sshの情報もOS書き込み時に一緒に含められます
  • Raspberry Pi上にdocker-composeをインストール
    • aptで入ります(ちょっと古いバージョンっぽい感じがしますが)
    • dockerも一緒に入ります
  • homebridgeの起動
    • docker-composeを使います

Raspbian OS lite(64-bit)をMicro SDに書き込む

スターターキット付属しているMicroSDカードにはすでにRaspbian OSが書き込まれているのですが、Desktop環境は不要なのでlite版をインストールします。

インストールにはRaspberry Pi Imager v1.7.2を利用しました。

wifi, sshの設定をする

右下の歯車をクリックするとwifisshのセットアップまで可能になっています。

入力フォームに従ってぽちぽち入力すれば良いです。

Raspberry Pissh接続する

電源を入れます。しばらく待つとsshで接続できるようになります。

# 公開鍵なりのセットアップはしてあるものとします
# ユーザー名とホスト名が初期設定のままであれば、↓でログインできます。
ssh pi@raspberrypi.local

docker、docker-composeをインストール

↓を叩きます。docker-composeをインストールするとdockerも一緒に入ってくれます。

sudo apt update

# vimはdocker-compose.ymlの記述で使いました。必要なければ不要です。
sudo apt install docker-compose vim

実行後↓を叩いて動けば大丈夫です。

sudo docker ps

homebridgeを起動する

docker-compose.ymlをどこか任意のディレクトリに置きます。

restart: alwaysをセットしているのでRaspberry Pi起動時に自動で立ち上がるようにしました。

version: '3'
services:
  homebridge:
    image: oznu/homebridge:ubuntu
    container_name: homebridge
    restart: always
    network_mode: host
    environment:
      - HOMEBRIDGE_CONFIG_UI=1
      - HOMEBRIDGE_CONFIG_UI_PORT=8080
    volumes:
      - ./homebridge:/homebridge

↓で起動します。

sudo docker-compose up -d

無事起動できていれば、http://raspberrypi.local:8080/にアクセスするとhomebridgeの初期設定画面が開きます。