終夜テスト
アナログ電波時計の針が夜更けに勝手にくるくる回る怪現象が起こっているとの報告。
原因を探る前にまずは現象を把握するためのデータを揃えたいのですが夜中は寝てる。ESP32-CAMのカメラで動体検知してMQTTデータを送信。可視化ツールでグラフ化して何時ごろに動きがあるのか/動く条件はあるのか探る仕組みを作ります。
システム構成
・動体検知カメラ ・・・ ESP32-CAM
・データ可視化用 MQTTクライアントアプリ ・・・ MQTT Explorer
・MQTT ブローカーサービス ・・・ mqtt.eclipseprojects.io または test.mosquitto.org
動体検知カメラ
まずは、以下の記事に従ってデバイスを準備した後、MQTT送信の設定を追加します
【デバイス準備】
【MQTT送信の設定】
ESP32-CAM内のWebサーバに入ります。ここで設定していきます
configuration -> MQTT で、 MQTT parametersに以下の項目を設定してSaveします
・Host ・・・ MQTTブローカーを指定 例: mqtt.eclipseprojects.io
・Topic ・・・ 可視化ツールで絞込むための文字列 例: motionsens_%06X
以上で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ブローカーを指定すれば完了です
・Host ・・・ MQTTブローカーを指定 例: mqtt.eclipseprojects.io
自分のMQTTデータを検索
topicはSENSOR2を選んで、Valueに表示されているデータ名: Detect の ~マーク を押せばグラフが出ます
動作確認
ESP32-CAMは、2秒間隔でカメラの画像をチェックして動くものを検出します。検出データは10分毎に集計してMQTTでpublishします。
http://<ESP32-CAMのipアドレス>:81/diff.mjpeg で画像の変化点を確認できます。
【時計の長針が動くものとして検出されている例】
時計がぐるぐる回っている時間帯はグラフのDetectが0ではなくなる。日中電波が途切れている/いない等、いろいろバリエーションを試して電波受信時間帯の絞り込みや動作の把握をしようと思う。
23:00、1:00に受信。大きく針が動くのは時計を戻す場合です
昼夜問わず2時間毎に電波受信し時刻補正する模様です
終了
参考
【WEBCAM_V2】 = https://github.com/btsimonh/TasmotaBerryPLay/blob/master/tasdocs/esp32cam.md
【Tasmota】 = https://tasmota.github.io/docs/