计算机系统应用  2020, Vol. 29 Issue (4): 163-169   PDF    
智能产品配网绑定时效问题的定位方法
李昱兵1,2, 汪伟1, 辛钧3     
1. 长虹美菱股份有限公司技术研究中心, 合肥 230601;
2. 西安交通大学 电子与信息工程学院, 西安 710049;
3. 合肥美菱物联科技有限公司技术研发部, 合肥 230601
摘要:本文针对智能产品配网绑定耗时偏长又极难排查的行业性问题, 对业界应用最广的“Soft AP”和“快联”机制进行细致分析后, 提出了通过智能手机终端、智能产品终端、智能产品服务后台联合抓包来定位配网绑定时效问题的方法. 将该方法应用于智能热水器、智能空调等产品后, 成功定位到影响配网绑定时效的关键环节和因素. 以此为依据的优化措施有效降低了产品配网绑定的耗时, 显著提升了用户体验.
关键词: 智能产品    WiFi    配网绑定    抓包    时效    
New Method to Locate Time-Effectiveness of WiFi Provisioning for Smart Goods
LI Yu-Bing1,2, WANG Wei1, XIN Jun3     
1. RD Center, Changhong Meiling Co. Ltd., Hefei 230601, China;
2. School of Electronic and Information Engineering, Xi’an Jiaotong University, Xi’an 710049, China;
3. Technology Research and Development Department, Hefei Meiling IoT Co. Ltd., Hefei 230601, China
Foundation item: Naional Electronics Development Fund (MIIT[2014]425)
Abstract: In this study, we mainly aim at the problem that Wi-Fi provisioning of the smart goods in home always takes too much time but hard to troubleshoot. Based on detailed study of “Soft AP” and “Simple Config” which are most commonly used for WiFi provisioning of smart goods, we proposed a new research method in which packet capture is involved among the cell phones, smart goods, and corresponding servers to locate the issues. By applying this method to research time-effectiveness of WiFi provisioning for smart water heater and smart air conditioner, we successfully located the key segments and factors that impact the time-effectiveness. The optimization measures based on the research result have reduced the time consumed on WiFi provisioning a lot, and improved the user experience greatly.
Key words: smart goods     WiFi     provisioning     packet libpcap     time-effectiveness    

当前, 通过WiFi接入互联网的智能家居、家电产品(下文简称智能产品)层出不穷, 网络接入是实现其核心价值的前提: 只有成功接入WiFi网络, 智能产品才能注册到服务后台并与用户手机绑定, 远程操控、场景联动、数据运营等高级应用才可能实现. 然而, 家庭内应用的智能产品普遍未配备显示屏和触摸屏. 所以, 借助智能手机APP引导用户将智能产品接入WiFi网络是众多家电设备供应商、家居方案提供商(下文简称智能产品提供商)的普遍选择.

用户在手机APP引导下将智能产品接入WiFi网络后, 下一步是将手机与产品绑定. 业界习惯将整个过程称为“配网绑定”. 其中, 配网是通过某种技术将家庭WiFi路由器的SSID和密码发给待配网智能产品, 助其接入WiFi热点(AP). 绑定是在后台服务器实现产品ID和用户ID的关联. 配网绑定需手机APP、智能产品、WiFi路由器、后台服务器密切配合才能完成, 过程非常复杂. 长期以来, “配网绑定操作繁杂, 用户体验差”的问题饱受消费者诟病甚至成为制约智能家居产业发展的瓶颈[1]. 对此, 业界对手机APP的配网绑定交互界面做了大量优化. 然而, 我们发现: 配网绑定的耗时仍然偏长, 还是会偶现超时甚至失败的现象. 仅优化用户看得见的手机APP交互界面已不能从根本上提升配网绑定的用户体验. 那么, 究竟是何环节或因素导致配网绑定耗时偏长呢? 解决这个时效问题是提升用户体验的关键. 但由于过程复杂、故障点多, 常规研究方法难以奏效, 技术团队间也常常争议不断.

