2017年7月30日日曜日

Raspberry Pi Zeroで防犯カメラを作ってみた。ソフト編

先日完成したRaspberry Pi Zero監視カメラをとりあえず動かしてみようとおもいます。

とりあえずOSはインストール済みで、sshファイルによるssh有効化も済んでるのでLANにつないで電源を入れてルーターからIPアドレスを確認すればSSHで接続できる。

カメラの有効化
sudo raspi-config
で設定画面を出して
Interfacing Optionsを開いて
P1 Cameraを選択して
有効にしますか?と聞かれるのでYesを選択
次にOKを押すと元の画面に戻るので、Tabを押してカーソルを移動して
Finishを押せば完了。再起動するか聞かれるので再起動すればカメラが使えるようになってるはず。

このままだとCSIインターフェースのカメラが扱えるアプリケーションじゃないとカメラを使えないのは不便なのでV4L2モジュールをロードしてUVCのカメラのように扱えるようにする。
sudo modprobe bcm2835-v4l2
とりあえずこれでV4L2モジュールがロードされて/dev/video0として使えるようになる。

このモジュールは起動時に自動的にロードされないので、起動のたびにmodprobeやるのが面倒な場合は/etc/modulesにbcm2835-v4l2を追記しておくと良いかも。

sudo nano /etc/modules
管理者権限じゃないと編集できないのでsudoで編集
bcm2835-v4l2と追記して
Ctrl+X→Y→エンターで保存される。

とりあえずこれでraspivid以外からでもカメラが使えるようになったので、mjpg-streamerで試してみる。

まずはmjpg-streamerに必要なパッケージをインストール
sudo apt-get update
sudo apt-get install libjpeg-dev imagemagick subversion

そしたらmjpg-streamerのソースをダウンロードしてきてmake
svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer mjpg-streamer
cd mjpg-streamer
make
sudo make install

とりあえず動作確認
export LD_LIBRARY_PATH=/usr/local/lib 
mjpg_streamer -i "input_uvc.so -f 15 -r 640x480 -d /dev/video0 -y -n" -o "output_http.so -w /usr/local/www"

これでブラウザからhttp://"Raspberry PiのIPアドレス":8080でアクセスできるはず。
Raspberry Pi CameraではフルHDの解像度まで対応してるはずなんだけど、Raspberry Pi ZeroのCPU性能だとmotion jpegでは結構きつい感じがした。
3Bとかだと結構余裕なんだけどなぁ
今度はHLSとか試してみたいな。

あと防犯カメラハウジングで使う場合はカメラモジュールの赤色LEDをオフにする設定にしないと反射して赤みがかかってしまう。
LEDを消す場合は/boot/config.txtにdisable_camera_led=1を追記するだけでいいっぽい。


0 件のコメント:

コメントを投稿