Raspberry Pi と motionEyeOS を使用してマルチカメラ CCTV システムを作成する

Raspberry Pi と motionEyeOS を使用してマルチカメラ CCTV システムを作成する

市場には数え切れないほどの商用 CCTV ホーム セキュリティ システムがありますが、独自の Raspberry Pi 監視カメラ システムを構築すると、正確な目的に合わせてカスタマイズできるという利点があります。

motionEyeOS と呼ばれる特別な Linux ディストリビューションを使用すると、1 台以上のカメラを使用してセキュリティ システムを簡単にセットアップできます。その後、カメラ ビューからモーションを検出し、電子メールまたはプッシュ通知でアラートを送信できます。すべてを起動して実行する方法を紹介します。

監視カメラシステムのセットアップに必要なもの

  • Raspberry Pi: Pi Zero や Compute Module など、どのモデルでも動作します
  • USB ウェブカメラ、Raspberry Pi カメラ モジュール、または高品質カメラ モジュール

Raspberry Pi、Pico、Arduino、およびその他のシングルボード コンピュータとマイクロコントローラの詳細をご覧ください。

1.motionEyeOS のインストール

アプリケーションではなく、motionEyeOS は自己完結型のオペレーティング システムであり、多くの Raspberry Pi OS の 1 つです。まず、Raspberry Pi モデルの正しいバージョンを見つける必要があります。サポートされているデバイスのリストに移動し、ボードの最新バージョンをクリックして、ディスク イメージを . xz ファイル。

Raspberry Pi に motionEyeOS をインストールするには、主に 2 つの方法があります。motionEyeOS の Web サイトでは、Linux および macOS コンピューター用のイメージ書き込みユーティリティを提供しており、Raspberry Pi で使用するためにディスク イメージを microSD カードに書き込むことができます。これにより、ワイヤレス ネットワーク接続のオプションのセットアップと静的 IP アドレスの設定が提供されます。詳細については、インストール ガイドを参照してください。

2 番目の方法 (Windows マシンでも機能するため、ここで使用します) は、Raspberry Pi Web サイトからダウンロードできる標準の Raspberry Pi Imager ツールを使用してディスク イメージを書き込むことです。

組み込みのカード リーダーまたは USB アダプターを使用して、microSD カードをコンピューターに挿入し、Raspberry Pi Imager を開きます。Choose OS をクリックし、リストの一番下までスクロールしてUse customを選択します。

以前にダウンロードしたmotionEyeOS.xzファイルを参照します。次に、[ SD カードの選択] をクリックして、挿入された microSD カードを選択します。これは、おそらく Generic Storage Device Media などと呼ばれます。

Raspberry Pi Imager で motionEyeOS を作成する

最後に、[書き込み] をクリックし、画像をカードに書き込みます。

2. ワイヤレス接続を事前設定する

Raspberry Pi で microSD カードを使用する前に、ワイヤレス ネットワーク資格情報を事前に構成する必要があります。

プレーン テキスト エディター (macOS のテキスト エディターや Windows のメモ帳など) を開き、次の行を入力します。ssidpskの値は、独自のワイヤレス ルーターの SSID (名前) とパスワードに置き換えます。国コードも、デバイスが動作する国コードに変更する必要があります。

country=US
update_config=1
ctrl_interface=/var/run/wpa_supplicant

network={
 scan_ssid=1
 ssid="MyWiFiSSID"
 psk="MyWiFiPassword"
 }

ファイルをwpa_supplicant.confとしてmicroSD カードのルートに保存すると、 bootcode.binkernel.imgなどの他のファイルが表示されます。ファイルがaで保存される場合。txt サフィックス、それを削除して、 wpa_supplicant.confと呼ばれるようにします。

3. 監視カメラのセットアップ

Raspberry Pi Camera Module または High Quality Camera を使用している場合は、Raspberry Pi の Camera ポートに接続します。Web カメラを使用する場合は、Raspberry Pi の USB ポートに接続します。

