ESP8266:一键配网保存+WiFi 搜索代码解析及注意要点
以下是一个使用 Arduino 为 ESP8266 编写的一键配网并保存,以及进行 WiFi 搜索的代码示例: ```cpp #include <ESP8266WiFi.h> // 存储 WiFi 配置信息的变量 String ssid; String password; // 配网成功的标志 bool configured = false; // 配网按钮引脚 const int configButtonPin = D2; void setup() { Serial.begin(115200); // 初始化按钮引脚为输入 pinMode(configButtonPin, INPUT_PULLUP); // 尝试从 EEPROM 中读取之前保存的 WiFi 配置 WiFi.begin(); if (WiFi.waitForConnectResult() == WL_CONNECTED) { Serial.println("已使用保存的配置连接到 WiFi"); configured = true; } else { Serial.println("未找到保存的配置或连接失败,等待配网"); } } void loop() { // 检测配网按钮是否按下 if (digitalRead(configButtonPin) == LOW) { Serial.println("进入配网模式"); WiFi.mode(WIFI_STA); WiFi.beginSmartConfig(); while (!WiFi.smartConfigDone()) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("配网成功"); // 获取并保存 WiFi 配置 ssid = WiFi.SSID(); password = WiFi.psk(); configured = true; WiFi.saveCredentials(); } // 如果已配网,尝试连接 WiFi if (configured) { if (WiFi.status()!= WL_CONNECTED) { WiFi.begin(ssid.c_str(), password.c_str()); while (WiFi.status()!= WL_CONNECTED) { delay(500); Serial.print("."); } } Serial.println("已连接到 WiFi: " + WiFi.SSID()); } delay(1000); } ``` 额外需要注意的逻辑点: 1. 配网按钮的消抖处理,以避免误触发。 2. 确保 EEPROM 存储和读取 WiFi 配置的可靠性。 3. 处理配网过程中的超时情况。 ######[AI写代码神器 | 527点数解答 | 2024-11-30 17:19:31]
- 工程师必知:软件系统用户文档编写九大要点揭秘(百度文心 | 350点数解答 | 2023-11-09 18:23:53)217
- Golang开发:解析JSON数据时数值默认类型及示例解析(百度文心 | 393点数解答 | 2023-11-09 18:13:06)311
- SQL Working Areas Sizing: Manual vs. Automatic Policy - A Comprehensive Analysis(阿里通义 | 530点数解答 | 2024-05-13 10:55:58)330
- C++编程:冒泡排序函数模板、txtdata类与bindata类的实现及应用(GPT | 1551点数解答 | 2024-06-01 16:02:33)343
- Python在Linux下用openpyxl库实现Excel数据跨文件转移及异常处理(字节豆包 | 429点数解答 | 2025-01-07 19:22:42)186
- Python 在 Linux 下用 openpyxl 实现 Excel 单元格值转移及错误处理(字节豆包 | 240点数解答 | 2025-01-09 17:09:26)199
- Linux 终端操作全攻略:用户创建、文件处理、权限设置与日志查找(字节豆包 | 592点数解答 | 2025-06-12 21:19:29)192
- HTML+jQuery 实现列表元素悬停动画效果:代码详解与注意事项(字节豆包 | 475点数解答 | 2024-12-19 14:58:05)392
- HTML+jQuery:打造动态导航栏动画效果及注意事项(字节豆包 | 495点数解答 | 2024-12-19 14:58:06)336
- HTML+jQuery:打造带动态交互效果的商品展示页面(讯飞星火 | 497点数解答 | 2024-12-19 14:58:18)342
- HTML与jQuery结合:实现商品列表交互动画的首页代码解析(讯飞星火 | 497点数解答 | 2024-12-19 14:58:20)363
- Java 实现仿 Windows 资源管理器:文件管理器功能全解析与代码示例(字节豆包 | 623点数解答 | 2025-01-01 14:59:04)271