0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ESP8266_ESP32 Smartconfig一键配网功能

jf_88434166 来源:jf_88434166 作者:jf_88434166 2025-08-14 21:50 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

SmartConfig一键配网

SmartConfigTM 是由 TI 开发的配网技术,用于将新的 Wi-Fi 设备连接到 Wi-Fi 网络。它使用移动应用程序将无线网凭据从智能手机或平板电脑端广播给未配网的 Wi-Fi 设备。这项技术的优势在于,设备无需直接获知 AP 的 SSID 或密码,而是通过智能手机获取。这对于没有用户界面的无头设备和系统而言十分重要。目前, ESP32 支持三种类型的 SmartConfig 配网: Airkiss、ESPTouch 和 ESPTouch v2。ESPTouch v2 自 SmartConfig v3.0 (SmartConfig 的版本可以从 esp_smartconfig_get_version() 获取)起开始支持,ESPTouch v2 和 ESPTouch 采用完全不同的配网算法,因此配网速度更快。此外,ESPTouch v2 还增加了 AES 加密功能和自定义数据字段。

基本原理

设备进入 Wi-Fi 混杂模式(promiscuous mode)以监听捕获周围的 Wi-Fi 报文。由于设备暂未联网,且 Wi-Fi 网络的数据帧已通过加密,设备无法获取 payload 的内容,但可以获取报文的某些特征数据,例如每个报文的长度。同时对于某些数据帧,例如 UDP 的广播包或多播包,其报文的帧头结构比较固定,较容易识别。
此时在手机 App 或者小程序端,即可通过发送 UDP 的广播包或多播包,并利用报文的特征,例如长度变化进行编码。
将目标 Wi-Fi 路由器的 SSID/PSW 字符以约定的编码方式发送出去,设备端在捕获到 UDP 报文后,按约定的方式进行解码,即可得到目标 Wi-Fi 路由器的相关信息并进行联网。

设备绑定流程

SmartConfig 方式配网,每个厂商的编码方式和报文选择上有自己的协议,文章里的 ESP8266和ESP32采用的协议是乐鑫 ESP-TOUCH协议。基于该协议,设备端在连接 Wi-Fi 路由器成功后,将会告知手机端自己的 IP 地址。此时手机端可以通过数据通道,例如 TCP/UDP 通讯将后台提供的配网 Token 发送给设备,并由设备转发至物联网后台,依据 Token 进行设备绑定。

简单来说,smartconfig一键配网就是ESP8266/32打开配网模式,手机连接WIFI(必须是2.4GWIFI )后打开乐鑫软件APP进入ESPTOUCH,输入密码,点击确认后手机会往外进行发送报文,设备接收到报文后进行连接WiFi,获取ip地址。

ESP8266/ESP32 SmartConfig配网

AT指令配置方式

在这里插入图片描述

ESP8266/ESP32两个通过smartconfig配网的方法是相同,只是烧录的固件不同。

ESP8266模组烧录的是乐鑫的ESP-WROOM-02-AT-V2.2.2.0固件,可直接从乐鑫的官网: [ESP8266固件]进行获取,压缩包里面都会有文档进行说明这个固件是如何使用以及AT指令集。
ESP32模组烧录的是乐鑫的ESP32-WROOM-32-AT-V3.4.0.0固件,可直接从乐鑫的官网: [ESP32固件]进行获取,压缩包里面都会有文档进行说明这个固件是如何使用以及AT指令集。

烧录对应固件后,发送以下指令打开配网

AT+CWMODE=1   //设置WiFi模式为单Station模式
AT+CWSTARTSMART  //开启 SmartConfig

手机端打开ESPTOUCH软件,进入ESPTOUCH界面,然后输入密码点击确认后,就会开始向外部发送报文了。( [ESPTOUCH软件下载地址])
在这里插入图片描述
过一会后就可以看到ESP8266/32设备配网成功了。
软件页面:
在这里插入图片描述
串口页面:

在这里插入图片描述
出现Smartconfig connected wifi则表示连接成功。

Arduino程序配置方式

官方在Arduino IDE中,同样为ESP32提供了SmartConfig的示例,实际使用开发可以修改移植到自己的项目中,下面我们来测试一下实际效果。
下载好ESP32的开发环境,我们可以看官方已经为我们提供了SmartConfig的例程,直接打开进行烧录就可以。
在这里插入图片描述
烧录完成后我们打开串口输出,查看连接现象,操作和上面的是一样的,这里就不多说了,直接看连接成功的输出结果:
在这里插入图片描述
这里输出获取到的IP地址则已经连接上了。

