WiFi配网流程—SmartConfig 配网流程

ops/2025/2/11 10:11:37/

目录

📌 SmartConfig 配网流程

👉 阶段 1:设备进入配网模式

👉 阶段 2:手机 App 发送 Wi-Fi 配置信息

👉 阶段 3:设备解析 Wi-Fi 配置,连接家庭网络

👉 阶段 4:App 检测设备是否上线,完成配网

📌 SmartConfig 配网技术架构

📌 SmartConfig 配网的核心技术

📌 SmartConfig 配网的优缺点

🔍 SmartConfig vs Soft-AP vs BLE配网


📌 SmartConfig 配网流程

SmartConfig 配网的核心思路是:
📡 让手机充当“信息广播器”,使用 UDP 广播/组播 Wi-Fi SSID & 密码,让设备被动监听并解析出 Wi-Fi 信息,完成自动联网。


👉 阶段 1:设备进入配网模式

🔹 过程

  1. 设备启动后,检测 Wi-Fi 连接状态:
    • 若已有 Wi-Fi 配置,尝试连接已存 Wi-Fi;
    • 若无 Wi-Fi 配置(首次使用或长按复位),进入 SmartConfig 配网模式
  2. 设备切换到 Wi-Fi 监听模式(Promiscuous Mode),开始监听所有 Wi-Fi 报文。
  3. 设备等待 App 通过广播 / 组播方式发送 Wi-Fi 配置数据。

🔹 技术要点
监听模式(Promiscuous Mode):设备捕获所有 Wi-Fi 包(非正常连接模式)。
无需 Soft-AP 热点:设备不创建 Wi-Fi 热点,用户无需手动切换网络。


👉 阶段 2:手机 App 发送 Wi-Fi 配置信息

🔹 过程

  1. 用户打开 App,选择 SmartConfig 配网模式。
  2. App 获取当前已连接的 Wi-Fi SSID,并提示用户输入 Wi-Fi 密码。
  3. App 通过 Wi-Fi UDP 广播 / 组播 方式,将 SSID 和密码编码到 Wi-Fi 数据包中,并不断发送。
  4. 设备监听网络中的 Wi-Fi 包,并解析出 SSID 和密码。

🔹 常见编码方式:

  1. AirKiss(微信版)

    • 采用 UDP 变长包编码,通过 Wi-Fi 广播 SSID & 密码
    • 设备通过数据包的长度变化,解码出 SSID 和密码。
  2. EZ Mode(涂鸦版)

    • 采用 UDP 固定长度数据包 + MAC 地址索引方式
    • 设备根据收到的 Wi-Fi 包信息,解析 SSID & 密码。
  3. SmartConfig(ESP8266 / TI)

    • 采用 UDP 变频调制,通过特定 Wi-Fi 信道序列传输 SSID & 密码。
    • 设备监听 Wi-Fi 信道变化,解析配网数据。

🔹 技术要点
UDP 广播 / 组播 方式,允许设备无需连接 Wi-Fi 即可接收数据。
不同设备的兼容性部分低端路由器 可能会丢弃异常 UDP 包,导致 SmartConfig 失败。


👉 阶段 3:设备解析 Wi-Fi 配置,连接家庭网络

🔹 过程

  1. 设备解析 Wi-Fi 数据包,获取 SSID 和密码。
  2. 设备关闭监听模式(Promiscuous Mode),切换到 STA 模式
  3. 设备尝试连接目标 Wi-Fi:
    • 连接成功,获取路由器分配的 IP 地址。
    • 连接失败,可能返回 SmartConfig 模式,等待用户重新发送数据。
  4. 设备上报 Wi-Fi 连接状态:
    • 可通过 MQTT / HTTP 向云端上报状态。
    • 可通过 UDP 广播 在局域网内通知 App。

🔹 技术要点
设备进入 STA 模式 连接 Wi-Fi。
Wi-Fi 连接成功后上报状态,App 通过局域网或云端获取状态
✅ 设备会将 Wi-Fi 配网信息存储到 Flash(NVS),确保断电后仍可记住 Wi-Fi 连接。


👉 阶段 4:App 检测设备是否上线,完成配网

🔹 过程

  1. 设备连接 Wi-Fi 成功后,自动连接云端服务器或在局域网广播自身信息。
  2. App 通过以下方式发现设备:
    • 局域网 UDP 组播 / mDNS / SSDP 发现
    • 设备云端注册(MQTT / HTTP 上报上线状态)。
  3. 设备上线后,App 提示用户配网成功,用户可正常控制设备。

🔹 技术要点
UDP 广播 / mDNS 设备发现
MQTT / HTTP 设备云端注册


📌 SmartConfig 配网技术架构

