こんにちは。ちゆりです。
今回は「ラズパイ監視カメラを作成し、スマホから遠隔で見てみた」のでその手順と僕の独り言を堪能ください。
ラズパイで監視カメラを作りたい方はこの記事を参考にしていただくと、スマホから遠隔で見ることが出来ます。
可愛いあの子の私生活をいつでもどこでも覗いちゃってください。(悪いことには使っちゃだめよ。だめだめ)
準備する/必要なモノ
ラズパイとカメラがあれば結構です。
参考までに僕が用意したものは以下になります。これさえ用意すれば実装可能です。
もちろんカメラはUSBカメラでも結構ですが、
この記事ではRaspberry Pi Camera のセットアップ方法を紹介しています。
Raspberry Pi Cameraモジュールの設定
ラズパイカメラの接続方法と簡単なセットアップまでは以下の記事を参考にしました。
すごくわかりやすいです。
接続できたら以下のコマンドを打って
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
コマンドで確認ください。もちろんローカルネットワーク内のみでしか見れません)
こんなページに飛びます。
動画のストリーミング再生を見るにはStreamタブへ遷移します。
ストリーミング再生見えました!!
動画の遅延は0.2-0.3sほどですかね。このくらいならほとんどカクカクもせずなめらかに見ることが出来ています。
解像度(640x480)を小さくすればさらに低遅延で見ることが出来ます。ここらへんの調整は各々のおまかせです。
https://<ラズパイのIP>:8080stream_simple.html
へアクセスすれば動画ストリームを大画面で見ることが出来ます。
スマホから遠隔で見てみる
スマホから遠隔でみるには少し設定が必要です。
余力のある方は参考にしてみてください。
まず、ラズパイへ外部(外出先)からグローバルIPでアクセスできるようにします。
以下の記事を参考に自宅のWi-Fiルーターのポートフォワーディング設定を行っておきましょう。
余力があれば以下の記事も参考に
Raspberry Pi3のLAN外からのSSH接続設定方法
https://qiita.com/3no3_tw/items/4b5975a9f3087edf4e20
↑ここらへんの設定ができれば外部からアクアセスできる準備は完了です。
ラズパイでグローバル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万円以下で監視カメラが作れるなんていい時代になりましたねぇ。
ばいちゃ。
コメント
コメント一覧 (3件)
コメント失礼いたします。windows powershell にてraspberry pi zero でこちらの動作をしようと心がけたのですが、ディレクトリを移動させた後、sudo make を実行した際にerror 127と表示されました。こちらの対処法を教えていただけると幸いです。
makeの error127はコンパイル環境が構築できていないように見えますね。
gccのインストールが必要かもしれません。
sudo apt-get install build-essential
上記のコマンドでコンパイル関係をインストールしたあとに再度makeを試してみてもらえますでしょうか。
ご回答ありがとうございます!
正常に動作しました。ご丁寧に教えてくださり、ありがとうございました!