動体検知フリーソフトLiveCapture3を使用してある物の状態の変化の感知に成功しました。

LiveCapture3についての解説は窓の杜、公式サイト等を参考にして下さい。
断っておきますが、このソフト、かなり高度なこともできるようですが、私の場合はその機能のほんの一部をやっと使えた程度であることを予めご了承下さい。

さてある物、についての詳細は省略しますが簡単に言えばLEDランプが赤から緑に変化することを検知して警報音やメールで知らせる、というシステム(ちょっと大げさ)です。
▼こんな状態を感知します。

 マウスを左の赤色ランプ(と思って下さい)の上に持っていくと緑色ランプになります。このような変化を検知しようというわけです。




目次  このページ内にリンクしています。

LiveCapture3のインストール

システム概要

経過

SMAILのインストールと設定

SMAILの実行操作

バッチファイルの作成

不動体検知苦労話
















[LiveCapture3のインストール]

窓の杜http://www.forest.impress.co.jp/library/software/livecapture/からダウンロードできます。

動作にはMicrosoft Visual C++ 2010 再頒布可能パッケージとDirectX エンド ユーザー ランタイムが必要ということです。
作者・市川氏の公式サイトへのリンクがあり、そちらへいけますので、そこに何をダウンロードすればよいのかが記述されていますので参照して下さい。
LiveCapture3をインストールする前にこれらの二つを先にインストールしておきます。
dxwebsetup.exe
vcredist_x86.exe

これら3つのインストールにとくに気を付けなければならなかった点はなかったかと思います。








[システム概要]

PC・・・Dynabook T574 Core i7 2.2GHz  メモリ8GB Win8.1ダウングレードWin7 Proモデル
USBカメラ・・・・・Buffalo BSWHD06M
インターネット接続・・・・NTT西日本・光LINK モバイルルータ(4G LTEまで使用できますが設置場所では3G回線のみしか使用できません)


→このページのTOPに戻る







[経過]

インストールは問題なく終わり、LiveCapture3を起動すると既にカメラの映像を見ることができました。
映像が表示されていない場合はLiveCapture3の「デバイス」タブからカメラが認識されているかを確認します。


とりあえず動体を検知したら警報を鳴らすようにしました。
警報のwavファイルも多くの方が無償で提供していただいていますので適当な音を探すのにそんなに時間はかかりませんでした。
ただ申し訳ないのですがどのサイトからダウンロードしたのか記録することを忘れていてここでの紹介もお礼を言うこともできません。

まず始めは測定対象ではなくカメラはとりあえず適当なものを映していましてカメラの前に手をかざしたりしてチェックをします。
フリーとはいえ高機能なソフトですので動体感知については申し分のない動作をして「けたたましい」警報音が鳴り響きました。

▲「その他」のタブで音を鳴らす設定ができます。wavファイルを準備してPCの適当なところに入れておきます。

次にメール機能。PCから音が出るだけではずっとそばに居ないといけませんのでどうしても遠方で検知結果を知ることが必要になります。
この結果の結論から言いますとメール機能は利用することができませんでした。

LiveCapture2、LiveCapture3の適用例がweb上にはたくさん報告されているようですが、メール機能を詳しく解説してあるサイトを見つけることができません。
自分なりにいろいろ設定を変えてやってみましたが携帯にメールが届くことはありませんでした。
メール機能がなぜ使えないのか理由は不明のままで終わっています。私にとって比較的・・・というか実現できなかったので結構、閾の高い(注;このような日本語はありません)設定になってしまいました。

YahooメールやGMailなどのフリーメールではこう設定すればいいよ、って方がおられたらぜひお教え願いたいところです。

かなりいろいろとやってみましたが無理でしたので方法を変えましてもうひとつの方法で逃げることにしました。

▲キャプチャーアクションに「外部モジュール起動」というタブがありました。
上の図からも判るように「SMAIL」というメール発信ソフトを利用しています。

