首页 > 编程语言 >【花雕学编程】Arduino动手做(246)---ESP8266 NodeMCU V3 Web Server

【花雕学编程】Arduino动手做(246)---ESP8266 NodeMCU V3 Web Server

时间:2025-01-14 20:57:28浏览次数:3  
标签:动手做 Web HTTP ESP8266 WiFi 服务器 连接

在这里插入图片描述
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验二百四十六:ESP8266串口wifi模块 NodeMCU Lua V3物联网开发板 CH340

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
ESP8266 Web Server 简介

  1. 定义
    ESP8266 Web Server 是一个运行在 ESP8266 微控制器上的轻量级 HTTP 服务器。它允许 ESP8266 通过 Wi-Fi 接收来自客户端(如浏览器或移动应用)的 HTTP 请求,并返回相应的 HTTP 响应。这使得 ESP8266 可以作为物联网设备的控制中心,提供用户界面和数据交互功能。

  2. 核心功能
    网络连接:通过 Wi-Fi 连接到无线网络,支持多种加密方式(如 WPA2)。
    HTTP 请求处理:能够解析 HTTP GET 和 POST 请求,提取请求中的参数和数据。
    HTTP 响应生成:生成并发送 HTTP 响应,包括 HTML 页面、JSON 数据、图片等。
    路由管理:支持定义多个路由,每个路由对应一个特定的 URL 路径和处理函数。
    异步处理:支持异步处理请求,提高服务器的响应效率和并发处理能力。

  3. 应用场景
    智能家居控制:通过 Web 界面控制家中的智能设备,如灯光、温度控制器、窗帘等。
    数据监测:实时显示传感器数据,如温度、湿度、空气质量等。
    远程配置:允许用户通过 Web 界面远程配置 ESP8266 的参数和行为。
    物联网设备管理:作为物联网设备的网关,管理多个设备的连接和数据传输。

  4. 使用方法
    连接 Wi-Fi:配置 ESP8266 连接到指定的 Wi-Fi 网络。
    创建 Web 服务器:使用 ESP8266WebServer 库创建一个 Web 服务器实例。
    定义路由:为不同的 URL 路径定义处理函数,处理 HTTP 请求并生成响应。
    启动服务器:启动 Web 服务器,开始监听并处理客户端请求。

  5. 优势
    低功耗:ESP8266 具有低功耗特性,适合电池供电的设备。
    高性能:尽管资源有限,但 ESP8266 能够高效处理多个并发请求。
    易开发:Arduino IDE 提供了丰富的库和工具,方便开发者快速上手。
    成本低:ESP8266 价格低廉,适合大规模部署。
    通过以上介绍,可以快速了解 ESP8266 Web Server 的功能和使用方法,帮助开发者在物联网项目中实现设备的网络控制和数据交互。

在这里插入图片描述
【花雕学编程】239种传感器执行器系列实验(资料代码+仿真编程+图形编程)
实验二百四十六:ESP8266串口wifi模块 NodeMCU Lua V3物联网开发板 CH340
实验项目之十二:ESP8266 Web Server

实验开源代码

/*
  【花雕学编程】239种传感器执行器系列实验(资料代码+仿真编程+图形编程)
   实验二百四十六:ESP8266串口wifi模块 NodeMCU Lua V3物联网开发板 CH340
   实验项目之十二:ESP8266 Web Server
*/

#include <ESP8266WiFi.h> // 包含ESP8266WiFi库,用于WiFi连接
#include <ESP8266WebServer.h> // 包含ESP8266WebServer库,用于创建Web服务器

// 定义路由器名称和密码
const char* ssid = "zhz3"; // 要连接的WiFi网络的SSID
const char* password = "z156721"; // 要连接的WiFi网络的密码

// 创建 ESP8266WebServer 对象,监听 80 端口
ESP8266WebServer server(80); // 在端口80上启动Web服务器

void setup() {
  Serial.begin(9600); // 初始化串口通信,波特率为9600

  // 连接到Wi-Fi网络
  WiFi.begin(ssid, password); // 开始连接WiFi网络
  while (WiFi.status() != WL_CONNECTED) { // 等待连接成功
    delay(1000); // 每隔1秒检查一次连接状态
    Serial.println("Connecting to WiFi..."); // 打印连接状态
  }
  Serial.println("Connected to WiFi"); // 打印连接成功信息

  // 打印ESP8266的IP地址
  Serial.print("ESP8266 Web Server's IP address: ");
  Serial.println(WiFi.localIP()); // 打印设备的IP地址

  // 定义一个路由来服务HTML页面
  server.on("/", HTTP_GET, []() {
    Serial.println("ESP8266 Web Server: New request received:"); // 打印调试信息
    Serial.println("GET /"); // 打印调试信息
    server.send(200, "text/html", "<html><body><h1>Hello, ESP8266!</h1></body></html>"); // 发送HTTP响应,状态码200,内容类型为"text/html"
  });

  // 启动服务器
  server.begin(); // 启动Web服务器
}

void loop() {
  // 处理客户端请求
  server.handleClient(); // 处理任何接收到的客户端请求

  // 在此处添加您的代码
}

代码解读:

1、包含库:

