Raspberry Pi 勉強会(カメラ画像をスマホに表示)

Created Date: 2017-02-20/ updated date: 2017-03-12
  • Medium rpi2b
Owner & Collaborators
License
By
Summary

Materials

    Tools

      Blueprints

        Making

        • カメラ画像をスマホに表示

          0
          Thumb 5669754
          推奨のカメラはLOGICOOL ウェブカム HD画質 120万画度素 C270です。

          https://www.amazon.co.jp/LOGICOOL-ウェブカム-HD画質-120万画素-C270/dp/B003YUB660/ref=sr_1_1?ie=UTF8&qid=1

          または、Raspiカメラモジュールでも構いません。

          Webアプリの作業が終わっていることが前提になります。
          http://fabble.cc/fablabkannai/sumobotxjrxwithxraspberryxpi/note/note_cards/8767
          • 使用するライブラリと導入手順

            0
            Thumb 5669754
            以下のサイトの、Raspberry pi向けに修正されているmjpg-streamerを使います。
            https://github.com/jacksonliam/mjpg-streamer

            手順:(インストールは動作確認後です。ここではインストールしません)
            sudo apt-get install cmake libjpeg8-dev imagemagick
            git clone https://github.com/jacksonliam/mjpg-streamer.git
            cd mjpg-streamer/mjpg-streamer-experimental
            make

          • mjpg_streamer実行

            0
            Thumb 5669754
            mjpg_streamerを実行します。
            USBカメラ:
            ./mjpg_streamer -i "./input_uvc.so -d /dev/video0" -o "./output_http.so -w ./www"

            Raspiカメラモジュール:
            ./mjpg_streamer -i "./input_raspicam.so" -o "./output_http.so -w ./www"

            エラーとなる時は、カメラのUSBケーブルを抜き差ししてください。
            USBカメラの場合、警告(Pan,Tiltなど)がたくさん出ますが、問題ありません。対応していない機能があるためです。

          • 動作確認とインストール

            0
            Thumb 5669754
            Webブラウザでraspberrypi.local:8080/stream.htmlにアクセスしてください。
            カメラの画像がリアルタイムで表示されます。

            表示されない場合は、lsusbでカメラc270が認識されていることを確認してください。
            $ lsusb
              Bus 001 Device 007: ID 046d:0825 Logitech, Inc. Webcam C270

            動作確認が取れたら、ctrl+cでカメラの動作を停止し、先ほどmakeしたmjpg-streamerをインストールします。

            sudo make install

          • mjpg-streamer のスクリプト

            0
            Thumb 5669754
            $ cd /tmp
            $ git clone https://github.com/anthrax007/sumobot.git

            起動時実行のためにコピーします。
            $ sudo cp /tmp/sumobot/camera/mjpg-streamer/mjpg-streamer /etc/init.d/mjpg-streamer

            ファイルに実行権限を与えます。
            $ sudo chmod 755 /etc/init.d/mjpg-streamer

            起動時に実行されるスクリプトに登録します。
            $ sudo insserv mjpg-streamer
          • カメラ対応のhtmlファイルへ変更する

            0
            Thumb 5669754
            $ sudo cp /tmp/sumobot/camera/webapp/index.html 
            /home/pi/sumobot/SumobotWebSample1/src/sumobot_web_sample_1/templates/index.html

            nano /home/pi/sumobot/SumobotWebSample1/src/sumobot_web_sample_1/templates/index.html

            ホスト名(raspberrypi.local)を自分のホスト名に変更して保存してください。

          • html再生成とリブート

            0
            Thumb 5669754
            変更したhtmlを再生成します。

            $ cd ~/sumobot
            $ source venv/bin/activate 
            (venv) $ cd SumobotWebSample1
            (venv) $ python setup.py install

            Finished processing dependencies for SumobotWebSample1==0.1
            と表示されればok。

            (venv) $ deactivate
            $ sudo chmod 755 /etc/init.d/sumobot-web-sample-1

            変更を反映させるため、リブートします。
            $ sudo reboot
          • webアプリの動作方法

            0
            Thumb 5669754
            パソコンのWEBブラウザにて、下記にアクセスします。

            Sumobot Contorllerの画面の上にカメラの画像が表示されます。

            動かない場合は、以下のコマンドで状態を確認。
            ・netstat -ltn
             local addressに8080ポートがあるかを確認
            ・systemctl status mjp* -l
             active以外→/etc/init.d/mjpg-stremerファイルが壊れていないかを確認。
             active(exited)→/etc/init.d/で、./mjpg-streamer startを実行し、エラーを確認。
          • sumobotへのカメラの取り付け方

            0
            Thumb 5669754
            2つの方法があります。
            ・両面テープで前面に張り付ける。
            ・3Dプリンタで出力したカメラ台で取り付ける
            カメラ台のデータは以下にあります。
            http://www.thingiverse.com/thing:2142547

            USBカメラの線を切って短くすることもできますが、難易度が高いのでお好みで。
          • 注意点

            0
            Thumb 5669754
            回線の帯域が細く、動画がうまく表示されない場合(USB2LANアダプタを使用しているなど)は、
            /etc/init.d/mjpg-streamerの以下の記述を変更する。数字は帯域制限の値。帯域が細い場合は5などに下げると良い。24は動かないので注意。
            FPS=25
        Add Card Order

        References

          Usages

            Convert State

             to Annotation.

            Select the numebr of the state to annotate.

            OK
            cancel
            Loading

            facebook

            , data-width="400", data-show-faces="true" data-send="true"
            , data-width="400", data-order-by="reverse_time"