你是否用过智能家居?你知道智能家居是怎么连上你家WIFI热点吗?你是否好奇APP是怎么和智能家居通话的?今天的这篇文章为你揭晓智能家居配网原理。
绝大多数智能家居都要求用户安装一个APP,通过APP完成设备的联网和控制,这种行为除了出于留存用户数据(得到隐私信息)外,还有一点就是为了首次的设备联网。
要知道出于成本原因,物联网设备的处理器价格都比较低廉,它是很难实现类似让用户说出wifi账号和密码自己自动连接功能的,更不要说让它实现你用语音直接命令的功能,所有的一切,都是通过APP上传服务器让服务器做翻译给设备下指令的,包括把WIFI信息告诉智能家居。所以,不要轻易在你的智能家居面前说或做一些敏感的事情,说不准哪天泄露的几百G文件中就有你和某人不可描述的一幕,这也是当前物联网设备面临的一个问题:隐私。
有点跑偏,APP告诉设备WIFI信息的方式现在主要有两种,分别为:AP配网和SmartConfig配网,下面简单说一下这两种配网模式:
AP配网
AP是Access Point的简称,详细了解请看我的这篇文章,里面简单介绍了ESP8266无线模块的工作模式。
AP配网从字面意思很容易理解,就是让物联网设备处于AP工作模式下,启动一个接入点,然后用手机或其他无线终端连接这个接入点,连接后APP会把实现你输入的WIFI信息发送给设备,有的则是连接后通过代码把用户劫持到一个网页,让用户在该网页中输入WIFI信息,然后设备连接这个WIFI,完成通信。通信方式有多种,可以灵活选择,例如:tcp、udp、http,https(不太可能,实现成本太高,硬件算力不足)……
以下把智能家居简称为设备,AP配网方式,示意图如下:
SmartConfig配网
这种配网方式有的地方称为Easy-Connect配网,原理都是一样的,就是利用设备无线模块的混杂模式发送广播数据包(这里明白的会立刻明白,不明白的也不是自己原因,接下来我慢慢解释),混杂模式是无线网卡工作的模式之一,工作在混杂模式下的网卡接收所有的流经过网卡的数据帧,因为WIFI实际上是一种电磁波,电磁波的传播是不依赖于介质的,这样说有些抽象,我们实际举一个例子:
上图中的线段代表WIFI信号电磁波,无线终端和路由器之间的通信并不是单纯的通道形式,而是向外不断扩展的电磁波,正常模式(直接模式)下的无线网卡是不会关注不属于自己信号的信号的,工作在混杂模式下的网卡会接收所有能接收的无线信号,这些信号中有各种信息,SmartConfig配网就是让智能家居物联网设备的无线模块工作在混杂模式下,然后手机APP不断的向周围广播带有约定标志的你输入的WIFI信息,物联网设备对接收到的数据包分析,把带有约定标志的解密,然后得到WIFI信息。
流程如下:
上述的广播是广义上的广播,意思发送数据,手机的广播方式有多种,通常使用以下两种:
- 广播
- 组播
至于这两种方式的区别,自己去搜索吧。