一种基于BTMA的LoRa网络的通信方法转让专利

申请号 : CN202211239367.X

文献号 : CN115334627B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王璐陈国杰张健浩伍楷舜

申请人 : 深圳大学

摘要 :

本申请提供一种基于BTMA的LoRa网络的通信方法,该方法包括:当端节点准备发送信息时,端节点进入接收状态并监听网关的下行信道,以接收网关下行信道传输的信标信息;当端节点接收到信标信息后,解码信标信息,得到网关的工作状态和当前时刻网关与各个端节点通信使用的逻辑信道组合;若网关的工作状态为不处于满载状态时,根据信标信息,更新端节点的逻辑信道选择矩阵;从更新后的逻辑信道选择矩阵中选择权值最小的一项对应的逻辑信道组合,确定为端节点传输数据的信道组合。该方案可以降低无效信息的发送,解决通信冲突,提高传输效率,降低能耗,增加端节点的工作寿命。

权利要求 :

1.一种基于BTMA的LoRa网络的通信方法,其特征在于,所述方法包括:当端节点准备发送信息时,所述端节点进入接收状态并监听网关的下行信道,以接收所述网关下行信道传输的信标信息;

当所述端节点接收到所述信标信息后,解码所述信标信息,得到所述网关的工作状态和当前时刻所述网关与各个端节点通信使用的逻辑信道组合;

若所述网关的工作状态为不处于满载状态时,根据所述信标信息,更新所述端节点的逻辑信道选择矩阵,所述逻辑信道选择矩阵用于记录所述端节点历史发送的逻辑信道组合选择情况及通过所述网关发送的信标信息确定的当前时刻其他端节点的逻辑信道组合选择情况;

从更新后的逻辑信道选择矩阵中选择权值最小的一项对应的逻辑信道组合,确定为所述端节点传输数据的信道组合。

2.根据权利要求1所述的方法,其特征在于,若所述网关的工作状态为处于满载状态时,所述端节点进入休眠状态,休眠预设时长后,再唤醒进入接收模式等待接收下一个信标信息。

3.根据权利要求2所述的方法,其特征在于,所述端节点的休眠预设时长为一个最长LoRa帧长的时间长度。

4.根据权利要求1所述的方法,其特征在于,所述根据所述信标信息,更新所述端节点的逻辑信道选择矩阵,包括:将当前时刻网关与各个端节点通信使用的逻辑信道组合,在所述逻辑信道选择矩阵所代表的元素中权值加一。

5.根据权利要求1‑4任一项所述的方法,其特征在于,所述端节点传输数据的信道组合确定之后,所述方法还包括:所述端节点进入分布式帧间间隙阶段,在所述分布式帧间间隙阶段所述端节点执行预设次数的信道活动检测;

若所述信道活动检测检测到确定的所述端节点传输数据的信道组合为忙,则所述端节点在所述逻辑信道选择矩阵中将所述信道组合所代表的元素权值加一,并且所述端节点再次进入接收状态并监听网关的下行信道。

6.根据权利要求5所述的方法,其特征在于,当所述端节点执行所述预设次数的信道活动检测之后,所述方法还包括:所述端节点进入退避阶段,在所述退避阶段,所述端节点执行随机退避值个信道活动检测;

所述随机退避值随着每个所述信道活动检测信道为空闲而递减,直至所述随机退避值为0时,所述端节点进入发送状态,并向所述信道组合中发送信息。

7.根据权利要求6所述的方法,其特征在于,在随机退避阶段,当所述信道活动检测检测所述信道组合为忙时,则所述端节点在所述逻辑信道选择矩阵中将所述信道组合所代表的元素权值加一,并且所述端节点再次进入接收状态并监听网关的下行信道。

8.根据权利要求1‑4任一项所述的方法,其特征在于,当所述网关接收到一个端节点发出信息的初始时刻,所述网关将当前时刻所述网关的工作状态通过广播所述信标信息的方式通知网络中其他端节点。

9.根据权利要求1‑4任一项所述的方法,其特征在于,当所述网关接收完一个端节点发出信息的时刻,所述网关将当前时刻所述网关的工作状态通过广播所述信标信息的方式通知网络中其他端节点。

10.根据权利要求1‑4任一项所述的方法,其特征在于,所述网关下行信道周期性的传输所述信标信息。

