You are here

ESP8266: Blynkで環境モニター

Blynkのお約束アプリとして、家などの温度や湿度を計測し、スマホでどこででも確認できるシステムを作成します。

ESP8266-LEAFに環境センサBME280を接続し、IoTデバイスを作成します。
下記のBlynkスケッチでの、計測結果のVirtual Pinへの割り当てを以下に示します。


  • V0: 温度
  • V1: 湿度
  • V2: 気圧
  • V3: 露点温度
  • V4: 明るさ

  • スマートフォンのBlynkアプリでは、[Value Display]や[Labeled Value]などを画面に配置し、上記のVirtual Pinのうち必要なものを割り当てると、温度等のモニタアプリができます。

    #define BLYNK_PRINT Serial
    
    #include <ESP8266WiFi.h>
    #include <BlynkSimpleEsp8266.h>
    
    #include <BME280I2C.h>
    #include <Wire.h>
    
    // BlynkのAuth Tokenを設定
    char auth[] = "YOURAPPAUTHTOKEN" ;
    
    char ssid[] = "YOURSSID" ;
    char pass[] = "YOURPASSWORD" ;
    
    BME280I2C bme;
    #define PRESSURE_HPA 1 // ヘクトパスカル
    
    void setup()
    {
      Serial.begin(115200) ;
    
      while (!bme.begin()) {
        delay(1000) ;
      }
    
      Blynk.begin(auth, ssid, pass) ;
    }
    
    BLYNK_READ(V0) 
    { 
      float temp ; // 温度
      temp = bme.temp(true) ; // 温度(摂氏)
      Blynk.virtualWrite(V0, temp);
    }
    
    BLYNK_READ(V1) 
    { 
      float hum ;  // 湿度
      hum = bme.hum() ;
      Blynk.virtualWrite(V1, hum) ;
    }
    
    BLYNK_READ(V2) 
    { 
      float press ; // 気圧
      press = bme.pres(PRESSURE_HPA) ; // 気圧(hPa)
      Blynk.virtualWrite(V2, press) ;
    }
    
    BLYNK_READ(V3) 
    { 
      float dew ;  // 露点
      dew = bme.dew(true) ; // 露点(摂氏)を取得
      Blynk.virtualWrite(V3, dew) ;
    }
    
    BLYNK_READ(V4) 
    { 
      int brightness = analogRead(A0) ;  // 明るさ
      Blynk.virtualWrite(V4, brightness) ;
    }
    
    void loop()
    {
      Blynk.run() ;
    }
    

    利用したパーツ



    開発ソフト: 
    チップファミリー: 
    MCUチップ: