基于ZigBee的Wi-Fi接入点发现与选择方法转让专利

申请号 : CN201110021343.2

文献号 : CN102076060B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 牛建伟吴菲菲张锦锋陈灿峰

申请人 : 北京航空航天大学

摘要 :

本发明为基于ZigBee的Wi-Fi接入点发现与选择方法,以一个部署有多个AP且有多台移动便携设备的区域为应用场景,采用ZigBee作为通讯链路。首先初始化建立Wi-Fi接入点AP列表,然后启动ZigBee接口接收数据,并启动两个定时器。当ZigBee接口接收到数据时,提取AP信息并更新AP列表。当两个定时器超时时分别进行更新AP列表与广播AP信息的操作。当收到连接请求时,进行连接请求处理。本发明方法可使移动设备之间通过ZigBee接口共享AP信息,并利用AP信息直接连接到相关AP而无需事先扫描AP,根据AP信息,选取当前最佳AP连接,大大减少AP扫描的次数,有效降低Wi-Fi接口的耗电量。

权利要求 :

1.一种基于ZigBee的Wi-Fi接入点发现与选择方法,其特征在于,该方法采用ZigBee作为通讯链路,包括如下步骤:步骤1:初始化建立本地Wi-Fi接入点AP列表,然后启动ZigBee接口接收数据,并启动两个定时器Timer-u及Timer-s;所述的AP列表记录了所有本地保存的AP记录APRec,所述的AP记录的结构为:APRec,其中,lifetime表示该AP记录的生存时间,count表示在一个发送周期内重复收到相同AP信息的次数,APInfo指连接AP所必须的信息;

步骤2:判断ZigBee接口是否收到数据,若是,转步骤3;若不是,转步骤4;

步骤3:从ZigBee接口接收的数据包中提取AP信息,记为RecAP,随后扫描本地AP列表,针对每个AP记录,查看其无线网络的服务集标识wlan_ssid是否与RecAP的相同,若相同,则将该AP记录的count值加1,及将lifetime的值重置为0;若不存在无线网络的服务集标识wlan_ssid与RecAP的wlan_ssid相同的AP记录,则新建一条AP记录,将新建的AP记录的APInfo赋值为RecAP,count与lifetime的值初始为0;

步骤4:判断定时器Timer-u是否超时,若是,转步骤5;若不是,转步骤6;

步骤5:遍历整个AP列表,检查每个AP记录的lifetime值,若超过特定阈值,则删除该条AP记录;

步骤6:判断定时器Timer-s是否超时,若是,转步骤7;若不是,转步骤8;

步骤7:遍历整个AP列表,选取AP信息通过ZigBee接口广播出去;

步骤8:判断是否有连接请求,若有连接请求,转步骤9;若无连接请求,转步骤10;

步骤9:检查本地AP列表中是否存有AP记录,若有,则选择当前最佳AP连接,若无,则开启Wi-Fi接口,启动Wi-Fi扫描并连接到AP;

步骤10:判断用户是否发出结束命令,若是,结束本方法;若不是,转步骤2继续执行。

2.根据权利要求1所述的Wi-Fi接入点发现与选择方法,其特征在于,步骤1中所述的连接AP所必须的信息APInfo,其结构为:APInfo,其 中,wlan_ssid表示无线网络的服务集标识;wlan_name表示无线网络的名称;wlan_type表示无线网络的类型;signal_strength表示无线网络信号强度;wlan_security表示无线网络的安全性设置;wlan_hidden表示网络是否隐藏;connecting_time表示连接网络所需时间。

3.根据权利要求1所述的Wi-Fi接入点发现与选择方法,其特征在于,步骤1中所述的定时器Timer-u用于周期性地更新AP列表并检查AP记录的有效性,所述的定时器Timer-s用于周期性地广播本地保存的AP信息。

4.根据权利要求3所述的Wi-Fi接入点发现与选择方法,其特征在于,定时器Timer-u的超时时间间隔设为1s,定时器Timer-s的超时时间间隔设为3s。