Raspberry Pi に microSD カードを挿入し、電源を入れます。モニターに接続されている場合は、実行中のコマンドのリストが表示されます。wpa_supplicant.confファイルが正常に読み取られると、ネットワークに接続され、インターフェイス wlan0 に IP アドレスが設定された後に Raspberry Pi の IP アドレスが表示されます。

MotionEyeOS の起動画面と IP アドレス

または、Raspberry Pi がモニターに接続されていない場合は、別のデバイスの Web ブラウザーでワイヤレス ルーターの設定ページにアクセスし、名前がmeye-で始まるデバイスを探すことで、いつでも IP アドレスを見つけることができます。

4. Web インターフェイスにアクセスする

別のコンピューターまたはデバイスの Web ブラウザーで、Raspberry Pi の IP アドレスを入力すると、ログイン画面が表示されます。パスワードなしで、ユーザー名としてadminを入力するだけです。

Raspberry Pi カメラ モジュールまたは高品質カメラが接続されている場合は、自動的に検出され、Web インターフェイスにカメラ ビューが表示されます。USB カメラを使用している場合は、表示される [カメラの追加] メニューで、[カメラの種類] に [ローカル V4L2 カメラ] を選択し、[カメラ] に [ USB2.0 カメラ: USB2.0 カメラ] を選択します。

マルチカメラのセットアップでは、複数のカメラを 1 つの Raspberry Pi に接続することができますが、使用するモデルはすべてのストリームを処理するのに十分強力である必要があります。

motionEyeOS 複数カメラのセットアップ
画像クレジット: Calin Crisan/ GitHub motionEyeOS

または、それぞれにカメラが付いた複数の Raspberry Pi ボードを使用し、別の Raspberry Pi をハブとして指定してそれらのストリームを処理することもできます。これは、異なる部屋にカメラを配置する場合に便利です。

motionEyeOS ハブのセットアップ図
画像クレジット: Calin Crisan/ GitHub motionEyeOS

通常の Linux コンピューターを中央サーバーとして使用するオプションもあります。

5. カスタム設定を構成する

Web インターフェイスで、左上にある 3 本の縦線のアイコンをクリックして、設定パネルを開きます。[設定] メニューで、単一のカメラを使用している場合は [レイアウト列] オプションを 1 に変更して、ビューが画面全体に表示されるようにします。

motionEyeOS メニューパネルの設定

ビデオ デバイスメニューでは、現在選択されているカメラの解像度、回転、およびフレーム レートを変更できます。また、カメラの名前をわかりやすい名前 (部屋など) に変更することもできます。メニュー設定を変更したら、[適用] ボタンをクリックして適用します。

セキュリティ カメラのセットアップでは、カメラ ビューからモーションを検出する必要があります。動体検知メニューを開き、オンにします。その他のオプションを使用すると、動きを検出するために必要なフレーム変更しきい値を設定できます。設定が低すぎると、誤検出が多すぎる可能性があります。Motion Gapオプションは、モーションがトリガーされた後、再度モーションを検出しようとするまでの遅延です。

モーション検出からキャプチャされたムービーを表示するには、ライブ カメラ ビューをクリックし、三角形の再生ボタン アイコンを選択します。手動で、または[静止画像] メニューの [キャプチャ モード] を [モーション トリガー] に設定して、カメラでキャプチャした静止画像を表示することもできます。

7. メール通知を送信する

モーション通知メニューを使用すると、モーションが検出されるたびに自分に電子メールを送信できます。オンにした後、通知を送信するメールアドレスを入力します。アカウントのその他の設定を入力する必要があります。

Gmail を使用している場合は、SMTP サーバーを smtp.gmail.com に、SMTP ポートを 587 に、SMTP アカウントをメール アドレスの最初の部分 (つまり、@gmail.com なし) に設定します。SMTP パスワードは、Gmail アカウントへのログインに使用するパスワードです。差出人アドレスは、空白のままにするか、カスタム アドレスに設定できます。TLSをオンに設定します。

