🔻

動体検知カメラで行った終夜テストのMQTTデータを可視化する

に公開

終夜テスト

アナログ電波時計の針が夜更けに勝手にくるくる回る怪現象が起こっているとの報告。
原因を探る前にまずは現象を把握するためのデータを揃えたいのですが夜中は寝てる。ESP32-CAMのカメラで動体検知してMQTTデータを送信。可視化ツールでグラフ化して何時ごろに動きがあるのか/動く条件はあるのか探る仕組みを作ります。
aaaaaaaaaaa.jpg
IMG_8049.jpg

システム構成

・動体検知カメラ ・・・ ESP32-CAM
・データ可視化用 MQTTクライアントアプリ ・・・ MQTT Explorer
・MQTT ブローカーサービス ・・・ mqtt.eclipseprojects.io または test.mosquitto.org

動体検知カメラ

まずは、以下の記事に従ってデバイスを準備した後、MQTT送信の設定を追加します
【デバイス準備】

【MQTT送信の設定】
ESP32-CAM内のWebサーバに入ります。ここで設定していきます
motionsens03.png

configuration -> MQTT で、 MQTT parametersに以下の項目を設定してSaveします
・Host ・・・ MQTTブローカーを指定 例: mqtt.eclipseprojects.io
・Topic ・・・ 可視化ツールで絞込むための文字列 例: motionsens_%06X
mqtt_param.png

以上でMQTT送信の設定は完了です。
動体検知しMQTT送信すると以下のようなMQTログが出ます。

02:25:50.837 MQT: Attempting connection...
02:25:51.278 MQT: Connected
    :
02:25:55.882 MQT: tele/motionsens_A9A038/SENSOR = {"Time":"2024-12-22T02:25:55","CamMotion":{"Detect":0}}
02:30:00.090 MQT: tele/motionsens_A9A038/SENSOR2 = {"Time":"2024-12-22T02:30:00","CamMotion":{"Detect":0}}
02:40:00.090 MQT: tele/motionsens_A9A038/SENSOR2 = {"Time":"2024-12-22T02:40:00","CamMotion":{"Detect":25}}

MQTTクライアントアプリ

可視化するためのアプリは MQTT Explorerを使います。以下のサイトからダウンロードしてインストールしMQTTブローカーを指定すれば完了です

https://mqtt-explorer.com/

・Host ・・・ MQTTブローカーを指定 例: mqtt.eclipseprojects.io
mqttex01.png

自分のMQTTデータを検索
mqttex02.png
topicはSENSOR2を選んで、Valueに表示されているデータ名: Detect の ~マーク を押せばグラフが出ます
mqttex03.png

動作確認

ESP32-CAMは、2秒間隔でカメラの画像をチェックして動くものを検出します。検出データは10分毎に集計してMQTTでpublishします。

http://<ESP32-CAMのipアドレス>:81/diff.mjpeg で画像の変化点を確認できます。
【時計の長針が動くものとして検出されている例】
bbbbb.png

時計がぐるぐる回っている時間帯はグラフのDetectが0ではなくなる。日中電波が途切れている/いない等、いろいろバリエーションを試して電波受信時間帯の絞り込みや動作の把握をしようと思う。
zzzzzzz.png
23:00、1:00に受信。大きく針が動くのは時計を戻す場合です
2h-2.png
昼夜問わず2時間毎に電波受信し時刻補正する模様です

終了

参考

【WEBCAM_V2】 = https://github.com/btsimonh/TasmotaBerryPLay/blob/master/tasdocs/esp32cam.md
【Tasmota】 = https://tasmota.github.io/docs/

Discussion