「SMAIL」はEva氏の提供するフリーソフトです。http://www.picolix.jp/に設定参考資料もあります。
コマンドラインからメールを送信するソフトではありますがバッジファイルを実行させることによりメール送信を行うことができます。

って、さも判っているように書いていますがこの「SMAIL」に出会うまでコマンドラインやらバッジファイルやら名前は聞いたことはありますが、日常は使っていることを認識して使うものではないのでどのように使えばよいのかこの時点まではまったく解かっていませんでした。

コマンドライン→Windowsのコマンドプロンプトからある程度のコマンドを打ったことはありますがDOS時代を飛び越して現在に至っていますのでほとんどわかっていない状態です。
バッジファイルなんて名前だけで今まで自分で実行させた、なんて覚えもありません。

でもwebってとこは良し悪しですがほんとに何でもあるんですね。バッジファイルで検索したら作り方がしっかり載っていますので問題なく作ることができました。
作るって言ったってメモ帳に書いたコマンドを保存して拡張子を変えるだけ。ただそれだけです。

Vectorでのレビューはこちらから  http://www.vector.co.jp/magazine/softnews/041013/n0410133.html


→このページのTOPに戻る








[SMAILのインストールと設定]

わかり易く「SMAIL」などの名称でフォルダを作成しておきます。後ほどコマンドラインからこのフォルダに移動しますので、あまり奥深い場所には置かないほうがわかり易いと思います。
下の図のように「smail-v4.17zip」をダウンロードし解凍します。



生成された「smail.exe」を起動して設定します。


▲Gmailを使用します。
 ■部分にGmailの自分のアドレスを入力します。
 SMTPパスワードは自動的に暗号化されます。
 とりあえず「SMTP」の部分だけの設定で運用します。
 「smail.ini」が生成されますので保存先は判りやすく解凍先と同じにしておきます。

設定後保存して、編集する場合は「smail.exe」を右クリックして「開く」とすれば実行されることはありません。


→このページのTOPに戻る









[SMAILの実行操作]

Gmailから自分の携帯電話にメールを送信する設定と操作をこれから行います。

まず、メールの内容を記述したtxtファイルをメモ帳で作成し、SMAILフォルダに入れておきます。

コマンドプロンプトを起動します。
最初に「smail.exe」がインストールしてある場所に移動します。「cd」コマンドを使用します。
cd c:\SMAILと入力します。

c:\SMAIL>     の入力待機状態になったら

▼コマンドラインに下図のように文字を一文字も間違わないように入力します。スペースも見逃さないように注意しなければなりません。

空白部分Aには送信元メールアドレス、Bには送信先メールアドレスを入力します。
-sのあとの" "部分にはメールのタイトルを記入します。
黄色空白部分にはメールの内容が記述されたtxtファイルの名前を記入します。
 「・・・・・○○○@docomo.ne.jp -i」と入力したあとEnterでコマンドが実行されます。

上の図の3行目以降はPCが自動的に印字したものです。
この図のような表示になればメール送信に成功しています。ちょっと遅れて携帯のメールが着信することでしょう。


→このページのTOPに戻る









[バッチファイルの作成]

SMAILはコマンドラインからの命令で実行されます。
動体検知システムではいちいちコマンドラインから命令するわけにはいきませんのでこのイベントを実行してくれるものにしておく必要があります。
そこで役に立つのが「バッジファイル」。

ちょうどLiveCapture3には「外部モジュール起動」というタブがあって検知した場合、そこに指定したファイルを実行させることができます。
従って前の項目で手入力した文字をバッジファイルにしておけばいいわけです。

幸いにもメモ帳で記述し、txt形式で保存したファイルの拡張子をbatに変更するだけで終わるのですからいとも簡単です。
ここではわかり易く「SMAIL BAT.txt」という名前で保存し、ファイルの拡張子を変更しました。

▲REM以降はコメントです。
 cd c:\SMAIL でSMAILフォルダに移動します。
 smail -hsmtp.gmail.com -f○○○@gmail.com -s"ランプ状態変化通知" -Fhonbun.txt ×××@docomo.ne.jp -i がSMAILへのコマンドです。