基于以上背景, 本文详细研究目前业界最常用的配网绑定机制后, 首次提出采用智能手机终端、智能产品终端、智能产品服务后台联合抓包的方法研究配网绑定的时效问题. 通过该方法, 发现智能手机(含手机APP)并非影响配网绑定时效的关键因素, 妥善设计智能产品终端的配网绑定逻辑、合理设定发包频率、优化冗余时延函数可大大降低配网绑定耗时, 从根本上提升产品用户体验.

1 智能产品配网绑定技术现状

针对智能产品如何接入WiFi网络, 目前已存在多种技术方案.

2006年, WiFi联盟提出WiFi Protected Setup (WPS)技术[2]. 该技术定义了PIN和PBC两种模式, 可将WiFi终端接入AP热点. 然而, PIN模式要求终端配备按键, 用于输入PIN码. 而PBC模式要求用户同时按下终端和路由器上的PBC按键[3]. 故两者都不适合智能家居, 实际应用并不广泛.

Soft Access Point (Soft AP)是最早被应用智能产品WiFi接入的方案之一[4]. 使用“Soft AP”配网核心有5步: 第1步, 待配网产品默认工作在Access Point模式, 对外暴露一个AP热点, 提供临时WLAN供智能手机接入. 第2步, 智能手机连接到该AP热点. 第3步, 借助智能手机将WiFi路由器的SSID和密码发给待配网设备. 第4步, 待配网设备从Access Point模式切换至Station模式. 第5步, 待配网设备使用接收到的SSID和密码接入WiFi路由器. 由于iOS系统和越来越多的Android定制系统收紧了APP对WiFi的操作权限, 致使上述第2步难以实现高度自动化. 因此, 如何削弱它对用户体验的影响成为厂商研究和专利布局的重点[5].

2012年, 德州仪器(TI)提出WiFi“SimpleConfig”配网技术, 并在旗下的CC3200芯片中实现[4]. 该技术核心分5步: 第1步, 待配网智能产品默认工作在监听模式. 第2步, 用户通过手机APP输入Wi-Fi路由器的SSID和密码. 第3步, 手机APP调用操作系统服务, 以UDP广播或组播方式发送SSID和密码. 第4步, 待配网设备接收UDP包后, 解析获得SSID和密码. 第5步, 待配网设备从监听模式切换至Station模式并接入WiFi路由器. 继TI提出“SimpleConfig”后, 高通基于QCA4004芯片开发了“SmartConnection”技术; MARVELL基于MW300芯片开发了“EasyConnect”技术; Realtek基于RTL8710芯片研发了“SimpleConfig”技术; 乐鑫基于ESP8266推出了“Smart-Config”技术[6]. 这些技术虽名称和细节稍有差异, 但总体思想与TI提出的“SimpleConfig”相同, 业界将其称为“快联”. 如今, “快联”已被长虹、海尔、小米等智能家电厂商普遍使用.

此外, 还有学者提出了基于音频信号的多进制频移键控(MFSK)配网技术[7]. 该技术已在智能音箱类产品上应用. 然而, 因传输距离有限, 应用范围尚不广泛.

综上可知, 智能产品配网技术尚未形成统一标准, 应用范围最广的是“Soft AP”和“快联”[8]. 在这两种技术中, 手机被扩展为智能产品的输入/输出设备. 而手机APP则提供产品配网绑定的人机交互界面, 由于直接被用户感知而成为厂商关注和研究的焦点[9]. 事实上, 围绕这个焦点也确实涌现了不少创新. 例如, 借助智能手机的WiFi模组扫描到待配网产品(基于“Soft AP”方案)后, 在手机APP上直观地呈现出来; 又如, 以图文并排方式精确引导用户找到产品唯一标识(二维码或条形码); 再如, 以图文方式引导用户对待配网智能产品进行复位, 以回到统一的“起点”; 此外, 在用户家庭WiFi信号质量不佳或处于尚不支持的WiFi频段时, 提前给予预警提示. UCD研究显示, 人机交互界面的创新, 可防止用户走弯路, 在一定程度上提升用户体验. 但智能产品配网绑定整体耗时过长甚至超时失败的问题, 却未能根本解决[10, 11].

