カテゴリー
ESP8266+ESP32+RISC-V

M5Camera専用バッテリ+Deep Sleepで長時間動作 第2章 雲の動きを観測する定点カメラ

前章では、バッテリ搭載M5Cameraのディープ・スリープ(Deep Sleep)を使用することで、バッテリ動作時間を約5倍まで伸ばすことが出来ました。
しかし、カメラ内蔵のカラーバランス機能や露出調整機能が動作すると、撮影のたびに色味や明るさが変動してしまいます。
本章では、マニュアル設定による長時間撮影を行う方法について説明します。

日中の雲の動きを観測する定点カメラ映像

下記の映像は、日中の約12時間分の雲の動きを撮影したものです。 フェードイン/フェードアウトは、映像編集ではありません。日の出と日没によるものです。

映像は、ちょうど日中の約12時間分の雲の動きを撮影したもの。 フェードイン/フェードアウトは、映像編集ではなく、日の出と日没によるもの

カメラM5Cameraの製作方法

前章のM5Cameraを使用します。未製作の場合は、下記を参照してください。

M5Camera専用のバッテリをM5Cameraの裏側に取り付けることで、電源のワイヤレス化が図れる。プログラム(スケッチ)は、下記からダウンロードすることが出来る
スケッチのダウンロード:
https://github.com/bokunimowakaru/m5camera/archive/master.zip

事前のM5Camera設定と、事前確認

Arduino IDEでファームウェアを書き込む前に、CameraWebServer.inoを開き、使用する無線LANアクセスポイントのSSIDとパスワードを#define WIFI_SSIDとWIFI_PASSWDに設定し、またディープスリープ時間を#define SLEEP_P 15*1000000ulに設定してください。

ディープスリープ時間はマイクロ秒単位です。15*1000000ulで15秒、50*1000000ulで50秒になります。大きい方がバッテリが長持ちしますが、撮影枚数が減ってしまいます。12時間分の映像であれば、15秒~50秒くらいに設定すれば良いでしょう。

また、事前にArduino IDEのシリアル・モニタに表示されるM5CameraのIPアドレスを確認しておいてください。下図では、192.168.1.6が表示されました。

事前にM5CameraのIPアドレスも確認しておく。上図の例では、Arduino IDEのシリアル・モニタに192.168.1.6が表示された(IPアドレスは環境によって異なるので、必ず確認しておく)

マニュアル(手動)調整設定の要否

冒頭に記したように、カメラ内蔵のカラーバランス機能や露出調整機能が動作すると、撮影中の環境の変化で、色味や明るさが変動することがあります。
動画にしたときに変動が気になる場合や、空の明るさから雲の厚さや天候状態を観測したい場合は、マニュアル(手動)調整に設定した方が良いでしょう。また、自動調整機能をOFFにすることで、調整のための待ち時間が減り、バッテリの持続時間が長くなる効果もあります。

自動調整機能ON(自動)OFF(マニュアル)
色味や明るさ撮影環境によって変化する撮影環境による変化がない
被写体の鮮明さ自動的に鮮明化される撮影環境によって不鮮明になる
バッテリ持続時間調整待ち時間のため短くなるより長時間の撮影が可能
カメラ内蔵のカラーバランス機能や露出調整機能が動作すると、撮影中の環境の変化で、色味や明るさが変動することがあるが、マニュアル(手動)にすることで回避できる

M5Cameraの設定画面の表示方法

M5Cameraを起動し、Wi-Fi接続後20秒以内に、M5Cameraと同じLAN内のパソコン又はスマートフォンのインターネット・ブラウザからM5Cameraにアクセスすると設定画面が表示されます。
例えば、IPアドレスが192.168.1.6の場合、http://192.168.1.6/にアクセスしてください。
操作しない状態で、20秒以上経過するとLEDが消灯し、ディープ・スリープに入り、設定ができなくなります。本体側面のリセット・ボタンで再起動してください。

M5Cameraのマニュアル(手動)調整方法

