ESP32 内置 WebServer 基础实践
ESP32 芯片集成了 Wi-Fi 功能,可以直接作为 HTTP 服务器向局域网内的设备提供服务。这对于物联网(IoT)项目非常实用,比如通过浏览器监控传感器数据或控制硬件状态。
同步与异步模型的选择
Arduino-ESP32 核心库提供了 WebServer.h,支持同步阻塞模式。这种模式下,服务器一次只能处理一个请求,必须等待当前请求完成才能响应下一个。适合资源受限、逻辑简单且无需高并发的场景。
如果项目涉及大流量、耗时操作(如文件 IO)、WebSocket 实时通信或多用户并发,则建议考虑异步方案。对于入门级或单用户控制的轻量应用,同步模型足够稳定且易于上手。
代码实现
下面是一个基于 STA 模式的完整示例,用于在连接 WiFi 后启动一个简单的静态页面服务。
#include <WiFi.h>
#include <WebServer.h>
const char* ssid = "Maker"; // 替换为你的 Wi-Fi 名称
const char* password = "12345678"; // 替换为你的 Wi-Fi 密码
WebServer server(80);
void setup() {
Serial.begin(115200);
delay(10);
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println();
Serial.println("WiFi connected.");
Serial.println("IP address: ");
Serial.(WiFi.());
server.(, handleRoot);
server.();
}
{
server.();
}
{
server.(, , ());
}
{
String htmlContent = ;
htmlContent += ;
htmlContent += ;
htmlContent += ;
htmlContent += ;
htmlContent += ;
htmlContent += ;
htmlContent += ;
htmlContent;
}