说明书 :

一种基于BTMA的LoRa网络的通信方法

技术领域

[0001] 本发明属于介质访问控制技术领域,特别涉及一种基于BTMA的LoRa网络的通信方法。

背景技术

[0002] 低功耗广域网络(Low‑Power Wide‑Area Network,LPWAN),如基于LoRa(Long Range,远距离)技术或NB‑IOT(Narrow Band Internet of Things,窄带物联网)技术的广域网络,代表了一种新的通信模式,它将在一些应用中取代或补充传统的蜂窝和短距离无线技术。在物联网(Internet of Things ,IoT)领域,LPWAN网络有望为分布在广阔地理区域的大量低功耗、低数据量的物联网设备提供节能的连接。LPWAN的远程通信能力将大大提高物联网的互联程度,并使得网络智能能够深度渗透到不同的城市区域内(例如,广阔空旷的地域空间、高楼林立的城市区域以及复杂多变的地下结构),而这些领域的通讯互联需求也正是现有的低功率短距离无线技术所不能很好解决的。在各种LPWAN技术(包括NB‑IoT和SigFox)中,基于LoRa物理层的开放数据链路层规范LoRaWAN具有使用无许可证ISM(Industrial Scientific Medical,工业、科学和医用)频段、低成本终端设备以及独立于受管制蜂窝基础设施的优势,因此LoRa也被视为LPWAN物联网技术的“新星”之一。LoRa利用线性调频扩频(CS)技术使接收机能够以相对较低的灵敏度对信号进行译码。LoRa可以通过调整不同的物理层传输参数,例如带宽(Bandwidth,BW)、扩频因子(Spreading factor,SF)、编码率(Coding rate,CR)和传输功率(Transmission Power,TP)来改变不同的数据传输速率、通信的覆盖范围、抗干扰能力以及传输能量的消耗。例如,更低的带宽、更高的扩频因子和更高的编码率组合可以让LoRa传输实现更大的覆盖范围和更高的干扰恢复能力,但同时这也会导致传输速率的降低,增加传输所需要的时间和更高的能量消耗。类似地,较高的带宽和较低的扩频因子则能实现较高的数据传输速率和较小的覆盖范围。而LoRaWAN是为LoRa远距离通信网络设计的一套通讯协议和系统架构,实际上是LoRa的介质访问控制(medium access control,MAC)层。在LoRaWAN网络中各个端节点所传输的信息都集中在一个网关上。因此,LoRaWAN网络采用的是属于单跳的星形拓扑网络结构。此外,LoRaWAN使用纯ALOHA协议作为其信道接入机制。
[0003] 虽然纯ALOHA协议可以满足简单的网络通信需求,但却不能很好的为复杂网络的通信需求进行扩展。即使每个终端设备都符合信道接入时间要求(例如,在欧洲为0.1%或1%的占空比),但在当今的物联网时代,当终端设备数量急剧增长时,基于纯ALOHA的LoRa网络则会产生大量的冲突进而降低LoRa网络的传输性能。因此一个优秀的介质访问控制(MAC)协议在LoRa网络中就显得尤为重要。
[0004] 同时随着物联网的广泛普及以及其终端设备的增加,LoRa传输技术作为低功耗广域网中的佼佼者也在各种场景中被广泛的使用。海量的LoRa终端设备,在日渐增加的高流量的负载下,暴露了其隐藏终端的问题,同时也出现了严重的冲突问题。而现如今标准的LoRaWAN协议所使用的ALOHA介质访问控制(MAC)协议并不能有效的解决这些问题,反而导致了LoRa网络传输的效率大大的降低。
[0005] 现有的LoRaWAN网络中不同节点使用ALOHA协议随机性访问信道以及端节点的拓扑结构引起隐藏终端问题,而导致的数据包冲突,数据包丢失,大量重传,能耗增加等问题。

发明内容

