使用ESP8266WebServer库写一个读取全局变量te和hu到网页上显示的程序
时间: 2024-09-26 10:11:33 浏览: 33
esp8266web.rar_esp8266 visual_esp8266 服务器_esp8266 webserver_es
ESP8266WebServer是一个基于ESP8266 Wi-Fi模块的轻量级Web服务器库,它允许你在嵌入式系统中创建简单的HTTP服务器,用于控制和数据传输。下面是一个基本的示例,说明如何使用该库将全局变量`te`(温度)和`hu`(湿度)读取并显示在一个HTML页面上:
```c++
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
// 全局变量存储温度和湿度
float te = 0;
float hu = 0;
// ESP8266Wi-Fi配置
const char* ssid = "your_SSID";
const char* password = "your_PASSWORD";
ESP8266WebServer server(80); // 创建一个默认监听80端口的服务器
void handleRoot() {
String html = "<html><head><title>Temperature and Humidity</title></head>"
"<body><h1>Temperature: %.2f°C</h1>" // %.2f保留两位小数
"<p>Humidity: %.2f%%</p></body></html>" // %.2f同样保留两位小数
"\n"; // 结尾添加换行符
server.send(200, "text/html", html.c_str(), html.length());
}
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
server.on("/", handleRoot); // 主页处理函数
}
void loop() {
server.handleClient(); // 处理网络请求
}
```
在这个程序中,`handleRoot`函数会在访问根URL("/")时被调用,动态生成包含当前`te`和`hu`值的HTML内容。当你连接到设备的Web界面时,你应该能看到实时更新的温度和湿度。
阅读全文