基于休眠与唤醒机制的低功耗通信方法与流程

文档序号:20273553发布日期:2020-04-03 19:20阅读:230来源:国知局
基于休眠与唤醒机制的低功耗通信方法与流程

本发明属于无线物联网领域,具体为一种基于休眠与唤醒机制的低功耗通信方法。



背景技术:

现有的低功耗的通信方法多采用多址接入,主要包括:基于时分多址的时间同步方案和时间异步方案。

基于时分多址的时间同步方案中,网关设备给接入同一网络的每一个终端设备分配固定的时间段,终端设备只能在固定时间段内进行上、下行传输,其它时间则休眠,因此同一网络中设备数量越多,单个设备两次传输信息的时间间隔越长,会带来很大的传输延迟。

时间异步方案目前具有两种不同的处理方式,其中一种时间异步方案允许终端设备按自己的需求实时发送上行信息,但无法在低功耗情况下实时接收下行信息,因此主要适用于终端设备主动上传数据的网络;而另一种时间异步方案则允许终端设备实时接收下行信息,但网关设备必须长时间占用信道,以至于终端设备没有足够的信道发送上行信息,导致带宽严重浪费,通信效率低下,主要适用于终端设备接收下行指令的网络,因此时间异步方案不能实现既需要上传信息又需要接收下行信息的网络情况。

因此,需要提供一种通信方式,既不消耗太多电能,又能保证终端设备与网关设备之间及时快速进行数据交互。公开号cn105025585a的中国专利公开了一种低功耗的网络多址接入方法,该方法将数据传输的时间轴划分为多个信标周期,在当前信标周期开始的第一个时段内,所有终端设备加电后进入唤醒状态,以侦听所述网关设备向终端设备发送的预约消息的传输时间的通知,所述预约消息的传输时间的通知由所述服务器设置,在当前信标周期的第一个时段之后的时段内,所有终端设备进入休眠状态,但是与预约消息的传输相应的终端设备会根据所述预约消息的传输时间的通知而彼此独立地被按时唤醒,由此能够构建低成本、低功耗、低延迟、大规模、高效率的网络。但是对于与预约消息的传输相应的终端设备在预约消息的传输时间内没有被唤醒,或者在其他终端设备的传输时间内醒来等情况,该专利未进行考虑,而这些异常情况会影响终端设备与服务器之间的正常通讯。

对于实际应用中存在的各种异常情况,如终端设备不能在其工作周期内正常醒来,终端设备在非工作周期内醒来,终端设备长期无法通讯等问题,需要提供一种新的通信方法,在低功耗运行的前提下,保障终端设备与服务器或主设备之间的正常通信不受影响。



技术实现要素:

本发明针对现有技术中存在的问题,提供一种基于休眠与唤醒机制的低功耗通信方法,该方法能够在通信网络低功耗运行的前提下,对异常故障的通信网络进行及时恢复,保障主设备与分设备之间的正常通信不受影响。

为实现上述目的,本发明采用的技术方案是:

基于休眠与唤醒机制的低功耗通信方法,包括一个主设备和多个分设备构成的通信网络,所述方法包括:

主设备发送一个广播指令,所述广播指令包括当前要唤醒的分设备的编号及唤醒时间,还包括排在当前分设备后面的将要被轮询唤醒的多个分设备的编号;

所述当前要唤醒的分设备在对应的唤醒时间醒来,与主设备进行数据传输;

当前未被轮询的分设备监听到所述广播指令中包含自身编号时,先进入休眠状态,然后在所述自身编号对应的唤醒时间醒来,与主设备进行数据传输。

优选地,当前未被轮询的分设备监听到所述广播指令中不包含自身编号时,先进入休眠状态,然后在一等待周期后醒来,再次监听主设备的广播指令。

优选地,若当前未被轮询的分设备在一等待周期后醒来,监听到当前广播指令中包含自身编号时,先进入休眠状态,然后在所述自身编号对应的唤醒时间醒来,与主设备进行数据传输。

优选地,所述等待周期为所述广播指令中广播的、将要被轮询唤醒的多个分设备完成数据传输的总的时间。各分设备可以根据所有分设备轮询一次的总时间以及当前轮询队列的各分设备位置量,计算得到所述等待时间。

