ESP8266搭建web服务器

时间:2022-07-22
本文章向大家介绍ESP8266搭建web服务器,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

上篇文章我们详细介绍了如何用esp8266来设置wifi,今天我们来了解下如何用esp8266搭建一个web服务器,搭建的web服务器如果要与其他设备通讯,那么esp8266必须与其他设备在同一个局域网内,这里我们使用esp8266的终端模式,将其连入附近的wifi,那么同一wifi下的设备就能访问到esp8266的服务器了。

esp8266搭建服务器需要使用ESP8266WebServer,具体如何使用呢?看如下代码:

#include <ESP8266WiFi.h>        
#include <ESP8266WiFiMulti.h>   
#include <ESP8266WebServer.h>   
 
ESP8266WiFiMulti wifiMulti;     

ESP8266WebServer esp8266_server(80);
 
void setup(void){
  Serial.begin(9600);          
  wifiMulti.addAP("wifi1", "12345678");  
  wifiMulti.addAP("wifi2", "87654321"); 
  wifiMulti.addAP("wifi3", "13572468"); 
                                                                                
  while (wifiMulti.run() != WL_CONNECTED) {  
    delay(100);                                
  }                                         
                                            
  Serial.println(WiFi.localIP());           
  
//--------"启动网络服务功能"程序部分开始-------- //  
  esp8266_server.begin();                   
  esp8266_server.on("/", handleRoot);       
  esp8266_server.onNotFound(handleNotFound);        
//--------"启动网络服务功能"程序部分结束--------
  Serial.println("HTTP esp8266_server started");//  告知用户ESP8266网络服务功能已经启动
}
  
void loop(void){
  esp8266_server.handleClient(); 
}
                                                                          
void handleRoot() {  
  esp8266_server.send(200, "text/plain", "Hello from ESP8266");   
}
 
void handleNotFound(){                                        
  esp8266_server.send(404, "text/plain", "404: Not found");   
}

代码主要分为两大部分,一部分为链接wifi,一部分为建立web服务器,链接wifi部分大家可以去看这篇文章,我们这里主要讲解如何建立服务器。步骤如下:

1、引入ESP8266WebServer库。

2、利用ESP8266WebServer实例化一个esp8266_server对象,同时传入参数80,代表服务器监听80端口。

3、调用esp8266_server.begin(),开启服务器。

4、调用esp8266_server.on("/", handleRoot),分发请求,此处的handleRoot是一个函数,负责处理请求的函数。

5、esp8266_server.onNotFound(handleNotFound),分发404请求,handleNotFound是一个函数,负责处理404。

6、定义handleRoot和handleNotFound函数的具体功能。

我们看到用esp8266搭建一个web服务器与使用其他开发环境搭建web服务器基本没有多大区别,基本套路都差不太多,通常都是实例化一个webserver对象,监听端口,分发路由,定义路由函数等等。

以上便是用esp8266搭建一个简易的web服务器,希望对你有所帮助。

我是挥刀北上,下期再见。