wifi一键配网smartconfig原理及应用

ESP32系列教程之SmartConfig智能配网 使用ESP32进行SmartConfig智能配网 阅读详情

转载:http://blog.youkuaiyun.com/flyingcys/article/details/49283273

智能家居/家电现阶段还处于普及阶段,由于家庭wifi网络的普及,目前普遍采用wifi与路由器完成连接,与手机/云端进行数据交互.

智能硬件,如智能插座,智能空调,智能空气净化器由于不具备人机交互界面,不能像电脑一样的搜索/选择指定路由器,输入连接密码的界面,所以必须先解决正确连接路由问题;

目前流行的wifi配置模式一般有以下2种:

1:智能硬件处于AP模式,手机用于station模式,手机连接智能插座的AP后组成局域网,手机发送需要连接路由的SSID及密码至智能插座,智能硬件主动去连接指定路由后,完成连接

2:一键配置(smartconfig)模式:智能硬件处于混杂模式下,监听网络中的所有报文;手机APP将SSID和密码编码到UDP报文中,通过广播包或组播报发送,智能硬件接收到UDP报文后解码,得到正确的SSID和密码,然后主动连接指定SSID的路由,完成连接

以上两种方式都可以达到让智能硬件连接至指定路由的效果,但是AP模式需要手动切换手机wifi连接的网络,先连接智能硬件的AP网络,配置完成后再恢复连接正常wifi网络.有一定的复杂性;

但是smartconfig由于路由器品牌及手机品牌众多,存在一定的兼容性问题,所以目前一般厂家仍保留AP模式,作为smartconfig失败后的备用配网方案;

下面重点讲解一下一键配置模式原理及应用;当前主流IOT的wifi方案有:

 

厂商

芯片方案

技术名称

发包方式

1

TI 

CC3200

SmartConfig

往某一固定IP发udp包

2

高通

QCA4004/QCA4002

SmartConnection

 

3

联发科MTK

MTK7681

SmartConnection

组播地址编码

4

MARVELL

MC200+8801/MW300

EasyConnect

组播地址编码

5

Reltek

AMEBA

SimpleConfig

组播地址编码

6

乐鑫

Esp8266

SmartConfig

组播,通过长度编码

7

新案线

NL6621

SmartConfig

组播地址编码

8

微信

 

AirKiss

全网广播,通过长度编码

 

这个功能最早是TI提出并应用于CC3200上;不过从原理上讲,只要芯片驱动支持开启混杂模式(WiFi Promiscuous),就可以支持一键配网功能,只是各个厂家叫法及实现编码方式不同而已;

手机编码发送采用有UDP组播或广播,不同的发送方式和编码,对应的解码过程也不一样.,当前测试发现,微信是通过UDP广播包实现的;TI是通过往一固定IP地址发送udp包;其他芯片厂家提供的一般为UDP组播方式;

由于无线数据传播必定是广播的,所以必然可以被监听到;如果AP没有加密的话,UDP直接可以把相关的信息发送出来.但是路由器AP一般都是加密的,而且加密方式不固定.wifi模块在无法直接解析出数据包

我们通过分析802.11的MAC帧格式,可以知道,链路层载荷数据(即网络层的头部及网络层数)在数据帧中是清晰可见的,只要接到到802.11帧就可以立刻提取出载荷数据.

常见两种数据帧格式:

Station to AP

 

AP to Station

 

 

DA:目标MAC地址

SA:源MAC地址

LENGTH:表示后面数据的长度

LLC:表示LLC头

SNAP:表示3byte的厂商代码和2byte的协议类型表示

DATA:载荷数据

FCS:帧检验序列


发送端:可以采用2种不同的编码发送方式UDP广播和组播;

一:UDP广播:小规模测试后,发现当前只有微信的AirKiss采用了全网广播模式,为啥微信会采用广播模式,原因未知;TI采用的是固定IP地址的UDP数据包,原理和微信基本一致;

