OS/Arduino

Wemos D1 WIFI 보드로 DHT11(KY-015) 온습도 센서를 사용해서 웹으로 표시

파란크리스마스 2023. 8. 19. 17:29
728x90

출처

소스

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <DHT.h>

const char *ssid = "iptime";
const char *password = "password";
IPAddress ip(192, 168, 0, 122); // 임시 IP 주소 설정
IPAddress gateway(192, 168, 0, 1);
IPAddress subnet(255, 255, 255, 0);
#define DHTPIN 4          // DHT 센서의 핀 번호
#define DHTTYPE DHT11     // DHT11 센서 사용

DHT dht(DHTPIN, DHTTYPE);

ESP8266WebServer server(80);

void setup() {
  Serial.begin(921600);
  delay(10);

  dht.begin();
  WiFi.config(ip, gateway, subnet); // 임시 IP 설정
 
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.print("IP address: ");
    Serial.println(WiFi.localIP()); // WiFi의 로컬 IP 주소 출력
    Serial.println("Connecting to WiFi...");
  }
  
  Serial.println("Connected to WiFi");
 
  server.on("/", handleRoot);
  server.begin();
}

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

void handleRoot() {
  float temperature = dht.readTemperature(); // 온도 값을 읽음

  String html = "<html><body>";
  html += "<h1>web server</h1>";
  html += "<p>now temp: " + String(temperature) + "C</p>";
  html += "</body></html>";

  server.send(200, "text/html", html); // 클라이언트에 응답 전송
}