优选地,所述主设备与各分设备之间通过独立的工作信道进行数据传输,未加入所述通信网络的新的分设备位于配置信道上。

优选地,在需要添加新的分设备到所述通信网络时,所述方法包括:

所述主设备发送加网指令给配置信道上的分设备,所述加网指令包括分配给当前分设备的编号及工作信道;

当前分设备接收到加网指令后,跳转到分配的工作信道,监听所述主设备的广播指令;

当前分设备在监听到所述广播指令中包含自身编号时,先进入休眠状态,然后在所述自身编号对应的唤醒时间醒来,与主设备进行数据传输。

优选地,所述主设备对所有分设备轮询唤醒一次的总时间周期固定,每个分设备进行数据传输的时间相同,各分设备已知自己在当前轮询队列中的位置量。

进一步地,因为有删除、增加设备等操作,各分设备的位置量会发生变化,一旦位置变化,主设备会更新各分设备的位置量并告知分设备更新后的位置量。各分设备只要知道自己的位置量和总时间周期,就能够计算出其应该被唤醒的时间节点。

优选地,所述方法包括:

当所述主设备对某个分设备进行轮询唤醒时,未收到当前分设备的数据传输包,则在下一次轮询中要求当前分设备将上一轮询周期的数据包和本次数据包一起传输给主设备;

如果在轮询预定次数后,仍未收到当前分设备的数据传输包,则所述主设备发送报警指令给后台管理人员;

如果后台管理人员确认需要删除当前分设备,则发送删除当前分设备指令给主设备,所述主设备在轮询队列中删除当前分设备,并更新轮询队列中分设备位置量;

在下一个轮询周期内,轮询队列中位于当前分设备之后的所有分设备均不能在正确时间被唤醒,轮询队列中位于当前分设备之后的所有分设备进入监听状态;

在监听到广播指令中包含自身编号时,先进入休眠状态,然后在所述自身编号对应的唤醒时间醒来,与主设备进行数据传输,主设备分配新的位置量给分设备;

分设备更新自身位置量,重新计算下一轮询周期内自身的唤醒时间;

各分设备依次在重新计算后的唤醒时间醒来,与主设备进行数据传输。

进一步地,后台管理人员在接收到主设备发送的报警指令后,判断是否需要将当前分设备退网,如果经判断需要将当前分设备退网,则将本地计算机与当前分设备串口连接,通过本地计算机发送退网指令给当前分设备进行本地退网。

进一步地,当所述主设备对某个分设备进行轮询唤醒时,未收到当前分设备的数据传输包,则在下个轮询周期时会请求本轮未收到的数据包,且在预定次数的轮询内,每次都会请求本轮未收到的数据包,如果始终未收到当前分设备的数据传输包,则所述主设备发送报警指令给后台管理人员,由后台管理人员判断是否需要将当前分设备退网;如果后台管理人员判断需要将当前分设备退网,则通过后台服务器经由串口发送退网指令给当前分设备进行本地退网,同时,所述后台服务器发送退网指令给主设备,所述主设备更新轮询队列中分设备位置量。进一步地,对于不再需要的分设备,或者将某个分设备换到其他主设备下面,则由后台管理人员发送退网指令给主设备,所述主设备直接发布退网指令给分设备,所述分设备退回到配置信道上。

优选地,所述主设备发送的广播指令还包括时间戳,每个分设备在与主设备进行数据传输前,通过所述时间戳进行时间同步。

优选地,每个分设备的唤醒时间包括数据传输时间和冗余时间,所述数据传输时间用于向主设备传输数据,所述冗余时间用于联动控制。

与现有技术相比,本发明的有益效果是:

(1)本发明通过主设备广播当前要唤醒的分设备以及当前分设备之后将要唤醒的分设备名单,使得监听状态的分设备在监听到往后一段时间内都没有自身设备的编号时,可以进入休眠低能耗状态,然后分设备能够自己计算处于休眠低能耗的等待时间并在等待时间之后醒来,再次监听主设备的广播指令,直到监听到自身编号后,在自身编号对应的传输时间醒来与主设备进行数据传输,进入正常的轮询队列,该方法既能够实现异常状况下及时恢复通信,又保证了网络运行的低功耗。