从802.11帧格式分析中获知,无线信号监听方的角度来说,不管无线信道有没有加密,DA、SA、LENGTH 、LLC、SNAP、FCS字段总是暴露的,因此信号监听方可以从这6个字段获取有效信息.从发送方讲,由于操作系统的限制,如果采用广播只剩下LENGTH发送方可通过改变其所需要发送数据包的长度进行控制.所以只要指定出一套利用长度编码的通讯协议,就可利用数据包的Lenght字段进行数据传递;

 

二:UDP组播:

组播地址是保留的D类地址从224.0.0.0-239.255.255.255

IP地址与MAC地址映射关系为:将MAC地址的前25位设定为01.00.5e,而MAC地址的后23位对应IP地址的位;

故发送端可以将数据编码在组播ip的后23bit中,通过组播包发送,接收端进行解码即可;

 

接收端进入一键配置功能后,wifi智能硬件从信道1开始监听路由上的数据,如当前监听信道有符合规则的数据包,就停止信道切换,停留在当前信道接收完全部数据.否则就依次切换至信道2.3.4....直到信道14后又从信道1开始继续监听依次循环;

当然,wifi智能硬件可以在开启混杂模式之前,先行扫描当前环境下存在的AP获取所有当前AP的信道,然后只对当前扫描到的信道进行依次监听,如当前环境下只存在2个路由,分别在1.6信道,只需轮流扫描channel1和channel6,这样可以提高配置效率

ESP32学习9:SmartConfig配网 一、WIFI设备配网 Wifi设备需要连接上路由器(即wifi热点,AP)才能上网,进行实际的数据交互以及远程控制。我们通常将wifi设备获取热点的名字和密码的过程叫做配网。目前,主流的WIFI配置模式有以下两种: WIFI设备处于AP模式,配置工具作为STA连上这个AP,对该AP发送联网信息(需要连接的路由器的SSID即密码),WIFI设备收到联网信息后,切换到STA模式,利用收到的联网信息联网。此方法优势是成功率基本在 100%,缺点是配置过程复杂,做出的产品不易操作。 Smar... 阅读详情

相关推荐

【ESP32】打造全网最强esp-idf基础教程——16.SmartConfig一键配网

在讲STA课程的时候,我们用的是代码里面固定的SSID和密码去连接热点,但实际应用中不可能这么弄,我们得有办法把家里的WiFi SSID和密码输入到设备里面去,对于带屏带输入设备还好,因为可以人为手动输入,但很多IOT设备都不具备这种能力,因此我们需要其他方法。把SSID和密码告诉给设备,让设备能正确连接WiFi热点接入到物联网的过程,称为配网。

Hello_kitty_ling的博客 4457

ESP8266 SmartConfig一键配网

ESP8266 SmartConfig一键配网   Wi-Fi 配网,指由外部向 Wi-Fi 设备提供 SSID 和密码(PSW),让 Wi-Fi 设备可以连接指定的热点或路由器,并加入后者所建立的 Wi-Fi 网络。   对于具备丰富人机界面包括屏幕/键盘的设备,例如电脑或手机,可以直接输入 SSID/PSW 进行连接。   对于不具备丰富人机交互界面的物联网 Wi-Fi 设备,例如智能灯、扫地机器人等,则可以借助手机等智能设备,以某种配网方式将 SSID/PSW 传递该设备。   基本原理   1.设备

weixin_44453694的博客 8550

esp8266自动配网 wifimanager

esp8266自动配网 wifimanager

xuqingyuxu的博客 2387

SmartConfig 技术原理

SmartConfig 技术原理 简单来说, 这是一种让你可以在没有和其他设备(支持SmartConfig技术)建立任何性质的通讯链路的情况下, 配置该设备接入wifi网络 虚构一个实际场景的话, 会是这样: 你购买了一个带有wifi的摄像头, 不过这个摄像头没有usb, 没有以太网, 没有蓝牙, 没有nfc, gsm就更不可能了, 只有wifi, 那么问题来了:

yangzhao0001的博客 5328

ESP32中利用SmartConfig 一键配网