5.根据权利要求1所述的Wi-Fi接入点发现与选择方法,其特征在于,步骤7所述的选取AP信息,具体是选取信号强度不低于1且AP记录中的count值小于3的AP信息。

6.根据权利要求1所述的Wi-Fi接入点发现与选择方法,其特征在于,步骤1中所述的count值在每个发送周期初始都被重置为0。

7.根据权利要求1所述的Wi-Fi接入点发现与选择方法,其特征在于,步骤9中所述的选择当前最佳AP,具体选择方法为:为每个本地AP记录计算一个评估AP性能的P值:P=SS/CT

其中,SS表示AP的信号强度,CT表示连接AP所需的时间;

P值最大的AP就是当前最佳AP。

说明书 :

基于ZigBee的Wi-Fi接入点发现与选择方法

技术领域

[0001] 本发明属于通信领域,具体涉及一种基于ZigBee的Wi-Fi接入点发现与选择方法。

背景技术

[0002] Wi-Fi(又 称 802.11b),是 一 种 无 线 通 讯 技 术,工 作 在 2.4GHz 的ISM(IndustrialScientific Medical) 频 段, 采 用 DSSS(Direct Sequence Spread Spectrum)扩频技术,能提供最高11Mbps的速率,有效距离达100m,具有速度快,通讯范围大,成本低等特点。Wi-Fi因其高带宽,低成本的优势,目前已成为无线通讯的主流,大部分的移动设备都配备了Wi-Fi接口。
[0003] 然而,Wi-Fi也存在功耗大的缺陷。研究数据表明,移动设备超过50%的耗电量都来自于Wi-Fi接口,因而移动设备将不足以支持长时间的Wi-Fi通讯,这极大地阻碍了Wi-Fi在移动设备中的进一步推广和应用。因此,如何有效降低Wi-Fi接口的耗电量成为一个亟待解决的问题。
[0004] 根据802.11b协议,Wi-Fi的启动过程主要包括四个阶段:扫描(Scan),关联(Association),验证(Authentication),地址配置(DHCP),其中扫描阶段的持续时间最长,耗电量最大,若能减少扫描阶段的电量消耗,就能有效地降低Wi-Fi接口的耗电量。
[0005] 目前,研究者已提出一些方案,以有效降低Wi-Fi扫描阶段的耗电量,其中一种主要的方案就是利用移动设备配备的其他低功耗网络接口(Bluetooth,GPRS),如Footprint,Blue-Fi等。Footprint利用设备从蜂窝网络中获得的相关数据,如监听到的蜂窝塔的ID,信号强度等,来推测设备当前的位置,只有当设备的位置发生较大的改变时才启动Wi-Fi扫描以获得周围可用的接入点(Access Point,AP)信息,通过减少不必要的扫描次数来降低耗电量。Blue-Fi利用周围蓝牙节点及蜂窝信号的相关信息,例如蓝牙节点的ID,蜂窝塔ID等,来判断当前是否有可用的Wi-Fi网络,只有在存在Wi-Fi网络时才启动Wi-Fi扫描并连接到相关AP。FootPrint与Blue-Fi都是利用其他链路获取的信息以预测当前Wi-Fi网络的状态,以减少不必要的Wi-Fi扫描与连接,从而节省电量,但存在预测不准确的问题。
[0006] 上述几种方案,大都使用GPRS和蓝牙作为辅助链路,然而GPRS存在准确度低的问题,不能很好地用于Wi-Fi网络的预测,蓝牙也存在通讯距离短,节点发现时间长等限制,因此上述几种方案都不能很有效地解决Wi-Fi接口功耗大的问题,且实现起来都较为复杂。

发明内容

