小さなマイクロコンピュータ「Raspberry Pi」(以下、ラズパイ)を使って、いろんなものを作ってみる本連載。前回は一定間隔で撮影した画像を自分のLINEアカウント宛に送る方法を解説しましたが、今回はラズパイ向けアプリ「motion」を使って、カメラで動体検知した際に撮影した画像を自動で送信する方法を紹介します。
motionはカメラで何らかの動きを検知したときに動画や静止画で記録するというアプリです。motionをラズパイにインストールする方法は第8回を参照してください。今回はその後の設定を解説します。
カメラはラズパイ専用の「Raspberry PiカメラモジュールV2」(以下、ラズパイカメラ)を使いますが、USB接続のWebカメラでも代用できます。Raspberry PiカメラモジュールV2を使う場合は、コンソールから「raspi-config」を起動して、カメラ設定をオンにしておきましょう。設定方法は第7回で、カメラモジュールをCUI環境で設定する方法については第8回で解説しています。
motionの動作を決める設定ファイルは「/etc/motion/」にある「motion.conf」です。必要な部分を設定していきましょう。コンソール画面から以下のように入力して、motion.confの内容を表示させます。
$ sudo nano /etc/motion/motion.conf
設定するポイントは以下の部分です。
daemon on rotate 0 width 640 height 480 framerate 2 threshold 6000 output_pictures on ffmpeg_output_movies on ffmpeg_video_codec mkv locate_motion_mode on locate_motion_style redbox text_double on target_dir /home/pi/motion stream_localhost off
nanoで開いたmotion.confの該当箇所は「Ctrl+W」で検索できます。続いてそれぞれの項目について説明します。
motionをデーモンとして起動するための設定です。これをオンにしておくと、motionを起動させたときにバックグラウンドに回るので、他の作業ができるようになります。
これは画像が正立していない場合に使います。ラズパイカメラのケーブルが接続されている部分を下にすると、特に設定も必要なく正立します。設置場所などの関係でケーブル部分が横や上を向いている場合は、ここに「90」「180」「270」と角度を入力して向きを変更しましょう。
画像のサイズを設定します。大きなサイズだとファイルサイズが大きくなってしまいます。LINEで送信できる写真の最大サイズは1024×1024ピクセルなので注意しましょう。
記録する画像のフレームレート(コマ/秒)です。最小値は2、最大値は100ですが、この値を大きくすると、1秒間に何十枚も画像を記録するので、LINE宛へ頻繁に画像が飛んでくることになり、スパム化します。まずは最小値の2としておきましょう。
動画を検知するしきい値(最大の動き)を指定します。デフォルトは1500だと頻繁に検知することになり、これもメールがスパム化します。筆者の環境では6000程度で安定しましたが、これは検知する対象によって変わりますので、値を変えてテストしてみてください。
静止画を記録します。デフォルトはオフになっています。
動画を記録します。必要がなければオフとしても構いませんが、動画でも記録しておくと、静止画で検知された対象がどのように動いていたのか後で見直せます。
動画の保存形式を指定します。デフォルトでmkvが選ばれていますが、mpeg4、msmpeg4、 swf、flv、ffv1、mov、mp4、hevcを指定できます。mkvはWindows 10で再生できるので特に変更する必要はありません。
画像内のどこで動体を検知したと判定したのかを枠で示してくれます。
動いた場所を赤い枠で示してくれます。白い枠にしたい場合は「box」で指定します。その他、「+」で示す「cross」、赤い十字で示す「redcross」があります。
動画の右下に表示させる検知日時のフォントサイズを大きくします。小さいままでいい時はオフにしてください。
動画と静止画を保存するディレクトリです。デフォルトでは「target_dir /var/lib/motion」となっていますが、これだと参照しにくいのでホームディレクトリに変更しておいた方がよいでしょう。なお、あらかじめ「mkdir /home/pi/motion」などのようにディレクトリを作成してください。
これをオフにしておくと、いま撮影している画像をブラウザから見ることができます。「http://(ラズパイのIPアドレス):8081」と入力すると表示されます。
Copyright © ITmedia, Inc. All Rights Reserved.
Special
PR