本文介绍了SmartConfig一键配网技术的原理及在ESP32上的实现。SmartConfig通过手机APP将WiFi信息编码到UDP广播包中,设备在混杂模式下接收并解码这些报文获取SSID和密码。文章详细解析了数据传输机制,包括前导码识别、长度编码算法等关键技术点。ESP32通过esp_smartconfig_start()函数简化了开发流程,支持V1、V2和AirKiss三种协议版本。配合官方APP,用户只需长按设备按键即可完成配网,WiFi凭证会自动保存至NVS存储器。该方案为无屏IoT设备提供了便

嵌入式技术开发 269

飞塔防火墙和paloalto防火墙构建ipsec

一、配置fortigate防火墙1.防火墙配置上网功能1.1配置fortigate的wan1接口IP为100.100.100.2/24VLAN交换internal,IP地址为192.168.156.99/24。开启DHCP分配IP地址范围为192.168.156.110-192.168.156.2101.2配置访问互联网的缺省路由1.3配置访问互联网的安全策略2.配置与Paloalto防火墙的IPSECVPN。

weixin_44675999的博客 3737

【转载】wifi一键配网smartconfig原理及应用

物联网给我们又提供了一种窃取WiFi密码的好方式:让智能设备主动断线。 同时也提供一种让智能设备连接到恶意WiFi的方式:设备一键配置功能时疯狂广播恶意WiFi的信息。 转自:http://blog.youkuaiyun.com/lbaihao/article/details/74231693 原文如下: 智能家居/家电现阶段还处于普及阶段,由于家庭wifi网络的普及,目前普遍采用wif...

weixin_30791095的博客 183

车载仪表-功能点测试大全(超详细,细分可作测试用例)

汽车仪表系统发展经历了机械式、电气化到智能化的演变,目前全液晶仪表渗透率达73.4%。文章详细梳理了仪表功能测试要点,包括UI界面显示一致性、按键响应、FM收音、信号灯显示、USB功能、蓝牙连接、胎压监测、导航系统、WiFi投屏、倒车影像及多媒体播放等关键功能模块的测试标准。特别关注界面切换流畅度、功能稳定性及异常情况处理能力,如投屏状态下是否卡顿、导航中断后能否自动恢复等。测试覆盖了CarPlay、AndroidAuto等主流投屏方案的兼容性验证,确保各类交互场景下的系统可靠性。

weixin_51551002的博客 2062

01 wifi一键配网smartconfig原理及应用

智能家居/家电现阶段还处于普及阶段,由于家庭wifi网络的普及,目前普遍采用wifi与路由器完成连接,与手机/云端进行数据交互. 智能硬件,如智能插座,智能空调,智能空气净化器由于不具备人机交互界面,不能像电脑一样的搜索/选择指定路由器,输入连接密码的界面,所以必须先解决正确连接路由问题; 目前流行的wifi配置模式一般有以下2种: 1:智能硬件处于AP模式,手机用于station模式,手机...

Blucher_Ce的博客 593

webview腾讯x5内核离线安装

离线集成腾讯TBS浏览器服务,彻底解决官方下载限流问题,永久免费

观千剑而后识器,操千曲而后晓声。 7906

Windows下MMdetection3D保姆级安装指南(含CUDA和PyTorch版本避坑)

本文提供Windows平台下MMdetection3D的完整安装指南,重点解决CUDA与PyTorch版本匹配问题。从环境准备到关键组件安装,详细介绍了CUDA Toolkit选择策略、PyTorch精准安装步骤,以及MM系列组件的安装顺序和常见错误解决方案,帮助用户顺利完成3D目标检测环境的配置。

weixin_42628941的博客 490

07-ESP8266的一键配网模式学习

