ラズベリーパイ(Raspberry Pi)を監視カメラにする方法

  • URLをコピーしました!

今回はラズベリーパイ(Raspberry Pi)とWebカメラを組み合わせて、監視カメラとして運用する方法について解説します。
プログラミング作業などは不要で簡単に構築できますので、ぜひ挑戦してみてください。

目次

ラズベリーパイ(Raspberry Pi)とは

ラズベリーパイ(Raspberry Pi)はイギリスのラズベリーパイ財団が教育用に開発したボードコンピュータです。
詳細なスペック等は以下の記事で解説していますので、あわせてご覧ください。

使用するカメラ ロジクール C270n

今回はUSB接続できるWebカメラを使用します。

当ブログでも以前から使用しているロジクールのC270nを使用します。
ラズベリーパイではC270nはUSBコネクタに接続するだけで、ドライバのインストールなどなくすぐに認識してくれますのでおすすめです。

以下のようにラズベリーパイにWebカメラを接続したものを、モニタしたい場所に設置しておけば別のPCやスマホから映像を確認することができます。
留守中の自宅の監視やペットの様子をモニタするのに役立ちます。

Motionとは

今回ラズベリーパイで監視カメラシステムを構築するにあたり、Motionというアプリケーションを使用します。

Motionはカメラ映像に対して動体検知が可能で、それをトリガーにして動画撮影をすることができます。Motionを使用することで、動く物体が写り込んだ時だけ録画をしたり、ブラウザからネットワーク経由でカメラの映像を確認したりすることができます。

Motionをセットアップする

ここからは実際にラズベリーパイを監視カメラとして使用する方法について解説していきます。

インストール

motionをインストールするために、以下のコマンドを実行してください。

sudo apt install motion

以上でインストールは完了です。

初期設定

続いてmotionの初期設定をしていきます。
以下のコマンドを実行して設定ファイルをエディタで開きます。(今回、例ではnanoエディタを使用します)
設定値はかなりたくさんありますが、主要な設定項目のみを解説します。

sudo nano /etc/motion/motion.conf

daemon

# Start in daemon (background) mode and release terminal.
daemon on

バックグラウンドでサービスとして実行したい場合はONにしてください。

framerate

# Maximum number of frames to be captured per second.
framerate 10

カメラの映像をキャプチャする際のフレームレートを指定します。設定範囲は2~100となります。
使用するカメラの性能と合わせて設定すると良いです。今回はC270nのスペックを考慮し、10fpsに設定しました。

threshold

# Threshold for number of changed pixels that triggers motion.
threshold 1500

動体を検知する際の閾値を設定します。フレーム間で設定値のpixelが変化した場合に動体検知するします。デフォルト値は1500となります。

target_dir

# Target directory for pictures, snapshots and movies
target_dir /var/lib/motion

画像と動画を保存するディレクトリを指定します。指定しない場合はカレントディレクトリに保存されます。
SDカードは頻繁にデータの読み書きをするのは適していないため、外部にUSBメモリやSSDを接続して保存することをお勧めします。

webcontrol_localhost

# Restrict webcontrol connections to the localhost.
webcontrol_localhost off

Motion設定画面へのアクセスをlocalhostのみに制限する場合はONにします。ラズベリーパイ以外のPCから確認、変更したいため、今回はOFFに設定しました。

stream_localhost

# Restrict stream connections to the localhost.
stream_localhost off

ライブストリーム(カメラの映像)へのアクセスをローカルホストからのみに制限する場合はON設定します。ラズベリーパイ以外のPCからカメラの映像を見たいため、今回はOFFに設定しました。

動作確認

以下のコマンドを実行してMotionを起動します。

sudo service motion start

motionはWebサーバーとして動作しますので、起動後は他のPCのブラウザからカメラの映像を確認することができるようになります。
ブラウザを起動して、アドレスバーにラズベリーパイのアドレスの8081ポートを入力してアクセスしてみてください。
(ポートは先ほど設定したmotion.conf内で定義されています)

(Raspberry PiのIPアドレス):8081

以下のようにカメラ映像を見ることができました。
アクセスできない場合は一度ラズベリーパイを再起動してください。

まとめ

今回はラズベリーパイを監視カメラとして動作させることができるMotionについて解説しました。設定項目はたくさんありますので、必要に応じて他の項目も試してみてください。

自分でPython等で監視カメラ機能を実装したい方は、Raspberry PiにOpenCVで動体検知機能を実装する方法を以下の記事で解説していますので、あわせてご覧ください。

また、ラズベリーパイの画像認識についてさらに深く学びたい方にはUdemyの以下の講座がおすすめです。

【初心者向けAI・IoT講座】 ラズベリーパイ(Raspberry Pi)とOpenCVで作る簡単画像認識システム icon



それでは、また次の記事でお会いしましょう。

参考

よかったらシェアしてね!
  • URLをコピーしました!
目次