(2)本发明将待添加的分设备置于配置信道,在需要添加新的分设备进入通信网络时,通过主设备发送加网指令,将配置信道上的分设备添加到通信网络中来,并利用监听机制在监听到新的分设备的自身编号时,新的分设备在所述自身编号对应的传输时间醒来,与主设备进行数据传输,进入正常轮询队列,该方法能够方便地在已有网络中以低功耗的方式添加新的设备且不影响已有网络的正常通信。

(3)本发明对于异常故障的分设备,如果在轮询数次后仍未进入正常轮询队列,可发送报警指令给后台管理人员,后台管理人员调用后台服务器存储的设备状况判断标准来判断是否需要将分设备退网,如果需要退网,则将本地计算机与当前分设备串口连接,通过本地计算机发送退网指令给当前分设备进行本地退网,将出现故障无法通信的设备退回到配置信道上去;或者,对于不再需要的分设备,可由后台管理人员发送退网指令给主设备,主设备发送退网指令给分设备进行退网,缩短整个轮询队列的轮询周期,提高传输效率,避免信道资源浪费。

附图说明

图1为根据本发明实施例1的流程示意图。

图2为根据本发明实施例2的流程示意图。

图3为根据本发明实施例3的流程示意图。

具体实施方式

下面将结合本发明中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动条件下所获得的所有其它实施例,都属于本发明保护的范围。

本发明提供一种基于休眠与唤醒机制的低功耗通信方法,该方法基于由一个主设备和多个分设备构成的星型通信网络来实现;所述主设备与后台服务器相连接,所述多个分设备与主设备之间具有独立的通信链路,所述多个分设备可用于数据采集、设备控制等。

所述方法包括:1)主设备发送一个广播指令,所述广播指令包括当前要唤醒的分设备的编号及唤醒时间,还包括排在当前分设备后面的将要被轮询唤醒的多个分设备的编号;2)所述当前要唤醒的分设备在对应的唤醒时间醒来,与主设备进行数据传输;3)当前未被轮询的分设备监听到所述广播指令中包含自身编号时,先进入休眠状态,然后在所述自身编号对应的唤醒时间醒来,与主设备进行数据传输。

该方法通过主设备广播当前要唤醒的分设备以及当前分设备之后将要唤醒的分设备名单,使得分设备在监听到待唤醒的名单中包含自身时,可以在未达到自身编号对应的传输时间前,进入休眠低能耗状态,分设备可自行计算当前时刻到自身需醒来时刻的等待时间,并在等待时间之后自行醒来进入唤醒工作状态,与主设备进行数据交互,从而最大程度地使分设备在不工作时处于低能耗状态,保证整个通信网络的低能耗运行。

对于未在自身的传输时间内醒来的分设备,通过所述方法,最多在经过两次轮询周期后,即可进入正常轮询队列,从而在低功耗前提下,通过快速及时的通信链路恢复,保障了通信网络的正常运行。大多数情况下,经过一次轮询周期后,即可进入正常轮询队列。

作为一种实施方式,当前未被轮询的分设备监听到所述广播指令中不包含自身编号时,先进入休眠状态,然后在一等待周期后醒来,再次监听主设备的广播指令。

进一步地,若当前未被轮询的分设备在一等待周期后醒来,监听到当前广播指令中包含自身编号时,先进入休眠状态,然后在所述自身编号对应的唤醒时间醒来,与主设备进行数据传输。这样设置的好处是:分设备在监听到往后一段时间内都没有自身设备的编号时,可以进入休眠低能耗状态,然后分设备自己计算处于休眠低能耗的等待时间并在等待时间之后醒来,再次监听主设备的广播指令,直到监听到自身编号后,计算当前时间到自身编号对应的传输时间的等待时间,并在所述等待时间内进入休眠低能耗状态,然后在等待时间后自行醒来,与主设备进行数据传输,进入正常的轮询队列,从而最大程度地保障设备的低功耗运行。

作为一种实施方式,所述等待周期为所述广播指令中广播的、将要被轮询唤醒的多个分设备完成数据传输的总的时间。

