ラズパイ標準カメラをApple Homekit対応にして自宅でビデオ監視をできるようしてみましょう
アップルストアで販売しているアクセサリー類で、最近気になる製品を見つけました。
“D-Link Omna 180 Cam HDカメラ“という製品で、コンパクトだけど高性能なカメラで、自宅の様子などをiOSやmacOSの”ホーム”アプリケーションでチェックできる、という監視カメラです。
んんん、欲しいかもと思いつつも、もしかすると、これほど高機能ではなくても、手元にある”Raspberry Pi“本体と標準カメラを活用すれば、同じようなことができるのでは?と思い、ネットで検索してみると、やはり先人たちが既に対応していました。そんなわけで、そうした先人の知恵を拝借したうえで、実際に試してみた結果とPOOHなりに工夫した点などをTALKしようと思います。
(1) 用意するもの
今回の電子工作で使用したハードウェアは、”Raspberry Pi 3 Model B“と”Raspberry Pi Camera Module V2 カメラモジュール“です。どちらも手元にストックしていたものなので、余計なコストはかかっていません。(今回はラズパイ専用ケースもストック品を利用。)
それと、今回はカメラ機能を使いますので、ラズパイ側で、カメラのインターフェイスを有効にしておいて下さい。
ちなみに、”Raspberry Pi Zero WH“などでも稼働できるとは思うのですが、カメラモジュールの専用ケーブル仕様が異なるため、別途、公式ケース等を購入して、小型のケーブルを調達する必要があります。
(2) homebridgeを利用します
アップルの”Homekit“に対応していないデバイスやサービスを、”ホーム”アプリケーション上でコントロールしたり情報を表示できるようにしてくれる何とも有り難い”homebridge“という”NodeJS“サーバーを利用します。
以前のTALK”ワンコインでお部屋の温度をHomeKitをベースに外出先でもモニターできるようにしてみました“を参照下さい。
(3) 必要なモジュールをインストールします (ラズパイ編)
“sudo apt-get update && sudo apt-get upgrade
“などは済ませてある前提で、必要なモジュールのインストール手順を掲載しておきます。
(a) homebridgeをインストールします
・”homebridge”はNode.jsサーバなので、まずはNode.jsをインストールします。
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt install -y nodejs
・Avahiをインストールします。
sudo apt-get install libavahi-compat-libdnssd-dev
・homebridge本体をインストールします。
sudo npm install -g --unsafe-perm homebridge
“homebridge
“とターミナルに入力することで、”homebridge”が正しくインストールできたことを確認しておきます。
このような画面が表示されます。
(b) homebridgeのプラグイン等をインストールします
・カメラモジュール用デバイスドライバのロードします。
ただ、ラズパイを再起動したりするタイミングで、都度、ロードし直す必要があります。
sudo modprobe bcm2835-v4l2
※ “v4l2″の”l”は”L”の小文字です。
・ラズパイ標準カメラをHomekit対応するためのプラグインをインストールします。
npm install -g homebridge-camera-rpi
おっと、ここでトラブルです。”EACCES: permission denied, access ‘/usr/lib/node_modules'”というエラーが発生しインストールできません。
ネットで対応方法を検索してみると、いろいろな方法が見つかりましたが、権限周りのエラーということで、今回は以下のような回避策で対処しました。
sudo npm install -g homebridge-camera-rpi
sudo npm install -g typescript
(c) homebridgeの設定ファイルを作成(編集)します
nano /home/pi/.homebridge/config.json
(d) homebridgeを起動してみましょう
“homebridge
“とターミナルに入力するして、”homebridge”を起動します。
このような画面が表示されます。
なお、ラズパイを一度終了したり、再起動した直後には、
sudo modprobe bcm2835-v4l2
homebridge
とターミナルに入力して下さい。
(4) “ホーム”アプリにラズパイ標準カメラを新規アクセサリーして追加します (iOS, macOS編)
今回は、iOS版の”ホーム”アプリを使って、ラズパイ標準カメラを新規アクセサリーして登録します。勿論、”macOS Mojave“版の”ホーム”アプリでも同様の設定が可能です。
“ホーム”画面右上の”+”アイコンをタップし、
メニューから”アクセサリを追加”項目を選択します。
一般的な”Homekit”対応デバイスの場合は、デバイスに貼ってある設定コードをiPhone等のカメラで読み込むのですが、今回登録するラズパイ標準カメラにはそのようなラベル表示はありませんので、”コードがないか、スキャンできませんか?”ボタンをタップします。
“アクセサリを追加”画面に切り替わるので、”近くのアクセサリ”項目から、ラズパイ標準カメラを選択します。
続いて表示される警告画面では、”このまま追加”をタップします。
ラズパイ標準カメラの”Homekit”設定コードの入力を求めらますので、
ラズパイ上で”homebridge”を起動した直後に表示される8桁のコード(今回の例では、”131-45-154″)を入力します。ちなみに、このコードは、”homebridge”の設定ファイルで、”bridge”欄の”pin”項目で設定したコードです。
切り替わった画面の右上にある”完了”ボタンをクリックすれば、アクセサリの新規登録が完了します。
実際に、iOS, macOSそれぞれの”ホーム”アプリを開いて、正常に動作していることを確認しておきましょう。
・”iPhone X”の”ホーム”アプリ。
静止画のアップデートは、”ホーム”画面を表示したタイミング、以降は10秒間隔で更新している模様です。
・”iPad mini”の”ホーム”アプリ。
・”iMac Proの””ホーム”アプリ。
ちなみに、部屋の明かりを消してしまうと、再生画面が真っ黒になってしまいます。暗い場所でもカメラの映像をチェックしたい場合は、”Raspberry Pi Raspberry Pi NoIR Camera V2“を検討してみた方が良いと思います。
余談です。
意外に面倒なのは、ラズパイ標準カメラの設置方法です。
手元にあるもので、いろいろ試行錯誤をしてみた結果、下の写真に写っているように、”Raspberry Pi Zero W“専用のラズパイ公式ケースのうち、カメラを取り付けることができる蓋が余っていたので、それを使ってみることにしました。
|
|
|
ホームページ “THE POOH FILES”にも是非お立ち寄り下さい。
“Adobe Stock“でベストショットな写真素材を販売中です。是非ご覧下さい。