基本知识:
乐鑫主研发的 ESP-TOUCH 协议采的是 Smart Config(智能配置)技术, 帮助户将 采 ESP8266EX 和 ESP32 的设备 (以下简称 "设备") 连接 Wi-Fi 络. 户只需在 机上进简单操作即可实现智能配置. 整个过程如下图所示:
由于设备在开始并未连接络, ESP-TOUCH App 法直接向设备发送信息. 通过 ESP-TOUCH 通信协议, 具备 Wi-Fi 络接能的设备 (例如智能机) 就可以向接 点 (AP) 发送系列 UDP 包, 其中每包的度 (即 Length 字段) 都按照 ESPTOUCH 通信协议进编码, SSID 和密码就包含在 Length 字段中, 随后设备便可以获 得并解析出所需的信息. 数据包结构如图 1-2 所示:
源码和 App:
源码的路径如下所示:
源码路径:
根据你的所需进行修改或直接安装, 笔者的截图如下所示:
操作步骤:
准备台持 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/p/11868759.html