[0006] 本说明书实施例的目的是提供一种基于BTMA的LoRa网络的通信方法。
[0007] 为解决上述技术问题,本申请实施例通过以下方式实现的:
[0008] 本申请提供一种基于BTMA的LoRa网络的通信方法,该方法包括:
[0009] 当端节点准备发送信息时,端节点进入接收状态并监听网关的下行信道,以接收网关下行信道传输的信标信息;
[0010] 当端节点接收到信标信息后,解码信标信息,得到网关的工作状态和当前时刻网关与各个端节点通信使用的逻辑信道组合;
[0011] 若网关的工作状态为不处于满载状态时,根据信标信息,更新端节点的逻辑信道选择矩阵,逻辑信道选择矩阵用于记录端节点历史发送的逻辑信道组合选择情况及通过网关发送的信标信息确定的当前时刻其他端节点的逻辑信道组合选择情况;
[0012] 从更新后的逻辑信道选择矩阵中选择权值最小的一项对应的逻辑信道组合,确定为端节点传输数据的信道组合。
[0013] 在其中一个实施例中,若网关的工作状态为处于满载状态时,端节点进入休眠状态,休眠预设时长后,再唤醒进入接收模式等待接收下一个信标信息。
[0014] 在其中一个实施例中,端节点的休眠预设时长为一个最长LoRa帧长的时间长度。
[0015] 在其中一个实施例中,根据信标信息,更新端节点的逻辑信道选择矩阵,包括:
[0016] 将当前时刻网关与各个端节点通信使用的逻辑信道组合,在逻辑信道选择矩阵所代表的元素中权值加一。
[0017] 在其中一个实施例中,端节点传输数据的信道组合确定之后,方法还包括:
[0018] 端节点进入分布式帧间间隙阶段,在分布式帧间间隙阶段端节点执行预设次数的信道活动检测;
[0019] 若信道活动检测检测到确定的端节点传输数据的信道组合为忙,则端节点在逻辑信道选择矩阵中将信道组合所代表的元素权值加一,并且端节点再次进入接收状态并监听网关的下行信道。
[0020] 在其中一个实施例中,当端节点执行预设次数的信道活动检测之后,方法还包括:
[0021] 端节点进入退避阶段,在退避阶段,端节点执行随机退避值个信道活动检测;
[0022] 随机退避值随着每个信道活动检测信道为空闲而递减,直至随机退避值为0时,端节点进入发送状态,并向信道组合中发送信息。
[0023] 在其中一个实施例中,在随机退避阶段,当信道活动检测检测信道组合为忙时,则端节点在逻辑信道选择矩阵中将信道组合所代表的元素权值加一,并且端节点再次进入接收状态并监听网关的下行信道。
[0024] 在其中一个实施例中,当网关接收到一个端节点发出信息的初始时刻,网关将当前时刻网关的工作状态通过广播信标信息的方式通知网络中其他端节点。
[0025] 在其中一个实施例中,当网关接收完一个端节点发出信息的时刻,网关将当前时刻网关的工作状态通过广播信标信息的方式通知网络中其他端节点。
[0026] 在其中一个实施例中,网关下行信道周期性的传输信标信息。
[0027] 由以上本说明书实施例提供的技术方案可见,该方案:可以保证在大规模高密度下的LoRa网络中,不同的端节点能够有效的访问信道,降低无效信息的发送,解决通信冲突,提高传输效率,降低能耗,增加端节点的工作寿命。

附图说明

[0028] 为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0029] 图1为本申请提供的基于BTMA的LoRa网络的通信方法的流程示意图;
[0030] 图2为本申请提供的基于BTMA的LoRa网络的通信方法的又一流程示意图;
[0031] 图3为本申请提供的信标信息的帧结构示意图;
[0032] 图4为本申请提供的网关处于满载状态时的节点时序图;
[0033] 图5为本申请提供的网关不处于满载状态时的节点时序图。

具体实施方式