作为一种实施方式,所述主设备与各分设备之间通过独立的工作信道进行数据传输,未加入所述通信网络的新的分设备位于配置信道上。在需要添加新的分设备到所述通信网络时,所述主设备发送加网指令给配置信道上的分设备,所述加网指令包括分配给当前分设备的编号及工作信道;当前分设备接收到加网指令后,跳转到分配的工作信道,监听所述主设备的广播指令;当前分设备在监听到所述广播指令中包含自身编号时,先进入休眠状态,然后在所述自身编号对应的唤醒时间醒来,与主设备进行数据传输。这样设置的好处是:将待添加的分设备置于配置信道,在需要添加新的分设备进入通信网络时,通过主设备发送加网指令,将配置信道上的分设备添加到通信网络中来,并利用监听机制在监听到新的分设备的自身编号时,新的分设备在所述自身编号对应的传输时间醒来,与主设备进行数据传输,进入正常轮询队列,该方法能够方便地在已有网络中以低功耗的方式添加新的设备且不影响已有网络的正常通信。

作为一种实施方式,所述主设备对所有分设备轮询唤醒一次的总时间周期固定,每个分设备进行数据传输的时间相同,各分设备已知当前轮询队列中的分设备数量。所述方法包括:当所述主设备对某个分设备进行轮询唤醒时,未收到当前分设备的数据传输包,则在下一次轮询中要求当前分设备将上一轮询周期的数据包和本次数据包一起传输给主设备;如果在轮询预定次数后,仍未收到当前分设备的数据传输包,则所述主设备发送报警指令给后台管理人员;如果后台管理人员确认需要删除当前分设备,则发送删除当前分设备指令给主设备,所述主设备在轮询队列中删除当前分设备,并更新轮询队列中分设备位置量;在下一个轮询周期内,轮询队列中位于当前分设备之后的所有分设备均不能在正确时间被唤醒,轮询队列中位于当前分设备之后的所有分设备进入监听状态;在监听到广播指令中包含自身编号时,先进入休眠状态,然后在所述自身编号对应的唤醒时间醒来,与主设备进行数据传输,主设备分配新的位置量给分设备;分设备更新自身位置量,重新计算下一轮询周期内自身的唤醒时间;各分设备依次在重新计算后的唤醒时间醒来,与主设备进行数据传输。

作为一种实施方式,后台管理人员在接收到主设备发送的报警指令后,判断是否需要将当前分设备退网,如果经判断需要将当前分设备退网,则将本地计算机与当前分设备串口连接,通过本地计算机发送退网指令给当前分设备进行本地退网。这样设置的好处是:对于异常故障的分设备,如果在轮询数次后仍未进入正常轮询队列,可发送报警指令给后台管理人员,后台管理人员调用后台服务器存储的设备状况判断标准来判断是否需要将分设备退网,如果需要退网,则将本地计算机与当前分设备串口连接,通过本地计算机发送退网指令给当前分设备进行本地退网,将出现故障无法通信的设备退回到配置信道上去,不再占用轮询时间,缩短整个轮询队列的轮询周期,提高传输效率,避免信道资源浪费。

作为一种实施方式,所述主设备发送的广播指令还包括时间戳,每个分设备在与主设备进行数据传输前,通过所述时间戳进行时间同步。实际应用中,每个分设备均设置有rtc时钟,该时钟每天的误差在几秒范围内,因此,可根据实际的精度需求,确定每个分设备需进行时间同步的周期,不一定每次轮询到分设备时,该分设备都进行时间同步。

作为一种实施方式,每个分设备的唤醒时间包括数据传输时间和冗余时间,所述数据传输时间用于向主设备传输数据,所述冗余时间用于联动控制。

实施例1

本实施例构建由一个主设备和10个分设备组成的通信网络,所述主设备与后台服务器连接,10个分设备构成一个轮询队列,每个分设备的时间周期为10秒,主设备对所述轮询队列轮询一次的时间周期为100秒,主设备每次仅唤醒一个分设备。

对于分设备未在自身编号对应的传输时间内醒来的情况:

