け い ざ ん の D I Y 工 房

◆Home
◆住まいの D I Y
◆パソコン D I Y
◆ROBOT D I Y
◆電子工作 D I Y
◆Science

●RaspberryPi 4B mjpg-streamer install

 2020.04.21

Raspberry Pi 4 model B に ROBOT の目になる Camera を取付ます。
USB Cameraを使用すると、Raspberry Pi の4つしかない USB Connector が
ふさがるので、Paspberry Pi 専用の camera module を使用します。
これなら、Raspberry Pi 本体から Flat Cable で直接取り出せます。
install する Camera 用 SOFT は InterNet にあった、mjpg-streamer と
imagemagick の両方を installすると Camera の画像を Browser で
見る事ができます。
Raspberry Pi に取付けた Display と KB とMouse で install します。


Raspberry Pi Camera module



InterNet で見つけた以下の install Command を実行します。

$ sudo apt-get update
$ sudo apt-get install subversion libjpeg8-dev imagemagick libv4l-dev
$ sudo svn co http://svn.code.sf.net/p/mjpg-streamer/code/mjpg-streamer mjpg-streamer
$ cd mjpg-streamer
$ sudo make
$ sudo make install

途中で「続行しますか?[y/n]」という message がでたら、「y」を入力して
「Enter」を入力します。


あちゃ〜 make まで行ったら Error が出た。
install err


install した mjpg-streamer の File を削除する。
これは、Folder も含め全部削除する。
$ sudo rm -rf mjpg-straemer


github から install
svn をやめて git で https://github.com/ の jacksonliam さんからもらってくる。

$ sudo apt-get update
$ sudo apt-get install subversion libjpeg8-dev imagemagick libv4l-dev
$ cd /home/pi
$ sudo git clone https://github.com/jacksonliam/mjpg-streamer.git
$ cd mjpg-streamer/mjpg-streamer-experimental
$ sudo make
$ sudo make install


