Rapsberry PIをお持ちの方はいると思いますが、持て余しているという方もまた、多いかと思います。Linuxが動くだけに何でもできる可能性がありますが、その逆に何をしたら良いのか分からないといったところでしょう。

その1アイディアとして、Webカメラをつけて監視カメラシステムを作ってみるのはいかがでしょう。今回の記事を参考にしていただければ誰でも簡単に作ることができます。

必要なもの

Raspberry Pi
今回は最新のRaspberry Pi 2 Model Bを使います。約4,800円くらいで販売されています。
Webカメラ
ごく安価なもので大丈夫です。今回はロジクール HD Webcam C270mを使いたいと思います。Amazonにて1,620円で販売されています。
WiFiアダプタ
有線LANケーブルが使える場合は不要です。WiFiアダプタも安価なものが使えます。今回はWLI-UC-GNMを用います。これもAmazonにて841円で販売されています。
マイクロSDカード
Raspberry Pi用のLinux OS、Raspbianをインストールします。
ディスプレイ
HDMIが表示できるディスプレイが必要です。
USB接続キーボード
最初にRaspberry Piを操作する際に必要です。
PC
Windows/Mac OSX/Linuxなど。Raspberry PiのOSイメージをマイクロSDにコピーする際に使います。

準備

RaspbianをマイクロSDカードにインストール

詳細は省きますがRaspberry Pi用OSイメージ配布サイトよりイメージファイルをダウンロードしてマイクロSDカードの中身を入れ替えます。色々なOSがありますが、今回はデフォルトのRaspbianを使います。Mac OSXであれば以下のコマンドにて実行できます。マウント先は読み替えてください。WindowsであればDD for Windowsを使って書き込むのが良いようです。

[/crayon]

Raspberry Piを起動/設定する

Webカメラ(必要があればWiFiアダプタも)、外付けキーボード、ディスプレイをつなぎ、Raspberry Piを起動します。有線でDHCP設定であればIPアドレスは自動取得できるかと思いますが、無線LANなどを使っている場合は

コマンドを使ってネットワーク設定を行ってください。

[/crayon]

これを

に書き込めばOKです。最終的には以下のような形になります。

[/crayon]

ifconfigでネットワークに接続されているか確認しましょう。ネットワークにつながればディスプレイや外付けキーボードは不要です。SSHでログインして使うのが良いかと思います。デフォルトのユーザ名はpi、パスワードはraspberryです。

Webカメラを認識しているかどうかはlsusbコマンドで確認できます。

[/crayon]

ソフトウェアのインストール

motionのインストール

Webカメラから画像を取得するコマンドである motion をインストールします。apt-getからインストールできます。

[/crayon]

motionの設定変更

motionはWebカムの映像に動きがあった場合のみ画像を保存します。初期値のままですと感度が高いのでちょっとした変化でも画像が生成されます。そこで設定を変更します。

[/crayon]

via [Raspberry Pi] motionでお手軽監視カメラをつくる | hello-world.jp.net

後は画像サイズなども編集できます。このあたりは実際に利用しつつ、最適な設定値を見つけてください。

後はデーモンとして動作させたいので、以下のファイルを編集します。

[/crayon]

動作テスト

では実際にmotionを起動しておき、Webカメラの前で動いてみましょう。

[/crayon]

http://(Raspberry Piのアドレス):8081/ にアクセスすると、次のように画像が表示されます。なお、このURLはChromeだとエラーになってしまいました。Safariでは問題なく表示されます。

なお、画像は

以下に保存されます。

[/crayon]

画像を mBaaSに保存してみる

さて、ここからが本題です。Webカメラを使って撮った写真をそのまま蓄積していても勿体ないですし、何よりもRaspberry Piのような小型デバイスのストレージに保存し続けているとあっという間にいっぱいになってしまいます。

そこでサーバ上にアップロードしてみたいと思います。今回はニフティクラウド mobile backendを使いますのでサーバを立てる必要なく、無料で5GBまでのストレージやnode.jsにも対応したJavaScript SDKが使えます。

ニフティクラウド mobile backendのユーザ登録はこちらから、登録後は最初にアプリを作りますのでその結果得られるアプリケーションキーとクライアントキーをコピーしておきます。

node.jsをインストール

まず最初にnode.jsをインストールします。Raspbianのaptで入るnode.jsはバージョンが古いのでnode-arm版を使います。

[/crayon]

コードを書く

次に適当なディレクトリを作ってその中で

を実行します。

[/crayon]

必要なライブラリをインストールします。

[/crayon]

そしてニフティクラウド mobile backendのnode.jsライブラリをインストールします。

[/crayon]

今回はバージョン1系を使った書き方を紹介します。

[/crayon]

motionが作るファイルはmotionグループに入っているユーザしか削除できませんのでご注意ください。後はこれをスクリプトとして実行するだけです。

[/crayon]

そしてWebカメラの前で動いたりすると、自動的に写真がニフティクラウド mobile backendにアップロードされていきます。

アップロードした写真を確認する

最後にアップロードされた写真を確認したいと思います。Raspberry Pi側と同じくJavaScript SDKを使ってWeb上で確認できるようにします。まずHTMLファイルの内容は次のようになります。

[/crayon]

次にapp.jsは次のようになります。

[/crayon]

このようにすることでニフティクラウド mobile backend上に保存した写真データを一覧表示できます。実際に動かしたデモは次の動画になります。

HTML側は自動でリフレッシュされて、新しい写真が追加されていきます。後は好きなタイミングでスマートフォンなりで表示を確認すれば良いだけです。

もっと凝るならば、アプリ化しておいて写真が追加されたタイミングでプッシュ通知を飛ばす仕組みも作れるでしょう。ニフティクラウド mobile backendと組み合わせることで、サーバを用意することなくデータの保存したり、表示させることができます。ぜひIoTでご利用ください!

 

 

 

最新情報はここからチェック!

DataDesign by NIFTYCLOUD https://data.nifcloud.com