【続報】
前回の検証で「ESP-NOWはRFをスリープできないから実はWi-Fiより電力を喰う」という意外な盲点が見つかりました。 「じゃあ、専用のWi-Fiドングルを作ってModem-sleepの間隔をこっちでコントロールすればいいのでは?」と思い立ち、さっそく実験!
ドングル側のビーコン間隔を300ms(通常のルーターは100ms固定)に広げてみたところ、0 TPS時の静止平均電流が49mAから20〜25mAまで一気に半減。
さらにトラッカーを静止状態で放置してみたら、14時間経ってもバッテリーがまだ70%(1.37V → 1.248V)も残っていました!もともとの自作トラッカーだと14時間でバッテリー切れ(0%)になっていたので、この差は本当に絶大です…。
100 TPSで激しく動く時はそれなりに電力を喰いますが、VR睡眠や立ち話など (低TPSの状態) でのバッテリー持ちが大幅に強化されました。動いた瞬間だけ自動でRFがウェイクアップしてデータを飛ばすので、理論上は遅延もほぼないはず。
テストを重ねて安定性が確認できたら、後日オープンソースにする予定です。ドングルのコード自体はそこまで複雑ではないので、待ちきれない方はぜひ一緒に作ってテストしてみてください!
【続報】
PPK2でトラッカーの電流ログをチェックしてみました!
・Wi-Fi版:0 TPS 約49mA / 100 TPS 約106mA
・ESP-NOW版:0 TPS 約96mA / 100 TPS 約104mA
データ送信のない0 TPS状態だと、ESP-NOW版はWi-Fi版の(ほぼ2倍)となる約96mAもひっそりと電気を喰っていました。これにはビックリ…!
原因を調べてみたら、どうやらWi-Fi版はデータ送信がない時に自動で Modem-sleep が入るのに対し、ESP-NOW にはそういった自動スリープ機能がなくて常にON状態になってしまうのが理由みたいです。
ちなみに、自作トラッカーの昇圧IC TPS61021A のシャットダウン電流も気になって測ってみたら、約 1.17μA でした。
これって理論上、エネループを入れっぱなしで放置しても、電池自体の自己放電より遥かに消費が少ないってことですよね…? ということは、実質入れっぱなしでも全然安全なのかな。
#slimeVR