「ラズパイで動体検知ってどうやるの?」
今回はラズパイとwebカメラを使って動体検知をしてみたのでご紹介します。
将来的には監視カメラなどに応用出来ると思いますが、まずは基礎・導入編ということでやってみました!
ラズパイは興味あるけどまだ持ってないという方がいらっしゃいましたら、こちらの記事をご参考にしてくださいませ^^
今回用意したもの
今回用意したものがこちら。
- Raspberry Pi 3B+
- ロジクールC270
- ダンボー
今回使ったwebカメラはロジクールC270です。
2,000円くらいで購入できました。
ついでにダンボーです。ダンボーは必須ではありません^^;
ざっくりとした流れ
今回はmotionというカメラの画像を保存したり配信したりできるアプリを使います。
ざっくりとした流れはこんな感じです。
- webカメラをラズパイに接続
- motionのインストール
- motionの設定
- 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にしたりします。
- locate_motion_mode on
- ffmpeg_output_movies off
- output_pictures off
- 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カメラを使って試してみてください。
結構面白いですよ^^
今回使ったwebカメラはこちらです。120万画素のwebカメラですが、動作としては十分でした。
そりゃ、最近のスマホの方が画質がいいですけどね。。
2,000円程度で買えるのでラズパイ純正品(ラズパイカメラ)よりはお得かと思います♪
ついでにダンボーも再掲。
ダンボーかわいいよ、ダンボー♪
目が光るんですが、遊びすぎて光らなくなってしまいましたorz
余談ですが、最近ダンボーは色々なバージョン出てるんです。
この前ガチャガチャでJRの貨物列車とコラボした『コンテナダンボー』がいて思わず笑っちゃいました。
たしかに、アリだわ!って。
ぜひぜひ、ダンボー好きな方はチェックしてみてくださいませ♪
その他、ラズパイで音声合成やってみました。よろしければ御覧ください♪
コメント