温湿度センサー(DHT11) のアウトプットをBlynkアプリに表示(ESP -> Blynk)

目的

目次

温湿度を取得して、Blynkにデータを送るコードをコピー

  1. 以下のコードをコピーします。
#define BLYNK_PRINT Serial    // Blynkライブラリーのデバッグ情報出力先を指定
#define BLYNK_DEBUG           // Blynkデバッグ情報を出力
#include <BlynkSimpleEsp32.h> // BlynkSimpleEsp32.h をインクルード
#include <DHT.h>              // DHT.h をインクルード
#define BLYNK_PRINT Serial    // Blynkライブラリーのデバッグ情報出力先を指定
#define DHTPIN 22             // DHTセンサーアウトプットピンの指定
#define DHTTYPE DHT11         // DHT型の指定
DHT dht(DHTPIN, DHTTYPE);     // DHTセンサーライブラリーを使うための設定

/***************************************/
/*** ここから 環境によって書き換える ***/
/***************************************/

//WiFi接続情報
const char* ssid     =  "<YOUR_SSID>";
const char* password =  "<YOUR_PASSWORD>";
//Blynk接続情報
const char* auth = "<YOUR_AUTH>";

void setup() {
    Serial.begin(115200);  //シリアル通信の速度を指定

    dht.begin(); //  DHT11の初期化

    // auth, ssid, pass を指定してBlynkの初期化
    Blynk.begin(auth, ssid, password);
}

void loop() {
    Blynk.run(); //  Blynkの起動
        
    float temperature = dht.readTemperature(); // 温度読み取り
    float humidity = dht.readHumidity();   // 湿度読み取り
      
    // 読み取りに失敗しているかチェック
    // 失敗している場合はもう一度、温湿度の読み取りをする
    if (isnan(temperature) || isnan(humidity)) {
       Serial.println("Failed to read from DHT sensor!");
       return;
    }
    
    //シリアルモニターに表示
    Serial.print("湿度: ");
    Serial.print(humidity);
    Serial.print(" *C\t");
    Serial.print("温度: ");
    Serial.print(temperature);
    Serial.println(" % ");
    
    // V0 ピンに対して温度の値を送信
    Blynk.virtualWrite(V0, temperature);
    
    // V1 ピンに対して湿度の値を送信
    Blynk.virtualWrite(V1, humidity);
    delay(2000);// 2秒間待つ
}

スケッチにコピーしたコードを張り付ける

  1. 以下の内容を全て削除します。

  2. 上記でコピーしたコードを張り付けます。

  3. 張り付けた結果、以下のようになっていることを確認します。

  4. ファイル から 名前をつけて保存 をクリックします。

  5. ファイル名temperature_humidity_blynk と入力します。保存 をクリックします。

  6. 保存しました。 と表示されることを確認します。

wifiの接続情報の設定

  1. WiFi の ssidpassword を入力します。

Blynkの接続情報の設定

  1. 先ほどコピーした Blynk の Auth Token を貼り付けます。

コピーしたコードを検証-ビルド

  1. 検証(ビルド) をクリックし が表示される事を確認します。

ボードの選択

  1. ツール -> ボードNodeMCU-32S が選択されていることを確認します。

シリアルポートの選択

  1. ツール -> シリアルポートCOMx(xには1や2や3が入る) が選択されていることを確認します。

コピーしたコードをマイコンボードに書き込む-アップロード

  1. マイコンボードに書き込む をクリックし が表示される事を確認します。

結果をシリアルモニターに表示

  1. シリアルモニタ をクリックします。

  2. 以下のように温度、湿度が表示される事を確認します。

結果をBlynkアプリに表示

  1. スマホ側で Blynk アプリ を開きます。

  2. 以下の画面が表示される事を確認し赤枠内をタップします。

  3. Value Display ウィジェットを選択します。

  4. Value Display が表示されますのでタップします。

  5. PIN をタップします。

  6. VirtualV0 を選択して、OK をタップします。

  7. INPUTV0 になっている事を確認して、OK をタップします。

  8. ▷PLAY をタップします。

    1. ESP32 が接続されていない場合は、 temperature_humidity is not connected が表示されます。をタップします。

    2. 以下のように Not connected が表示されたら ESP32 が Blynkサーバーに接続されていませんので、WiFi接続情報Blynk接続情報 が合っているかもう一度確認してください。

  9. 以下のように温度が表示されることを確認します。

  10. 今度は上記と同じやり方でV1ピンに湿度を表示させてください。

    1. 以下のように温度と湿度が表示されれば成功です。