3行目の送信先を変えて、4行目に追記すれば2か所に送信できます。
CC、BCCの設定もできるようですが、ここでは使用していませんので詳細はSMAILの解説を参照して下さい。


▲LiveCapture3の「外部モジュール起動」タブ
 ここに「SMAIL BAT.bat」のある場所、モジュールパスを登録します。

ここで注意が必要なのは
メールの停止をする場合、上の図の「外部モジュールを起動する」のチェックを外せばいいのですが、SMAILというソフトはいつでもメール送信可能な状態にある、
ということを認識しておかなくてはなりません。

ネットに接続された環境にある時、「SMAIL BAT.bat」をダブルクリックすればいつでも送信してしまいます。
▼「SMAIL BAT.bat」を変更・編集する場合は、右クリックで「編集」を選択します。



→このページのTOPに戻る








[不動体検知苦労話]

さて、今回LiveCapture3を使用させていただき良い結果を出すことができたのですがすんなり検知できたわけではありません。
もちろん、動くものはほぼ完璧に捉えてくれます。

ところが今回は物は動かず、色が変化するだけ。色の変化でも模擬試験では検知しました。
PC上にエクセルのセルを利用して模擬LEDランプを作成。
ボタンにマクロを適用してボタン一つで色が変化するようにします。

PC液晶画面上の赤と緑は色はもちろん色相もくっきり変化しますので検知できたものと思います。が・・・・・LEDランプは違っていました。
見た目は赤色⇔緑色に変化しますが相当に感度を上げても感知しないのです。
素人判断ではどうも彩度・明度はほぼ変化なし、色相も検知できるほどはっきり変化しないのではないか?と考えました。


▲カメラとLEDランプです。画像は多少加工してありますので現物のイメージをイメージしてみて?下さい。
  色は違っても何だかぼんやり変化しているのが判りますか?
  PC液晶画面の変化とは明らかに違います。


そこで大きく色が変化するにはどうすればいいか?・・・・・出た結論はフィルターをかけてみては?
そうです。緑色に緑色の半透明のセロファンみたいなフィルターをかければ赤になった時、光を通さずに黒になるのでは?という発想。
これが見事に的中しました。

しかしながらランプ全体に緑色のフィルター(逆に赤色フィルターでも可)をかけると反対の色になった時、人間も色の識別ができないのです。
ま、緑色が見えていて黒になったら赤だ!ってやってもいいのですがそれはちょっといただけない。

考えた挙句、ランプの一部にフィルターをかけること。これは大成功。LiveCapture3も識別してくれるし、人間もどちらが点灯しているか確実に認識できます。

▲イメージはこんな感じです。赤色になった時にランプの一部が黒っぽくなります。この差をLiveCapture3は確実に検知してくれます。

余談ですが、このフィルターに使用した緑色の半透明のビニールは何と・・・ゴミ袋。最高のフィルターでした。

▼ちなみにこちらが検知に関する設定画面です。下の図は真っ黒ですがこの部分にはカメラの映像があります。

検知範囲は画面全体に対して検知することがデフォルトで赤い矩形の枠部分に絞って設定することができます。
しかしながら「画素値差分検出」とか「画像創刊判定」とか言われてもニュアンスは判りますが理解できる限度を超えています。
せいぜい「感度」を変えることが精いっぱいでした。



最後に・・・・
このLiveCapture3はうまく利用すれば家庭でセキュリティにも利用できるかも知れません。
ただこの手の動体感知→メールで通知という手順はよほどうまく撮影対象と検知の設定をしないととんでもない数のメールを送受信することになります。
自分で自分をサイバー攻撃しているような・・・・。

誤動作や不用動作した場合にはすぐに停止できるようにしておいて下さい。
他社の個人向けネットワークカメラでさんざんな目にあった経験者ですので。

                                                End of files・・・・good luck!







→このページのTOPに戻る