« ロンドン出張(その3) | トップページ | ジャパン・ビジット・プログラムは成功しているの? »

2016.10.23

Dive ESP8266 to Deep Sleep Mode

Free_dive_3shadow


ESP8266の醍醐味は消費電力削減のためのDepp Dive Mode。
というけれど、なかなか手をつけれらず、今日にいたっていました。
雑誌トランジスタ技術2016年9月号でESP8266の特集をやってくれたのを契機に、今日、トライしてみることにしました。


変更点は、以下の点。
1.物理層
1)ESP8266のIO16とRSTを接続し20kΩ抵抗でPull Up
ESP8266側のRTCからRESTがかかり、それをトリガーにESP8266が再起動する仕様だそうです。

2.ソースコード
(1)ESP8266の拡張ライブラリを利用するためのinclude文の追加
extern "C" {
#include "user_interface.h"
}
(2)Sleep時間の設定
#define SLEEP_P 290*1000000
Deep Sleepから復帰する時間を290秒(約5分)と指定。
(3)DeepDiveModeへの移行
ESP.deepSleep(SLEEP_P,WAKE_RF_DEFAULT);
このコマンドでESP8266はDeep Sleepモードに突入します。
WAKE_RF_DEFAULTを指定することで、WiFi接続が引き継がれます。
(4)現実との折り合いをつける
 ソースコード上、いろんなものと物理的なタイミングをとるためにdelay()をあっちこっちに挿入。これが物理界とのコミュニケーションを成功させる極意のようです。

おっと、ソースコードをuploadするのに失敗するようになってしまいました。RESTをpull upしてしまったために、USB経由でソースコードのアップロードに失敗したようです。pull upを外し、upload成功。

走行開始。順調に5分単位にESP8266がデータ送信を実行しています。さて、Panaonic製携帯用バッテリーを接続しランニングテスト開始です。これまでは、一日ともちませんでしたが、さて、何日持ちますが。


|

« ロンドン出張(その3) | トップページ | ジャパン・ビジット・プログラムは成功しているの? »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/3769/64388198

この記事へのトラックバック一覧です: Dive ESP8266 to Deep Sleep Mode:

« ロンドン出張(その3) | トップページ | ジャパン・ビジット・プログラムは成功しているの? »