ITmedia NEWS > STUDIO >

動体検知で撮影した画像をLINEに自動送信する名刺サイズの超小型PC「ラズパイ」で遊ぶ(第11回)(1/3 ページ)

» 2019年12月27日 07時00分 公開
[岩泉茂ITmedia]

 小さなマイクロコンピュータ「Raspberry Pi」(以下、ラズパイ)を使って、いろんなものを作ってみる本連載。前回は一定間隔で撮影した画像を自分のLINEアカウント宛に送る方法を解説しましたが、今回はラズパイ向けアプリ「motion」を使って、カメラで動体検知した際に撮影した画像を自動で送信する方法を紹介します。

 motionはカメラで何らかの動きを検知したときに動画や静止画で記録するというアプリです。motionをラズパイにインストールする方法は第8回を参照してください。今回はその後の設定を解説します。

 カメラはラズパイ専用の「Raspberry PiカメラモジュールV2」(以下、ラズパイカメラ)を使いますが、USB接続のWebカメラでも代用できます。Raspberry PiカメラモジュールV2を使う場合は、コンソールから「raspi-config」を起動して、カメラ設定をオンにしておきましょう。設定方法は第7回で、カメラモジュールをCUI環境で設定する方法については第8回で解説しています。

motion.confの設定

 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」で検索できます。続いてそれぞれの項目について説明します。

  • deamon on

 motionをデーモンとして起動するための設定です。これをオンにしておくと、motionを起動させたときにバックグラウンドに回るので、他の作業ができるようになります。

  • rotate 0

 これは画像が正立していない場合に使います。ラズパイカメラのケーブルが接続されている部分を下にすると、特に設定も必要なく正立します。設置場所などの関係でケーブル部分が横や上を向いている場合は、ここに「90」「180」「270」と角度を入力して向きを変更しましょう。

  • width 640
  • height 480

 画像のサイズを設定します。大きなサイズだとファイルサイズが大きくなってしまいます。LINEで送信できる写真の最大サイズは1024×1024ピクセルなので注意しましょう。

  • framerate 2

 記録する画像のフレームレート(コマ/秒)です。最小値は2、最大値は100ですが、この値を大きくすると、1秒間に何十枚も画像を記録するので、LINE宛へ頻繁に画像が飛んでくることになり、スパム化します。まずは最小値の2としておきましょう。

  • threshold 6000

 動画を検知するしきい値(最大の動き)を指定します。デフォルトは1500だと頻繁に検知することになり、これもメールがスパム化します。筆者の環境では6000程度で安定しましたが、これは検知する対象によって変わりますので、値を変えてテストしてみてください。

  • output_pictures on

 静止画を記録します。デフォルトはオフになっています。

  • ffmpeg_output_movies on

 動画を記録します。必要がなければオフとしても構いませんが、動画でも記録しておくと、静止画で検知された対象がどのように動いていたのか後で見直せます。

  • ffmpeg_video_codec mkv

 動画の保存形式を指定します。デフォルトでmkvが選ばれていますが、mpeg4、msmpeg4、 swf、flv、ffv1、mov、mp4、hevcを指定できます。mkvはWindows 10で再生できるので特に変更する必要はありません。

  • locate_motion_mode on

 画像内のどこで動体を検知したと判定したのかを枠で示してくれます。

  • locate_motion_style redbox

 動いた場所を赤い枠で示してくれます。白い枠にしたい場合は「box」で指定します。その他、「+」で示す「cross」、赤い十字で示す「redcross」があります。

photo 動作を検知したか所が赤い枠で表示される
  • text_double on

 動画の右下に表示させる検知日時のフォントサイズを大きくします。小さいままでいい時はオフにしてください。

  • target_dir /home/pi/motion

 動画と静止画を保存するディレクトリです。デフォルトでは「target_dir /var/lib/motion」となっていますが、これだと参照しにくいのでホームディレクトリに変更しておいた方がよいでしょう。なお、あらかじめ「mkdir /home/pi/motion」などのようにディレクトリを作成してください。

  • stream_localhost off

 これをオフにしておくと、いま撮影している画像をブラウザから見ることができます。「http://(ラズパイのIPアドレス):8081」と入力すると表示されます。

photo ブラウザ上でこのようにリアルタイムの画像を見ることができる
       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.