发明内容
为解决以上缺陷,保证在设备的连接过程中,因环境、设备间的距离等因素而导致的设备间信号强度变差,无线扩展器可以切换中继到合适的频点上,且不在2.4G、5G之间来回切换。本发明的优点更体现在,连接过程中,即使当上级主路由某一频段关闭了,无线扩展器仍能自动切换到另一频段,使得终端始终有频点能够连接上网。在此提出一种根据信号强度的无线中继5G、2.4G自动切换方法。
技术方案如下:
一种根据信号强度的无线中继5G、2.4G自动切换方法,包括以下步骤:
步骤一:判断无线扩展器是否通过手动分别中继过2.4G频段和5G频段,若是则进入步骤二;否则不作处理;
步骤二:分别获取5G端口和2.4G端口的连接状态值;
步骤三:根据步骤二中获取到的5G端口连接状态值以及2.4G端口连接状态值来判断此时扩展器中继的状态;
步骤四:根据步骤三中的扩展器中继状态,分别获取当前中继扩展器与主路由之间5G和2.4G的信号强度;
步骤五:比较步骤四中获取的5G和2.4G信号强度的关系以及5G信号强度与5G信号阈值、2.4G信号强度与2.4G信号阈值之间的关系,并根据比较关系判断是否进行尝试切换至另一频段;
步骤六:根据当前连接频段标志位以及尝试连接5G或2.4G频段的次数与预设的5G或2.4G频段最大尝试连接次数之间的关系,来判断所要进行的操作,并在操作完成后返回步骤二。
更进一步的,所述5G信号阈值设置为55,所述2.4G信号阈值设置为90,所述5G频段最大尝试连接次数以及所述2.4G频段最大尝试连接次数均设置为3。
更进一步的,所述判断无线扩展器是否通过手动分别中继过2.4G频段和5G频段,包括:
在中继时进行使能邻区场地扫描,获取中继的AP信息,并将当前选择中继的AP信息中的2.4GSSID、5GSSID、2.4GB_SSID、5G_BSSID值写入设备的存储空间;
根据所述2.4GB_SSID值以及5G_BSSID值,来判断是否分别中继过5G和2.4G频段。
更进一步的,所述步骤三,还包括:判断所述5G端口连接状态值以及所述2.4G端口连接状态值是否等于一或零,若所述5G端口连接状态值等于一,则此时中继的为5G频段;若所述2.4G端口连接状态值等于一,则此时中继的为2.4G频段;若所述5G端口连接状态值以及所述2.4G端口连接状态值均等于零,则此时连接处于断开状态。
更进一步的,所述步骤四,还包括:若扩展器中继5G频段,则通过设备驱动程序中设备控制接口ioctl函数从内核驱动获取当前5G信号强度;并发送探测请求帧,询问当前中继的AP信息,利用2.4GB_SSID值从AP信息中获取2.4G信号强度;初始化5G频段尝试连接次数为零;
若扩展器中继2.4G频段,则通过设备驱动程序中设备控制接口ioctl函数从内核驱动获取当前2.4G信号强度;并发送探测请求帧,询问当前中继的AP信息,利用5G_BSSID值从AP信息中获取5G信号强度;初始化2.4G频段尝试连接次数为零;
若扩展器处于断开状态,则发送探测请求帧,询问当前中继的AP信息,利用5G_BSSID值从AP信息中获取5G信号强度;利用2.4GB_SSID值从AP信息中获取2.4G信号强度。
更进一步的,所述步骤六,还包括:
若当前扩展器中继5G;判断5G信号强度是否小于等于50且5G信号强度小于2.4G信号强度,若是,若当前连接频段标志位置于5G且2.4G频段尝试连接次数小于三,则从5G频段切换到2.4G频段,并将连接频段标志位置于2.4G标志位,2.4G频段尝试连接次数加一并返回步骤二;否则不进行切换,并返回步骤二;
若当前扩展器中继2.4G;判断2.4G信号强度是否大于2.4G信号阈值90,若否,保持当前2.4G频段连接状态并返回步骤二;若是,再判断5G信号强度是否大于5G信号阈值,若否,则保持当前2.4G频段连接状态并返回步骤二,若是,则再判断连接频段标志位是否处于2.4G频段且5G频段尝试连接次数是否小于3,若否,则保持当前2.4G连接状态并非凡会步骤二,若是,切换至5G频段并将连接频段标志位置于5G频段标志位,5G频段尝试连接次数加一并返回步骤二;
若当前无线中继连接处于断开状态;判断是否获取到5G信号强度,若是,则继续判断5G频段尝试连接次数是否小于三,若是,则连接5G频段,并将连接频段标志位置于5G标志位,5G频段尝试连接次数加一并返回步骤二,否则返回步骤二;若否,则继续判断是否获取到2.4G信号强度且2.4G频段尝试连接次数是否小于三,若是,连接2.4G频段,将连接频段标志位置于2.4G标志位,2.4G频段尝试连接次数加一并返回步骤二,若否则保持当前状态并返回步骤二。
本发明的有益效果是:本发明提供的一种根据信号强度的无线中继5G、2.4G自动切换方法, 能够保证无线设备在连接过程中,因环境、设备间的距离等因素而导致的设备间信号强度变差,无线扩展器可以切换中继到合适的频点上,且不在2.4G、5G之间来回切换。并且,即使当上级主路由某一频段关闭了,无线扩展器仍能自动切换到另一频段,这样使得终端始终有频点能够连接上网。
具体实施方式
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
为了能够更清楚地理解本申请的上述目的、特征和优点,下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。此处所描述的具体实施例仅仅用于解释本公开,而非对本申请的限定。基于所描述的本申请的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
图1为本发明实施例提供的一种根据信号强度的无线中继5G、2.4G自动切换方法图。
一种根据信号强度的无线中继5G、2.4G自动切换方法,结合图1,包括S10至S60六个步骤:
S10:判断无线扩展器是否通过手动分别中继过2.4G频段和5G频段,若是则进入步骤二;否则不作处理;
具体的,当用户通过中继器的web页面或者使用WPS按键在主路由页面分别点击过2.4G、5G WPS PBC,中继过2.4G、5G,有将2.4G、5G的AP信息,SSID、BSSID、加密方式、认证方式等信息写进配置文件中,在后续步骤中,当需要进行切换时,有这些接入认证信息才能切换的过来。
S20:分别获取5G端口和2.4G端口的连接状态值;
S30:根据步骤S20中获取到的5G端口连接状态值以及2.4G端口连接状态值来判断此时扩展器中继的状态;
具体的,判断无线扩展器是否已经分别中继过5G和2.4G是通过在中继时会使能邻区场地扫描(SiteSurvey),之后获取Ap信息,将选择的中继的Ap的ApCli0_Ssid(中继的主路由的2.4G SSID)、ApClii0_Ssid(中继的主路由的5G SSID)、ApCli0_Bssid(中继的主路由的2.4G BSSID)、ApClii0_BSsid(中继的主路由的5G BSSID)写入设备的存储空间中。这样就可以通过读取它们的值是否为空值,来判断是否分别中继过5G和2.4G。本算法采用的是判断ApCli0_Bssid和ApClii0_Bssid不为空,来认定中继过5G和2.4G;若5G端口状态值wifi5_ret等于1,表示此时中继的是5G,2.4G端口状态值wifi2_ret等于1,表示此时中继的是2.4G,当5G端口状态值wifi5_ret和2.4G端口状态值wifi2_ret值为0,表示此时连接处理断开状态。
S40:根据步骤S30中的扩展器中继状态,分别获取当前中继扩展器与主路由之间5G和2.4G的信号强度;
S50:比较步骤S40中获取的5G和2.4G信号强度的关系以及5G信号强度与5G信号阈值、2.4G信号强度2.4G信号阈值之间的关系,并根据比较关系判断是否进行尝试切换至另一频段;
S60:根据当前连接频段标志位以及尝试连接5G或2.4G频段的次数与预设的5G或2.4G频段最大尝试连接次数之间的关系,来判断所要进行的操作,并在操作完成后返回步骤S20。
在一些实施例中,所述5G信号阈值设置为55,所述2.4G信号阈值设置为90,所述5G频段最大尝试连接次数以及所述2.4G频段最大尝试连接次数均设置为3。
在一些实施例中,所述判断无线扩展器是否通过手动分别中继过2.4G频段和5G频段,包括:
在中继时进行使能邻区场地扫描,获取中继的AP信息,并将当前选择中继的AP信息中的2.4GSSID、5GSSID、2.4GB_SSID、5G_BSSID值写入设备的存储空间;
根据所述2.4GB_SSID值以及5G_BSSID值,来判断是否分别中继过5G和2.4G频段。
在一些实施例中,所述步骤S20,还包括:
利用用户空间的设备驱动程序中设备控制接口ioctl函数,通过文件描述符fd、交互协议cmd以及可变参数arg,从内核空间获取5G端口和2.4G端口的连接状态值。
在一些实施例中,所述步骤S30,还包括:
判断所述5G端口连接状态值以及所述2.4G端口连接状态值是否等于一或零,若所述5G端口连接状态值等于一,则此时中继的为5G频段;若所述2.4G端口连接状态值等于一,则此时中继的为2.4G频段;若所述5G端口连接状态值以及所述2.4G端口连接状态值均等于零,则此时连接处于断开状态。
具体的,判断无线扩展器是否已经分别中继过5G和2.4G是通过在中继时会使能邻区场地扫描(SiteSurvey),之后获取Ap信息,将选择的中继的Ap的ApCli0_Ssid(中继的主路由的2.4G SSID)、ApClii0_Ssid(中继的主路由的5G SSID)、ApCli0_Bssid(中继的主路由的2.4G BSSID)、ApClii0_BSsid(中继的主路由的5G BSSID)写入设备的存储空间中。这样就可以通过读取它们的值是否为空值,来判断是否分别中继过5G和2.4G。本算法采用的是判断ApCli0_Bssid和ApClii0_Bssid不为空,来认定中继过5G和2.4G。
在一些实施例中,步骤S40还包括:
若扩展器中继5G频段,则通过设备驱动程序中设备控制接口ioctl函数从内核驱动获取当前5G信号强度;并发送探测请求帧,询问当前中继的AP信息,利用2.4GB_SSID值从AP信息中获取2.4G信号强度;初始化5G频段尝试连接次数为零;
若扩展器中继2.4G频段,则通过设备驱动程序中设备控制接口ioctl函数从内核驱动获取当前2.4G信号强度;并发送探测请求帧,询问当前中继的AP信息,利用5G_BSSID值从AP信息中获取5G信号强度;初始化尝试连接2.4G次数为零;
若扩展器处于断开状态,则发送发送探测请求帧,询问当前中继的AP信息,利用5G_BSSID值从AP信息中获取5G信号强度;利用2.4GB_SSID值从AP信息中获取2.4G信号强度。
具体的,在发送获取AP信息的过程中,驱动会过滤掉低信号的AP信息和隐藏SSID的AP信息,对于5G而言Rssi小于-85dbm会被过滤掉,对于2.4G而言Rssi小于或等于-72dbm会被过滤掉。
通过计算Rssi与信号强度Rssi_Quality的对应值如下表1所示:
表1(Rssi与Rssi_Quality的对应值表)
在一些实施例中,所述步骤S60还包括,若当前扩展器中继5G。判断5G信号强度是否小于等于50且5G信号强度小于2.4G信号强度,若是,若当前连接频段标志位置于5G且2.4G频段尝试连接次数小于三,则从5G频段切换到2.4G频段,并将连接频段标志位置于2.4G标志位,尝试连接2.4G次数加一并返回步骤S20;否则不进行切换,并返回步骤S20;
若当前扩展器中继2.4G。判断2.4G信号强度是否大于2.4G信号阈值90,若否,保持当前2.4G频段连接状态并返回步骤二;若是,再判断5G信号强度是否大于5G信号阈值,若否,则保持当前2.4G频段连接状态并返回步骤S20,若是,则再判断连接频段标志位是否处于2.4G频段且5G频段尝试连接次数是否小于3,若否,则保持当前2.4G连接状态并非凡会步骤S20,若是,切换至5G频段并将连接频段标志位置于5G频段标志位,5G频段尝试连接次数加一并返回步骤S20;
若当前无线中继连接处于断开状态。判断是否获取到5G信号强度,若是,则继续判断5G频段尝试连接次数是否小于三,若是,则连接5G频段,并将连接频段标志位置于5G标志位,5G频段尝试连接次数加一并返回步骤S20,否则返回步骤S20;若否,则继续判断是否获取到2.4G信号强度且2.4G频段尝试连接次数是否小于三,若是,连接2.4G频段,将连接频段标志位置于2.4G标志位,2.4G频段尝试连接次数加一并返回步骤S20,若否则保持当前状态并返回步骤S20。
具体的,之前已经分别中继过2.4G、5G,已最后一次连接状态为准,如果扩展器已经连接在2.4G上,会把之前2.4G频段尝试连接次数tryConnectTime_24G归零,如果此时2.4G信号强度大于90,并且此时5G信号强度大于55,此时2.4G信号大于-55dbm,5G信号也大于-68dbm,此时2.4G和5G信号相对较好,两者信号也相差不大,即使5G信号相较弱些,连接在5G的使用体验感也会更好些,让扩展器切换到5G,同时设置连接5G标志位config_bridge= APCLI5G,把5G频段尝试连接次数tryConnectTime_5G加1,连接完后就继续轮询,如果不满足切换的条件的话就保持当前的连接状态,继续轮询;
如果扩展器已经连接到5G上,会把之前5G频段尝试连接次数tryConnectTime_5G归零,如果此时5G的信号强度小于等于50,并且此时5G信号强度小于2.4G信号强度,即此时5G信号小于等于-70dbm,并且5G的信号还比2.4G信号弱,-70dbm已经算是差的信号了,一般此时要么就是5G目前环境下,干扰较大,或者是连接距离较远,在此种情况下,2.4G信号比5G信号好的话,连接到2.4G更合适,使用起来更稳定,体验感也会更好些,让扩展器切换到连接2.4G,同时设置连接2.4G标志位config_bridge = APCLI2G,把2.4G频段尝试连接次数tryConnectTime_24G加1,连接完后就继续轮询,如果不满足切换的条件的话就保持当前的连接状态,继续轮询;
考虑到用户在上级路由进行某些操作,会致使连接断开,倘若连接着5G频点,当上级5G频段关闭了,2.4G是打开的,扩展器没获取到5G信号,有获取到2.4信号,就自动去连2.4G;反之连接着2.4G频点,当上级2.4G关闭了,5G是打开的,扩展器有获取到5G信号,就会去连5G。
一般情况下,处于连接频点上都是稳定的,但考虑到当用户在连接的过程中更改了上级的AP信息,或者进行了一些不过范的操作,导致连接断开,设备会进行尝试重新连接,为防止尝试了多次连接而没有连接上,或在两个频段之间多次尝试连接,因此,在上述的各种连接状态下都加了尝试连接次数,如果在各种状态下,尝试连接次数达到了3次,就不再尝试连接,保持当前状态,让设备处于稳定状态。
综上,本发明对于上级是双频的主路由而言,当无线扩展器中继过主路由的2.4G、5G,无线扩展器便能够获取无线扩展器与主路由之间的RSSI(Received Signal StrengthIndicator)根据预先给无线扩展器设置的信号阈值进行切换。能够保证在设备的连接过程中,因环境、设备间的距离等因素而导致的设备间信号强度变差,无线扩展器可以切换中继到合适的频点上,且不在2.4G、5G之间来回切换。本发明的优点更体现在,连接过程中,即使当上级主路由某一频段关闭了,无线扩展器仍能自动切换到另一频段,这样使得终端始终有频点能够连接上网。所以具有很高的使用价值和推广价值。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,凡是在本发明的设计主体逻辑上,做出的毫无意义和实际创新的改动,其所解决的有关技术问题依旧与本发明具有一致性,均在本发明的保护范围之内。