[0034] 为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
[0035] 以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0036] 在不背离本申请的范围或精神的情况下,可对本申请说明书的具体实施方式做多种改进和变化,这对本领域技术人员而言是显而易见的。由本申请的说明书得到的其他实施方式对技术人员而言是显而易见得的。本申请说明书和实施例仅是示例性的。
[0037] 关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。
[0038] 本申请中的“份”如无特别说明,均按质量份计。
[0039] 相关技术中,LoRaWAN网络中不同节点使用ALOHA协议随机性访问信道以及端节点的拓扑结构引起隐藏终端问题,而导致的数据包冲突,数据包丢失,大量重传,能耗增加等问题。
[0040] 上述问题所面临的关键问题是如何尽可能高效的让不同的端节点选择的逻辑信道不冲突,以及如何避免端节点选择在网络繁忙时刻发送无效的数据包而造成大量的重发。
[0041] 基于上述问题,本申请提供一种基于BTMA的LoRa网络的通信方法,可以保证在大规模高密度下的LoRa网络中,不同的端节点能够有效的访问信道,降低无效信息的发送,解决通信冲突,降低能耗,增加节点的工作寿命。
[0042] 下面结合附图和实施例对本发明进一步详细说明。
[0043] 参照图1,其示出了适用于本申请实施例提供的基于BTMA的LoRa网络的通信方法的流程示意图。
[0044] 如图1所示,一种基于BTMA的LoRa网络的通信方法,可以包括:
[0045] S110、当端节点准备发送信息时,端节点进入接收状态并监听网关的下行信道,以接收网关下行信道传输的信标(Beacon)信息;信标信息包括网关的状态信息及当前时刻网关中各个端节点的逻辑信道组合使用情况。
[0046] 具体的,当端节点准备发送信息时,则会进入如图2所示的流程。首先端节点进入接收模式(即接收状态),并开始监听网关的下行信道,即Beacon传输的信道(如501.1MHz + SF 12),以此来接收网关发出的Beacon信息并解锁发送权限。
[0047] 可以理解的,网关下行信道可以周期性的传输Beacon信息,即网关可以周期性的广播,网关下行信道传输Beacon信息时也可以不是周期性的,而是根据实际需求进行设定传输方式及时间等,这里不做限制。如果网关下行信道周期性的传输Beacon信息时,示例性的,可以以32秒为周期。
[0048] 网关广播带有网关状态信息的Beacon信息,Beacon信息的帧结构如图3所示,在LoRaWAN中B类节点的Beacon的结构基础之上新增了一个记录网关工作状态的、大小为6bytes的Gateway字段,其中该字段用于记录此时网关正在使用哪些逻辑信道组合(子信道和SF的组合)接收端节点信息。
[0049] S120、当端节点接收到信标信息后,解码信标信息,得到网关的工作状态和当前时刻网关与各个端节点通信使用的逻辑信道组合。
[0050] 具体的,当端节点接收到信标信息后,表明该端节点获得了发送信息的资格,此时,端节点通过解码Beacon信息的帧内容,读取Gateway字段的信息而得到此时网关的工作状态,以及此时LoRa网络中,网关和其他节点所正在通信的逻辑信道组合。
[0051] 当端节点通过Gateway字段的信息确定网关此时已经处于满载状态(对于一般的商用LoRa网关来说,即同时在接收八个端节点的上行信息)时,如图4所示,端节点会进入休眠状态,并休眠预设时长,之后再唤醒进入接收模式,等待下一个Beacon的到来以获取新一轮发送信息的权限。可以理解的,预设时长可以根据实际需求进行设定,可选的,端节点的休眠预设时长为一个最长LoRa帧长的时间长度。
[0052] 当端节点通过Gateway字段的信息确定网关此时不处于满载状态时,根据信标信息,更新端节点的逻辑信道选择矩阵。
[0053] 具体的,端节点的逻辑信道选择矩阵为端节点本地存储的矩阵(因此后续将逻辑信道选择矩阵简称为本地矩阵),该逻辑信道选择矩阵用于记录端节点历史发送的逻辑信道组合(CH(channel,信道)和SF(Spreading factor,扩频因子))选择情况及通过网关发送的信标信息确定的当前时刻其他端节点的逻辑信道组合选择情况。示例性的,该矩阵可以为6*8大小的矩阵(即6SF*8CH)。可以理解的,逻辑信道选择矩阵的初始化内容可以是根据前期对不同逻辑信道的实际测试所得到的平均RSSI(Received Signal Strength Indication,接收的信号强度指示)和SNR(Signal Noise Ratio,信噪比)进行加权幅值所得。如图5所示,端节点通过Gateway字段的信息,可以确定此时LoRa网络中,网关和其他节点所正在通信的逻辑信道组合。
[0054] 一个实施例中,根据信标信息,更新端节点的逻辑信道选择矩阵,包括:
[0055] 将当前时刻网关与各个端节点通信使用的逻辑信道组合,在逻辑信道选择矩阵所代表的元素中权值加一,且禁止端节点此次的发送使用这些逻辑信道组合。
[0056] S130、从更新后的逻辑信道选择矩阵中选择权值最小的一项对应的逻辑信道组合,作为端节点传输数据的信道组合。
[0057] 具体的,端节点通过遍历更新后的逻辑信道选择矩阵,从中选出合法的且权值最小的元素所代表的逻辑信道组合,作为该端节点此次发送数据的上行逻辑信道选择。
[0058] 端节点传输数据的信道组合确定之后,该方法还包括:
[0059] S140、端节点进入分布式帧间间隙阶段,在分布式帧间间隙阶段端节点执行预设次数的信道活动检测;
[0060] 若信道活动检测检测到确定的端节点传输数据的信道组合为忙,则端节点在逻辑信道选择矩阵中将信道组合所代表的元素权值加一,并且端节点再次进入接收状态并监听网关的下行信道。
[0061] 具体的,当确认完信道组合的选择之后,端节点将进入DIFS (Distributed Inter‑frame Spacing,分布式帧间间隙)阶段,在此阶段中端节点将会执行预设次数的CAD活动(信道活动检测)。其中,预设次数可以根据实际需求进行设定。
[0062] 在DIFS阶段期间,如检测到所选的信道组合为忙,即代表着有其他端节点也选了这个逻辑信道的组合正在发送信息,则端节点将会在本地矩阵中将此信道组合所代表的元素权值加一,并延迟此次信息的发送,让端节点再次回退到接收状态并监听Beacon信道,以等待下一个Beacon的出现获取再次发送的权限。
[0063] 在DIFS阶段期间,如预设次数的CAD活动检测到的信道组合均为空闲,则端节点进入BO(BackOff,退避)阶段。
[0064] 当端节点执行预设次数的信道活动检测之后,该方法还包括:
[0065] S150、端节点进入退避阶段,在退避阶段,端节点执行随机退避值个信道活动检测;
[0066] 随机退避值随着每个信道活动检测信道为空闲而递减,直至随机退避值为0时,端节点进入发送状态,并向信道组合中发送信息。
[0067] 具体的,当在DIFS阶段执行完所有的CAD之后,即判断端节点所选的信道组合为空闲时,MCU(Microcontroller Unit,微控制单元)会生成一个随机退避(backoff)值并立即进入BO(BackOff)阶段。
[0068] 端节点在BO阶段期间继续执行backoff值个CAD活动来检查信道组合的可用性,并且backoff值会随着每个CAD检测出信道组合空闲而递减,当backoff值递减为0时,端节点则进入发送状态,并向所选的信道组合中发送信息。而随机化的backoff值减少了两个或多个DIFS阶段碰巧同时开始的帧发生碰撞的可能性。当端节点在BO阶段执行CAD时若检测出信道繁忙时,同样的将会在本地矩阵中将此信道组合所代表的元素权值加一,并延迟此次信息的发送,让端节点再次回退到接收状态并监听Beacon信道,以等待下一个Beacon的出现获取再次发送的权限。需要注意的是,再次进入BO阶段的端节点,MCU不会生成新的随机backoff值,而是会继续使用上一个BO阶段所剩下的backoff值,以此来加快此次发送的速度。
[0069] 可以理解的,当端节点在成功发送出此次信息时,需要记录此次信道组合的选择,因此,会在本地矩阵对应的元素中权值加一。
[0070] 参照图4、图5,当网关接收到一个端节点发出信息的初始时刻,网关将当前时刻网关的工作状态通过广播信标信息的方式通知网络中其他端节点。
[0071] 继续参照图4、图5,当网关接收完一个端节点发出信息的时刻,网关将当前时刻网关的工作状态通过广播信标信息的方式通知网络中其他端节点。
[0072] 本申请实施例中,端节点通过接收网关发送的信标信息确定网关的工作状态,然后根据网关的工作状态,选择信道组合来传输数据,其中信道组合为信道和扩频因子的组合,因此,在选择信道组合时,结合了信道和扩频因子两个参数,相比于仅通过参考信道一个参数确定是否传输数据,可以减少通信冲突。因此,该方案可以保证在大规模高密度下的LoRa网络中,不同的端节点能够有效的访问信道,降低无效信息的发送,解决通信冲突,提高传输效率,降低能耗,增加端节点的工作寿命。
[0073] 需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0074] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。