[ 设备 (Wi-Fi 监听模式) ]↓  (监听 Wi-Fi 广播)
[ App 通过 UDP 发送 Wi-Fi 配置 ]↓  (设备解析 SSID/密码)
[ 设备加入家庭 Wi-Fi ]↓  (局域网发现 / 云端注册)
[ 设备上线,配网成功 ]

📌 SmartConfig 配网的核心技术

技术作用
Wi-Fi 监听模式(Promiscuous Mode)设备在不连接 Wi-Fi 的情况下捕获数据包
UDP 广播 / 组播App 通过 UDP 发送 Wi-Fi 配置
Wi-Fi 包长编码设备解析 UDP 包,获取 Wi-Fi SSID 和密码
STA 模式设备连接家庭 Wi-Fi
mDNS / SSDP设备在局域网中发现
MQTT / WebSocket / HTTP设备云端上报状态

📌 SmartConfig 配网的优缺点

优点缺点
用户无需手动切换 Wi-Fi,体验更流畅部分路由器丢弃 UDP 广播包,可能导致配网失败
适用于无屏设备(如智能灯泡、插座)配网成功率依赖 Wi-Fi 网络环境
可同时配网多个设备无法兼容 5GHz 设备(只能 2.4GHz)

🔍 SmartConfig vs Soft-AP vs BLE配网

配网方式是否需要手动切 Wi-Fi连接稳定性设备要求适用场景
SmartConfig(AirKiss / EZ Mode)❌ 不需要可能不稳定(受干扰)设备需支持 UDP 配网适用于 Wi-Fi 设备
Soft-AP 配网✅ 需要稳定设备需支持 Wi-Fi适用于 Wi-Fi 设备
BLE 配网❌ 不需要稳定设备需支持 BLE适用于 Wi-Fi + BLE 设备

http://www.ppmy.cn/ops/157498.html

相关文章

全面理解-友元(friend关键字)

在 C 中,friend 关键字用于授予其他类或函数访问当前类的 私有(private)和保护(protected)成员 的权限。这种机制打破了严格的封装性,但可以在特定场景下提高代码的灵活性和效率。以下是 friend 的详细说明…

51单片机之引脚图(详解)

8051单片机引脚分类与功能笔记 1. 电源引脚 VCC(第40脚):接入5V电源,为单片机提供工作电压。GND(第20脚):接地端,确保电路的电位参考点。 2.时钟引脚 XTAL1(第19脚&a…

IDEA中列举的是否是SpringBoot的依赖项的全部?在哪里能查到所有依赖项,如何开发自己的依赖项让别人使用

在 IntelliJ IDEA 中列举的依赖项并不一定是 Spring Boot 项目的全部依赖项。IDEA 通常只显示你在 pom.xml(Maven)或 build.gradle(Gradle)中显式声明的依赖项,而这些依赖项本身可能还会引入其他传递性依赖。 1. 如何…

力扣-栈与队列-239 滑动窗口的最大值

双指针思路 每移动一次&#xff0c;可以比较上一次窗口的最大值和被移除的值&#xff0c;如果被移除的值小于最大值&#xff0c;则说明最大值仍在新的区间&#xff0c;但是最后超时了 双指针超时代码 class Solution { public:vector<int> maxSlidingWindow(vector<…

IntelliJ IDEA使用经验(十三):使用Git克隆github的开源项目

文章目录 问题背景办法1、设置git代理&#xff1b;2、再次克隆项目&#xff1b;3、再次按常规方式进行git克隆即可。 问题背景 由于github在国外&#xff0c;很多时候我们在使用idea克隆开源项目的时候&#xff0c;没办法检出&#xff0c;提示 连接重置。 办法 1、设置git代…

Docker安装+镜像+错误解决+win11【小记】

参考【Docker】掌握 Docker魔法&#xff1a;Windows 11 平台上的完美容器部署终极指南_win11 docker-CSDN博客 目录 1.安装 1.1进入官网 1.2Hyper-V 1.3安装docker软件包 1.4测试 2.镜像 2.1方法一&#xff1a;配置文件换源 2.2方法二&#xff1a;也起到检验作用 2.3…

鸿蒙ArkTS中的布局容器组件(Scroll、List、Tabs)

1、Scroll组件 Scroll组件是一个可滚动的容器组件&#xff0c;用于在子组件的布局尺寸超过父组件尺寸时提供滚动功能。它允许在其内部容纳超过自身显示区域的内容&#xff0c;并通过滚动机制来查看全部内容。这对于显示大量信息&#xff08;如长列表、长篇文本或大型图像等&…

什么是DDOS网络攻击?

什么是DDoS攻击&#xff1f; DDoS&#xff08;Distributed Denial of Service&#xff0c;分布式拒绝服务&#xff09;攻击是一种网络攻击手段&#xff0c;通过大量合法或恶意请求占用目标服务器、网络或资源&#xff0c;使其无法正常为用户提供服务。 DDoS攻击原理 攻击者利…