Raspberry Pi 3 + PiNoir V2 赤外線カメラ + Motionで簡易セキュリティカメラ

シェアする

4 coreになったRaspberry Pi 3がリリースされたので、そろそろ実用に耐えうるかなと思い、赤外線カメラモジュールを使って、セキュリティカメラを構築してみることに。そして、いつも通り、初期製品不良を引いてしまい、赤外線カメラが動作しない!とハマりまくったのです。ハードウェアは以下を購入しました。

購入したもの

Raspberry Pi 3 B

ヒートシンクとケース付なので楽なんですよね。

Raspberry Pi NoIR 赤外線 カメラ モジュール V2

OSとソフトウェア

OSとソフトウェアは以下を利用しました。

OS

  • Raspbian Jessie[2016-05-27-raspbian-jessie.img]

ソフトウェア

OSインストール

イメージをSDカードにDD for Windowsを使ってDD。そしてRaspberry Pi 3 Bに挿入して起動するだけ。

初期設定

“sudo raspi-config”を実施して、初期設定をごそっと設定。

  • カメラモジュールを有効化
  • ロケールをja_JP.UTF-8
  • キーボードをGeneric 105、Japaneseに設定
  • タイムゾーンをAsia/Tokyo
  • グラフィックのメモリ割り当てを256MB

別途、日本語表示のため、vi環境改善で以下。

sudo apt-get install -y ttf-kochi-gothic xfonts-intl-japanese xfonts-intl-japanese-big xfonts-kaname
sudo apt-get install -y vim

次に進む前に再起動。

必要なライブラリインストール

どうもググっていると、一部カメラモジュールだと、Raspberry Pi純正PiNoirに必要なライブラリ群は今のところapt-getのupdateやupgradeではインストールされない模様なので、以下を実施。

sudo apt-get install git build-essential cmake
git clone https://github.com/raspberrypi/userland.git
cd userland
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
sudo make install

これで、”/opt/vc”にインストールされるはず。

それからライブラリ群のインストール。

sudo apt-get install -y libjpeg-dev libjpeg62 libjpeg62-dev libavformat53 libavformat-dev libavcodec53 libavcodec-dev libavutil51 libavutil-dev libc6-dev zlib1g-dev libmysqlclient18 libmysqlclient-dev libpq5 libpq-dev

アップデート/アップグレード

ライブラリ群を先にインストールしないとRaspberry 3 B + PiNoirカメラではダメっぽいことばかりだったので、ここで満を持して。

sudo rpi-update
sudo apt-get update
sudo apt-get upgrade

raspistillでテスト

raspistill -o test.jpgとかでテスト。エラーが出ず、test.jpgが出力されていればOK。エラーが出たら多分ライブラリが足りないというエラーかと。適宜インストール。

Motionインストール

Raspberry 3 B + PiNoirカメラでは、apt-get経由のMotionだとlibavcodec53.soがない、というエラーが出る。エラー対応済みを配布してくれているユーザーさんのDropBoxから拝借し、コンパイル。

wget https://www.dropbox.com/s/6ruqgv1h65zufr6/motion-mmal-lowflyerUK-20151114.tar.gz
tar -zxvf motion-mmal-lowflyerUK-20151114.tar.gz

ファイル名変更、そしてそれぞれ、起動スクリプト化するために移動。

##motionの保存先フォルダ作成
sudo mkdir /home/pi/motion-files

##motionのconfファイル保存フォルダ作成
sudo mkdir /etc/motion/

##confファイルをお好きな名前にして、/etc/confに移動
sudo mv motion-mmalcam-both.conf motion-mmalcam.conf
sudo mv motion-mmalcam.conf /etc/motion-mmalcam.conf

##binファイルを/usr/local/binに移動
sudo motion /usr/local/bin

##confファイル編集
sudo vim /etc/motion/motion.conf

##以下が変更した項目
tar_dir=/home/pi/motion-files
width 640
height 480
framerate 30
output_normal off
webcam_localhost off
control_localhost off

##超簡易起動スクリプト作成
vi /etc/init.d/motion

#!/bin/bash
start() {
echo -n “Starting Motion: ”
/usr/local/bin/motion -c /etc/motion/motion-mmalcam.conf &
return 0
}
stop() {
killproc motion
return 0
}
case “$1” in
start)
start
;;
stop)
stop
;;
esac

注意点・感想

  • カメラの初期不良がなかったらこんなにかからなかったなぁ…
  • 自作で1.5万円。赤外線セキュリティカメラが出来るのは良いかも
  • 他サービスとの連携はまだまだ可能性たっぷり
  • 内蔵無線LANアダプタは5Ghzに非対応