下図の画面で、AWBホワイト、AWB自動調整、AEC自動調整、AGC自動調整、人感センサ、UDP送信をOFFに設定し、「写真撮影」または「ビデオ撮影」で、画像を確認しながら、手動露出調整などを調整し、調整が完了したら右下の「設定保存」ボタンをクリックしてください。

この画面で、AWBホワイト、AWB自動調整、AEC自動調整、AGC自動調整、人感センサ、UDP送信をOFFに設定し、「写真撮影」または「ビデオ撮影」で、画像を確認しながら、手動露出調整などを調整し、右下の「設定保存」ボタンをクリックする

設定を保存すると、再設定するか、Arduino IDEでプログラムを書き換えるまで、(電源を切ったりリセットを行っても)設定が保持されます。

なお、必ずしも全ての項目をマニュアル(手動)にする必要はありません。多少、色や明るさが変動しても、その都度、最適化した方が綺麗な映像に仕上がるからです。

by bokunimo.net

前回の記事はこちら

余談

ノイズだと思ったら、鳥だった。

「M5Camera専用バッテリ+Deep Sleepで長時間動作 第2章 雲の動きを観測する定点カメラ」への13件の返信

「TimerCamですが、すぐには取り掛かれそうにないので」とのこと。
お気にかけていただきほんとうにありがとうございます。
それまでの間、ESP32などあちこち寄り道しながら、少しずつ進んでいきたいと思います。
こんごともよろしくお願いします。

ありがとうございます。電源管理の方法が他のM5Cameraと異なるとのことですね。
なんどもinoファイルを書き込んだり接続をやり直したりしていると、うまくいくこともありました。安定的に動作させられなかったのはそれが原因かもしれません。でもおかげさまでだいぶん、うまく使えるようになりました。専用のスリープモードというのも試してみようと思います。国野さまも「そのうち試してみる」とのことですので、時々このページをのぞいてみます。
きのう「超特急Web接続!ESPマイコン・・・」の本を購入しました。これも参考にいろいろ試してみたいと思います。ESPマイコンはIoTへの展開がしやすくて今ドキ向きですね。マイコンはPICから始めて、AVR、ラズパイ、アルデュイーノ、M5Stackといろいろかじっているのですが、どれもLチカのちょっと先ぐらいまでで、なかなかその先へ進めません。このうえまたESPへと手を伸ばすのはいかがなものかと自問しています。でも、ラズパイやアルデュイーノの知識がないといきなりESPは難しそうだから、まあそれも無駄ではなかったのかと。興味の向くままに進みたいと思います。こんどこそ奥を極めたいと思いながら。国野さまのサイトはとても参考になりそうです。こんごともよろしくお願いします。

書籍の方、購入していただき、どうもありがとうございました。
多くのサンプルプログラムを収録しているので、簡単なものと興味のあるものの2つの方向で試していただければ幸いです。
ESP32用は、サンプル番号に32を足したものになります。P224に一覧表があります。
上手く活用して頂ければと思います。
TimerCamは、忘れないよう、とりあえず作業机に出しておきました。
対策後、返信させていただきます。

「時々このページをのぞいてみます」とのコメントが気になり、調べてみると、コメントに返信しても通知メールが発信されないことを知りました。
TimerCamですが、すぐには取り掛かれそうにないので、対策後、登録していただいているメールアドレスに連絡させていただきます。
あと、コメント返信の自動通知機能の追加も検討しておきます。
ご不便をおかけします。

おかげさまでかなり前進しました。
ラズパイはしばらく使っていなかったのですが、引っ張り出してきてiot-cam_serv.shを導入し試行錯誤の末、撮影した静止画を1分ごとに保存できるようになりました。私としては画期的な進歩です。素晴らしいことです。ありがとうございます。ただTimerCameraはUSBでパソコンに接続したままで、USBを抜くと静止画が送られなくなります。WiFiのSSIDやパスワードは設定してあるのですが、原因がわかりません。スマホからは192.168.–へのアクセスで画像が見られるのですが。とうことで、まだワイヤレスとしてのカメラは使えていない状況です。あともう少しというところで、とどまっています。もし何かアドバイスがいただけるようでしたら幸いです。よろしくお願いします。

