Webカメラシステムを構築する手順(4) -ラズパイ3、4に motioneyeとWireguardをインストール

コンテンツ
IT・テクノロジー
ラズパイを使った遠隔アクセスのモニタリングシステムです。
Windowsパソコン、スマホなどから、どこからでもモニタできます。
Webカメラ、IPカメラが使えます。

前回は、Webカメラシステムを構築する準備として、ネットワーク関係の機能をラズパイ環境に追加しました。

今回は、ラズパイ3,4について、
モニタリングのためのプログラムと通信プログラムの設定を行います。

motioneyeOS という専用のディストリビューションがありますが、今回使うmotioneyeプログラムは、motioneyeOSが持つモニタリング機能をラズパイOSに適用できるということで、モニタリング機能を使いつつ、OSの通信機能やラズパイ機能を利用できます。
(motioneyeOSでは、ネットワーク部分をカスタマイズしずらい)

私のシステムでは、ラズパイからWireGuardVPNを使用して、専用のネットワークを作り出すことで、遠隔拠点間のモニタリングをしています。


Wireguardネットワークを使って、熊谷市の6箇所にあるラズパイ接続のWebカメラを結んで、監視用途のライブストリーミングで、お客様に使っていただいています。

カメラ映像をモニタリングする motioneye で映している映像を、Wireguardネットワークを介して、同一ネットワーク上のすべてのラズパイ端末でモニタすることができます。
さらに、Windowsパソコン、スマホ(ANDROID、iPhone)にWireguardアプリをインストールすれば、同じように同一ネットワークでモニタできます。


1.USBカメラの正常動作を確認


●USBカメラが接続されているか確認
 lsusb
●カメラの映像を確認するためにguvcviewをインストール
sudo apt-get install guvcview
【操作履歴】(緑マーカーが入力行)
1.motioneye_eo-0001.JPG
メニュー「サウンドとビデオ」→「guvcview」をクリック
USBカメラのライブ映像を確認しています。


2.ラズパイ BullseyeOS に motioneye をインストール


1.依存パッケージをインストール

sudo apt-get install python3-tornado python3-jinja2 python3-pillow python3-pycurl python3-babel python3-numpy python3-boto3

sudo apt -y install python3-distutils

2.Python パッケージ マネージャーpipをインストールする

python3(python3が動くことを確認)
exit()  (確認できたら抜ける)
pip install --upgrade pip

3.MotionEye.eo インストール

sudo pip install motioneye.eo

4.依存関係のインストールとシステムの初期化を起動します

sudo motioneye_init

【操作履歴】(緑マーカーが入力行)

1.motioneye_eo-0002.JPG
1.motioneye_eo-0003.JPG
1.motioneye_eo-0004.JPG
1.motioneye_eo-0005.JPG


3.Motioneye のはじめの起動


●/etc/motioneye/motioneye.conf
 ステップ21 に、port 8765 が設定されている。

port 3193 に変更した。リブート後に、ブラウザからIPアドレス指定で、ポート3193に接続。
(デフォルトの8765からセキュリティ対策のため、変更。Port番号は独自に決めて構いません)

vi /etc/motioneye/motioneye.conf

# the TCP port to listen on
port 3193

リブート後に、ブラウザからIPアドレス指定で、ポート3193に接続。

2.モニタリングプログラム説明書-0001.JPG

4.Motioneye の設定項目と機能の説明


■Preferences(好み)
■General Setting(一般)
■Video Device(ビデオデバイス)
■File storage(ファイルストレージ)
■Text Overlay(テキストオーバーレイ)
■Video Streaming(ビデオストリーム)
■Still Images(キャプチャーした画像)
■Movie(映画)
■Motion Detection(動き検出)
■Motion Notification(モーション通知)
■Working Schedule(勤務スケジュール)

2.モニタリングプログラム説明書-0002.JPG
2.モニタリングプログラム説明書-0003.JPG
2.モニタリングプログラム説明書-0004.JPG
2.モニタリングプログラム説明書-0005.JPG
2.モニタリングプログラム説明書-0006.JPG
2.モニタリングプログラム説明書-0007.JPG
2.モニタリングプログラム説明書-0008.JPG


5.WireGuardクライアント設定


【手順の要点】

WireGuadを利用するクライアント端末の設定をします。

● WireGuardをインストール

sudo apt-get install wireguard

sudo -s
cd /etc/wireguard
umask 077

● Wireguard のコンフィグを、WinSCPでセットアップする

● TeraTeamから設定ファイルをコピー

cd /home/pi/TeleworkSystem-conf/
ls
→phone1.conf phone2.conf phone3.conf phone4.conf rasp1.conf rasp2.conf rasp3.conf rasp4.conf wg0.conf win1.conf win2.conf win3.conf win4.conf wireguard
cp rasp1.conf /etc/wireguard/wg0.conf
※ ラズパイ1台目(rasp1.conf)として、セットアップ

● WireGuard サーバを起動
● WireGuard クライアントを起動

wg-quick up wg0
wg

●WireGuard クライアントから、AWSクラウド上のサーバに ping
●AWSクラウド上のサーバから、クライアント・ラズパイに ping
● WireGuard クライアントに対して、自動起動を設定

【操作履歴】(緑マーカーが入力行)

3.Wireguard-0001.JPG
3.Wireguard-0002.JPG
3.Wireguard-0003.JPG
3.Wireguard-0004.JPG
3.Wireguard-0005.JPG


以上の処理によって、カメラ映像をモニタリングする motioneye で映している映像を、Wireguardネットワークを介して、同一ネットワーク上のすべてのラズパイ端末でモニタすることができます。
さらに、Windowsパソコン、スマホ(ANDROID、iPhone)にWireguardアプリをインストールすれば、同じように同一ネットワークでモニタできます。

今回は、ラズパイ3、4について、motioneye(モニタ)とWIreguard(通信)の設定を行いました。
次回は、ラズパイ5について、ZoneMinder(モニタ)とWIreguard(通信)の設定を行います。



サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す ココナラコンテンツマーケット ノウハウ記事・テンプレート・デザイン素材はこちら