前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ESP8266搭建web服务器

ESP8266搭建web服务器

原创
作者头像
挥刀北上
修改2020-07-27 10:54:52
4.5K0
修改2020-07-27 10:54:52
举报
文章被收录于专栏:Node.js开发Node.js开发

上篇文章我们详细介绍了如何用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服务器,希望对你有所帮助。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
物联网
腾讯连连是腾讯云物联网全新商业品牌,它涵盖一站式物联网平台 IoT Explorer,连连官方微信小程序和配套的小程序 SDK、插件和开源 App,并整合腾讯云内优势产品能力,如大数据、音视频、AI等。同时,它打通腾讯系 C 端内容资源,如QQ音乐、微信支付、微保、微众银行、医疗健康等生态应用入口。提供覆盖“云-管-边-端”的物联网基础设施,面向“消费物联”和 “产业物联”两大赛道提供全方位的物联网产品和解决方案,助力企业高效实现数字化转型。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档