- 2017-3-20
- ESP-WROOM-02
- 4 comments

ESP-WROOM-02開発ボードを単三電池3本で長期に運用するのが目的。
今回は温度センサーDS18B20を使用し、ESP-WROOM-02開発ボードの低消費電力モード「Deep-Sleep」モードを試してみた。
スマホでの温度表示はBlynkです。
配線図
IO16ピンをRST端子に接続しておくことがDeep-Sleepモードからの復帰のためには必要です。
Aruduino IDEでスケッチ書き込み時に16ピンとRSTが接続されているとエラーになるので、ジャンパーピン等を利用して書き込み時に外せる様にすると良いでしょう。
乾電池はVINに接続します。
44行目で設定した時間でDeep-Sleepモードから復帰します。
ESP.deepSleep(300 * 1000 * 1000 RF_DEFAULT);
↑赤字部分 今回は300秒で設定しました。
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <TimeLib.h>
#include <SimpleTimer.h>
#define ONE_WIRE_BUS 14 //温度センサーをESP-WROOM-02の14番ピンに接続
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
char auth[] = "fromBlynkApp"; //Blynkで生成されるAuth Token
SimpleTimer timer;
void setup()
{
Serial.begin(9600);
Blynk.begin(auth, "SSID", "Password"); //無線ルーターのSSIDとパスワード
sensors.begin();
timer.setInterval(10000L, sendTemps); // Temperature sensor polling interval (10000L = 10 seconds)
}
void sendTemps()
{
sensors.requestTemperatures(); // Polls the sensors
float tempBabyRoom = sensors.getTempCByIndex(0); // 温度センサーから摂氏気温を取得
Blynk.virtualWrite(4, tempBabyRoom); //BlynkアプリでV4ピンを指定する
ESP.deepSleep(300 * 1000 * 1000, RF_DEFAULT); //復帰までのタイマー時間設定
delay(1000);
}
void loop()
{
Blynk.run();
timer.run();
}
2017/3/18から運用始めたばかりで、まだどれだけ連続して使えるかは分かりません。
いつまで動き続けるか楽しみではあります。
コメント
この記事へのトラックバックはありません。










掲載からそれほど時間は経っていないようですが
バッテリーの持ちが気になりますがどのくらい持ちそうですか?
ESP-WROOM-02の消費電流について解説したページを見ると、そのページが投稿された時点で50日間動いているという事でしたので、2か月位は電池が持つのではないかと思っています。
いつも興味深い記事を楽しく見せてもらってます。
以前動画では、電源は乾電池が2本で、3Vでは足らないので、昇圧コンバーターで3.3Vにしてるとのことですが、今回は3本つかってますが、4.5Vになると思いますが降圧コンバータとかは、必要ないのですか?
森見さん、コメントありがとうございます。
ESP-WROO-02開発ボードは、6Vまで動作するので降圧しなくても使用できます。