总结

  1. 无论 SmartConfig 成功与否,都请在执行其他命令之前调用AT+CWSTOPSMART 释放 SmartConfig 占用的内存。
  2. 串口的接线两个单片机各有不同,可以看对应固件的用户指南进行接线。
    在这里插入图片描述
    在这里插入图片描述

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 配网
    +关注

    关注

    0

    文章

    187

    浏览量

    9513
  • ESP32
    +关注

    关注

    27

    文章

    1237

    浏览量

    22693
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ESP32/ESP8266开发板单向多对ESP-NOW无线通信

    本实验通过ESP-NOW无线通信协议实现多个ESP32/ESP 8266开发板向ESP32开发板发送数据。例如可以应用于从多个远程传感器上收
    的头像 发表于 03-30 10:14 297次阅读
    <b class='flag-5'>ESP32</b>/<b class='flag-5'>ESP8266</b>开发板单向多对<b class='flag-5'>一</b><b class='flag-5'>ESP</b>-NOW无线通信

    ESP32/ESP8266开发板单向对多ESP-NOW无线通信

    通过ESP-NOW无线通信协议实现ESP32开发板向多个ESP32/ESP 8266开发板发送数据。
    的头像 发表于 03-13 09:23 373次阅读
    <b class='flag-5'>ESP32</b>/<b class='flag-5'>ESP8266</b>开发板单向<b class='flag-5'>一</b>对多<b class='flag-5'>ESP</b>-NOW无线通信

    ESP8266系列】WT8266-S3模组规格书

    核心处理器ESP8266在较小尺寸封装中集成了业界领先的TensilicaL106超低功耗32位微型MCU,带有16位精简模式,主频支持80MHz和160MHz,支
    的头像 发表于 02-05 18:04 326次阅读
    【<b class='flag-5'>ESP8266</b>系列】WT<b class='flag-5'>8266</b>-S3模组规格书

    ESP8266系列】WT8266-S5模组规格书

    处理器ESP8266在较小尺寸封装中集成了业界领先的TensilicaL106超低功耗32位微型MCU,带有16位精简模式,主频支持80MHz和160MHz,支持
    的头像 发表于 02-05 18:03 532次阅读
    【<b class='flag-5'>ESP8266</b>系列】WT<b class='flag-5'>8266</b>-S5模组规格书

    ESP8266系列】WT8266-S6模组规格书

    处理器ESP8266在较小尺寸封装中集成了业界领先的TensilicaL106超低功耗32位微型MCU,带有16位精简模式,主频支持80MHz和160MHz,支持R
    的头像 发表于 02-05 18:03 476次阅读
    【<b class='flag-5'>ESP8266</b>系列】WT<b class='flag-5'>8266</b>-S6模组规格书

    ESP8266系列】WT8266-S6模组产品介绍

    处理器ESP8266在较小尺寸封装中集成了业界领先的TensilicaL106超低功耗32位微型MCU,带有16位精简模式,主频支持80MHz和160MHz,支持R
    的头像 发表于 01-29 18:22 554次阅读
    【<b class='flag-5'>ESP8266</b>系列】WT<b class='flag-5'>8266</b>-S6模组产品介绍

    无需安装!在浏览器里就能玩转ESP32/ESP8266,这个神器绝了!

    无需安装!在浏览器里就能玩转ESP32/ESP8266,这个神器绝了!【往期精选】十年嵌入式最深的痛,不是Bug,而是抓不到日志!vivo宣布原生支持HomeAssistant生态设备接入(含
    的头像 发表于 01-10 10:01 1767次阅读
    无需安装!在浏览器里就能玩转<b class='flag-5'>ESP32</b>/<b class='flag-5'>ESP8266</b>,这个神器绝了!

    一键失败怎么办?机智云热点全攻略

    在使用机智云APP进行一键时,常见的失败原因之是WiFi频段不匹配。许多机智云入门设备(如ESP8266)仅支持2.4GHz的WiFi
    的头像 发表于 12-11 18:03 1719次阅读
    <b class='flag-5'>一键</b><b class='flag-5'>配</b><b class='flag-5'>网</b>失败怎么办?机智云热点<b class='flag-5'>配</b><b class='flag-5'>网</b>全攻略

    如何备份复制拷贝出ESP32/8266内的固件程序

    通过esptool命令和flash_download_tool,我们了解到如何读取备份ESP32/8266中falash内的固件程序。可以看到flash_download_tool方式方面快捷。
    的头像 发表于 11-30 15:52 2742次阅读
    如何备份复制拷贝出<b class='flag-5'>ESP32</b>/<b class='flag-5'>8266</b>内的固件程序

    晶科鑫 | 国产26MHz晶振匹配Espressif(乐鑫) ESP8285/ESP8266芯片案例

    本,两者可以共用同套SDK,只是ESP8285内部集成了1MBFlash,SPIMode设置为DOUT,而ESP8266则需要外接Flash,并且是Din模式。除此之外,ESP828
    的头像 发表于 11-21 15:37 5096次阅读
    晶科鑫 | 国产26MHz晶振匹配Espressif(乐鑫) <b class='flag-5'>ESP</b>8285/<b class='flag-5'>ESP8266</b>芯片案例

    ESP8266ESP32开发板常见的2种下载方式

    ESP32ESP8266是性价比很高而且使用较为广泛的的Wi-Fi模块,在物联网(IoT)领域的DIY项目中可以首先考虑这2款产品。 两款芯片都属于32位处理器。ESP32是低功耗双核80MHz
    的头像 发表于 11-10 20:30 1570次阅读
    <b class='flag-5'>ESP8266</b>和<b class='flag-5'>ESP32</b>开发板常见的2种下载方式

    乐鑫ESP32-C6和ESP32-C61究竟该如何选择?文读懂本质区别

    设备互联;ESP32-C61则专注Wi-Fi6和蓝牙5 LE的高效终端性能,支持PSRAM扩展和增强安全功能,适合高性能单设备。
    的头像 发表于 10-28 14:17 2986次阅读
    乐鑫<b class='flag-5'>ESP32</b>-C6和<b class='flag-5'>ESP32</b>-C61究竟该如何选择?<b class='flag-5'>一</b>文读懂本质区别

    ESP8266ESP32开发板常见的2种下载方式

    协议,完整的 TCP/IP 协议栈以及蓝牙协议栈。用户可以使用这两款模块为现有的设备添加WIFI联网功能或蓝牙(ESP32),轻松的构建独立的网络控制器和远程控制监控设备。 ESP8266接口视图
    发表于 10-24 18:04

    请问下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗

    请问下我想用ESP8685直接替换ESP8266而不用写程序,可以让ESP8685直接通过之前ESP8266的外挂的flash运行程序吗
    发表于 09-17 12:06

    ESP32开发板元件资料

    ESP32开发板元件
    发表于 07-21 14:47 17次下载