Raspberry Piで監視カメラ1 準備編
Raspberry Pi Camera Module V2をゲットした。
昨今安価で高機能な中華製のIPカメラがあるが不安定ですぐ壊れる(1年ぐらいで壊れた)し何よりセキュリティ的に怪しいので気軽には使えない。そこでRaspberry Pi Zero Wに入れて監視カメラを作ってみました。
まずは接続して試し撮りしていきます。
電源が切れた状態でカメラを接続します。Raspberry Pi Zero Wに付いてきた先細のケーブルを付け電源を入れます。
標準ではカメラ機能がOFFなってるのでラズパイ設定ツールでONにしていきます。
$ sudo raspi-config
5 Interfacing Options → P1 Cameraから有効にするだけです。
以前10年ぐらい前のUSBカメラ(NET COWBOY DC-NCR13U)を使ってみた事があったのですがその時はfswebcamとかいうキャプチャソフトをインストールして試し撮りしたのですが、今回はRaspberry Pi用のカメラなのでraspistillやraspividといった専用ソフトが最初から用意されていた。
まずは画像
$ raspistill -o image.jpg
$ raspistill -o image.jpg -w 1024 -h 768
次に動画を撮影
$ raspivid -o video.h264
動画は普通の再生ソフトでは見れない形式で録画されるのでMP4Boxをつかってmp4に変換して確認しました。
$ sudo apt-get install gpac
$ MP4Box -fps 30 -add video.h264 video.mp4
確認が終わったのでここからいよいよ監視カメラ化します。
念のためソフトをアップデートしておきます
$ sudo apt-get update
$ sudo apt-get upgrade
監視カメラソフトmotionのインストール
$ sudo apt-get install motion
$ sudo vi /etc/default/motion
start_motion_daemon=yes
データの保存フォルダを用意します。
$ sudo mkdir /var/motion
$ sudo chmod 764 /var/motion
$ sudo chown pi:pi /var/motion
次に設定やスクリプトを入れるフォルダを用意します。
$ sudo mkdir /var/motion_setting
$ sudo chown pi:pi /var/motion_setting
標準ではmotionというユーザーで書き込みするようになっていて色々と面倒なので外してルート権限で書き込むようにしておく
$ sudo vi /etc/rc1.d/K01motion
if start-stop-daemon --start --oknodo --exec $DAEMON -b --chuid motion ; then
→
if start-stop-daemon --start --oknodo --exec $DAEMON -b ; then
motionの設定を変更する
$ sudo vi /etc/motion/motion.conf
daemon on
target_dir /var/motion
webcam_localhost off
見慣れない単語だけざっくり解説すると
daemonは自動起動するか
target_dirは録画データの保存場所
webcam_localhostはストリーミングするか
とりあえず起動してみる
$ sudo service motion start
何も撮影されないので調べてみた。Raspberry Piと純正カメラモジュールで監視カメラを作る、おそらく正しい方法 jessie版 (motion + v4l2ドライバ)によると純正カメラをmotionで使うにはドライバを入れる必要があるらしいので入れておく
$ sudo service motion stop
ドライバーを適用
$ sudo modprobe bcm2835-v4l2
$ sudo service motion start
問題無さそうなら下記を追記して再起動後もドライバーを有効にする
$ sudo vi /etc/modules
bcm2835-v4l2
$ sudo reboot
リロードするとドライバーも適用されていてmotionも自動機動していて、ばっちり録画されていて画質も以前のUSBカメラだと384*288が限界だったので比べるとかなり鮮明になった。(ただ、純正カメラを付けるとVRAMが128Mに強制的にアップされるのでメモリがその分占有されます)
ただ、このままだと犯人がカメラを壊されるとデータが消えるので証拠が残るようにデータをどこかに保存させたいので色々と試してみた。
つづく・・・
Tags: Raspberry Pi, 監視カメラ