概念
smart config
是指从已接入路由器的设备(通常是手机),发送组播或广播。未接入路由器的Wi-Fi设备可以接收到这些信息,从而连接路由器,实现对设备的一键配网。
原理
混杂模式
通常,我们所说的组播和广播,都是局域网内的。因为通常情况下,我们的网卡处于普通模式,此时网卡只接受来自网络端口的目的地址指向自己的数据。
当网卡工作在混杂模式下时,网卡能够接收所有经过它的数据流,而不论其目的地址是否是他。
广播
广播时,只有广播的长度,接收方能够正确解出。所以可以利用长度制定一套协议进行通讯。例如:
我们认为长度对应的ASCII
值,即为要传输的内容,则如果要发送字母A
,则改变发送数据包的长度为0x41
,接收方利用广播包的长度所对应的ASCII
值,可以解析出我们要发送的数据为A
。
组播
组播时,IP地址与MAC地址映射关系为:ip地址的低23位的值与mac地址的低23位是相同的,即我们可以将数据写入ip地址的低23位,接收端可以解析出mac地址,mac地址中的低23位,即为我们传输的数据。
优势
简单易用,手机端只需要输入ssid
和password
即可
劣势
优势非常明确,但劣势是真的多,所以这种配网方式,在目前来看,存在很多问题,在选择配网方式时需要慎重考虑,最好不要用。
- 传输速度慢,受限于smartConfig的原理,最快一包能传23位数据,如果要做产品,还要考虑到安全,前导包,数据校验,丢包等问题,导致成功率有限。
- 路由器兼容性问题,这是个很大的问题,由于路由器的快速发展,型号内部逻辑也多种多样,如:
2.1 有的路由器不转发组播广播包,此时也会降低设备收到数据的成功率。
2.2 路由器频段问题,现在常见的Wi-Fi模块通常只有2.4GHz频段,所以只能与2.4GHz频段的路由器进行通信。现在的路由器一般都有2.4GHz和5GHz两个频段,用户在实际操作时,可能误用5GHz频段的路由器,从而导致Wi-Fi设备收不到数据。
2.3 现在有的路由器还有mimo,mumimo功能,而Wi-Fi模块可能是单天线,导致在收发数据上收不全,最终导致失败。
总结
smart config配网方式虽然简单,但由于过程不可控,属于盲发的状态,且路由器兼容性问题越来越多。所以成功率不能保证,需要慎用。