これらのファイルは,ESP32のDeepsleepからの復帰にかかる時間を計測するためのプログラムである.時間を測定するESP32(測定器)にboot.pyを実装し、測定されるESP32(被測定器)にmain.pyとespnow_helper.pyを実装する.これらのプログラムについて説明する.外部ウェイクアップを使用して,測定器がGPIO4をHighにすると,被測定器がDeepsleepから復帰する.復帰後,ネットワーク機能などの初期化を行い,それらが終了したらGPIO19をHighにして,復帰が完了したことを測定器に知らせる.測定器はGPIO4をHighにした時間から,GPIO19がHighになった時間までをDeepsleepの復帰にかかった時間としてcsvファイルに記録する.
測定器と被測定器のファイル構造は以下の通りである.
測定器/
└─boot.py
被測定器/
├─lib
| └─espnow_helper.py
└─boot.py
GPIO4をHighにした時間から、GPIO19がHighになった時間までを計測してwake_time.csvに記録する.GPIO19がHighになったときにGPIO4をLowに変更し,任意の時間が経過したあとに,再度GPIO2をHighにする.
外部ウェイクアップによりDeepsleepから復帰し任意の時間経過したあと,GPIO19をHighにして再度Deepsleepに入る.
ESPNOWのセットアップとデータの送受信を行う.今回はセットアップのみを使用する.
以下は測定器のターミナルの出力である。初期化シーケンスが一回だけ表示される。

以下は測定器のwake_time.csvに出力された復帰にかかった時間(ms)である.
以下は被測定器のターミナルの出力結果である.Deepsleepからの復帰を繰り返しているため,「ets Jun 8 2016 00:22:57」から始まる、初期化シーケンスが並んで表示されている.