ガジェット

Raspberry Pi(ラズパイ)とWebカメラを使って動体検知してみた(motion)

motion

今回はラズパイとwebカメラを使って動体検知をしてみたのでご紹介します^^

将来的には監視カメラなどに応用出来ると思いますが、まずは基礎・導入編ということでやってみました!

ラズパイは興味あるけどまだ持ってないという方がいらっしゃいましたら、こちらの記事をご参考にしてくださいませ^^

ラズパイセットアップ
Raspberry Pi(ラズパイ)初心者のためのかんたんセットアップ手順(ABOX Raspberry Pi 3 Model b+)Raspberry Pi(ラズベリーパイ)って興味あるけどセットアップって難しそう・・・。 ラズパイって周辺機器と相性があるんだっ...

今回用意したもの

  • Raspberry Pi 3B+
  • ロジクールC270
  • ダンボー

今回使ったwebカメラはロジクールC270です。2000円くらいで購入できました。

created by Rinker
¥2,310
(2019/10/17 14:20:57時点 楽天市場調べ-詳細)

ついでにダンボーです。ダンボーは必須ではありません^^;

created by Rinker
¥1,795
(2019/10/17 21:19:50時点 楽天市場調べ-詳細)




ざっくりとした流れ

今回はmotionというカメラの画像を保存したり配信したりできるアプリを使います。

ざっくりとした流れはこんな感じです。

  1. webカメラをラズパイに接続
  2. motionのインストール
  3. motionの設定
  4. motion起動!

手順

それでは、さっそくやってみましょう!

webカメラをラズパイに接続

webカメラ(今回はロジクールのC270を使いました)をラズパイにUSB接続します。
そして下記コマンドで確認です。

ラズパイのコマンドプロンプトに、

lsusb

と打つとこんな感じで出ます。

Bus 001 Device 005: ID 046d:c52f Logitech, Inc. Unifying Receiver
Bus 001 Device 004: ID 046d:0825 Logitech, Inc. Webcam C270
Bus 001 Device 007: ID 413c:2111 Dell Computer Corp. 
Bus 001 Device 006: ID 0424:7800 Standard Microsystems Corp. 
Bus 001 Device 003: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 002: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

2行目にC270が認識してますね^^
まずはこれでwebカメラのラズパイ接続完了です。

motionのインストール

次に、motionをインストールします。

sudo apt update
sudo apt upgrade
sudo apt install motion

upgradeの時に[Y/n]で聞かれますがYを入力して進みます。

わたしがインストールしたとき(2019.3.16時点)ではmotionのバージョンは4.0でした。特に問題なくインストール出来ると思います^^

motionの設定

ここが一番重要なところです。motionって色々な設定が出来るんです。
motion.confという設定ファイルをいじりますが、設定ファイルを変更する前に別ファイル名でオリジナルをコピーしておいてください。

motionの設定ファイル(motion.conf)は/etc/motionというフォルダ内にあります。わたしの場合、フォルダ内のmotion.confを開いても直接編集することが出来ませんでした。管理者権限でないとファイルを変更できないようです。

というわけで、

cd /etc/motion
sudo gedit motion.conf

これで、管理者権限で設定ファイルが開けます。

設定を変更したのは以下の4つです。Ctrl+Fでそれぞれ該当箇所を検索してoffをonにしたり、onをoffにしたりします。

  1. locate_motion_mode on
  2. ffmpeg_output_movies off
  3. output_pictures off
  4. stream_localhost off

動体マーカをつける!
locate_motion_mode on

動体検知時に動画を出力しない!
ffmpeg_output_movies off

動体検知時に画像を出力しない!
output_pictures off

ローカルホスト以外からのアクセスを許可する!
stream_localhost off

これでまずは設定完了です。

お好みで画像の幅や高さをwidthやheightで変更できますよ♪

motion起動!

設定も終えたところで、さっそくmotionを起動します!

sudo motion

起動すると、こんな感じで出ます

[0:motion] [NTC] [ALL] conf_load: Processing thread 0 - config file /etc/motion/motion.conf
[0:motion] [NTC] [ALL] motion_startup: Motion 4.0 Started
[0:motion] [NTC] [ALL] motion_startup: Logging to file (/var/log/motion/motion.log)

ロジクールC270(webカメラ)が緑色に点滅します。コマンドが通っていることがこれで分かりますね^^

次に、ラズパイのIPアドレスを確認します。コマンドプロンプトでifconfigと打てば確認出来ます♪
確認したIPの8081ポートにアクセスすると、ストリームが見れます。

たとえば192.168.11.xx:8081という感じです。xxにさきほど調べたアドレスを入力してくださいね。

では!Chromeを開いて上のアドレスを打ってみます。

すると・・・

ジャン!

動体検知しない

やぁダンボーだよ٩(ˊᗜˋ*)و

ちょっと動かしてみます。

動体検知する

ちゃんとダンボーを検知したよ٩(ˊᗜˋ*)و

ヨシタカ
ヨシタカ
というわけで、動体検知できました^^

画像が更新されるのに3~4秒ほどかかりますが、まぁラズパイとwebカメラでは上々といった感じではないでしょうか。もっと設定を細かくいじるとフレームレートとか改善するかもしれませんね。

まとめ

今回はラズパイとwebカメラを使って動体検知をしてみました。
これを応用すると監視カメラとしても使えるみたいですよ。

ぜひぜひ、ラズパイに興味のある方、ラズパイをお持ちの方はwebカメラを使って試してみてください。結構面白いですよ^^

今回使ったwebカメラはこちらです。120万画素のwebカメラですが、動作としては十分でした。そりゃ、最近のスマホの方が画質がいいですけどね。。
2000円程度で買えるのでラズパイ純正品(ラズパイカメラ)よりはお得かと思います♪

created by Rinker
¥2,310
(2019/10/17 14:20:57時点 楽天市場調べ-詳細)

ついでにダンボーも再掲。ダンボーかわいいよ、ダンボー♪
目が光るんですが、遊びすぎて光らなくなってしまいましたorz

余談ですが、最近ダンボーは色々なバージョン出てるんです。この前ガチャガチャでJRの貨物列車とコラボした『コンテナダンボー』がいて思わず笑っちゃいました。たしかに、アリだわ!って。

ぜひぜひ、ダンボー好きな方はチェックしてみてくださいませ♪

created by Rinker
¥1,795
(2019/10/17 21:19:50時点 楽天市場調べ-詳細)

ヨシタカ
ヨシタカ
ラズパイの取り組みをまとめています。よろしければ御覧ください♪
ラズパイTOP
ラズパイ奮闘記Raspberry Pi(ラズベリーパイ、通称ラズパイ)で色々と遊んでます^^ Raspberry Pi(ラズパイ)セットアップ R...
こちらの記事もおすすめ!