88
Raspberry Piで人感センサー付きドアベルを作る方法

ドアベルを持っていません。ワイヤレスのドアベルを買うこともできますが、新しいことを学ぶために何かを複雑にしてしまう機会を逃すことはありません。今日は、防犯カメラとRaspberry Piを使って、自動で人を検知するドアベルシステムを構築することで、ホームセキュリティに一歩踏み込んでみます。

本日のプロジェクトではドアベルの音響効果を使用していますが、この技術は家の他のエリアの監視にも簡単に応用でき、ガレージ、裏庭、またはカメラを設置できるその他の場所に誰かがいる場合に音響効果で警告を発することができます。 

Raspberry Pi、セキュリティ カメラ、そして少しの機械学習を使用して、誰かがドアの前にいるかどうかを検出し、ドアベルの効果音を再生する方法を説明します。

このプロジェクトに必要なもの 

  • Raspberry Pi 4または Raspberry Pi 3(電源アダプター付き)
  • デスクトップスピーカーまたは3.5mm入力と3.5mmケーブルを備えたメガホン
  • Wyze Cam V2 (Wyze Cam V3 はまだ互換性がありません)
  • 2x8 GB (またはそれ以上) の microSD カード (1 つは Raspberry Pi 用、もう 1 つはカメラ用)。
  • HDMIケーブルと電源ケーブルを備えたモニター。(オプション)

Raspberry Piを人感センサー付きドアベルに変える方法

始める前に、Raspberry Piをセットアップしましょう。まだセットアップをしていない場合は、Raspberry Piの初回セットアップ方法、またはヘッドレスRaspberry Piインストール(キーボードと画面なし)の方法を解説した記事をご覧ください。このプロジェクトでは、ヘッドレスRaspberry Piインストールを推奨します。

1. Gitをインストールします。GitHubからコードをダウンロードするために必要になります。

sudo apt-get update
sudo apt-get -y install git

2.リポジトリをホームディレクトリにクローンします。これにより、プロジェクトの実行に必要なすべてのコードとオーディオファイルが揃います。

cd ~/
git clone https://github.com/rydercalmdown/person_detecting_doorbell.git

3. 「make install」コマンドを実行して、プロジェクトの依存関係をすべてインストールします。このスクリプトは、プロジェクトの実行に必要なPythonライブラリだけでなく、低レベルの依存関係もインストールします。人物検出に使用する機械学習ライブラリは、Pythonライブラリの1つにパッケージ化されているため、インストールには数分かかる場合があります。

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

cd ~/person_detecting_doorbell/
make install

Raspberry Piでドアベルを検知する

(画像提供:Tom's Hardware)

4. raspi-configで3.5mmオーディオ出力をデフォルトのオーディオ出力に設定します。raspi-configを起動し(コマンドプロンプトでsudo raspi-configと入力)、システムオプション -> オーディオ -> ヘッドホン1と選択することで設定できます。Raspberry Piでは、3.5mmアナログ出力またはHDMIポートからオーディオを出力できます。モニターを接続していない場合は、ヘッドホンしか選択できない場合があります。

sudo raspi-config
# Navigate to System Options -> Audio -> Headphones 1

Raspberry Piでドアベルを検知する

(画像提供:Tom's Hardware)

5. 3.5mm ケーブルを使用してスピーカーをRaspberry Pi に接続します。 

Raspberry Piでドアベルを検知する

(画像提供:Tom's Hardware)

6.ドアベルの音声ファイルを再生してスピーカーをテストします。スピーカーからドアベルの音が聞こえるはずです。私の場合はメガホンを使っていますが、お手持ちのスピーカーであれば何でも構いません。

mpg321 /home/pi/person_detecting_doorbell/src/audio/doorbell.mp3

Raspberry Piでドアベルを検知する

(画像提供:Tom's Hardware)

7.  このチュートリアルに従って、カスタムRTSPファームウェアをWyzeカメラにフラッシュします 。RTSPサポートをインストールすると、カメラに接続してPythonで直接フレームを取得できるようになります。Wyze V2カメラとmicroSDカードが必要です。

8. WyzeアプリケーションからRTSP URL値を取得し、 Makefile内のRTSP_URI変数を編集して、 Raspberry Piをカメラに向けます。RTSP URLは、スマートフォンのWyzeアプリケーションの「詳細設定」セクションで確認できます。

cd ~/person_detecting_doorbell/
nano Makefile
# STREAM_URI=rtsp://your_username:your_passport@camera_ip_address/live

9.カメラは玄関に向けて設置してください。設置場所はどこでも構いませんが、私は屋外に設置しています。Wyze V2は耐候性ではないので、屋根のある場所に設置しています。 

Raspberry Piでドアベルを検知する

(画像提供:Tom's Hardware)

10. Piで「make run」コマンドを実行してドアベルシステムを起動します。フレーム内に人が検出されると、人がフレームから離れるまで、ドアベルは5秒間隔で鳴り続けます。 

Raspberry Piでドアベルを検知する

(画像提供:Tom's Hardware)

app.py でベルの鳴る間隔を調整し、リポジトリ内の .mp3 ファイルを置き換えることでドアベルの効果音を変更できます。あとは人が来るのを待つだけです。

プロのヒント: ドアベルの代わりに犬の吠える音の効果音を使用すると、ドアベルよりもセキュリティ システムらしくなります。