[0007] 本发明针对Wi-Fi接口功耗大的问题,以及现有方案中存在的一些不足,提出一种基于ZigBee的Wi-Fi接入点发现与选择方法,移动设备之间利用高效的消息广播机制通过ZigBee接口共享AP信息,并利用AP信息直接连接到相关AP而无需事先扫描AP。此外,可使设备能够根据获取的AP信息,利用有效地AP选择机制选取当前最佳AP连接。
[0008] 本发明一种基于ZigBee的Wi-Fi接入点发现与选择方法,采用ZigBee作为通讯链路,包括以下步骤:
[0009] 步骤1:初始化建立本地Wi-Fi接入点AP列表,然后启动ZigBee接口接收数据,并启动两个定时器Timer-u及Timer-s;所述的AP列表记录了所有本地保存的AP记录APRec,所述的AP记录的结构为:APRec,其中,lifetime表示该AP记录的生存时间,count表示在一个发送周期内重复收到相同AP信息的次数,APInfo指连接AP所必须的信息。
[0010] 步骤2:判断ZigBee接口是否收到数据,若是,转步骤3;若不是,转步骤4。
[0011] 步骤3:从ZigBee接口接收的数据包中提取AP信息,记为RecAP,随后扫描本地AP列表,针对每个AP记录,查看其无线网络的服务集标识wlan_ssid是否与RecAP的相同,若相同,则将该AP记录的count及lifetime的值重置为0;若不存在无线网络的服务集标识wlan_ssid与RecAP的wlan_ssid相同的AP记录,则新建一条AP记录,将新建的AP记录的APInfo赋值为RecAP,count与lifetime的值初始为0。
[0012] 步骤4:判断定时器Timer-u是否超时,若是,转步骤5;若不是,转步骤6。
[0013] 步骤5:遍历整个AP列表,检查每个AP记录的lifetime值,若超过特定阈值,则删除该条AP记录。
[0014] 步骤6:判断定时器Timer-s是否超时,若是,转步骤7;若不是,转步骤8。
[0015] 步骤7:遍历整个AP列表,选取AP信息通过ZigBee接口广播出去。
[0016] 步骤8:判断是否有连接请求,若有连接请求,转步骤9;若无连接请求,转步骤10。
[0017] 步骤9:检查本地AP列表中是否存有AP记录,若有,则选择当前最佳AP连接,若无,则开启Wi-Fi接口,启动Wi-Fi扫描并连接到AP。
[0018] 步骤10:判断用户是否发出结束命令,若是,结束本方法;若不是,转步骤2执行。
[0019] 本发明一种新型节能的Wi-Fi接入点发现与选择方法的优点与积极效果在于:
[0020] (1)采用低功耗ZigBee链路作为辅助链路实现AP信息的共享,相比于传统方案使用蓝牙或GPRS更能有效降低Wi-Fi接口的耗电量。
[0021] (2)充分利用移动设备之间的相互协作,使得信息更加准确,更易于实现高效信息共享。
[0022] (3)提出一种有效的基于连接时间与信号强度的AP选择策略,相对于传统的只依据信号强度的方案更加高效,能有效选择当前最佳AP接入,更能有效提高用户使用无线网络的体验。

附图说明

[0023] 图1为本发明的Wi-Fi接入点发现与选择方法的应用场景示意图;
[0024] 图2为本发明的Wi-Fi接入点发现与选择方法的整体步骤流程图;
[0025] 图3为本发明的Wi-Fi接入点发现方法同普通Wi-Fi扫描方法的功耗对比示意图;
[0026] 图4为本发明中AP选择基于连接时间的性能分析结果示意图;
[0027] 图5为本发明中AP选择基于信号强度的性能分析结果示意图;
[0028] 图6为本发明中选择性AP信息广播策略同普通洪泛策略的数据发送量对比图。

具体实施方式

