一种物联网WiFi设备的网络接入设计方案
2021-07-31徐石雄曹秋挺
徐石雄,曹秋挺
(1.杭州海康威视数字技术股份有限公司,浙江 杭州 310000;2.浙江建设职业技术学院,浙江 杭州 310000)
0 引 言
随着物联网的发展,越来越多的智能硬件存在接入无线网络的需求[1-2]。智能手机、电脑等具有输入装置(触摸屏或键盘)的终端[3]易于接入无线网络,即通过输入装置输入所要接入无线网络的网络名称和密码,待该网络名称和密码得到产生该无线网络的中转设备(如路由器)的认证后即可快速连接。但对于智能摄像头和智能插座等终端而言,由于产品上未设置类似输入装置,只有依靠具备输入装置的其他终端(手机等),使用无线通信才能接入网络。因此,针对WiFi无线通信的物联网设备,通过设置WiFi芯片的嗅探模式[4]侦听WiFi的用户名以及密码,用以解决无输入装置的智能硬件接入无线网络的问题。该设计方案已在智能摄像机、智能插座等产品上得到应用。
1 系统总体结构
系统总体结构如图1所示,主要包括发送设备、转发设备和接收设备。发送设备是指一个已经接入有线或无线网络功能的智能设备,如电脑、智能手机等。接收设备是指一个或多个待接入网络的无线网络智能设备,通常缺少便捷的输入装置,如智能摄像头、智能插座等。转发设备是指具有无线路由功能的设备,如无线路由器等。
图1 系统总体结构
用户在发送设备中输入网络名称与网络密码,其他由用户自定义原始信息,点击“OK”,加密待发送数据后发送给转发设备。转发设备对发送设备发出的数据在某个信道上进行转发,接收设备获取周围环境的WiFi网络信道情况。接收设备在混杂模式下循环判断之前获取的信道列表,接收设备在混杂模式下获得转发设备发送的数据后判断是否接收完毕。接收设备接收完转发设备发送的全部数据后退出混杂模式。接收设备解密收到全部数据后获得输入网络名称和网络密码。接收设备向SSID对应的转发设备执行接入连接请求操作。
2 系统软件详细设计方案
2.1 组播IP与MAC地址对应关系
用户数据的发送充分利用了组播IP地址与MAC地址的对应映射关系。MAC地址与IP地址的映射规则:组播MAC共6字节,地址前25位规定为01005e(十六进制),后23位对应IP地址的后23位。
IP地址:1110yyyy.yxxxxxxx.xxxxxxx.xxxxxxxx
MAC地址:00000001.00000000.01011110.0xxxxxxx.xxxxxxx.xxxxxxxx
例如组播IP地址224.215.145.230对应的MAC地址为:01-00-5e-57-91-e6,215.145.230换算为二进制 :1101,0111,1001,0001,1110,0110,取最后23位放入MAC地址中计算。用户数据的单个字节组成对应的IP地址,该IP地址对应相应的MAC转换,用户数据通过组播发送,接收方根据收到的MAC地址得到用户发送的IP地址,进而得到用户数据。
2.2 发送设备的数据发送流程
用户输入到发送设备的网络名称为SSID,网络密码为PASSWD,其他由用户自定义原始信息,通过序列号转换后为字节流数据,记为Xi。发送数据流程如图2所示。
图2 发送数据流程
(1) 发 送 设 备 将 待 发 送 数 据X1,X2,...,Xi进 行加密;
(2)发送设备在发送过程中判断待发送数据是否全部发送,若未全部发送,则发送设备选取组播IP[5]地址224.0.0.0~239.255.255.255中的某些地址,将当前的待发送数据字节构建成目标组播地址,并设置该UDP负载长度[6]为1,否则结束发送;
(3)当Xi对应的UDP包发送完成后,进行Xi+1字节的发送,即回到步骤(2),直到数据全部发送完成。
2.3 接收设备的数据接收流程
接收待发送数据流程如图3所示。
图3 数据接收流程
(1)接收设备接收数据,扫描周围无线网络信号,获取转发设备的信道列表。
(2)接收设备获取信道列表后进入混杂模式。
(3)接收设备按顺序在已获得的转发设备信道列表中设置当前接收设备的信道。
(4)检查接收设备在当前信道下的规定时间内是否收到需要的目标数据,如果未收到数据,则回到步骤(3)设置下一个可能的信道;如果收到数据,则停止切换信道,继续在当前信道下接收剩余的数据。
(5)接收设备接收到当前目标数据后,判断是否接收全部数据,如果接收完成,则退出混杂模式,否则继续接收数据,直到接收完成。
(6)接收设备接收全部待发送数据,并对此按照与发送方事先约定好的解密规则解密[7]。
2.4 接收设备的解析数据流程
数据解析流程如图4所示。
图4 数据解析流程
(1)接收设备解析待发送数据,获得完整的网络数据帧[8];
(2)接收设备从完整的网络数据帧中分离出MAC地址;
(3)接收设备对该MAC地址进行分析,获得待发送数据索引i的数据为Xi;
(4)获得第i个数据Xi后判断数据是否全部接收,若未全部接收则回到步骤(2),继续接收,直到全部接收完成;
(5)接收设备解密收到的全部数据,获得输入网络名称SSID与网络密码PASSWD,其他由用户自定义原始信息;
(6)接收设备解析待发送数据后流程结束。
2.5 接收设备的接入路由的结果反馈流程
连接结果反馈流程如图5所示。
图5 连接结果反馈流程
(1)接收设备根据解密的网络名称与网络密码及其他用户自定义的原始信息,执行接入SSID对应转发设备网络接入请求操作;
(2)若接入成功,则生成相应的通知消息,相反,则生成失败的消息通知,失败的消息通知可以携带失败原因[9];
(3)接收设备利用UDP广播生成相应的数据消息包,周期性广播该消息通知;
(4)接收设备在规定时间内若收到反馈信息则停止周期性广播,否则继续广播,此时发送设备根据发送方反馈的结果,停止发送数据并提示用户当前操作是否成功。
3 结 语
本文结合物联网相关技术设计的网络接入方式表明,该方案切实解决了智能摄像机、智能插座等无输入屏幕装置的物联网设备接入WiFi网络的问题,方便快捷,具有广阔的应用前景。但该方式也存在一些不足,有待进一步完善,而这也是后续研究的方向。