はじめに
飼っているお猫さまの安否確認をしたく、RaspberryPiでカメラ接続、撮影について試行錯誤したので、備忘としてまとめます
カメラ
使ったカメラは以下の3台です
Raspberry Pi PiNoir Camera Module V2
- RSコンポーネンツで購入
- webカメラに比べて価格が高い
- RaspberryPiのコマンドアプリケーション(raspistill、raspivid)が使える
- カメラのコードに対応していないRaspberryPiのケースだと、カメラの固定、コードの収納などに困る
LOGICOOL ウェブカム HD画質 120万画素 C270
- amazonで購入
- お手軽な価格
- 画角が少し狭く感じる
iBUFFALO マイク内蔵200万画素WEBカメラ 120°広角ガラスレンズ搭載モデル BSW20KM11BK
- amazonで購入
- カメラモジュールよりも価格が安い
- 画角はさすが
- lsusbでの認識がわかりずらい(メーカ、型番が出てこない KYE Systems Corp. (Mouse Systems) と表示される)
アプリケーション
以下のアプリケーションを試しました
カメラモジュール用のRaspberryPiのコマンドアプリケーション(raspistill、raspivid)
導入は簡単だけど、ストリーミング配信などできるか調べきれていない
また、前述のようにカメラモジュールの固定が煩わしく、物理的に使い勝手が悪く感じてしまった
- 参考URL
- 導入
- Raspberry Pi用のコンフィグレーション設定(以下のコマンド)でカメラモジュールを有効にする
sudo raspi-config
- 撮影(静止画)
- oオプションで出力ファイル名を指定
raspistill -o image.jpg
- 撮影(動画)
- oオプションで出力ファイル名を指定
- tオプションで撮影秒数を指定
raspivid -o video.h264 -t 10000
motion
情報が多く、導入もしやすかった
ただ、chromeや、Safariからも試したが、ストリーミングは表示することができなかった
- 参考URL
- 導入
- apt-getでインストール
sudo apt-get install -y motion
- 設定ファイル
- インストール後、/etc/motion/motion.confに設定ファイルができる
- 画像の大きさ、保存先などを設定できる
- 撮影
- カメラが何か動作を捉えると静止画を撮影することができる
sudo motion -c /etc/motion/motion.conf
MJPG-streamer
導入にいくつかアプリケーションが必要だが、こちらも情報が多い
ストリーミングも表示することができたが、自宅のネット環境でグローバルIPが使えないため、外出時の安否確認に使えない、、、
-
参考URL
-
導入
- apt-getで必要なアプリをインストール後、svnでモジュールをダウンロードして、makeする
- makeすると/usr/local/bin/mjpg-streamerにコマンドアプリケーションができる
sudo apt-get install subversion libjpeg-dev imagemagick
mv /usr/local/bin/
svn co https://svn.code.sf.net/p/mjpg-streamer/code mjpg-streamer
cd mjpg-streamer/mjpg-streamer
make
- 撮影
- /usr/local/bin/mjpg-streamerで以下のコマンドを実行
- input_uvc.so
- rオプションで画像サイズを指定
- fオプションでフレームレートを指定
- dオプションで使用するカメラを指定
- yオプションはYUVGフォーマットに指定する
- output_http.so
- wオプションでストリーミングで使うページの出力先を指定
- pオプションでポートを指定
- cオプションでユーザ:パスワードでストリーミングページのベーシック認証を設定
mjpg_streamer -i "./input_uvc.so -f 2 -r 320x240 -d /dev/video0 -y" -o "./output_http.so -w ./www -p 8080 -c user:pass"
fswebcam
静止画の撮影のみだが、使いやすい
-
参考URL
-
導入
- apt-getでインストール
sudo apt-get install fswebcam
- 撮影
- rオプションで画像サイズを指定
- Sオプションでスキップするフレース数を指定する
- Fオプションでフレーム数を指定する
- S、Fオプションともに露光に影響すると思う
- 最後に出力先を指定する
sudo fswebcam -r 640x480 -S 2 -F 10 /home/pi/Pictures/image.jpg
まとめ
自宅のネット環境でグローバルIPが使えないため、外出先から見れることを考慮すると、
安否確認システムを作るには、fswebcamで静止画を撮影して、dropboxなどと連携するのがよいのではと考えています