- 2017-2-11
- ESP-WROOM-02
- 2 comments
SP-WROOM-02開発ボードで防水型の温度センサーDS18B20を使い、Blynkで表示。
湿度の高い場所で気温の計測をしたいので、防水型のセンサーを利用します。
Arduino IDEのインストール
SP-WROOM-02開発ボードにスケッチを書き込むのはArduino IDEを利用します。
ESP-WROOM-02を使う「第1回」 Arduino IDEをインストールして、ESP-WROOM-2に書き込む準備まで
DS18B20を使用するためのArduino IDEのライブラリーは、以下のサイトからダウンロードしてインストールします。 https://github.com/ekstrand/ESP8266wifi https://github.com/blynkkk/blynk-library https://github.com/PaulStoffregen/OneWire https://github.com/milesburton/Arduino-Temperature-Control-Library https://github.com/PaulStoffregen/Time https://github.com/jfturcot/SimpleTimer
スマホアプリBlynkの設定
Blynkバーチャルピンの設定は"V4"に設定します。
配線
抵抗は4.7kΩです。
SP-WROOM-02開発ボードに書き込むスケッチは以下の通り。
この記事を書いている段階で、日本語サイトでESP-WROOM-02開発ボードでDS18B20を使い
Blynkで表示させるコードの例を探し出すことが出来なかったので、海外のサイトを参考にしました。
英語サイトのコードだと気温は華氏での取得になっており、摂氏での取得コードを理解するところでハマりました。
#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(5000L, sendTemps); // Temperature sensor polling interval (5000L = 5 seconds) } void sendTemps() { sensors.requestTemperatures(); // Polls the sensors float tempBabyRoom = sensors.getTempCByIndex(0); // 温度センサーから摂氏気温を取得 Blynk.virtualWrite(4, tempBabyRoom); //BlynkアプリでV4ピンを指定する } void loop() { Blynk.run(); timer.run(); }
こちらを参考にさせて頂きました。
http://community.blynk.cc/t/solved-blynk-and-esp8266-ds18b20/5327/2
コメント
この記事へのトラックバックはありません。
早速やってみました。
書き込み時何度もエラーが出てしまい苦労しましたが
FLASH+RESETを押してから書き込むと無事できました。
ハウスの自動開閉や収穫ロボなどIOTは夢広がりますね。
ありがとうございます。
高橋さん初めまして。
ブログの記事が役に立ったようで良かったです。
スイッチを押さないと書き込む事が出来ない事もあるのですね。
このボードはいろいろ応用出来そうですので、楽しみが広がります。