基于Arduino IDE 野火ESP8266模块 一键配网 的开发

一、配网介绍

 ESP8266 一键配网(也称为 SmartConfig 或 FastConfig)是一种允许用户通过智能手机上的应用程序快速配置 ESP8266 Wi-Fi 模块的方法,而无需手动输入 SSID 和密码。为了实现这一功能,则需要一个支持 SmartConfig 的智能手机应用程序(如 ESP-TOUCH for Android 或 iOS 设备上的类似应用),以及 ESP8266 上运行的相应固件。

二、库文件

 使用 WiFiManager 库,这是一个第三方库,用于简化 ESP8266 的 Wi-Fi 连接过程,包括一键配网。要使用 WiFiManager,需要将它添加到 Arduino IDE 库中。可以通过 Arduino IDE 的库管理器来安装它,或者从 GitHub 上的源代码手动安装。

安装 WiFiManager 的方法:
1.打开 Arduino IDE。
2.转到“工具” > “管理库…”。
3.在库管理器中搜索 WiFiManager。
4.选择它并点击“安装”。
在这里插入图片描述

三、代码

编写测试代码,代码如下:

#include <ESP8266WiFi.h>  
#include <WiFiManager.h>  // 初始化 WiFiManager  
WiFiManager wifiManager;  void setup() {  Serial.begin(115200);  delay(10);  // 设置自定义参数(可选)  wifiManager.setAPCallback(configModeCallback);  wifiManager.setDebugOutput(true);  // 尝试连接到之前保存的 Wi-Fi  if (!wifiManager.autoConnect("MyESP8266")) {  Serial.println("Failed to connect");  // 停留并监听配置  ESP.restart();  }  Serial.println("Connected to WiFi");  Serial.print("IP Address: ");  Serial.println(WiFi.localIP());  
}  void loop() {  // 主循环保持空闲,可以在这里添加其他功能  delay(1000);  
}  void configModeCallback (WiFiManager *myWiFiManager) {  Serial.println("Entered config mode");  Serial.println(WiFi.softAPIP());  // 在这里可以添加额外的配置代码  
}

1.WiFiManager 库被用来管理 Wi-Fi 连接。
2.autoConnect 方法尝试连接到之前保存的网络,如果找不到,则进入配置模式。
3.configModeCallback 是一个可选的回调函数,当 ESP8266 进入配置模式时会被调用。
4.“MyESP8266” 是 ESP8266 在 AP(接入点)模式下显示的 SSID。

 一旦 ESP8266 启动并进入配置模式(即没有找到已知的 Wi-Fi 网络或首次启动),它将作为一个 Wi-Fi 接入点出现。可以使用智能手机上的 Wi-Fi 设置连接到这个接入点,并使用支持 SmartConfig 的应用程序(如 ESP-TOUCH)来发送 Wi-Fi 凭据给 ESP8266。一旦 ESP8266 接收到了这些凭据,它将尝试连接到指定的 Wi-Fi 网络,并保存这些设置以便将来使用。

注意:WiFiManager 库还在不断更新和改进,所以最好查看最新的文档和示例代码,以获取关于其功能和用法的最新信息。此外,请确保手机和 ESP8266 设备在同一个 Wi-Fi 范围内,并且智能手机上已经安装了支持 SmartConfig 的应用程序。

测试结果:
esp8266模块启动
在这里插入图片描述
使用 ESP-TOUCH 软件进行配置,提示配网失败,原因可能是固件版本不支持。。。。

问题参考:https://github.com/espressif/esp-idf/issues/4975

软件下载

ESP-TOUCH for Android 下载地址:
https://www.espressif.com.cn/zh-hans/support/download/apps
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/572618.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ssm小区车库停车系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

一、源码特点 ssm小区车库停车系统是一套完善的信息系统&#xff0c;结合springMVC框架完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用SSM框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模…

Tensorflow2.0笔记 - 使用compile,fit,evaluate,predict简化流程

