ラズパイを使った遠隔アクセスのモニタリングシステムです。
Windowsパソコン、スマホなどから、どこからでもモニタできます。
Webカメラ、IPカメラが使えます。
前回は、ラズパイ3、4について、motioneye(モニタ)とWIreguard(通信)の設定を行いました。
今回は、ラズパイ5について、ZoneMinder(モニタ)とWIreguard(通信)の設定を行います。
ラズパイのWebカメラ映像を、ZoneMinderによってモニタします。
その映像をWireguardネットワーク上のWindowsパソコン、スマホなど
(ANDROID、iPhone)でモニタできます。
Wireguardネットワークを使って、熊谷市の6箇所にあるラズパイ接続のWebカメラを結んで、監視用途のライブストリーミングで、お客様に使っていただいています。
1.USBカメラの正常動作を確認
●USBカメラが接続されているか確認
lsusb
●カメラの映像を確認するためにguvcviewをインストール
sudo apt-get install guvcview
【操作履歴】(緑マーカーが入力行)
2.motionインストール
【手順の要点】
●Motionインストール
sudo apt install motion
●motion バージョンを確認
motion -h
●MOTION コンフィグレーション
■デーモンの有効化
常にバックグラウンドで動作するサービスとして起動させるかどうかのデーモンモードのオン、オフを指定します。
動作確認ができるまでは off にしてコマンドラインで起動させます。
実際の運用時は on にします。
sudo vi /etc/motion/motion.conf
16step daemon on ← off から on に変更
【 motion.confを設定 】
■取得画像の幅・高さサイズ
53 width 640
56 height 480
■フレームレート
59 framerate 3
■動体の検知が完了してから何フレーム余分にキャプチャするか指定
93 post_capture 3
■動体検知の画像ファイルの出力
113 picture_output off
画像ファイルの出力はいらない場合は、off
※ 画像は出力が多くなりがちでかえって確認しづらい
■動体検知の映像ファイルの出力
123 movie_output on
■FFMPEG 関連のオプション ffmpeg_video_codec
132 movie_codec mov ←mkv を mpeg4 に変更したが、ラズパイのVLC meadia player で表示できなかった。表示できる mov にした
■コントロール画面への接続をローカルホストのみに制限をオフ(iPhoneやPCから見る)
145 webcontrol_localhost off ← on から off に変更
■ストリームへの接続をローカルホストのみに制限をオフ(iPhoneやPCから見る)
ライブストリームへのアクセスをローカルホストからのみに制限する。デフォルトではon。誰もが見られるようにするならoffを指定する。
158 stream_localhost off ← on から off に変更
●自動起動設定 Raspberry Piを起動したらmotionを起動するようにする
sudo vi /etc/rc.local
motion & ←ファイルの最後の部分に、この1行を追加
exit 0
【操作イメージ】
3.前準備:Apache & MariaDB インストール
Apache と MariaDB をインストールする
【手順の要点】
sudo apt install apache2 mariadb-server apt-transport-https
●MySQL の構成
sudo mysql
CREATE DATABASE zm;
CREATE USER 'zoneminder'@'localhost' IDENTIFIED BY 'NNNNNN';
GRANT ALL PRIVILEGES ON zm.* TO 'zoneminder'@'localhost';
FLUSH PRIVILEGES;
exit
接続をテスト
sudo mysql -uzoneminder -p
Enter password:NNNNNN
MariaDB [(none)]> exit
【操作履歴】(緑マーカーが入力行)
4.ZoneMinderインストール&構成の編集
【手順の要点】
sudo apt install zoneminder
●ZoneMinder 構成の編集
sudo vi /etc/zm/zm.conf
47 # ZoneMinder database user
48 ZM_DB_USER=zmuser → ※ MySQLデータベース作成時に指定
49
50 # ZoneMinder database password
51 ZM_DB_PASS=zmpass → ※ MySQLデータベース作成時に指定
●構成ファイルの権限を修正
sudo chgrp -c www-data /etc/zm/zm.conf
●ZoneMinder データベースを初期化する
sudo mysql -uzoneminder -pNNNNNN zm < /usr/share/zoneminder/db/zm_create.sql
●Apacheの構成
(ApacheのZoneMinder構成を有効にする)
sudo a2enconf zoneminder
systemctl reload apache2
sudo a2enmod cgi
sudo service apache2 reload
●ZoneMinder のサービス開始
sudo update-rc.d zoneminder enable
sudo service zoneminder start
sudo service zoneminder status
【操作履歴】(緑マーカーが入力行)
5.WireGuardクライアント設定
【手順の要点】
WireGuadを利用するクライアント端末の設定をします。
● WireGuardをインストール
sudo apt-get install wireguard
sudo -s
cd /etc/wireguard
umask 077
● Wireguard のコンフィグを、WinSCPでセットアップする
(confフォルダをコピー)
● TeraTeamから設定ファイルをコピー
cd /home/pi/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 ※ WireGuardが利用するwg0インターフェイスを確認
wg ※ クライアント・ラズパイでのWireguardの稼働状況を確認
●WireGuard クライアントから、AWSクラウド上のサーバに ping
●AWSクラウド上のサーバから、クライアント・ラズパイに ping
● WireGuard クライアントに対して、自動起動を設定
【操作履歴】(緑マーカーが入力行)
6.ZoneMinder コンソール設定
7.モニタの追加
今回は、ラズパイ5について、ZoneMinder(モニタ)とWIreguard(通信)の設定を行いました。
次回は、AWSクラウドにサーバを構築します。