愛島発電所

QT SOLAR 愛島発電所

本日の発電量
0 kWh
現在の日射量
0 Wh/㎡
現在の外気温
10.4 ℃

(2024/05/23 03:17 更新)

下増田発電所

QT SOLAR 下増田発電所

本日の発電量
0 kWh
現在の日射量
1 Wh/㎡
現在の外気温
11.4 ℃

(2024/05/23 03:11 更新)

北原東発電所

QT SOLAR 北原東発電所

本日の発電量
0 kWh
現在の日射量
4 Wh/㎡
現在の外気温
12.2 ℃

(2024/05/23 03:22 更新)

長久良辺発電所

QT SOLAR 長久良辺発電所

本日の発電量
0 kWh
現在の日射量
6 Wh/㎡
現在の外気温
9.4 ℃

(2024/05/23 03:21 更新)

白坂発電所

QT SOLAR 白坂発電所

本日の発電量
0 kWh
現在の日射量
6 Wh/㎡
現在の外気温
11.9 ℃

(2024/05/23 02:42 更新)

清水沢発電所

QT SOLAR 清水沢発電所

本日の発電量
0 kWh
現在の日射量
0 Wh/㎡
現在の外気温
7.9 ℃

(2024/05/23 03:19 更新)

ZoneMinder | NUCでLinux Server

監視カメラの動体検知を実現します。

先ずはZoneMinderを手に入れます。

sudo apt-get -y install zoneminder

ZoneMinderはMySQL、nullmailer、Apacheを利用します。これらが未導入の場合、同時にインストールされます。

Apacheの設定

Apacheはウェブサービスを提供するデーモンです。ZoneMinderはウェブ上で動作するため、Apacheの設定が必要となります。他にウェブページの利用を考えていないのなら、ApacheをZoneMinder専用にしてしまってよいでしょう。

ポートの変更

ポートはHTTP(80)そのままで構いませんが、ポートマッピングを使いたいときは、適宜これを変更します。

ポートマッピングを使いたい場合というのは、例えばローカル内に既にウェブサーバーが稼働しているようなときです。なお、1台で済ませている場合は、VirtualHost機能で行けます(ドメインで管理します)。

/etc/apache2/ports.conf

例えばポート54321を使う場合。

#Listen 80
Listen 54321

ドキュメントルートなどの変更。

/etc/apache2/sites-available/000-default.conf

3行ほど変更します。

<VirtualHost *:54321>
DocumentRoot /usr/share/zoneminder
<Directory /usr/share/zoneminder>

各々サービスの開始する必要があります。ここでは、再起動してしまいましょう。

sudo shutdown -r now

もしかしたら、この辺りも必要になるかも知れません。

sudo a2enconf zoneminder
sudo a2enmod rewrite
sudo a2enmod cgi

設定

Foscam F18905EをZoneMinderで管理してみます。

F18905E側の設定

基本的な設定はこんな感じになっているとします。

加えて、Motion JPEGで動作させます。

ブラウザ上でF18905Eの設定を変更します。アドレス、ポート、ユーザー、パスワードを適宜変更してブラウザでアクセスします。

http://192.168.0.10:12345/cgi-bin/GIProxy.fcgi?cmd=setMainVideoStreamType&streamType=1&usr=foo&pwd=bar

ZoneMinder側の設定

設定は比較的簡単に見えるのですが、解像度など設定に食い違いがあるとうんともすんとも言わないので、場合によっては結構難儀するかも知れません。

いつの間にか「あれ、動かない?」となると原因の切り分けが面倒ですので、ひとつひとつ丁寧に設定していくと良いでしょうね。

Generalタブは以下の通り。

Source Type
Remote
Function
Modect

Sourceタブは以下の通り。

Remote Protocol
HTTP
Remote Host Name
192.168.0.10
Remote Host Port
12345
Remote Host Path
/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=foo&pwd=bar
Capture Width (pixels)
640
Capture Height (pixels)
480

動体検知した場合のメール送信やFTPによる転送は適宜行います。

イベントの保存先

動体検知によって記録されたデータは、以下のディレクトリを辿ってみてください。

/usr/share/zoneminder/events/

自動起動

ZoneMinderの動体検知は標準で自動起動するようになっています。

なので、PC再起動後にブラウザでZoneMiderのページを見ると「Running(起動中)」の状態になります。これが「Stopped(停止)」になっている場合、起動のタイミングに問題があるようです。

外部からの接続を許していない場合(ブラウザが使えない場合)は、SSHを使ってプロセスの確認をします。

ps aux | grep zm

こんなプロセスが走っているハズです。

www-data  1526  0.0  0.1 144720 12372 ?        S    09:01   0:00 /usr/bin/perl -wT /usr/bin/zmdc.pl startup
www-data  1557  5.2  0.7 327940 56884 ?        R    09:01   0:30 /usr/bin/zmc -m 1
www-data  1562  6.2  0.7 326436 58848 ?        S    09:01   0:36 /usr/bin/zma -m 1
www-data  1568  0.1  0.3 159956 24760 ?        S    09:01   0:00 /usr/bin/perl -wT /usr/bin/zmfilter.pl
www-data  1573  0.0  0.1 148148 14996 ?        S    09:01   0:00 /usr/bin/perl -wT /usr/bin/zmaudit.pl -c
www-data  1577  0.0  0.1 144320 13336 ?        S    09:01   0:00 /usr/bin/perl -wT /usr/bin/zmwatch.pl

見当たらなければ、やはり起動していません。

この場合は起動スクリプトを少し変更します。

sudo vi /etc/init.d/zoneminder

MySQLやApacheなどの準備が整うまでの猶予として15秒ほどsleepさせます。

echo -n "Starting $prog: "
sleep 15
zmfix -a

上記のように「sleep 15」を追加します。

実際に使用してみて

太陽光発電所の監視なので、見た感じ全く動きがなくあまり面白くありません。夜になると、遠くに車のヘッドライトらしき明かりが動くのが見えるのでそれがちょっと楽しいです。