motionEyeOS メール通知設定

別のブラウザー タブで、Google アカウントの [セキュリティ] メニューにアクセスし、[安全性の低いアプリへのアクセス]をオンに設定します。セキュリティ アラートを受け取ったら、それを変更したのが自分であることを確認します。これは自己責任で行うことに注意してください。この目的のために、専用の新しい Gmail アカウントを設定しました。

これで、Google セキュリティ アラートをトリガーすることなく、motionEyeOS からテスト メールを送信できるはずです。複数のカメラを使用している場合は、カメラごとに個別に電子メール通知を設定する必要があることに注意してください。

電子メール通知で画像を受け取るには、 [添付画像のタイム スパン] オプションを 5 ~ 30に設定することをお勧めします。また、[静止画像] メニューで [キャプチャ モード]を[モーション トリガー] に設定する必要があります。

8.プッシュ通知を追加する

[モーション通知] メニューの [コマンドを実行] オプションを使用して、プッシュ通知を送信することもできます。たとえば、Android、iOS、およびデスクトップ用のアプリを提供する Pushover サービスを使用するには、それを実行するための短い Python スクリプトを作成する必要があります。

Pushoverにサインアップします。30 日間の無料トライアルの後、引き続き使用するには、1 回限りの $5 のアプリ内購入が必要になることに注意してください。

その後、Create an Application/API Tokenをクリックします。与えられた API トークン/キーと、ダッシュボードのユーザー キーを書き留めます。

ダウンロード: iOS 用プッシュオーバー| Android (無料トライアルあり)

Pushover Web サイトのボイラープレート コードを使用して、Python スクリプトを作成できます。

import httplib, urllib
conn = httplib.HTTPSConnection("api.pushover.net:443")
conn.request("POST", "/1/messages.json",
  urllib.urlencode({
    "token": "abc123",
    "user": "user123",
    "title": "CCTV alert"
    "message": "Motion detected on camera 1!",
    "url": "http://IP.ADD.RE.SS",
    "url_title": "View live stream",
  }), { "Content-type": "application/x-www-form-urlencoded" })
conn.getresponse()

abc123をアプリの API トークンに置き換え、user123をユーザー キーに置き換えます。IP.ADD.RE.SSを、 motionEyeOSセットアップの IP アドレスに置き換えます。

これを motionEyeOS システムに配置するには、次のように入力して、ターミナル アプリケーション (または Windows では WinSCP) を使用して別のコンピューターから SSH 接続する必要があります。

ssh admin@&IP_ADDRESS

IP_ADDRESSをmotionEyeOSシステムの IP アドレスに置き換えます。次のように入力します。

cd /data

これでデータ ディレクトリに移動し、 pushover.pyという名前の新しいファイルを作成します。

nano pushover.py

Python スクリプトを貼り付けるか入力し、Ctrl + X、続いてYで保存します。次のコマンドで実行可能にします。

chmod +x pushover.py

または、Windows の WinSCP で、F9を押し、権限を 0775 に設定して、OKを押します。

次を実行してスクリプトをテストします。

python pushover.py

Pushover アプリの motionEyeOS から、可聴アラート付きの通知を受け取るはずです。

motionEyeOS からのプッシュオーバー通知

motionEyeOS Web インターフェイスの Motion Notifications メニューに戻り、Run A Commandオプションをオンにし、コマンド フィールドにpython /data/pushover.pyと入力して、Python スクリプトを実行するように指示します。

[適用] ボタンをクリックします。セットアップ内のカメラごとに異なる Run A Command スクリプトを適用できることに注意してください。そのため、複数の Python スクリプトを作成し、それぞれがどのカメラでモーションが検出されたかを示すことができます。

監視カメラシステムを自作する

おめでとうございます。これで、カメラで検出された侵入者の存在を警告する電子メールとプッシュ通知を備えた、独自のカスタマイズ可能な Raspberry Pi 監視カメラ システムがセットアップされました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です