文章目录前言07-ESP8266的一键配网模式学习工作原理Smartconfig库例程 前言 在前面的应用中都是在代码中设定固定的WiFi信息进行连接,这样灵活性太低,实际应用中也不方便。下面介绍一种一键智能配网模式。 07-ESP8266的一键配网模式学习 一键配网成为:SmartConfig技术配置,需要使用手机App将WiFi的账户密码发送给目标板。 工作原理 所谓Smartconfig就是手机App端发送包含WiFi用户民以及密码的UDP广播包,智能中断的WiFi芯片可以接收到该UDP包,知道知道U

TB980181的博客 2795

envi反演水质参数_遥感水质反演之反演模型

水质反演的框架图此为反演模型的章节第一部分,统计学基础:概率论、矩阵和数理统计的知识统计学知识框架# 1 基本统计概念知识在于应用,而非记忆!我们都是在样本的层面去操作数据的,以达到对总体性质的估计和推断,拿到一组数据首先进行基本的统计描述,常用的有:样本均值: 样本方差(调整方差)不是除以n,而是n-1, 标准差为样本方差开方即可皮尔逊积矩相关系数(简称相关系数): 相关系数范围在[-1,...

weixin_35275922的博客 3226

smartConfig资料收集

SmartLink绑定流程及小循环控制 http://blog.sina.com.cn/s/blog_6969bae20102v7k8.html SmartConfig http://blog.youkuaiyun.com/xundh/article/details/50351888 请问 SmartLink 技术的原理是什么? https://www.zhihu.com/ques

whatnamecaniuse的专栏 701

从零开始理解固定翼能量控制:Pixhawk TECS算法保姆级教程

本文深入解析了Pixhawk飞控中的TECS(总能量控制)算法,旨在解决固定翼无人机纵向控制中速度与高度耦合的经典难题。教程从物理概念出发,阐释了TECS通过管理总能量与分配能量形态来实现油门与升降舵解耦的核心思想,并提供了参数调试的实战指南,帮助开发者优化飞行性能。

white的博客 249

保姆级教程:在RV1126开发板上跑通YOLOv5口罩检测(从数据集到摄像头实时识别)

本文提供了一份详细的RV1126开发板部署YOLOv5口罩检测系统的全流程指南,涵盖数据集准备、模型训练优化、边缘部署及实时摄像头识别等关键步骤。重点解析了RV1126开发板的性能特征、YOLOv5模型训练调优技巧、RKNN模型转换量化策略,以及部署过程中的性能优化方案,帮助开发者高效实现边缘端目标检测应用。

weixin_27310985的博客 106

ESP-12S学习(6)--Smartconfig

本文参考【IoT】物联网之 WIFI 一键配网 smartConfig 浅析(ESP32) 一、什么是SmartConfig 智能配网,比如你拿到一个智能灯,它是可以连接你家的wifi的,但是它不认识你家的wifi怎么办呢,那么你就要告诉它,你家的wifi是什么名字,密码是什么,怎么样告诉它是最方便的? 智能灯的开发商开发智能灯的时候附带开发一个App,通过使用这个App来去告诉智能灯你家的wifi 连接在app上输入wifi名字密码根据wifi名字密码连接手机APP自家wifi手机APP自家wifi手机A

weixin_39531963的博客 1199

MacBook 长期挂机 OpenClaw:电池保护 + 防休眠设置

本文介绍了MacBook长期挂机运行OpenClaw时的电池保护和防休眠设置方案。主要内容包括:1)电池保护策略,通过电源连接、充电限制和定期充放电维护电池健康;2)防休眠设置,禁用系统休眠、自动休眠和屏幕休眠;3)OpenClaw的Docker部署方法。文章提供了详细的命令行脚本和配置说明,帮助用户实现MacBook的长期稳定运行,同时保护电池寿命。

一键难忘的博客 1692

wifi配网

组播配网: https://blog.youkuaiyun.com/liwei16611/article/details/81133191 零配: https://help.aliyun.com/document_detail/96623.html?spm=a2c4g.11186623.6.553.859314f5FuCWpC

yudelian的博客 360

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

上一篇: 程序或-内存区域分配(五个段)
下一篇: 什么是BQB认证?
evilcode
博客等级 码龄20年 307粉丝 16原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值