52| 6
|
[项目] 【花雕学编程】Arduino动手做(246)---ESP8266 实现网络控制 |
本帖最后由 驴友花雕 于 2025-1-16 19:25 编辑 【花雕学编程】239种传感器执行器系列实验(资料代码+仿真编程+图形编程) 实验二百四十六:ESP8266串口wifi模块 NodeMCU Lua V3物联网开发板 CH340 实验项目之十七:通过网络服务实现ESP8266开发板基本控制 实验开源代码
|
代码解读 1、包含库: #include <ESP8266WiFi.h>:包含ESP8266WiFi库,用于处理WiFi连接。 #include <ESP8266WiFiMulti.h>:包含ESP8266WiFiMulti库,用于管理多个WiFi网络。 #include <ESP8266WebServer.h>:包含ESP8266WebServer库,用于创建和管理HTTP服务器。 2、对象定义: ESP8266WiFiMulti wifiMulti;:创建一个ESP8266WiFiMulti对象,用于管理多个WiFi网络。 ESP8266WebServer esp8266_server(80);:创建一个ESP8266WebServer对象,监听80端口,用于处理HTTP请求。 3、初始化和连接WiFi: Serial.begin(9600);:初始化串口通信,波特率为9600。 pinMode(LED_BUILTIN, OUTPUT);:设置内置LED引脚为输出模式。 wifiMulti.addAP("zhz3", "z156721"); :添加需要连接的WiFi网络及其密码。 while (wifiMulti.run() != WL_CONNECTED) { ... }:尝试连接到列表中的WiFi网络,连接成功后打印连接信息。 4、启动HTTP服务器: esp8266_server.begin();:启动HTTP服务器。 esp8266_server.on("/", HTTP_GET, handleRoot);:设置根目录("/")的处理函数handleRoot。 esp8266_server.on("/LED", HTTP_POST, handleLED);:设置处理LED控制请求的函数handleLED。 esp8266_server.onNotFound(handleNotFound);:设置处理404错误的函数handleNotFound。 5、主循环: esp8266_server.handleClient();:处理HTTP客户端请求。 6、处理函数: handleRoot:处理根目录请求,发送一个包含LED控制按钮的HTML表单。 handleLED:处理LED控制请求,切换LED状态并重定向回根目录。 handleNotFound:处理404错误,发送404状态码和错误信息。 7、运行结果 串口输出: 连接WiFi的过程和结果。 连接成功后,输出连接的WiFi名称和ESP8266的IP地址。 服务器启动信息。 浏览器访问: 访问ESP8266的IP地址,会看到一个LED控制按钮。 点击按钮,LED状态会切换,并且浏览器会重定向回根目录。 |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed