2022年2月26日土曜日

ESP32のdeep sleepは寝起きが悪い

技適品に換装したESP32-CAMと焦電センサを使ってLINEに通知する防犯カメラですが、色々とスケッチをいじって遊んでいます。

大まかな流れは、普段はdeep sleepしていて、焦電センサが人を検知したタイミングでwake upして、写真撮影し、micrSDに保存、LINE notifyへの送信するというものです。LINE notifyへの画像送付は、頻度に制限があるようなので90秒待ってからdeep sleepします。これで次にセンサが検知したら再びwake upして同じ処理を行います。

なお、90秒待つ間にもセンサが検知したら写真を撮影してmicroSDへ保存します。こちらは最短1秒毎にして、センサの前に人がいれば連続して撮影されます。

数日家の中に置いて試行運用してみましたが、どうもLINEに送られてくる写真に人物が映りません。microSDには人が映ったものも残っています。

ESP32のdeep sleep & wake upは、resetしたのと同じようにESP32の起動から動くのでアプリ処理が動くまで結構タイムラグがあるようです。

millis()関数を使い、トリガがかかってからsetup処理が始まる時間と、カメラの設定を行って撮影するまでの時間を調べてみました。

setupが動くまでに0.8秒程かかっており、さらにカメラの設定などを行い撮影するまでに約0.7秒必要で、実際の撮影はセンサが検知してから1.5秒後になっている模様。これでは、シャッタチャンスを逃しますね。なお、Serial.printでモニタしているので、その処理にも若干時間がかかっているとは思います。

ということで、deep sleepはやめて、light sleepにしようと思っています。deep sleepならバッテリ運用も可能かと思っていましたがちょっと無理そうです。

なお、LINE notifyへ写真を送るスケッチはgithhubの以下を流用さてせ頂いています。

https://github.com/fustyles/Arduino/tree/master/ESP32-CAM_Linenotify

※そのままビルドするとおねえさんの写真が送られてくる(URLが書かれている)ので注意。

0 件のコメント:

コメントを投稿