ラズパイ監視カメラを作成し、スマホから遠隔で見てみた

  • URLをコピーしました!

こんにちは。ちゆりです。

今回は「ラズパイ監視カメラを作成し、スマホから遠隔で見てみた」のでその手順と僕の独り言を堪能ください。
ラズパイで監視カメラを作りたい方はこの記事を参考にしていただくと、スマホから遠隔で見ることが出来ます。
可愛いあの子の私生活をいつでもどこでも覗いちゃってください。(悪いことには使っちゃだめよ。だめだめ)

目次

準備する/必要なモノ

ラズパイカメラがあれば結構です。

参考までに僕が用意したものは以下になります。これさえ用意すれば実装可能です。

シンプルなスターターセット。ラズパイをとりあえず動かすために必要な道具はすべて揃っている。

RaspberryPi公式のカメラ。
USB端子を使わず、ラズパイのカメラポートを使うので非常に安定性が良い。

もちろんカメラはUSBカメラでも結構ですが、
この記事ではRaspberry Pi Camera のセットアップ方法を紹介しています。

Raspberry Pi Cameraモジュールの設定

ラズパイカメラの接続方法と簡単なセットアップまでは以下の記事を参考にしました。
すごくわかりやすいです。

Raspberry Piとカメラモジュールを接続する

 

接続できたら以下のコマンドを打って

vcgencmd get_camera

supported=1 detected=1と出力されればカメラのセットアップは完了です。

あれ?カメラが繋がらない?って方はこちらの記事を参考に
https://qiita.com/kaiyu_hara/items/0d27ec359b5a692c1f89

動画ストリーミング設定

今回はストリーミング配信を行うためにMJPG-streamerを使います。
サクッと動画ストリーミングの準備ができるので大変便利ですね。

ここらへんを一式インストールしておきます

$ sudo apt-get install build-essential imagemagick libv4l-dev libjpeg-dev cmake -y

次はgitでクローンしてきます。適宜作業ディレクトリを作成し、クローンしmakeまで行います

$ git clone https://github.com/jacksonliam/mjpg-streamer.git
$ cd mjpg-streamer/mjpg-streamer-experimental
$ sudo make
$ sudo make install

これで必要なインストールは完了です。

動画配信を見てみる

MJPG-streamerならリアルタイムでラズパイカメラの映像を見ることが出来ます。

ラズパイで動画配信サーバーとして起動する(さきほどのmakeした階層で行います。)

$ sudo ./mjpg_streamer -i "./input_uvc.so -f 10 -r 640x480 -d /dev/video0 -y -n" -o "./output_http.so -w ./www -p 8080" 

これでラズパイを動画ストリーミングサーバーとして機能させました。

動画配信はブラウザからhttps://<ラズパイのIP>:8080へアクセスします。
(ラズパイのIPはhostname -Iコマンドで確認ください。もちろんローカルネットワーク内のみでしか見れません)

こんなページに飛びます。

MJPG-streamerページ1

動画のストリーミング再生を見るにはStreamタブへ遷移します。

MJPG-streamerページ2

ストリーミング再生見えました!!
動画の遅延は0.2-0.3sほどですかね。このくらいならほとんどカクカクもせずなめらかに見ることが出来ています。
解像度(640x480)を小さくすればさらに低遅延で見ることが出来ます。ここらへんの調整は各々のおまかせです。

https://<ラズパイのIP>:8080stream_simple.htmlへアクセスすれば動画ストリームを大画面で見ることが出来ます。

スマホから遠隔で見てみる

スマホから遠隔でみるには少し設定が必要です。
余力のある方は参考にしてみてください。

まず、ラズパイへ外部(外出先)からグローバルIPでアクセスできるようにします。

以下の記事を参考に自宅のWi-Fiルーターのポートフォワーディング設定を行っておきましょう。

↑ここらへんの設定ができれば外部からアクアセスできる準備は完了です。

ラズパイでグローバルIPを確認しておきます。

$ curl inet-ip.info

あとは、MJPG-streamerで動画ストリーミングサーバーとして起動させておき、https://<ラズパイのグローバルIP>:ポートフォワーディング設定をしたポート番号へスマホからアクセスします。

すると、外出先からも自宅のラズパイ監視カメラへアクセスすることが出来ます。

ラズパイのグローバルIPは動的IPの仕組みでいつのまにか変化してしまうので、IPの固定化(ほとんどの場合有料)を行うか、以下の記事を参考にグローバルIPをLINEで通知してもらう方法(これは無料)を行うと、いつでもグローバルIPの変化に恐れず監視カメラへアクセスできます。

動画ストリーミングをパスワードログインにする方法

外部からアクセスできるようにするということはセキュリティの強化も必要です。
そこで自宅の監視カメラにはパスワードが無いとログインできないようにしておきましょう。

MJPG-streamerの起動の際にオプションでユーザー名パスワードを設定します。
-cオプションユーザー名:パスワードを指定します。

以下のようにして起動

$ sudo ./mjpg_streamer -i "./input_uvc.so -f 10 -r 640x480 -d /dev/video0 -y -n" -o "./output_http.so -w ./www -p 8080 -c [ユーザー名]:[パスワード]" 

https://<ラズパイのグローバルIP>:ポートフォワーディング設定をしたポート番号へアクセスした際に指定したユーザー名パスワード認証が行われます。

 

コスト1万円以下で監視カメラが作れるなんていい時代になりましたねぇ。
ばいちゃ。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメント一覧 (3件)

  • コメント失礼いたします。windows powershell にてraspberry pi zero でこちらの動作をしようと心がけたのですが、ディレクトリを移動させた後、sudo make を実行した際にerror 127と表示されました。こちらの対処法を教えていただけると幸いです。

    • makeの error127はコンパイル環境が構築できていないように見えますね。
      gccのインストールが必要かもしれません。
      sudo apt-get install build-essential
      上記のコマンドでコンパイル関係をインストールしたあとに再度makeを試してみてもらえますでしょうか。

      • ご回答ありがとうございます!
        正常に動作しました。ご丁寧に教えてくださり、ありがとうございました!

ちゆり へ返信する コメントをキャンセル

目次