« Arduinoで作ろう(41) WeMos D1で温度・湿度のWebサーバ | トップページ | Arduinoで作ろう(43) WeMos D1とAmbientの連携 »

2020年4月 4日 (土)

Arduinoで作ろう(42) WeMos D1で温度・湿度・気圧のWebサーバ

Wemos_d1_bme280_

 WeMos D1 (ESP8266)に温度・湿度・気圧センサBME280をI2C接続して,Webサーバにしてみました。
SDOはVDDにつないでI2Cアドレスを0x77にします。SparkFunBME280ライブラリのデフォルトのI2Cアドレスが0x77なのでね。

20200404

スケッチは前回とほとんど同じですな(^^;)

// WeMos D1(ESP8266) + BME280 による温度・湿度・気圧Webserver 

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <Wire.h>
#include "SparkFunBME280.h"
const char* ssid = "あなたの無線LANのSSID";
const char* password = "あなたのパスワード";
ESP8266WebServer server(80);
BME280 sensor;
float temp,humidity,pressure;
String webString="";

void setup(void){
  Serial.begin(9600);
  Wire.begin();
  sensor.beginI2C();
  WiFi.begin(ssid, password);
    while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
    }
  Serial.println("");
  Serial.print("Connected to ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());
  server.on("/", handle_root);
  server.begin();
  Serial.println("HTTP server started");
}

void loop(void){
  server.handleClient();
}

void getdata() {
  temp = sensor.readTempC() ;
  humidity = sensor.readFloatHumidity() ;
  pressure = sensor.readFloatPressure()/100 ;
}

void handle_root() {
  getdata();
  String message = "\
  <html>\n\
  <meta charset=\"utf-8\">\n\
  <body>\n\
  <h4>WeMos D1 (ESP8266)+BME280 Webserver</h4>\n\
  現在の気温は " + String((int)temp) + "℃です。<br>\
  現在の湿度は " + String((int)humidity) + "%です。<br>\
  現在の気圧は " + String((int)pressure) + "hPaです。\n\
  </body>\n\
  </html>\n";
  server.send(200, "text/html", message);
}

次回はこれをAmbientと連携させてみます。

20200401

  

| |

« Arduinoで作ろう(41) WeMos D1で温度・湿度のWebサーバ | トップページ | Arduinoで作ろう(43) WeMos D1とAmbientの連携 »

Arduino」カテゴリの記事

ESP8266 , ESP32」カテゴリの記事