Raspberry Pi でレンズ型カメラを作る!


前回、専用カメラモジュールの接続から基本的な使い方までを書いた。

で、折角専用カメラモジュールを使えるようになったのだから、何か作りたい。

何を作るか?やっぱりカメラなんだから監視カメラ?

それもよいのだが、この場合、

外部ネットワークからアクセスできるようにする

必要がある。

これ自体はおいおい実現していく予定だが、まずはもう少し手軽な所から。

ということで、ラズパイと専用カメラモジュールで

レンズ型カメラ

を作ってみる。

[2018/03/17 追記 ここから]
私の場合、この時点で既に apache2 と php を

インストールしている、という状態であった。

が、これらがインストールされていないと、

後述する RPi_Cam_Web_Interface のインストールに失敗する。

また、専用カメラモジュールが接続されていない状態で

インストールしても失敗する模様。

よって、本記事の以降の文章では、

インストールに必要な条件を追記する形で修正した。
[2018/03/17 追記 ここまで]

  1. 必要な設定
  2. 基本的な使い方
  3. まとめ



■必要な設定

レンズ型カメラは、レンズ部分だけのデジタルカメラ。

プレビュー画面等はスマホ側で見る。

レンズと液晶部分(スマホ)を分離できるため、

いろんな撮影が楽しめる、というもの。

こういう奴。

SONY デジタルカメラ Cyber-shot レンズスタイルカメラ QX10 ホワイト DSC-QX10-W
by カエレバ

こんなの出来合いのものを買わないと無理、なんて思っていた。

が、ラズパイと専用カメラモジュール、

そしてスマホがあれば実現できる!

今まで実現しようとして結構苦労して来たのだが、

今回は超簡単に実現する方法を記載する。

ラズパイで実現しないといけない機能は以下の二つ。

  1. WiFi アクセスポイント化
  2. 事前準備
  3. ライブカメラ化

以下、各々について記載する。



WiFi アクセスポイント化

こちらは既に、

WiFi アクセスポイント化

の方で記載済み。

よってこれを参考に設定してもらえればと思う。
*なお、上述の方法は OS が Raspbian Jessie の場合である。
*Stratch の場合にはそのまま適用できないことにご注意頂きたい。

なお、カメラを接続したラズパイとスマホが

同一ネットワーク

にあるなら、これは必須ではない。

ただ、実際に利用する場合には、

ラズパイを WiFi アクセスポイントにして置いた方が、何かと都合がよい。

また、実際の製品も WiFi アクセスポイント機能を実現しており、同じ状態を作りたい。

よって、ここでは WiFi アクセスポイント化しておく。



事前準備

WiFi アクセスポイントにしたら、

次はカメラ映像にアクセスできるようにする。

過去、何度かチャレンジしたのだが、

motion でも motion-mmal でもうまく設定出来なかった。
*基本的にはカメラモジュールの v4l2 ドライバが
*使えないままで色々やったからだと思う。

他のサイトを見ると、/etc/modules に

bcm2835-v4l2

と追記し、再起動すれば該当ドライバが使えるようになる模様。

その上で、

 pi@raspberrypi$ sudo apt-get install motion -y

とすると、motion を利用したカメラ映像へのアクセスが可能となるとのこと。

ただ、これでやっても、映像をキャプチャする方法が

今ひとつよく分からなかった。

そこで、色々調べてみると、

・インストール

・映像の静止画・動画撮影

共に超簡単に出来る方法を発見。

具体的には、

RPi-Cam-Web-Interface
http://elinux.org/RPi-Cam-Web-Interface

を利用するだけ。

ただし、これを使うためには、

・専用カメラモジュールをあらかじめ接続しておく

・http サーバーをインストールしておく

・php もインストールしておく

ということが必要。

よってまずは、

RPi-Cam-Web-Interface をインストールする前にやっておくこと

を記載する。



まずは、専用カメラモジュールの接続。

これは、

専用カメラモジュールを使う

に従って接続しておけばよい。

私はこれをやっていなかったが故に、

インストール後にエラーが出っぱなしになる、

という状態に陥った。

よってきちんと接続しておく必要があることに注意が必要。

続いては http サーバーのインストール。

今回は apache2 を選択。

なお、RPi-Cam-Web-Interface 自体は

lighttpd、nginx でも対応可能の模様だが、

これらは試してないので、ひとまず apache2 でいく。

インストール自体は非常に簡単。

まずはリポジトリのアップデートを行っておく。

    pi@raspberrypi$ sudo apt-get update
    pi@raspberrypi$ sudo apt-get upgrade

続いて、apache2 自体をインストール。

    pi@raspberrypi$ sudo apt-get install apache2 -y