[0029] 下面将结合附图和实例对本发明作进一步的详细说明。
[0030] 近几年来,随着移动终端设备的普及及无线通讯技术的发展,越来越多的用户使用移动设备访问网络,其中Wi-Fi(802.11)是最主流的无线网络,几乎所有的移动设备都配备了Wi-Fi接口,用户大多使用Wi-Fi上网。通常情况下,用户欲获取Wi-Fi连接,需事先启动Wi-Fi扫描周围AP,然后选取特定AP连接。然而Wi-Fi扫描往往持续时间较长(3-5秒)且耗电量大,且通常很多扫描都是无用的,尤其对于周围没有部署Wi-Fi AP的情况。ZigBee是一种近距离、低复杂度、低功耗、低响应延迟、低成本的双向无线通信技术,主要适用于自动控制、传感、监控和远程控制等领域,可以嵌入各种设备中,同时支持地理定位功能。本发明提出的一种基于ZigBee的Wi-Fi接入点发现与选择方法,移动设备之间利用低功耗的ZigBee链路共享AP信息,设备利用AP信息可以直接连接到相关AP而无需事先扫描,大大减少了Wi-Fi扫描的次数,从而有效降低Wi-Fi接口的耗电量。
[0031] 本发明提出的基于ZigBee的Wi-Fi接入点发现及选择方法,其应用场景是部署有多个AP且有多个移动设备的区域,如图1所示。下面结合图1,通过一个简单的例子说明协同AP发现的流程。图1描述了一个部署有三个AP的区域R,图中三条虚线分别表示每个AP的覆盖范围。区域R被这三条曲线划分成七个子区域:区域1-区域7。假设初始时,区域R中没有任何移动设备,一段时间后:1)设备A首先进入区域1并请求网络连接。设备A首先检查本地数据库是否存有可用的AP信息,若没有,则设备A启动Wi-Fi扫描周围的可用AP并将获得AP1的信息;设备A随后连接到AP1,保存AP1的信息至本地,并通过ZigBee链路周期性地广播AP1的信息。2)随后,设备B与设备C分别进入区域2和区域6。同设备A一样,当有连接请求时,设备B与设备C首先检查本地数据库是否存有可用的AP信息。在此场景下,本发明方法中的AP信息可靠性保证机制将会保证设备B与设备C不会收到AP1的信息,因此,设备B与设备C启动Wi-Fi扫描并分别连接到AP2及AP3,随后周期性地广播AP2及AP3的信息。3)几分钟后,设备D进入区域1。若设备D处于设备A的通讯范围之内,则设备D将收到AP1的信息。设备D将AP1的信息保存在本地,并依照本发明方法中选择性AP信息广播策略选取满足条件的AP信息广播。当有连接请求时,设备D可以直接连接到AP1而无需事先扫描。若设备D没有收到AP1的信息,则设备D启动Wi-Fi扫描搜索可用AP,显然,随着区域1中设备数目的增加,设备B收到AP1信息的概率也随之增大。
4)处于区域3,区域4,区域5,区域6及区域7中的移动设备将收到多个AP的信息。当有连接请求时,设备将根据本发明方法中AP选择方法选择最佳AP连接。从上述例子可以看出,在一个部署有多个AP的区域中,只需要少数几台设备启动Wi-Fi扫描获取周围AP的信息并通过ZigBee接口共享这些AP信息,经过一段时间的消息扩散之后,区域中的其他设备都可以利用AP信息直接连接到AP而无需事先扫描,从而可以大大减少Wi-Fi扫描的次数,降低Wi-Fi接口的耗电量。
[0032] 本发明提出的基于ZigBee的Wi-Fi接入点发现与选择方法,其流程如图2所示,具体包括如下步骤:
[0033] 步骤一:初始化本地AP列表(APList),随后启动ZigBee接口接收数据并启动两个定时器Timer-u及Timer-s。所述的初始化即为建立APList,APlist是所有保存的AP记录(APRec)的列表,APRec的格式如下APRec{APInfo,count,lifetime},其中,lifetime表示该APRec的生存时间;count表示在一个发送周期内重复收到相同AP信息的次数,所述的发送周期是指定时器Timer-s的超时时间间隔;APInfo指连接AP所必须的信息,其格式为:APInfo:{wlan_ssid,wlan_name,wlan_type,signal_strength,ipv4_type,wlan_security,wlan_hidden,connecting_time},其中,wlan_ssid表示无线网络的服务集标识(Service Set Identification);wlan_name表示无线网络的名称;wlan_type表示无线网络的类型;signal_strength表示无线网络信号强度;wlan_security表示无线网络的安全性设置;wlan_hidden标识网络是否隐藏;connecting_time表示连接网络所需时间。定时器Timer-u用于周期性地更新AP列表并检查AP记录的有效性,根据实验分析结果,其周期超时时间间隔设为1s,定时器Timer-s用于周期性地广播本地保存的AP信息以实现AP信息的共享,根据实验分析结果,其超时时间间隔设为3s。
[0034] 步骤二:判断ZigBee接口是否收到数据,若是,转步骤三;若不是,转步骤四。
[0035] 步骤三:当ZigBee接口收到数据后,从接收的数据包中提取AP信息,记为RecAP,扫描本地APList,对每个APRec,查看其APInfo的wlan_ssid值是否与RecAP的相同,若相同,则将该APRec的count值及lifetime重置为0。若不存在wlan_ssid值与RecAP相同的APRec,则新建一条APRec,将其APInfo赋值为RecAP,count值及lifetime初始为0。
[0036] 步骤四、判断定时器Timer-u是否超时,若是,转步骤五;若不是,转步骤六。
[0037] 步骤五:当定时器Timer-u超时时,更新AP列表,遍历整个更新AP列表,检查每个APRec的lifetime值,若超过特定阈值,则删除该条APRec,从而保证AP信息的可靠性与有效性。根据实验分析结果,所述的特定阈值设为6。
[0038] AP信息的可靠性与有效性是整个算法的核心,步骤二与步骤三通过动态地更新AP列表并检测AP信息有效性以保证AP信息的有效性与可靠性。下面对本发明方法保证AP信息的有效性与可靠性做进一步地说明:
[0039] AP信息的可靠性与有效性是指设备能够利用该AP信息成功连接到相应AP。本发明的方法主要从两个方面来保证AP信息的可靠性与有效性:首先,对于设备收到的任何一条AP信息,均能在区域中找到一台连接到该AP的设备——这是由AP信息的共享机制决定的,任何一条AP信息都是由最先连接到这个AP的设备产生的,然后通过其他设备转发来在整个区域中传播,从而保证了AP信息的可靠性;另一方面,通过记录AP信息的生存期lifetime及周期性的检测AP列表及时删除失效的AP信息,从而保证AP信息的有效性。
[0040] 步骤六、判断定时器Timer-s是否超时,若是,转步骤七;若不是,转步骤八。
[0041] 步骤七:当定时器Timer-s超时时,遍历整个AP列表,按照本发明提出的选择性AP信息广播机制选取满足条件的AP信息通过ZigBee接口广播出去以有效实现AP信息的共享。
[0042] 为有效实现AP信息共享,本发明提出选择性AP信息广播机制,在保证AP信息扩散浓度的同时进一步降低系统的开销,减少耗电量。其具体步骤如下:当定时器Timer-s超时,遍历AP列表,选取信号强度signal_strength不低于1且count值小于3的AP信息发送。选择性AP信息广播机制对本地AP信息进行一定的过滤,从而减少消息的发送量,降低系统的消耗。下面说明采用本发明的选择性AP信息广播机制的这种过滤对AP信息扩散的影响:1)通过信号强度来过滤,只发送信号强度较大的AP信息,对AP信息的浓度不会产生较大的影响。根据本发明的AP选择策略,设备在连接AP时,也会自动过滤信号强度较低的AP,从这个角度来说,信号较低的AP信息对设备是无用的,可视为冗余信息,从而可以在发送时就将其过滤。2)通过count值来过滤,count值表示一个发送周期内重复收到某条AP信息的次数,从一定程度上反映该条AP信息在区域中的扩散程度。当count值超过一定范围时,本发明实施例设为3,即可认为该条信息已经达到一定的浓度,使得区域中的节点都能收到该AP的信息,从而不需要再发送这条AP信息。此外,count值在每个发送周期初始都被重置为0,从而可以动态适应节点的运动以及区域中节点分布的变化,进一步保证了AP信息的有效性。
[0043] 步骤八、判断是否有连接请求,若有连接请求,转步骤九;若无连接请求,转步骤十。
[0044] 步骤九:当设备有网络连接请求时,首先检查本地AP列表中是否存有AP记录,若有,则根据本发明提出的AP选择策略选择当前最佳AP连接;若无,则开启Wi-Fi接口,启动Wi-Fi扫描并连接到AP。
[0045] 本发明提出的AP选择策略旨在通过本地保存的AP信息选择当前最佳AP连接以提高用户访问internet的体验,具体通过P值来评估AP的性能:
[0046] P=SS/CT
[0047] 其中SS表示AP的信号强度,其值为AP记录中APInfo中表示无线网络信号强度signal_strength的值,CT表示连接AP所需的时间,指从发起连接请求到连接到指定AP的时间,其值为AP记录中APInfo中表示表示连接网络所需时间connecting_time的值。当设备有连接请求时,通过遍历AP列表,计算每个AP记录的P值,选择P值最大的AP连接。
[0048] 步骤十、判断是否结束,若是,结束本方法;若不是,转步骤二继续执行。具体是否结束由用户根据需要来控制。
[0049] 下面将结合附图和实例说明本发明提出的基于ZigBee的Wi-Fi接入点发现与选择方法相比普通的Wi-Fi方式在功耗及性能方面的改进,所述的普通的Wi-Fi方式是指利用操作系统自带的Wi-Fi扫描功能扫描并连接AP。
[0050] 如图3所示,为本发明的接入点发现与选择方式同普通Wi-Fi扫描方式在功耗方面的对比。实验场景为:一台诺基亚N810采用普通Wi-Fi模式连接AP,另一台诺基亚N810采用本发明方法连接AP,记录设备两分钟内的实时功率。其中,采用普通Wi-Fi扫描方式有两个明显的能量高峰:第22秒至28秒,表示Wi-Fi扫描阶段;第32秒至47秒,表示AP连接阶段。与普通Wi-Fi模式不同,采用本发明方法只有一个能量高峰,即AP连接阶段,这是因为在ZigBee模式下设备可以直接连接到AP而无需事先扫描。图3表明本发明的方法能够大大减少设备扫描Wi-Fi的次数,从而降低设备的耗电量。
[0051] 图4,图5演示了本发明方法中AP选择的性能分析结果,实验场景如下:选取1台诺基亚N810,依据本发明的AP选择策略从本地保存的可用AP中选取当前最佳AP并连接,记录该AP的实际信号强度及连接时间以及本地AP记录的连接时间及信号强度,同时记录本地AP记录的信号强度及连接时间的最大值及最小值。图4与图5中横坐标都表示实验次数,本实施例中是在不同地点重复试验12次。图4为连接时间的对比,可以看出,实际的AP连接时间与本地保存的最佳AP的连接时间几乎没有差别,且最佳AP的连接时间基本接近最短连接时间。图5为信号强度的对比,可以看出,实际获得的AP信号强度与本地保存得当前最佳AP信号的强度也无明显差别,且也非常接近本地保存的最大AP信号强度,由此可以看出本发明中选择的AP信息的有效性。
[0052] 图6为本发明方法中的选择性AP信息广播策略与普通的洪泛策略的性能对比的实验分析结果。实验场景如下:在一个部署有8个AP的区域中,两台诺基亚N810分别采用本发明方法中选择性AP广播策略及洪泛策略广播本地保存的AP信息,发送周期设为3s,记录一分钟内的耗电量及发送数据量。图6为两种策略的发送数据量对比,可以看出,随着周围节点的增多,收到的AP信息增多,发送数据量呈上升趋势,且两种转发策略的发送数据量没有太大差别;随后,节点收到的的AP信息逐渐达到饱和,本发明实施例中即获得所有8个AP的信息,此时,洪泛策略,由于其转发所有收到的AP信息,所以在达到信息饱和后,发送数据量没有变化,始终保持最大;而本发明方法中的选择性AP广播策略由于对AP信息进行一定过滤,发送的数据量逐渐下降,最后同样趋于稳定。由图6可以看出,相比于洪泛机制,本发明方法中的选择性AP信息广播策略能够大大减少发送数据量,降低链路消耗。