先日ラズベリーパイのカメラテスト時に基板をショートさせてしまい、電源が入らなくなったので、せっかくなんで直す予定なんですが、
※詳細はコチラ→「Raspberry Pi3の電源が入らなくなった!」原因と不良部品の特定。
なんせ補修部品の到着が遅れるとのことなんで、待つことが出来ずもう一つラズベリーパイ3B+を購入致しました(我ながら無駄遣いをしている。。)。
で、新しく届いたラズベリーパイに早速カメラを接続した所、カメラが映らない。。設定などは問題ない。もしかして、、、
はい、そうです、カメラ(Raspberry pi camera V2)も壊れてました。どうやらカメラも連続破壊されていた模様です。
あらたに同じカメラモジュールも購入し、ようやく元の状態へ帰ってきました(無事映りました)。
という事で、今回はラズベリーパイとカメラモジュール (Raspberry pi camera V2) を使用した「カメラのストリーミング再生」およびそれの「遠隔操作」をまとめましたので、記事にしておこうと思います。
目次
カメラのストリーミング再生
MJPG-streamer
MJPG-streamerは、カメラの映像をリアルタイムにブラウザ経由で配信させる事が可能です。
仕組みは簡単で、ラズベリーパイ上でWEBサーバーを立ち上げ、そこにカメラ画像を映し出してる訳ですね。
つまりラズベリーパイにブラウザでアクセスすれば、カメラ画像をリアルタイムで確認する事が出来るという事です。自宅の防犯用カメラとして使用する場合などは、手軽で便利だと思います。
そのサーバーの役割を果たすのが、この 「MJPG-streamer 」のソフトウェアになります。他にも色々あるようですが、一般的に有名なのがこれみたいですね。
インストール方法
ざくっと記します。通常、ラズベリーパイで必要なソフトウェアをインストールしたい場合は「apt-get install」コマンドを使いますが、 MJPG-streamer はインストールに必要なライブラリやツールがが必要らしいので、インストールするのにひと手間かかります。
まず、専用のライブラリをインストール。yで実行。
$sudo apt install libjpeg8-dev cmake
次にソースファイルのダウンロード
$git clone https://github.com/jacksonliam/mjpg-streamer.git
ソースの場所に移動してコンパイルとインストール
$cd mjpg-streamer/mjpg-streamer-experimental
$make
$sudo make install
これでインストールが完了です。
MJPG-streamerの起動
mjpg-streamer/mjpg-streamer-experimental内のシェルスクリプトを起動させるとカメラのストリーミングが開始します。
コマンドは下記の通りです。
$bash start.sh
なお、この中身に解像度やフレームレート、ポート番号やPASS設定などの記述があるので、好みに合わせて変更が可能です。
2度目以降の起動は、
$cd mjpg-streamer/mjpg-streamer-experimental
$bash start.sh
でOKです。
カメラ画像の視聴
ラズベリーパイ上でサーバーが立ち上がれば、あとはそこにアクセスするだけでカメラの画像が確認出来ます。
同じLAN環境下にあれば、スマホやPC等からラズベリーパイのサーバーにアクセスするができます。
たとえば、ラズベリーパイのアドレスが「192.168.1.10」とすれば、クライアント側は、webブラウザで「192.168.1.10:8080」と、アドレスの後にポート番号を入れてアクセスするだけです。
これでラズベリーパイのカメラモジュールが映し出している画像をリアルタイムで確認することが出来ます。
遠隔操作
たとえば、家の防犯カメラにしたい場合、外出先から家の状況を見たい場合は家のLANにアクセスする事になります。
また、カメラの起動や停止などを行いたい場合に関しても、同じく家庭のLANにアクセスする必要があります。
外出先から家のラズベリーパイカメラの映像を見たい場合
ラズベリーパイの電源がON,MJPG-streamerが起動している事を前提とします。
まず、VPN接続で家庭LANにアクセスします。メリットとして、ルーターのポート解放、ポートフォワーディング等の面倒な設定無く家庭LANに入り込めます。
※VPN接続についてはコチラ→VPN接続を利用してみよう!「スマートフォンを外出先から家庭のLANに接続する方法。」
アクセス後は、クライアントのブラウザでラズベリーパイのIPアドレス、ポート番号を打ち込めばそれだけでストリーミング映像を確認出来ます。
外出先から家のラズベリーパイのシェル(ターミナル)を操作したい場合
ラズベリーパイの電源がON、SSHが有効になっている事を前提とします。
シェルを外部からいじりたい、つまり MJPG-streamerの起動などを外部から操作したい場合も、まずはVPNで家庭LANに入り込みます。
あとは、クライアント側で専用のアプリ、PCなら「PuTTYjp」など、スマホなら「X-plore」や「JuceSSH」などを使うことで、ラズベリーパイのターミナルを操作する事が可能になります。
※「X-plore」は使用が有料ぽいです。
「監視カメラをラズベリーパイで設置してみよう」ストリーミング配信と遠隔操作方法。まとめ
簡単にまとめましたが、ラズベリーパイのカメラは監視カメラ的な使い方が簡単に出来てしまうので、広い用途で使用できそうです。
遠隔操作も可能ですから、カメラのON,OFFはもちろん、モーターとかつければ角度も操作することが出来ます。身近にIOTが体験できますね。
今回は録画については触れませんでしたが、もちろん設定次第で録画も可能です。
カメラ機能だけでもこれだけ便利だし、まだまだ便利な使い方があるでしょうから、このラズベリーパイは非常に魅力にあふれるものだと再認識しました。
とりあえずはなんとなくカメラの使い方が分かったので、ロボット作成に向けて次はキャタピラの制御をやってみたいと思います。