本笔记主要用compile, fit, evalutate和predict来简化整体代码&#xff0c;使用这些高层API可以减少很多重复代码。具体内容请自行百度&#xff0c;本笔记基于FashionMnist的训练笔记&#xff0c;原始笔记如下&#xff1a; Tensorflow2.0笔记 - FashionMnist数据集训练-CSDN博…

Tunes不能读取iPhone的内容,请前往iPhone偏好设置的摘要选项卡,然后单击恢复以将此iPhone恢复为出厂设置

重启itunes: 参考链接&#xff1a; https://baijiahao.baidu.com/s?id1642568736254330322&wfrspider&forpc 人工智能学习网站&#xff1a; https://chat.xutongbao.top

实例:NX二次开发使用链表进行拉伸功能(链表相关功能练习)

一、概述 在进行批量操作时经常会利用链表进行存放相应特征的TAG值&#xff0c;以便后续操作&#xff0c;最常见的就是拉伸功能。这里我们以拉伸功能为例子进行说明。 二、常用链表相关函数 UF_MODL_create_list 创建一个链表&#xff0c;并返回链表的头指针。…

uniapp 微信小程序 canvas 手写板文字重复倾斜水印

核心逻辑 先将坐标系中心点通过ctx.translate(canvasw / 2, canvash / 2) 平移到canvas 中心&#xff0c;再旋转设置水印 假如不 translate 直接旋转&#xff0c;则此时的旋转中心为左上角原点&#xff0c;此时旋转示意如图所示 当translate到中心点之后再旋转&#xff0c;此…

图书推荐|Django+Vue.js商城项目实战

一线资深架构师 凝聚近十年大型系统开发经验 倾力打造 双色印刷 适合&#xff1a;项目演练求职应聘技术提升 全新&#xff1a;Django 4.x与Vue.js 3.x全栈技术 易学&#xff1a;娓娓道来图示指引原理剖析步骤解说代码详注 真实企业级项目技术细节完整揭秘&#xff0c;照着做就…

Vue 二次封装组件的艺术与实践

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

逐步学习Go-协程goroutine

参考&#xff1a;逐步学习Go-协程goroutine – FOF编程网 什么是线程&#xff1f; 简单来说线程就是现代操作系统使用CPU的基本单元。线程基本包括了线程ID&#xff0c;程序计数器&#xff0c;寄存器和线程栈。线程共享进程的代码区&#xff0c;数据区和操作系统的资源。 线…

前端Web移动端学习day05

移动 Web 第五天 响应式布局方案 媒体查询Bootstrap框架 响应式网页指的是一套代码适配多端&#xff0c;一套代码适配各种大小的屏幕。 共有两种方案可以实现响应式网页&#xff0c;一种是媒体查询&#xff0c;另一种是使用bootstrap框架。 01-媒体查询 基本写法 max-wid…

day70 Mybatis使用mapper重构xml文件重新修改商品管理系统

day67 基于mysql数据库jdbcDruidjar包连接的商品管理用户购物系统-CSDN博客 1多表操作 2动态SQL 项目中使用的为商品管理系统的表 一 查询商品信息 编号&#xff0c;名称&#xff0c;单价&#xff0c;库存&#xff0c;类别 1表&#xff1a;商品表&#xff0c;类别表 n对1…

MySQL—存储引擎和索引

MySQL进阶 1. 存储引擎1.1 体系结构1.2 存储引擎1.3 存储引擎特点1.3.1 InnoDB1.3.2 MyISAM1.3.3 Memory1.3.4 区别及特点 1.4 存储引擎选择 2. 索引2.1 概述2.2 索引结构2.2.1 概述2.2.2 二叉树2.2.3 B-Tree2.2.4 BTree2.2.5 Hash 2.3 索引分类2.3.1 索引分类2.3.2 聚集索引&a…

Axure中后台系统原型模板,B端页面设计实例,高保真高交互54页

作品概况 页面数量&#xff1a;共 50 页&#xff08;长期更新&#xff09; 兼容版本&#xff1a;Axure RP 9/10&#xff0c;不支持低版本 应用领域&#xff1a;网页模板、网站后台、中台系统、B端系统 作品特色 本品为「web中后台系统页面设计实例模板」&#xff0c;默林原创…