Install した File を System 領域 /opt/mjpg-streamer に移動する。
$ cd /opt
$ sudo mkdir mjpg-streamer
$ cd /home/pi
$ sudo mv /mjpg-streamer/mjpg-streamer-experimental/* /opt/mjpg-streamer


起動用 File の作成
/home/pi/ 配下に mjpg-streamer Folder を作成したらその中に
nano を使用してstart_server.sh Shell script File を作成します。

$ cd /home/pi
$ sudo mkdir mjpg-streamer
$ cd mjpg-streamer
$ sudo nano start_server.sh


---------------------start_server.sh----------------------------------
#!/bin/sh
PORT="8080" #ポート番号
SIZE="640x480" #画面サイズ
QUALITY="80" #画像クオリティ
FRAMERATE="20" #フレームレート
export LD_LIBRARY_PATH=/usr/local/lib
/opt/mjpg-streamer/mjpg_streamer \
-i "/opt/mjpg-streamer/input_uvc.so -f $FRAMERATE -r $SIZE -q $QUALITY -d /dev/video0 -y -n" \
-o "/opt/mjpg-streamer/output_http.so -w /usr/local/www -p $PORT"


(注意事項)
・実行File の mjpg_streamer は、フルパスで指定しないと Error になります。
・input_uvc.so File は、フルパスで指定しないと Error になります。
・ -i から -n" \ までは連続した1行です。
・input_uvc.so の Option -y -n は、忘れると Error が多発します。
・output_http.so File は、フルパスで指定しないと Error になります。
・install して /opt/mjpg-streamer 配下にある www Folder を
 output_http.soで指定した出力先の /usr/local/www Folder に
 移動しないと何も表示しません。


System 領域にinstall されている www Folder内の html Tag を Folder ごと
この Shell Script の output_http.so で指定した -w /usr/local に移動します。

$ cd /
$ sudo mv /opt/mjpg-streamer/www /usr/local


Shell Script の作成が終わったら Start_server.sh の
File の実行権限(File Permission)の変更をしておきます。

$ cd /home/pi/mjpg-streamer
$ sudo chmod 755 start_server.sh


では、Shell Script を実行してみます。
実行結果はこの様な画面が出てきます。
$ ./start_server.sh
output



では、Raspberry Pi 4 の Web Browser を開いてみて確認しましょう。
Raspberry Pi 4 の Top 画面の右上に WiFi の表示 I-con があります。
razupi4 top


Cursor を上に乗せると、IP Address を表示するので Memo しておきます。
192.168.1.11/24 になっていましたので Browser の URL に下記の様に
key in します。
8080は、output_http.so で指定した port 番号です。
Browser には下記の様な画面が表示されます。

http://192.168.1.11:8080
output

Shell script を止めるには Ctal + C を、同時に key in すれば停止できます。


Raspberry Pi 4を立上げ時に mjpg-streamer が自動で起動する様に設定します。
$ cd /etc
$ sudo nano rc.local
 /etc/rc.local の最後の行 "exit 0" の前に以下の1行を追加します。

 sh /home/pi/mjpg-streamer/start_server.sh &

これでRaspberry Pi を立上げたら自動で Camera が起動します。


●RaspberryPi 4B mjpg-streamer install (改)

 2021.06.24

 RasPi 4WD Carに Cameraを取り付けて、Open CVで画像認識をやります。
 まず、4WD Carに mjgp-streamerを installします。
camera


1年経ったら mjpg-streamerの Versionが変わって設定方法がかなり
変わっています。

install 手順は下記。これは変更なし。
$ sudo apt-get update
$ sudo apt-get install subversion libjpeg8-dev imagemagick libv4l-dev
$ cd /home/pi
$ sudo git clone https://github.com/jacksonliam/mjpg-streamer.git
$ cd mjpg-streamer/mjpg-streamer-experimental
$ sudo make
$ sudo make install


mjpg-streamer-experimentalに、新たに start.sh が提供されたので、
自分でScriptを作らなくてよくなりました。
Linuxの環境によるのかもしれませんが pathは Full pathで書かないとErrorが
でました。

start.shを編集します。
----------------------------start.sh------------------------------------
#export LD_LIBRARY_PATH="$(PWD)"
 ↓
export LD_LIBRARY_PATH=/usr/local/lib/mjpg-streamer
#./mjpg_streamer -i "input_uvc.so " -o "output_http.so -w ./www"
 ↓
/usr/local/bin/mjpg_streamer -i "/usr/local/lib/mjpg-streamer/input_uvc.so -n -f 30 -r 640x480 -d /dev/video0" -o "/usr/local/lib/mjpg-streamer/output_http.so -w /home/pi/mjpg-streamer/mjpg-streamer-experimental/www -p 8080"

$ ./strart.sh
mjpg_start


RaspberryPiの純正カメラモジュールを使用しましたので、V4l2 Driverを使用する
ために /etc/modulesに1行追加が必要です。
 $ cd /etc
 $ sudo nano modules
 
 bcm2835-v4l2      #1行追加



では、start.sh を実行してみましょう。
mjpg-start


パソコン側のBrowserから
 http://raspberrypi.local:8080 又は
 http://「RaspberryPi IPアドレス」:8080
と入力すれば cameraの映像が表示されます。



IP Address の固定
電源を入れる毎にIP Address が変わってしまうと、
パソコン(Personal Computer)・スマホ(Smart Phone)側から見えなくなります。
これは不便なので、IP Address の固定を行います。
/etc/dhcpcd.conf を編集すれば固定できます。
以下の4行を追加して再起動します。

$ cd /etc
$ sudo nano dhcpcd.conf
interface wlan0
static ip_address=192.168.1.11/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1


再起動したら、ifconfig を打ち込んで確認します。
wlan0: が設定した IP Address になっていれば OKです。


----------------------------------------------------------------------------------------------------------------------------
・けいざん美術館
・Blog 油絵もろもろ
・EXCEL VBAであくせく
・けいざんの食べログ


                 Site Designed by Kasio Keizan