物联网Wifi网络配置原理
自从物联网问世以来,如何使得物能够联网有多种的方式,目前运用非常广的Wifi,最近在做这方面的SDK,下面讲解一些配网的原理。
引入
APP将要配置上的路由的wifi用户名、密码发送给智能硬件,目前基本采用以下几种方式
1)smartconfig
2)AP模式: APP 配置手机连接到智能硬件(WIFI芯片 的AP),构建成一个局域网,当然该局域网是不能上网的,但是在局域网内的各个设备的通信是OK
smartconfig
- 采用UDP广播的形式(UDP:255.255.255.255),esp8266先scan下AP,得到AP的相关信息
- 硬件需要不断扫描频道,加快获取UDP包
两个共识
- 无线数据的传播形式必定是广播
- 任何可控的模式都可以被用于编码, 用于数据交换
当前wifi应用的几种主流加密方式都存在一个特点, 明文的长度和加密后的密文长度之间是线性关系
即: 密文长度 = 明文长度 + 算法相关的常量C, 也就是说, 只要明文长度可控, 密文的长度即是可控的
这个特点是SmartConfig的核心原理
smartconfig原理图
iOS 参考库https://github.com/lianghuiyuan/Esptouch
AP接入
AP 是 (Wireless) AccessPoint 的缩写,即 (无线) 访问接入点。简单来讲就像是无线路由器一样,设备打开后进入 AP 模式
AP原理图
比较
AP模式比较不好的就是配置时间比smartconfig要长,手机连接的WIFI接入点会变化,如果配置不成功,手机就无法上网,需要在手动配置WIFI,手机才能上网。