Arduinoで作ろう(42) WeMos D1で温度・湿度・気圧のWebサーバ
WeMos D1 (ESP8266)に温度・湿度・気圧センサBME280をI2C接続して,Webサーバにしてみました。
SDOはVDDにつないでI2Cアドレスを0x77にします。SparkFunBME280ライブラリのデフォルトのI2Cアドレスが0x77なのでね。
スケッチは前回とほとんど同じですな(^^;)
// 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と連携させてみます。
| 固定リンク | 0
「Arduino」カテゴリの記事
- 大型7セグLEDを4個使った表示装置(2022.01.23)
- Arduinoで作ろう(61) Digisparkで7セグLED温度計(2022.01.16)
- Arduinoで作ろう(60) Digisparkでデジタル時計(2022.01.10)
- Arduinoで作ろう(59) DigisparkのP5を使えるようにした(2022.01.08)
- Arduinoで作ろう(58) DigisparkとLM35で温度計(2022.01.02)
「ESP8266 , ESP32」カテゴリの記事
- Arduinoで作ろう(51) パルスオキシメータ(2020.05.01)
- Arduinoで作ろう(50) 温度・湿度・気圧データをBlynkで見てみる(2020.04.27)
- Arduinoで作ろう(49) BLEでリモートLチカ(2020.04.25)
- Arduinoで作ろう(48) GPSのデータをAmbientに投げる(2020.04.22)
- Arduinoで作ろう(47) GPSモジュールで現在地の緯度・経度を取得(2020.04.18)