📅  最后修改于: 2023-12-03 15:41:02.924000             🧑  作者: Mango
WITTY ESP8266是一个基于ESP8266芯片的开发板,可用于开发智能家居,物联网等项目。本项目是一个示例项目,旨在介绍如何使用WITTY ESP8266开发一个简单的智能家居设备。
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <DHT.h>
const char* ssid = "your-ssid";
const char* password = "your-password";
ESP8266WebServer server(80);
#define DHTPIN 2 // DHT温湿度传感器连接的引脚
#define DHTTYPE DHT22 // DHT传感器类型为DHT22
DHT dht(DHTPIN, DHTTYPE); // 实例化DHT对象
void handleRoot() {
float h = dht.readHumidity(); // 读取湿度值
float t = dht.readTemperature(); // 读取温度值
String html = "<html><body>";
html += "<h1>温湿度传感器</h1>";
html += "<p>湿度: " + String(h) + "%</p>";
html += "<p>温度: " + String(t) + "℃</p>";
html += "</body></html>";
server.send(200, "text/html", html); // 发送Web响应
}
void setup() {
Serial.begin(115200); // 开始串口
dht.begin(); // 初始化DHT传感器
// 连接WiFi网络
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
// 启动Web服务器
server.on("/", handleRoot);
server.begin();
Serial.println("Web server started");
}
void loop() {
server.handleClient(); // 处理Web请求
static unsigned long lastReadTime = 0;
unsigned long currentTime = millis();
if (currentTime - lastReadTime >= 2000) { // 每两秒读取一次传感器数据
lastReadTime = currentTime;
float h = dht.readHumidity(); // 读取湿度值
float t = dht.readTemperature(); // 读取温度值
Serial.print("Humidity: ");
Serial.print(h);
Serial.print("% Temperature: ");
Serial.print(t);
Serial.println("C");
}
}
本示例项目介绍了如何使用WITTY ESP8266开发一个简单的智能家居设备,主要涉及WiFi网络、Web服务器、温湿度传感器等方面。本项目旨在帮助初学者快速上手ESP8266开发。