#include <ESP8266WiFi.h>:包含ESP8266WiFi库,用于WiFi连接功能。

#include <ESP8266WebServer.h>:包含ESP8266WebServer库,用于创建Web服务器。

2、定义网络凭据:

const char* ssid = “zhz3”;:定义要连接的WiFi网络的SSID。

const char* password = “z156721”;:定义要连接的WiFi网络的密码。

3、创建Web服务器对象:

ESP8266WebServer server(80);:创建一个ESP8266WebServer对象,在端口80上启动Web服务器。

4、初始化设置(setup函数):

Serial.begin(9600);:初始化串口通信,设置波特率为9600。

WiFi.begin(ssid, password);:开始连接到指定的WiFi网络。

等待WiFi连接成功并打印连接状态信息和设备的IP地址。

定义一个路由来服务HTML页面,当客户端访问根路径时,发送一个简单的HTML页面作为响应。

启动Web服务器。

5、主循环(loop函数):

server.handleClient();:处理任何接收到的客户端请求。

这段代码的功能是在ESP8266连接到指定的WiFi网络后,创建一个简单的Web服务器。当客户端访问设备的IP地址时,会显示一个包含“Hello, ESP8266!”消息的网页。

实验串口返回情况

在这里插入图片描述

在手机端打开浏览器,输入IP地址:192.168.28.40

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

标签:动手做,Web,HTTP,ESP8266,WiFi,服务器,连接
From: https://blog.csdn.net/weixin_41659040/article/details/145143674

相关文章

  • 【花雕学编程】Arduino动手做(246)---设置ESP8266 V3 通过串口输出软AP的IP、MAC和WiFi
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来——小小的......
  • WebScoket学习笔记
    WebScoket学习笔记1.消息推送常用方式介绍轮询浏览器以指定的时间间隔向服务器发出HTTP请求,服务器实时返回数据给浏览器。长轮询浏览器发出ajax请求,服务器端接收到请求后,会阻塞请求直到有数据或者超时才返回。SSEserver-sent-event:服务器发送事件SSE是在服务器和客户......
  • 网页请求助手 WebRequestHelper 【支持XMLHTTP、WinhttpRequest】
    WebRequestHelper是我用VB6开发的网页请求辅助工具,可以在软件界面中设置请求方式、请求头,然后自动生成VB代码。下面假设要请求 http://www.dpxq.com/hldcg/search/list.asp?owner=ryueifu&page=4这个网址,预先在浏览器中使用开发工具获取到如下:GET/hldcg/search/DhtmlXQ_www_d......
  • RTOS_SDK-ESP8266环境搭建+独立按键
    本文针对ESP8266的RTOS_SDK开发编译流程出现的报错进行了一些解决,并且完成了按键控制LED功能环境准备硬件环境准备esp8266(焊接排针)独立按键杜邦线软件环境准备参考这位大佬:环境搭建教程ESP8266_RTOS_SDKAiThinkerIDE_V1.5.2注意事项出现mintty.exe报错......
  • 常见的Web GIS地图库
    在当下的WebGIS开发环境中,地图库有着重要的作为,为开发人员提供了丰富的工具和资源,以应对各种地理信息系统挑战。前端地图库1.Leaflet开源、体积小、结构清晰、简单易用,是著名的前端地图可视化库。它通过简单的API可快速构建出简单的地图,结合其他接口能实现点、线、面......
  • web.config站内301永久重定向代码示例
    注:此代码只适用于IIS服务器,如需要将123.asp重定向到123.html,请使用以下代码。修改说明: 在web.config文件中添加301重定向规则,将123.asp重定向到123.html。<?xmlversion="1.0"encoding="UTF-8"?><configuration><system.webServer><rewrite>......
  • 基于web技术的农产品购物网站管理系统
    一、系统背景与意义随着互联网的普及和电子商务的兴起,越来越多的消费者开始通过在线平台购买农产品。基于Web技术的农产品购物网站管理系统应运而生,它利用互联网技术打破了地域限制,使得农产品能够更广泛地流通和销售。同时,该系统也为农产品生产者提供了一个展示和销售产品......
  • Webview2动态设置页面video的Blob进行播放
    Webview2动态设置页面video的Blob进行播放 <Windowx:Class="WpfApp2.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="ht......
  • 说说你对WEB标准和W3C的理解与认识?
    对于WEB标准和W3C,我的理解与认识如下:一、WEB标准WEB标准简单来说可以分为结构、表现和行为三个方面。结构:主要由HTML(HyperTextMarkupLanguage)定义,它通过各种标签来组织信息,如标题、段落、图像、链接等,为网页提供了一个基本的框架。HTML标签的正确使用能确保页面的语义结构......
  • 21. 大学生HTML5期末大作业 ―【简单的西藏介绍旅游主题网页】 Web前端网页制作 html5
    目录一、网页概述二、网页文件三、网页效果四、代码展示1.html2.CSS五、总结1.简洁实用2.使用方便3.整体性好4.形象突出5.交互式强六、更多推荐一、网页概述本实例应用html5+css3,div+css布局,代码简单,带实验报告书。本网页支持如Dreamweaver、HBuilder、Text......