2 确定时效优化方向与重点

欲优化时效, 必先缩小问题范围、确定优化方向. 配网绑定需多方参与, 过程复杂. 联合抓包可确定时效优化方向. 本节先分析“Soft AP”和“快联”的详细机制, 再设计联合抓包方案, 最后以智能热水器为例阐述如何执行此方案以确定时效优化方向与重点.

2.1 确定抓包监测点与重点环节

图1所示, 无论“Soft AP”还是“快联”, 都需多方配合[12, 13]. 首先是智能手机及APP. APP由厂家定制, 提供产品配网绑定的入口, 负责配网绑定引导提示、过程和结果呈现. 第二是待配网智能产品, 其核心是WiFi模块. 第三是家庭WiFi路由器, 是配网绑定过程中智能产品的网络接入点. 第四是智能产品的服务后台, 在配网绑定过程中主要涉及设备管理服务器和消息通信服务器. 由此可见, 配网绑定过程至少涉及4个故障点, 其中智能手机、智能产品和服务后台可用于抓包监测点.

图 1 智能产品配网绑定故障监测点

分析各智能产品的配网绑定流程可发现, 这个多方协同的复杂过程总体上包括6个环节(图2). 其中第1至第4个环节是通过智能手机APP引导用户做好配网绑定的准备工作, 属于用户行为范畴. 合理设计这4个环节, 可提升配网绑定用户体验, 这也是此前多数厂商在做的. 第5个环节是用户做好准备工作后, 智能手机、智能产品、路由器、服务后台协同, 实现产品接入网络并在后台与手机用户ID绑定的过程, 这是配网绑定的核心, 在智能手机APP上呈现给用户的是等待界面. 测试和用户反馈表明, 这个等待界面耗时偏长或超时将导致第1至第4个步骤所做的准备工作功亏一篑, 严重影响用户体验, 因此它是本文时效研究的重点.

2.2 细化重点环节时序

确定抓包监测点及重点环节(图2中第5环节)后, 我们将重点环节进一步细化, 得到更细致的时序.

图3所示, “Soft AP”配网绑定时序中, 智能手机、智能产品、路由器和服务后台在协同配合中存在11个关键交互[14].

图 2 智能产品配网绑定重点环节

图 3 基于“Soft AP”的配网绑定时序

“快联”和“Soft AP”的机理有差异: “快联”少了“Soft AP”的第1和第2个环节(图4), 而是以广播或组播的方式向待配网产品发送SSID和密码[15].

以细化的时序为依据, 可得出配网绑定过程中的关键事件和抓包监测点(表1). 将相邻关键事件的绝对时间相减可得到关键环节的耗时. 将结束时间与起始时间相减可得到配网绑定的总耗时.

图 4 基于“快联”的配网绑定时序

2.3 设计并执行联合抓包方案

确定抓包监测点、重点环节及其内部时序和关键事件后, 设计出如下联合抓包方案.

第1步. 将智能手机、智能产品、服务后台的时间统一校准为北京时间.

第2步. 安排3名抓包员分别从智能手机、智能产品和服务后台打开抓包工具(或日志监视器), 监测表1中的关键事件.

第3步. 安排1名操作员, 对待研究的智能产品执行完整的配网绑定操作.

第4步. 3名抓包员依次读出监测到的关键事件的北京时间, 并由操作员记录数据.

重复执行上述步骤可得到若干组实验数据. 使用统计方法处理这些数据, 可锁定关键耗时环节, 然后在相应环节内排查耗时因素, 进而有针对性地采取优化措施.