前進したとのこと良かったです。
バッテリー動作しない件ですが、カメラ内部の電源制御ICの設定かもしれないです。あるいはバッテリーの故障や劣化かもしれないです。
当方が作成したスケッチ以外でバッテリー動作が出来るかどうか、試されたでしょうか?

TimerCameraの場合、電源管理の方法が他のM5Cameraと異なるようです。
以下のサンプルを使用し、専用のスリープモード(ハードウェアでスリープの解除を行う)を行う必要があります。

https://github.com/m5stack/TimerCam-arduino/tree/master/examples/wakeup

少し手間がかかりますね。私も興味があるので、そのうち試してみると思います。もし、お急ぎなら、またお知らせください。

さっそくのご教授ありがとうございます。
Timer Camera F とTimer Camera Xで
ESP CameraWebServer forked by bokunimo.netが動作し、fttp://192.168—–で静止画が見られるようになりました。日本語で設定できる画面がいいですね。
この静止画を複数枚サーバーなどに保管してタイムラプス動画にするには、どうすればよいのかまだわからないところがありますが、頑張ってみます。
国野さまはマイコン関係でいろいろ本を書かれておられる方だったのですね。書店でお見かけした書籍もありました。それほどまでにご活躍の方だとは知らず、軽い気持ちで質問してしまい失礼いたしました。丁寧で迅速なご対応いただきありがとうございます。これからもお世話になります。

良かったです。また、お返事をいただけて、嬉しいです。
動画にする方法は公開しておりませんが、スクリプトを公開していますので、下記を参考にしていただければと思います。
https://github.com/bokunimowakaru/m5camera/blob/master/tools/jpegs2mp4.sh

変換エンジンにはffmpegというソフトを使っています。上記のスクリプトは、ffmpegが写真の撮影時刻通りに処理できるようにファイル名の一時ファイルとショートカットを作成するためのものです。終わりの方にあるffmpegで、変換を実行します。
スクリプトを作成したのは、毎日、自動で動画に変換し、DLNAを使ってテレビで見れるようにしたかったからです。保存先のパスについては、変更してから使用してみてください。
どちらかといえば、頻繁に変換したい場合の方法です。目的が数回だけの変換なら、他の方法を探した方が早いかもしれません。
一つの方法としてご覧いただければと思います。

素晴らしい作品ですね。
実はバッテリー内蔵のものと思って、TIMER CAMERA Fを購入したところ、これは使えないようです。#define のカメラモデルの設定を変更すれば対応できるのかと思ったのですが、簡単にはいかないようです。もし良い方法があればご教授くださいませ。よろしくお願いします。
今回、検索していたこのサイトを見つけました。たいへん興味深いものが多く、これから順次拝見していきたいと思います。ちょうど興味の対象が重なると言いましょうか。試してみたい内容が数多くあります。

当方のサイトに興味をもっていただき、ありがとうございます。
お持ちの機器では動作確認していないのですが、TIMER CAMERA Xで動作確認を行っています。
既に試されたかもしれませんが、CameraWebServer.inoを以下のように変更すれば動作するかもしれないです。

変更前:#define CAMERA_MODEL_M5STACK_V2_PSRAM
変更後:#define CAMERA_MODEL_M5STACK_TimerCAM

このとき、変更前の定義は必ず消していただくかコメント化してください。
また、他の記事にも興味をいただけたとのこと。ぜひ試していただき、活用していただければ幸いです。
今後ともよろしくお願いします。

コメントは受け付けていません。

 - 
Chinese (Simplified)
 - 
zh-CN
Chinese (Traditional)
 - 
zh-TW
English
 - 
en
French
 - 
fr
German
 - 
de
Italian
 - 
it
Japanese
 - 
ja
Korean
 - 
ko
Russian
 - 
ru
Spanish
 - 
es