基本知识:
乐鑫⾃主研发的 ESP-TOUCH 协议采⽤的是 Smart Config(智能配置)技术,帮助⽤户将 采⽤ ESP8266EX 和 ESP32 的设备(以下简称“设备”)连接⾄ Wi-Fi ⽹络。⽤户只需在⼿ 机上进⾏简单操作即可实现智能配置。整个过程如下图所示:
由于设备在⼀开始并未连接⾄⽹络,ESP-TOUCH App ⽆法直接向设备发送信息。通过 ESP-TOUCH 通信协议,具备 Wi-Fi ⽹络接⼊能⼒的设备(例如智能⼿机)就可以向接 ⼊点 (AP) 发送⼀系列 UDP 包,其中每⼀包的⻓度(即 Length 字段)都按照 ESPTOUCH 通信协议进⾏编码,SSID 和密码就包含在 Length 字段中,随后设备便可以获 得并解析出所需的信息。数据包结构如图 1-2 所示:
源码和app:
源码的路径如下所示:
源码路径:https://github.com/EspressifApp/EsptouchForAndroid/releases/tag/v1.1.0
根据你的所需进行修改或直接安装,笔者的截图如下所示:
操作步骤:
准备⼀台⽀持 ESP-TOUCH 的设备,开启配置功能;
将⼿机连接⾄路由器;
打开安装在⼿机上的 ESP-TOUCH App;
在 App 界⾯输⼊路由器的 SSID 和密码(若路由不加密则密码为空),开始连接。
注意事项:
• 设备与⼿机建⽴链路所需的时间和两者之间的距离有关,若距离很近,仅需数秒即可完成。
• 在开启设备端 ESP-TOUCH 智能配置功能之前,请确保路由器已经开启。由于开启此功能后,设备会先 扫描周围的 AP 信息,如果路由器没有开启,则⽆法获取周围的 AP 列表。
• ESP-TOUCH App 端发送序列有超时限制,即如果没有在规定的时间配置上路由,App 会返回配置失败 信息(参考 App 源码)。设备端也会有超时限制,从设备锁定通道开始计时到获取 SSID 和密码信息, 如果达到超时限制但并未获取到 SSID 和密码信息,设备会⾃动重新开始⼀次 Smart Config。⽤户可以通 过 esptouch_set_timeout(uint8 time_s) 或 esp_smartconfig_set_timeout(uint8 time_s) 设置超时时 间。
• Smart Config 过程中设备需要开启 Sniffer 模式,所以在 ESP8266 上 Station 和 soft-AP 模式都是关闭 的,不要调⽤其他相关 API。ESP32 不受此限制,可以同时开启 Sniffer 和 Station 模式。
• 配置结束后,发送端获取设备的 IP,设备端也会返回发送端的 IP,如果⽤户需要⾃定义发送端和设备端 的信息交互,可以使⽤此 IP 信息进⾏局域⽹通信。 • 如果路由器设置了“AP 隔离”,会出现设备连接路由器成功,但 App 未收到连接成功的提示的现象。
• ⽀持⼿机同时配置多个设备到同⼀路由器上,配置时 App 端选择接收多个返回结果。
• ESP8266 和 ESP32 不⽀持 5G 和 11AC 模式,因此不⽀持 Smart Config 连接 5G 或 11AC 模式的路由 器。
作者:虚生 出处:https://www.cnblogs.com/dylancao/ 以音频和传感器算法为核心的智能可穿戴产品解决方案提供商 ,提供可穿戴智能软硬件解决方案的设计,开发和咨询服务。 勾搭热线:邮箱:1173496664@qq.com weixin:18019245820 市场技术对接群:347609188 |
![]() |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
2018-11-15 python 中argparse 实例解析