写一个esp8266的web服务器
时间: 2024-04-21 16:03:40 浏览: 18
以下是使用ESP8266模块搭建Web服务器的简单示例代码:
```c
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
// Replace with your network credentials
const char* ssid = "your_SSID";
const char* password = "your_PASSWORD";
ESP8266WebServer server(80);
void handleRoot() {
server.send(200, "text/plain", "Hello from ESP8266!");
}
void handleNotFound(){
String message = "File Not Found\n\n";
message += "URI: ";
message += server.uri();
message += "\nMethod: ";
message += (server.method() == HTTP_GET)?"GET":"POST";
message += "\nArguments: ";
message += server.args();
message += "\n";
for (uint8_t i=0; i<server.args(); i++){
message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
}
server.send(404, "text/plain", message);
}
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);
server.onNotFound(handleNotFound);
server.begin();
Serial.println("HTTP server started");
}
void loop() {
server.handleClient();
}
```
在此示例中,我们使用ESP8266WebServer库来创建一个Web服务器。在setup()函数中,我们连接到WiFi网络并启动服务器。在handleRoot()函数中,我们定义了服务器的根路由,并用“Hello from ESP8266!”作为响应。在handleNotFound()函数中,我们定义了服务器的404路由,并在路由不存在时返回响应。
在loop()函数中,服务器将处理传入的客户端请求。
在使用此代码之前,请确保已在Arduino IDE中安装了ESP8266库。