APP下载

智能产品配网绑定时效问题的定位方法①

2020-04-24李昱兵

计算机系统应用 2020年4期
关键词:时效热水器时延

李昱兵,汪 伟,辛 钧

1(长虹美菱股份有限公司技术研究中心,合肥 230601)

2(西安交通大学 电子与信息工程学院,西安 710049)

3(合肥美菱物联科技有限公司技术研发部,合肥 230601)

当前,通过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 可知,智能热水器配网绑定的耗时数据呈随机性.为方便研究,引入数学期望以衡量各环节耗时和总耗时的平均情况.

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

①流量预警规则:对8:00流量超预警门槛值的设定站点,发布一次预警;以后每过2小时巡查一次,将流量与上次预警时流量比较,如增幅达到或超过预警要求,发布预警。

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

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

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

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

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

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

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

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

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

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

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

表6 智能热水器配网绑定关键环节耗时均值µt(单位:s)

表7 智能热水器配网绑定关键环节耗时方差σ 2(单位:s2)

3 时效优化措施与过程

3.1 优化配网信息传输方案

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

由于路由器的MAC 地址可通过扫描的方法从环境中获取,优化时效时设计了新方案:将目标路由器的MAC 地址替换其SSID 用于配网.该方案需要传输的配网信息更短.以实验所用路由器为例,其SSID(TPLINK_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 智能热水器优化后配网绑定关键环节耗时均值µt(单位:s)

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

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

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

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

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

5 结论与展望

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

猜你喜欢

时效热水器时延
计算机网络总时延公式的探讨
计算机网络总时延公式的探讨
预时效对6005A铝合金自然时效及人工时效性能的影响
基于物联网的IT运维可视化管理系统设计与实现
预时效对汽车用6082合金性能的影响
2219铝合金单轴拉/压蠕变时效行性行为研究
《舍不得星星》特辑:摘颗星星给你呀
谁应该为毁损的热水器负责?
太阳能热水器
自制一个太阳能热水器