如图1所示,如果分设备4在分设备5的传输时间内醒来,那么它听到的广播指令是:当前正在进行数据传输的是分设备5,接下来将要进行数据传输的是分设备6、分设备7、分设备8、分设备9和分设备10;分设备4在当前的广播指令中未监听到自身的编号,其计算得到将分设备6、分设备7、分设备8、分设备9和分设备10轮询完需要的时间是50秒,因此,分设备4自行进入休眠状态并在50秒后醒来,这时处于分设备10的数据传输时间,分设备4再次监听广播指令,这时监听到的广播指令是:当前正在进行数据传输的是分设备10,接下来将要进行数据传输的是分设备1、分设备2、分设备3、分设备4和分设备5;分设备4在当前的广播指令中监听到自身的编号,其计算得到轮询到自身所需的时间是10秒,因此,分设备4自行进入休眠状态并在10秒后醒来,与主设备进行数据传输,进入正常轮询队列。

实施例2

与实施例1不同的是,本实施例针对将新的分设备添加到通信网络的情况:

如图2所示,后台服务器发送信号给主设备要求添加新的分设备11到通信网络,主设备接收到信号后,跳转到待添加设备所处的配置信道,发送加网指令,所述加网指令包括待添加分设备的编号11和工作信道11,待添加分设备接收到加网指令后,跳转到分配的工作信道11,监听所述主设备的广播指令。如果这时监听到的广播指令是:当前正在进行数据传输的是分设备1,接下来将要进行数据传输的是分设备2、分设备3、分设备4、分设备5和分设备6;分设备11在当前的广播指令中未监听到自身的编号,其计算得到将分设备2、分设备3、分设备4、分设备5和分设备6轮询完需要的时间是50秒,因此,分设备11自行进入休眠状态并在50秒后醒来,再次监听广播指令,这时监听到的广播指令是:当前正在进行数据传输的是分设备6,接下来将要进行数据传输的是分设备7、分设备8、分设备9、分设备10和分设备11;分设备11在当前的广播指令中监听到自身的编号,其计算得到轮询到自身所需的时间是50秒,因此,分设备11自行进入休眠状态并在50秒后醒来,与主设备进行数据传输,进入正常轮询队列。

实施例3

与实施例1和2不同的是,本实施例针对将出现故障的分设备从通信网络退网的情况:

如图3所示,当所述主设备对分设备3进行轮询唤醒时,未收到分设备3的数据传输包,则在下次轮询时会请求本轮未收到的数据包,且在轮询预定次数(预定次数可自行确定,如2次,4次等)内,每次都会请求前面轮询中未收到的数据包。本实施例中,在轮询2次后,即主设备在第二次轮询到分设备3时,在分设备3的传输时间内仍未收到分设备3的数据传输包,则所述主设备发送报警指令给后台管理人员,如果后台管理人员确认需要删除当前分设备3,则发送删除当前分设备指令给主设备,所述主设备在轮询队列中删除当前分设备3,并更新轮询队列中分设备位置量。后台管理人员在接收到主设备发送的报警指令后,判断是否需要将当前分设备3退网,如果经判断需要将当前分设备3退网,则将本地计算机与当前分设备3串口连接,通过本地计算机发送退网指令给当前分设备3进行本地退网,分设备3回到配置信道上。主设备更新轮询队列中分设备位置量,在下一个轮询周期内,轮询队列中位于分设备3之后的所有分设备均不能在正确时间被唤醒,即,分设备4、分设备5、分设备6、分设备7、分设备8、分设备9、分设备10进入监听状态。分设备4在监听到广播指令中包含自身编号时,先进入休眠状态,然后在所述自身编号对应的唤醒时间醒来,与主设备进行数据传输,主设备分配新的位置量给分设备4,即原队列中分设备4的位置量更新为新队列中分设备3的位置量。以此类推,原队列中分设备5、分设备6、分设备7、分设备9、分设备9、分设备10的位置量分别更新为新队列中分设备4、分设备5、分设备6、分设备7、分设备8、分设备9的位置量。分设备4、分设备5、分设备6、分设备7、分设备8、分设备9在分设备终端分别更新自身位置量,重新计算下一轮询周期内自身的唤醒时间。各分设备依次在重新计算后的唤醒时间醒来,与主设备进行数据传输,各分设备进入正常的轮询过程。

进一步地,如果网络中不再需要分设备3,则后台管理人员通过后台服务器向主设备发送退网指令,主设备直接发布退网指令给分设备3,所述分设备3退回到配置信道上。主设备更新轮询队列中分设备位置量,各分设备通过监听进入新的轮询队列,获取新队列中自身的位置量,重新计算自身应该醒来的时间节点。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1