表 1 配网绑定过程关键事件与监测位置

此方案适用于“快联”和Soft AP两种配网模式, 可用于确定各类智能家电配网时效的优化方向. 限于篇幅, 本节以智能热水器为例阐述该方案的执行过程.

联合抓包时采用Android和iOS两种手机终端, 详细设备清单和环境如表2列示.

表 2 实验设备与环境

首先, 使用Android手机配合智能热水器进行联合抓包. 记录各关键事件的北京时间原始数据(表3).

表3中各相邻事件的北京时间相减, 得到各关键环节的耗时(表4).

然后, 使用iOS手机, 按相同实验步骤, 获取此热水器的关键环节耗时数据(表5).

表4表5可知, 智能热水器配网绑定的耗时数据呈随机性. 为方便研究, 引入数学期望以衡量各环节耗时和总耗时的平均情况.

$ {\mu _t} = \frac{1}{N}\sum\limits_1^N {{t_n}} $ (1)

其中, ${t_n}$ 为第 $n$ 次联合抓包实验中的某环节耗时或总耗时, $N$ 的取值为20. 使用上述公式对表4表5的数据进行处理后, 得到表6.

进一步, 引入方差以衡量数据的波动性.

$ \sigma _t^2 = \frac{1}{N}\sum\limits_1^N {\mathop {\left| {{t_n} - {\mu _t}} \right|}\nolimits^2 } $ (2)

使用上述公式处理表5表6的数据后, 得到表7.

分析表6表7以及代码实现后, 有以下发现:

(1) 配网信息的发送和接收算法会影响整体时效.

(2) 设备与WiFi路由器建立连接的过程耗时最长.

(3) 设备向后台服务器注册的过程耗时偏多.

(4) 设备上线及与用户在后台的绑定不会耗费太多时间.

联合抓包实验及其数据分析获得的发现, 为时效优化指明方向并确定了优化的重点.

表 3 智能热水器配网绑定绝对时间(单位: 分:秒)

表 4 智能热水器配网绑定关键环节耗时(单位: s)

表 5 智能热水器配网绑定关键环节耗时(单位: s)

表 6 智能热水器配网绑定关键环节耗时均值 ${\mu _t}$ (单位: s)

表 7 智能热水器配网绑定关键环节耗时方差 ${\sigma ^2}$ (单位: s2)

3 时效优化措施与过程

依据联合抓包分析确定的方向, 可针对性地采取时效优化措施.

3.1 优化配网信息传输方案

目前, 业界都将路由器SSID和密码作为配网信息, 并由手机将其传输至待配网设备. SSID的长度将影响配网信息传输和校验的耗时. SSID重名则可能导致设备在很长时间内不能正确连接到目标路由器(经排查发现, 第2节联合抓包过程中出现的少数配网绑定时间特别长的情况, 是由于网络环境中存在SSID重名所致).

由于路由器的MAC地址可通过扫描的方法从环境中获取, 优化时效时设计了新方案: 将目标路由器的MAC地址替换其SSID用于配网. 该方案需要传输的配网信息更短. 以实验所用路由器为例, 其SSID(TP-LINK_98A6)长度为12字节, 而MAC地址长度则只有6字节. 使用MAC地址替换SSID可使数据传输数据量减半, 并降低传输过程中出错的风险. 此外, 由于MAC地址具有唯一性, 该方案可彻底解决复杂网络环境下SSID重名时出现的配网失败问题.

当前, 业界所采用的“快联”配网多基于UDP组播技术, 依靠组播IP地址承载配网信息, 每个组播IP地址仅承载1个有效数据. UDP组播采用D类IP地址, 每个字段取值范围为0~255, 最高字段为组播标识(一般为239). “快联”配网过程中每轮传输的数据类型和帧数总合低于255, 故可将组播IP地址第2字段分成两个范围, 取值低的范围用于标识数据偏移, 而取值高的范围用于标识类型. 这样, 组播IP地址的第3和第4字段可用于承载有效数据(图5). 改进后的“快联”组播IP地址结构, 可使1个UDP组播IP地址承载的数据量翻倍, 从而降低“快联”时需要发送的UDP组播包数量和出错的概率, 提升时效.

图 5 “快联”UDP组播包帧结构优化

使用路由器MAC地址替换其SSID用于配网, 不仅可解决SSID重名所致的配网时间偏长问题, 还可降低传输数据量. 改进“快联”的组播IP地址结构则可进一步减少组播包数量, 降低出错风险, 提升配网绑定时效.

优化过程中还发现, 使用“快联”配网时, 手机APP发送IP组播包的频率会对时效有影响. 过高的发送频率会导致设备端接收和处理的速度跟不上, 而过低的发送频率则可能需要设备端耗费更多的时间才能完成接收和校验. 以智能热水器为例, 将组播包的间隔设定在5 ms至10 ms时, 接收的速度和校验成功率较高.

3.2 Soft AP与“快联”相结合

“快联”配网的优势是用户介入少、操作简便. 但对于某些不转发UDP组播包的路由器, 或复杂的Wi-Fi网络环境(路由器很多的情况), 仅采用“快联”可能会出现用户长时间等待换来失败的情况. 当“快联”配网失败时, 手机APP和待配网设备切换至Soft AP进行配网, 可实现“快联”与Soft AP的优势互补, 这种方案可避免用户长时间等待换来失败的结果, 整体上提升配网时效(图6).

图 6 “快联”+Soft AP配网方案流程

3.3 排查与防范死锁

抓包发现, 智能热水器与WiFi路由器建立连接的过程耗时最长. 针对性的排查发现: 机率性的超长时延是由死锁导致, 比较典型的是智能产品连接路由器过程中, 不恰当地开启或关闭芯片厂商底层重连机制, 造成锁保护混乱. 死锁问题比较隐蔽, 当配网绑定时出现机率性超长时延时(例如表4中最后20行数据), 需要考虑是否存在死锁.

3.4 优化冗余时延函数

冗余时延往往是代码中未合理使用msleep、mdelay等时延函数而累积形成的. 需要取消或减少的冗余时延包括切换设备WiFi工作模式的时延、快联配网时发送UDP组播包的时延、设备连接AP热点的重连时延、设备注册服务器失败的重试时延、域名解析失败的重试时延、消息服务器接收异常的处理时延等.

4 时效优化有效性评价

针对性地采取优化措施后, 再次进行联合抓包实验, 以评价优化方向的正确性及优化措施的有效性. 以智能热水器为例, 采用第3节的优化措施和方案后, 配网绑定各环的节耗时和总耗时显著下降(表8), 其中总耗时较优化前降低了76.9%. 从方差分析(表9)表明, 优化后的配网绑定耗时稳定性显著提升.

表 8 智能热水器优化后配网绑定关键环节耗时均值 ${\mu _t}$ (单位: s)

表 9 智能热水器优化后配网绑定关键环节耗时方差 ${\sigma ^2}$ (单位: s2)

除智能热水器外, 我们将上述方法应用于智能空调、冰箱等全系智能产品后, 普遍取得了显著的效果. 如图7所示, 该方法使得配网绑定总耗时平均值显著下降.

图 7 配网绑定时效优化结果(总耗时均值)

另一方面, 智能产品的配网绑定总耗时方差明显下降, 时效稳定性显著提升(图8).

图 8 配网绑定时效优化结果(总耗时方差)

5 结论与展望