インストール後、ブラウザで

http://localhost

にアクセスし、Debian のデフォルトページが表示されれば OK。

こちらに関しては、

Web サーバー化

を見ていただいてもよいと思う。

そして最後は php のインストール。

現在 php は 7.1 とか出ている模様だが、

とりあえず現時点では参考情報があった

5.6 でインストールした。

    pi@raspberrypi$ sudo apt-get install php5 php5-cli php5-gd php5-pgsql php5-mysqlnd php5-mcrypt php5-dev -y

ひとまずこれで事前準備は完了。

ライブカメラ化

最後はいよいよ、RPi-Cam-Web-Interface をインストールし、

ライブ(監視)カメラにしていく。

はじめに、git から必要なファイルを取得する。

      pi@raspberrypi$ git clone https://github.com/silvanmelchior/RPi_Cam_Web_Interface.git

なお、git を利用出来ない場合は、あらかじめ

 pi@raspberrypi$ sudo apt-get install git -y

でインストールしておこう。

無事ダウンロードが終了したら、RPi_Cam_Web_Interface ディレクトリに移動。

 pi@raspberrypi$ cd RPi_Cam_Web_Interface

最後に、インストールスクリプトを実行する。

 pi@raspberrypi:~/RPi_Cam_Web_Interface $ ./install.sh

すると、以下のような初期設定の画面が出てくるので、諸々設定する。

一番上の Cam subfolder は、

ブラウザ経由でカメラ画像にアクセスする際のフォルダ名

にもなる。

変えたければ変えればよい、という程度。今回はこのまま。

Autostate は自動起動するかどうか。Yes を選択。
*ただし、私の場合どうもうまく自動起動してくれない場合があった。
*その場合は /etc/rc.local の exit 0 より前に、
*/home/pi/RPi_Cam_Web_Interface/start.sh
*と、start.sh が存在するディレクトリを含めた
*フルパスを記載しておけばよい。

Server は利用する Web サーバーを選択。

今回は事前準備で apache2 をインストールしているので、

apache

を選択。

このソフトでは、Web サーバーを立て、そこからカメラ画像を配信する。

続いての user と password は user 認証用。

Basic 認証のようなので、安全性は高くないが、

誰でもいきなりアクセスされないようにするためには、設定して置いた方がよい。

jpglink は・・・、よくわからんかったのでとりあえずこのまま。

php は、インストールした php のメジャーバージョン番号を選択。

今回であれば、php 5.6 をインストールしているため、

5

に変更しておく。

で、了解を選択すると、各種のインストール作業に移る。

インストール作業が終わると、以下のように、開始するか?と聞かれる。

当然、はい、を選択。

インストールは以上。超絶簡単だった。



■基本的な使い方

インストールが終われば、すぐに利用可能になる。

ということで、早速使ってみる。

まずはブラウザを立ち上げ、URL フィールドに

http://IPAddress:Port/Subdirectory

の形式の URL を入力する。

今回の場合であれば、

http://192.168.0.1/html

となる。
*Port はデフォルトの 80 番の場合、省略可能。

実際の画面はこちら。

先ほど設定した user 名とパスワードを入力すると、以下のようになる。

画像下にある

『record video start』

をクリックすると動画撮影が、

『record image』

で静止画撮影が可能となる。

スマホから見る場合には、

スマホをラズパイの WiFi アクセスポイントに接続し、

同様の作業を実施すればよい。

なお、撮影した画像や動画は、/var/www/html/media 以下に保存される。
*デフォルトでは静止画が jpeg、動画が mp4 で撮像される模様。

これで、無事レンズ型カメラ化が実現できたことになる。



■まとめ

今回は、ラズパイのレンズ型カメラ化を実現。

WiFi アクセスポイント化した後、

専用カメラモジュールを接続し、

apache2、php、及び RPi_Cam_Web_Interface

をインストールするだけで、超簡単に実現可能。

モバイルバッテリーでラズパイを起動するようにすれば、

外出先でも使える!

1 万円程度で、世の中に売っているレンズ型カメラと

同様の機能を実現できるのは、やはり超楽しかった。

今回の Point!・ラズパイを WiFi アクセスポイントにする
・RPi_Cam_Web_Interface をインストールする
・Web ブラウザ経由でラズパイのカメラ画像にアクセスする
・静止画、動画も撮影可能
・スマホからアクセスすることで、立派なレンズ型カメラに!

Next > カメラマウントを組み立てる!




Copyright (c) 2017 Webmaster of this site All Rights Reserved.
カテゴリー: ラズパイで電子工作 タグ: , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください