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 などと呼ばれます。
最後に、[書き込み] をクリックして、画像をカードに書き込みます。
2. ワイヤレス接続を事前設定する
Raspberry Pi で microSD カードを使用する前に、ワイヤレス ネットワーク資格情報を事前に構成する必要があります。
プレーン テキスト エディター (macOS のテキスト エディターや Windows のメモ帳など) を開き、次の行を入力します。ssidとpskの値は、独自のワイヤレス ルーターの 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.binやkernel.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 アドレスが表示されます。
または、Raspberry Pi がモニターに接続されていない場合は、別のデバイスの Web ブラウザーでワイヤレス ルーターの設定ページにアクセスし、名前がmeye-で始まるデバイスを探すことで、いつでも IP アドレスを見つけることができます。
4. Web インターフェイスにアクセスする
別のコンピューターまたはデバイスの Web ブラウザーで、Raspberry Pi の IP アドレスを入力すると、ログイン画面が表示されます。パスワードなしで、ユーザー名としてadminを入力するだけです。
Raspberry Pi カメラ モジュールまたは高品質カメラが接続されている場合は、自動的に検出され、Web インターフェイスにカメラ ビューが表示されます。USB カメラを使用している場合は、表示される [カメラの追加] メニューで、[カメラの種類] に [ローカル V4L2 カメラ] を選択し、[カメラ] に [ USB2.0 カメラ: USB2.0 カメラ] を選択します。
マルチカメラのセットアップでは、複数のカメラを 1 つの Raspberry Pi に接続することができますが、使用するモデルはすべてのストリームを処理するのに十分強力である必要があります。
または、それぞれにカメラが付いた複数の Raspberry Pi ボードを使用し、別の Raspberry Pi をハブとして指定してそれらのストリームを処理することもできます。これは、異なる部屋にカメラを配置する場合に便利です。
通常の Linux コンピューターを中央サーバーとして使用するオプションもあります。
5. カスタム設定を構成する
Web インターフェイスで、左上にある 3 本の縦線のアイコンをクリックして、設定パネルを開きます。[設定] メニューで、単一のカメラを使用している場合は [レイアウト列] オプションを 1 に変更して、ビューが画面全体に表示されるようにします。
ビデオ デバイスメニューでは、現在選択されているカメラの解像度、回転、およびフレーム レートを変更できます。また、カメラの名前をわかりやすい名前 (部屋など) に変更することもできます。メニュー設定を変更したら、[適用] ボタンをクリックして適用します。
セキュリティ カメラのセットアップでは、カメラ ビューからモーションを検出する必要があります。動体検知メニューを開き、オンにします。その他のオプションを使用すると、動きを検出するために必要なフレーム変更しきい値を設定できます。設定が低すぎると、誤検出が多すぎる可能性があります。Motion Gapオプションは、モーションがトリガーされた後、再度モーションを検出しようとするまでの遅延です。
モーション検出からキャプチャされたムービーを表示するには、ライブ カメラ ビューをクリックし、三角形の再生ボタン アイコンを選択します。手動で、または[静止画像] メニューの [キャプチャ モード] を [モーション トリガー] に設定して、カメラでキャプチャした静止画像を表示することもできます。
7. メール通知を送信する
モーション通知メニューを使用すると、モーションが検出されるたびに自分に電子メールを送信できます。オンにした後、通知を送信するメールアドレスを入力します。アカウントのその他の設定を入力する必要があります。
Gmail を使用している場合は、SMTP サーバーを smtp.gmail.com に、SMTP ポートを 587 に、SMTP アカウントをメール アドレスの最初の部分 (つまり、@gmail.com なし) に設定します。SMTP パスワードは、Gmail アカウントへのログインに使用するパスワードです。差出人アドレスは、空白のままにするか、カスタム アドレスに設定できます。TLSをオンに設定します。
別のブラウザー タブで、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 Web インターフェイスの Motion Notifications メニューに戻り、Run A Commandオプションをオンにし、コマンド フィールドにpython /data/pushover.pyと入力して、Python スクリプトを実行するように指示します。
[適用] ボタンをクリックします。セットアップ内のカメラごとに異なる Run A Command スクリプトを適用できることに注意してください。そのため、複数の Python スクリプトを作成し、それぞれがどのカメラでモーションが検出されたかを示すことができます。
監視カメラシステムを自作する
おめでとうございます。これで、カメラで検出された侵入者の存在を警告する電子メールとプッシュ通知を備えた、独自のカスタマイズ可能な Raspberry Pi 監視カメラ システムがセットアップされました。
コメントを残す