本文针对智能产品配网绑定耗时偏长又极难排查的行业性问题, 而且智能白电系统[16]设计也会越来越复杂、多样性增加, 对业界应用最广的“Soft AP”和“快联”机制进行系统研究后, 提出了通过智能手机终端、智能产品终端、智能产品服务后台联合抓包来解决配网绑定时效问题的方法. 将该方法应用于智能热水器、空调、冰箱等产品及系统软件后, 成功定位到影响配网绑定时效的关键环节和因素. 针对性地优化关键环节冗余时延、有效杜绝死锁并采用MAC地址替换SSID的创新方案后, 大大降低了配网绑定耗时, 从根本上提升智能产品配网绑定用户体验. 该方法已普遍应用于笔者所在单位的智能热水器、空调、冰箱等全系智能产品, 具有通用性, 不仅适用于智能产品的配网绑定时效研究, 其思想还可供研究类似多故障点、多环节的复杂问题时借鉴.

参考文献
[1]
上海艾瑞市场咨询有限公司. 中国智能家居行业研究报告 2018年. 艾瑞咨询系列研究报告(2018年第8期). 北京. 2018. 50.
[2]
Viswanathan P, Batra V, Vyas P. Convenient use of push button mode of WPS (Wi-Fi Protected Setup) for provisioning wireless devices: USA, 9191771. [2015-11-17].
[3]
Wi-Fi Alliance®. Wi-Fi simple configuration protocol and usability best practices for the Wi-Fi protected setupTM program. Wi-Fi Alliance®, 2011.
[4]
Reiter G. A primer to Wi-Fi® provisioning for IoT applications. Texas Instruments. 2014. http://www.ti.com/lit/wp/swry011a/swry011a.pdf.
[5]
Gupta Y, Roberts DA. Wireless provisioning a device for a network using a soft access point: USA, 9504070. [2016-11-22].
[6]
Tran MAT, Le TN, Vo TP. Smart-config wifi technology using esp8266 for low-cost wireless sensor networks. Proceedings of 2018 International Conference on Advanced Computing and Applications. Ho Chi Minh City, Vietnam. 2018. 22–28.
[7]
Liu L, Han ZY, Fang LM, et al. Tell the device password: Smart device Wi-Fi connection based on audio waves. Sensors, 2019, 19(3): 618. DOI:10.3390/s19030618
[8]
Viswanathan P, Winner G, Vyas P. Convenient provisioning of embedded devices with WiFi capability: USA, 8665744. [2014-03-04].
[9]
朱守民, 杜鹏, 白韦. 浅谈广义物联网智能空调用户端配网技术. 2015年中国家用电器技术大会论文集. 合肥. 2015.
[10]
Dai FZ, Ouyang YX, Qin YQ, et al. Development of integral smart home appliances. Journal of Robotics, Networking and Artificial Life, 2018, 4(4): 291-294. DOI:10.2991/jrnal.2018.4.4.7
[11]
Kumar CR, Srinivas C. IoT home mechanization framework. International Journal of Civil Engineering and Technology, 2018, 9(1): 929-936.
[12]
Gupta Y, Roberts DA. Wireless provisioning a device for a network using a soft access point: USA, 8625552. [2014-01-07].
[13]
应闻达, 徐龙杰, 郭涛, 等. 家庭网络中智能家居设备无线快速连接技术. 电信科学, 2015, 31(11): 123-128.
[14]
Lin YB, Lin YW, Chih CY, et al. EasyConnect: A management system for IoT devices and its applications for interactive design and art. IEEE Internet of Things Journal, 2015, 2(6): 551-561. DOI:10.1109/JIOT.2015.2423286
[15]
Li CY, Cai QP, Li JR, et al. Passwords in the Air: Harvesting Wi-Fi credentials from SmartCfg provisioning. Proceedings of the 11th ACM Conference on Security & Privacy in Wireless and Mobile Networks. Stockholm, Sweden, 2018, 1-11. DOI:10.1145/3212480.3212496
[16]
李昱兵, 汪伟, 赵季中. 面向智能白电的系统软件研究与实现. 计算机技术与发展, 2019, 29(5): 17-21. DOI:10.3969/j.issn.1673-629X.2019.05.004