Raspberry Piによる赤外線ネットワークカメラ

Raspberry Piのカメラモジュールを使う場合、従来は遅いユーザモードのデバイスドライバしかなかった。今回カメラのデバイスドライバとして、カーネルモードのデバイスドライバを試した結果、VGAサイズで30fpsのストリーミングをすることができた。

ハードウェア

Raspberry Pi 本体Model B Rev.2
赤外線カメラモジュールPi NoIR
WiFiアンテナI-O DATA WN-G300UA
エンクロージャー2L ペットボトル

ソフトウェア

※2015年に改修。詳しくはこちら>

OS2014-01-07-wheezy-raspbian
デバイスドライバbcm2835-v4l2
ストリーム配信アプリmjpg_streamer

パッケージおよびファームウェアの更新

  1. $ sudo apt-get update
  2. $ sudo apt-get upgrade

デバイスドライバのビルドに必要なパッケージをインストールする

  1. $ sudo apt-get install autoconf gettext libtool libjpeg62-dev

デバイスドライバのソースコードをダウンロードする

  1. $ git clone git://git.linuxtv.org/v4l-utils.git

デバイスドライバをビルドする

  1. $ cd v4l-utils
  2. $ autoreconf -vfi
  3. $ ./configure
  4. $ make
  5. $ sudo make install
デバイスドライバをロードする
  1. sudo modprobe bcm2835-v4l2

動作確認を兼ねて、カメラがサポートするフォーマットを列挙する。

  1. $ v4l2-ctl --list-formats
  2. ioctl: VIDIOC_ENUM_FMT
  3. Index : 0
  4. Type : Video Capture
  5. Pixel Format: 'YU12'
  6. Name : 4:2:0, packed YUV
  7. Index : 1
  8. Type : Video Capture
  9. Pixel Format: 'YUYV'
  10. Name : 4:2:2, packed, YUYV
  11. Index : 2
  12. Type : Video Capture
  13. Pixel Format: 'BGR3'
  14. Name : RGB24 (BE)
  15. Index : 3
  16. Type : Video Capture
  17. Pixel Format: 'JPEG' (compressed)
  18. Name : JPEG
  19. Index : 4
  20. Type : Video Capture
  21. Pixel Format: 'H264' (compressed)
  22. Name : H264
  23. Index : 5
  24. Type : Video Capture
  25. Pixel Format: 'MJPG' (compressed)
  26. Name : MJPEG

MJPEG-streamerのビルドに必要なパッケージをインストールする

  1. $ sudo apt-get install subversion
  2. $ sudo apt-get install libjpeg-dev imagemagick

MJPEG-streamerのソースコードをダウンロードする

  1. $ svn checkout svn://svn.code.sf.net/p/mjpg-streamer/code/ mjpg-streamer-code

MJPEG-streamerをビルドする

  1. $ cd mjpg-streamer-code/mjpg-streamer
  2. $ make
  3. $ sudo make install

MJPEG-streamerを起動する

  1. $ /usr/local/bin/mjpg_streamer -i "/usr/local/lib/input_uvc.so -d /dev/video0 -r 640x480 -f 30 -no_dynctrl" -o "/usr/local/lib/output_http.so -w /usr/local/www -p 8099"

VLCメディアプレイヤーで確認する

  1. http://192.168.1.99:8099/?action=stream

Msakoで動体検知する

▼ダウンロードして動画を見る

2014年04月21日