Cloud Piをつかってみました。(カメラモジュール)

投稿者:

外出先から自宅の情報を手に入れるとしたら、やはり部屋の映像あたりが気になりますよね。
と言うわけで、今回はCloud Piをつかって、Raspberry Piに接続されたカメラの映像をスマートフォンに表示してみました。

使用するカメラはRaspberry Pi Camera Boardです。
s-camera

まず最初にカメラをRaspberry Pi本体に装着します。
s-pi_camera

Raspberry PiのOSは Raspbian Wheezyを使用しています。
Raspberry Piを起動させたら、まず最初にアップデートをします。

pi@raspberrypi ~$ sudo apt-get update

次にRaspberry Pi Camera Boardが使えるように設定を変更します。

pi@raspberrypi ~$ sudo raspi-config

するとこのような画面が現れます。Enable Cameraを選択して次の画面でEnableを選びます。
00-camera-enabale
00-camera-enable2

Finishを選択して再起動します。

00-raspi-finish

カメラの画像をストリーミング再生させるために、mjpg-streamerを使います。
そのための環境構築をしましょう。

$ sudo apt-get install libv4l-dev libjpeg8-dev imagemagick
$ suto apt-get install cmake
$ git clone https://github.com/jacksoliam/mjpg-streamer.git

gitからクローンしてできたディレクトリの中にmjpg-streamer-experimentalというディレクトリがあるので cd コマンドでその中に移動して、makeします。

$ cd mjpg-streamer/mjpg-streamer-experimental
$ make

今作業しているディレクトリの中にwwwディレクトリがあるので、その中にcamera.htmlというファイルを作りました。

$ nano www/camera.html

中身はこれだけです。

<html>
<body>
    <img src="/?action=stream">
</body>
</html>

これで準備が整いましたので、早速実行します。

$ ./mjpg_streamer -o "./output_http.so -w ./www -p 8000" -i "./input_raspicam.so -fps 10 -vf"

オプション -p 8000 でポートの番号を8000に設定し、-fps 10 でフレームレートを10に、-vfで画像を上下反転させています。
画像のサイズはデフォルトで640x480、-x -y オプションで縦横のフレームサイズを変えることもできます。

ポート番号を8000番にしたので、スマートフォン側のCloud Piの設定は次のようにします。
Screenshot_2015-01-16-11-40-19

ブラウザのURLに

http://127.0.0.1:8080/camera.html

と入力して接続すれば、Raspberry Piのカメラの映像がスマートフォンから見れてしまいます。Cloud Pi経由で接続しているおかげで外にいても簡単にRaspberry Piカメラの画像が確認できます。ペットの様子をチェックしたり、3Dプリンタの進捗状況を見てみたり、いろいろ使えそうですね。
s-android

Cloud Piをつかってみました。(サーバ側設定)
Cloud Piをつかってみました。(クライアント側設定)
Cloud Piをつかってみました。(環境センサモジュール:前編)
Cloud Piをつかってみました。(環境センサモジュール:後編):前