本发明涉及无线通信技术领域,特别涉及一种蓝牙mesh低功耗节点唤醒方法。
背景技术:
在无线mesh网络中,任何无线设备节点都可以同时作为ap和路由器,网络中的每个节点都可以发送和接收信号,每个节点都可以与一个或者多个对等节点进行直接通信。
无线mesh网络结构的最大好处在于:如果最近的ap由于流量过大而导致拥塞的话,那么数据可以自动重新路由到一个通信流量较小的邻近节点进行传输。依此类推,数据包还可以根据网络的情况,继续路由到与之最近的下一个节点进行传输,直到到达最终目的地为止。
低功耗蓝牙和蓝牙mesh的关系:蓝牙mesh是一种网络技术,蓝牙mesh网络依赖于低功耗蓝牙,而低功耗蓝牙技术是蓝牙mesh使用的无线通信协议栈。
低功耗蓝牙ble工作模式主要分为3种:广播、扫描和连接。为了保证数据传输的准确性,有两种改进的方案:一是采用增加扫描窗口时间,使扫描覆盖率更大;二是设置广播间隔小于扫描窗口时间,使得扫描窗口时间段内必有广播数据。但是,这两种方案均有缺陷。扫描时间过长或广播间隔过短都会导致唤醒时间增加,进而增大ble功耗;而连接式通信的ble设备需要定时维护连接,减少连接间隔和增加连接设备数量均会导致ble连接事件增多,从而导致bel功耗增大。
本发明的目的,在于提供一种蓝牙mesh低功耗节点动态唤醒方法。在需要的时候,低功耗节点(lpn)即能动态地从休眠状态转为响应状态,建立与好友节点的网络连接,进行数据发送与接收的过程。数据传输完毕,低功耗节点(lpn)自动入休眠状态。这样,既达到数据的传输,又不需要永远在线扫描,从而节省了节点的功耗。
技术实现要素:
发明目的:本发明的目的在于克服现有技术的不足之处,提供一种蓝牙mesh低功耗节点动态唤醒方法,从而进一步降低蓝牙mesh组网过程中的功耗,其特点在于综合考虑了低功耗节点(lpn)的接收延迟、接收窗口等时延因素。
技术方案:为实现上述目的,本发明提供的技术方法如下:
一种蓝牙mesh低功耗节点动态唤醒方法,包含以下步骤:
s101:一种蓝牙mesh组网系统中,用户根据自身的需求,从控制端发出操作指令给系统;
s102:系统接收指令并向好友节点发送指令;
s103:好友节点暂存从系统接收到的指令;
s104:好友节点与lpn建立“友谊”关系,建立数据传输通道;
s105:更新同步时钟和唤醒时间后,好友节点向唤醒时间到的lpn发送数据信息,数据信息包含待处理命令、同步时钟以及计数值n等;
s106:好友节点与lpn更新同步时钟;
s107:lpn判断是否接收到数据,若lpn未接收到数据,跳转步骤s108,若lpn接收到数据,则跳转步骤s109;
s108:lpn判断自身休眠时间是否不小于最长休眠时间,若lpn自身休眠时间小于最长休眠时间,则跳转步骤s1081;若lpn自身休眠时间不小于最长休眠时间,则跳转步骤s1082;
所述的步骤s1081为:lpn的休眠时间增加为现有休眠时间的2倍,即现有休眠时间乘以2,执行计数功能n+1,其中初值n=0;跳转步骤s113;
所述的步骤s1082为:lpn保持最长休眠时间,跳转步骤s113;
s109:接收信息并进行处理,然后lpn与系统同步时间;
s110:lpn判断自身休眠时间是否不大于最短休眠时间,若lpn自身休眠时间大于最短休眠时间,则跳转步骤s1101;若lpn自身休眠时间不大于最短休眠时间,则跳转步骤s1102;
所述的步骤s1101为:lpn的休眠时间减少为现有休眠时间的50%,即现有休眠时间乘0.5;执行计数功能n-1,其中初值n=0;跳转步骤s111;
所述的步骤s1102为:lpn保持最短休眠时间;
s111:lpn记录自身剩余电量;
s112:lpn发送数据信息给好友节点;
s113:判断唤醒周期内好友节点是否收到数据,若未收到数据,则跳转步骤s1131,若收到数据,则跳转步骤s1132;
所述的步骤s1131为:好友节点处的计数值n加1,当经达到最大值n=4,则保持最大值;跳转步骤s105,开始下一轮处理;
所述的步骤s1132为:好友节点处的计数值n减1,当经达到最小值n=0则保持最小值;跳转步骤s105,开始下一轮处理。
进一步的,所述的步骤s101中的一种蓝牙mesh组网系统,该系统由若干用户、系统后台、若干中继网关节点、若干好友节点以及若干低功耗节点组成,并兼具发送、接收和信息处理的功能,所述的蓝牙mesh组网系统包含以下步骤:
s21:用户根据自身的需求,从控制端发出操作指令给系统后台;用户端也接收来自系统后台的信息;
s22:系统后台接收来自用户的指令并向中继网关节点发送指令;中继网关节点根据指令发送结果给予系统后台反馈;
s23:中继网关节点接收来自系统后台的指令并向好友节点发送指令;好友节点根据指令发送结果给予中继网关节点反馈;
s24:好友节点接收指令,与低功耗节点(lpn)建立“友谊”关系后,向低功耗节点(lpn)发送数据包。数据信息包含待处理命令、同步时钟以及计数值n等;从低功耗节点(lpn)接收处理完成的数据信息;
s25:低功耗节点(lpn)借助收到的数据包进行时钟同步,借助计数值同步唤醒周期;lpn唤醒时间到时接收来自好友节点的数据,数据处理完毕后,低功耗节点(lpn)记录计数值,反馈给好友节点进行同步更新唤醒周期。
进一步的,步骤s1081和步骤s1101所述的初值n=0,若lpn有信息接收,则进行n+1计数,若lpn没有信息接收,则进行n-1计数,n的取值范围为0≤n≤4;设lpn是否有信息的判断前休眠时间为t(单位:秒),lpn初始状态休眠时间为最短休眠时间0.1秒,则执行完一次记录电量操作前lpn的休眠时间为t=0.1×2n(s)。
进一步的,所述的系统兼具发送、接收和信息处理的功能,具体功能如下:
a:发送方面,用户发送指令后,通过系统后台对用户信息的处理,将信息依此发送到中继网关节点、好友节点,最后到达低功耗节点(lpn);
b:接收方面,组网系统主要包括用户、系统后台、中继网关节点、好友节点和低功耗节点(lpn);各系统成员间传输数据时,下层系统成员接收到上层系统成员的数据后,借助数据包和计数值进行时钟同步和唤醒周期的更新。
有益效果:本发明不需要低功耗节点长时间扫描是否有信道信息,通过动态窗口根据前一跳信息的有无来增加或减少休眠时间,提高了工作时间内的工作效率,因而自身功耗和反馈开销小,算法复杂度低,适用于进一步降低低功耗蓝牙mesh网络的功耗。
附图说明
图1为本发明实施例提供的一种蓝牙mesh低功耗节点动态唤醒方法流程示意图;
图2为本发明实施例提供的一种蓝牙mesh组网系统及接收延迟和接收窗口的时序的示意图。
具体实施方式
下面将对本发明实施例中的技术方案进行清楚、完整地描述,以使本领域的技术人员能够更好的理解本发明的优点和特征,从而对本发明的保护范围做出更为清楚的界定。本发明所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示为一种蓝牙mesh低功耗节点动态唤醒方法,它包括以下步骤:
s101:一种蓝牙mesh组网系统中,用户根据自身的需求,从控制端发出操作指令给系统;
s102:系统接收指令并向好友节点发送指令;
s103:好友节点暂存从系统接收到的指令;
s104:好友节点与lpn建立“友谊”关系,建立数据传输通道;
s105:更新同步时钟和唤醒时间后,好友节点向唤醒时间到的lpn发送数据信息,数据信息包含待处理命令、同步时钟以及计数值n等;
s106:好友节点与lpn更新同步时钟;
s107:lpn判断是否接收到数据,若lpn未接收到数据,跳转步骤s108,若lpn接收到数据,则跳转步骤s109;
s108:lpn判断自身休眠时间是否不小于最长休眠时间,若lpn自身休眠时间小于最长休眠时间,则跳转步骤s1081;若lpn自身休眠时间不小于最长休眠时间,则跳转步骤s1082;
所述的步骤s1081为:lpn的休眠时间增加为现有休眠时间的2倍,即现有休眠时间乘以2,执行计数功能n+1,其中初值n=0;跳转步骤s113;
所述的步骤s1082为:lpn保持最长休眠时间,跳转步骤s113;
s109:接收信息并进行处理,然后lpn与系统同步时间;
s110:lpn判断自身休眠时间是否不大于最短休眠时间,若lpn自身休眠时间大于最短休眠时间,则跳转步骤s1101;若lpn自身休眠时间不大于最短休眠时间,则跳转步骤s1102;
所述的步骤s1101为:lpn的休眠时间减少为现有休眠时间的50%,即现有休眠时间乘0.5;执行计数功能n-1,其中初值n=0;跳转步骤s111;
所述的步骤s1102为:lpn保持最短休眠时间;
s111:lpn记录自身剩余电量;
s112:lpn发送数据信息给好友节点;
s113:判断唤醒周期内好友节点是否收到数据,若未收到数据,则跳转步骤s1131,若收到数据,则跳转步骤s1132;
所述的步骤s1131为:好友节点处的计数值n加1,当经达到最大值n=4,则保持最大值;跳转步骤s105,开始下一轮处理;
所述的步骤s1132为:好友节点处的计数值n减1,当经达到最小值n=0则保持最小值;跳转步骤s105,开始下一轮处理。
其中,步骤s1081和步骤s1101所述的初值n=0,若lpn有信息接收,则进行n+1计数,若lpn没有信息接收,则进行n-1计数,n的取值范围为0≤n≤4;设lpn是否有信息的判断前休眠时间为t(单位:秒),lpn初始状态休眠时间为最短休眠时间0.1秒,则执行完一次记录电量操作前lpn的休眠时间为t=0.1×2n(s)。
所述的系统兼具发送、接收和信息处理的功能,具体功能如下:
a:发送方面,用户发送指令后,通过系统后台对用户信息的处理,将信息依此发送到中继网关节点、好友节点,最后到达低功耗节点(lpn);
b:接收方面,组网系统主要包括用户、系统后台、中继网关节点、好友节点和低功耗节点(lpn);各系统成员间传输数据时,下层系统成员接收到上层系统成员的数据后,借助数据包和计数值进行时钟同步和唤醒周期的更新。
如图2所示为一种蓝牙mesh组网系统,包含以下步骤:
s21:用户根据自身的需求,从控制端发出操作指令给系统后台;用户端也接收来自系统后台的信息;
s22:系统后台接收来自用户的指令并向中继网关节点发送指令;中继网关节点根据指令发送结果给予系统后台反馈;
s23:中继网关节点接收来自系统后台的指令并向好友节点发送指令;好友节点根据指令发送结果给予中继网关节点反馈;
s24:好友节点接收指令,与低功耗节点(lpn)建立“友谊”关系后,向低功耗节点(lpn)发送数据包。数据信息包含待处理命令、同步时钟以及计数值n等;从低功耗节点(lpn)接收处理完成的数据信息;
s25:低功耗节点(lpn)借助收到的数据包进行时钟同步,借助计数值同步唤醒周期;lpn唤醒时间到时接收来自好友节点的数据,数据处理完毕后,低功耗节点(lpn)记录计数值,反馈给好友节点进行同步更新唤醒周期。
根据如图1所示的一种蓝牙mesh低功耗节点动态唤醒方法,提出设计实例。设低功耗节点(lpn)最短休眠时间为0.1秒,最长休眠时间为2秒。若lpn有信息待接收时,lpn梯次减少休眠时间,每次减少为现有休眠时间的50%,即现有休眠时间乘以0.5,则最多经过5次可从最长休眠时间降低为最短休眠时间;若lpn没有信息待接收时,lpn梯次增加休眠时间,每次增加为现有休眠时间的2倍,即现有休眠时间乘以2,则最多经过5次可从最短休眠时间增加为最长休眠时间。
本发明中披露的说明和实践,对于本技术领域的普通技术人员来说,都是易于思考和理解的,且在不脱离本发明原理的前提下,还可以做出若干改进和润饰。因此,在不偏离本发明精神的基础上所做的修改或改进,也应视为本发明的保护范围。