欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> LoRa终端上行数据的方法、LoRa终端、LoRa网络以及存储介质独创技术15626字

LoRa终端上行数据的方法、LoRa终端、LoRa网络以及存储介质

2021-02-01 10:14:48

LoRa终端上行数据的方法、LoRa终端、LoRa网络以及存储介质

  技术领域

  本发明涉及LoRa通信领域,尤其涉及一种LoRa终端上行数据的方法、LoRa终端、LoRa网络以及存储介质。

  背景技术

  现有的LoRaWAN标准使用ALOHA(信道的使用采用竞争方式),根据理论推导,带宽的使用率最高约可达30%,若有更多终端参与信道的竞争,发生碰撞的机率将提高,数据互相干扰,数据传输丢失率高。

  发明内容

  本发明要解决的技术问题在于,针对现有技术的上述数据传输丢失的缺陷,提供一种LoRa终端上行数据的方法、LoRa终端、LoRa网络以及存储介质。

  本发明解决其技术问题所采用的技术方案是:

  一方面,构造一种LoRa终端上行数据的方法,所述方法包括:

  终端根据服务器网关的下行入网回复数据获知LoRa网络中为自身分配的信道和时隙以及LoRa网络的终端上行周期;

  终端在分配给自身的时隙内将数据发送分配给自身的信道中;

  其中:所述网络中的所有终端以及服务器网关均同步反复进入小周期,每个小周期分为网关下行周期和终端上行周期,终端上行周期被划分为互不重叠的多个时隙,所述网络中的每个终端所分配的信道和时隙的组合是唯一的。

  优选地,所述方法还包括:

  相邻信道之间的时隙非对齐;和/或,网络中的各个终端按照其所上行数据的大小被分配信道以使网络中的所有终端的上行数据被分散到各个信道。

  优选地,所述方法还包括:终端根据使用与其所处的通讯环境正相关的扩频因子发送数据。

  优选地,所述方法还包括:

  终端在所发送的数据中添加与原数据相关的冗余信息,以便服务器网关对终端发生的数据进行差错控制。

  优选地,所述方法还包括:

  终端每发出一个数据后需接收服务器网关回复的确认包,若未收到确认包,则要重发数据直到收到确认包。

  优选地,所述方法还包括:

  终端在有新的数据产生时,将新产生的数据存入一级缓存,如果一级缓存写满,则将一级缓存中最先存入的部分数据转移到二级缓存中以腾出空间存放新产生的数据;

  发送数据时优先发送一级缓存的数据,一级缓存为空时再发送二级缓存的数据。

  优选地,所述一级缓存在终端的MCU的随机存取存储器中,二级缓存在终端的大容量非易失性存储器中。

  二方面,构造一种LoRa终端,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序可被所述处理器运行以实现如前任一项所述的方法的步骤。

  三方面,构造一种LoRa网络,包括服务器网关和多个LoRa终端。

  四方面,构造一种计算机可读存储介质,包括计算机程序,所述计算机程序可被处理器运行以实现如前任一项所述的方法的步骤。

  本发明的LoRa终端上行数据的方法、LoRa终端、LoRa网络以及存储介质,具有以下有益效果:本发明为每个终端仅在分配给自身的时隙内将数据发送分配给自身的信道中,由于网络中的每个终端所分配的信道和时隙的组合是唯一的,如此,让整个网络工作在有序状态,可以解决数据碰撞的问题,提高带宽的使用率;进一步地,由于调频信号含有很多旁瓣,当其中某些旁瓣落入邻道接收机的通带内,就会造成对相邻信道的干扰,为减少这种干扰,采取了两个办法让相邻信道重叠的工作时间减少:一是,相邻信道之间的时隙非对齐,安排一个时隙偏移;二是,数据平均分散,不会集中在某些信道,以免数据量大的信道干扰相邻信道;更进一步地,根据不同的终端所处的环境,使用不同的拓频因子发送;对终端数据进行差错控制编码;进一步地,设计了失败重发机制和终端数据缓存机制可以保证数据不丢失。

  附图说明

  为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图:

  图1是为终端分配信道和时隙的示意图;

  图2是一个具体实施例中的终端上行数据的方法流程图。

  具体实施方式

  为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的典型实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。应当理解本发明实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。

  除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。

  本说明书中使用的“第一”、“第二”等包含序数的术语可用于说明各种构成要素,但是这些构成要素不受这些术语的限定。使用这些术语的目的仅在于将一个构成要素区别于其他构成要素。例如,在不脱离本发明的权利范围的前提下,第一构成要素可被命名为第二构成要素,类似地,第二构成要素也可以被命名为第一构成要素。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。

  本发明一方面构造了一种LoRa终端上行数据的方法,所述方法包括:

  上行参数获取步骤S1:终端根据服务器网关的下行入网回复数据获知LoRa网络中为自身分配的信道和时隙以及LoRa网络的终端上行周期;

  数据上行步骤S2:终端在分配给自身的时隙内将数据发送分配给自身的信道中;

  其中:所述网络中的所有终端以及服务器网关均同步反复进入小周期,每个小周期分为网关下行周期和终端上行周期,图1中的Tu即表示终端上行周期。在终端上行周期内服务器网关处于等待接收数据的状态,在网关下行周期内,终端处于等待接收数据的状态,如此可以避免终端的上行数据和网关的下行数据冲突。

  其中,终端上行周期被划分为互不重叠的多个时隙,所谓时隙,实际上就是一个时间片或者说一个时间段。如图1中,每一个信道fx(x=1、…、7)都对应有互不重叠的多个时隙,所述网络中的每个终端所分配的信道和时隙的组合是唯一的,也即终端之间不会存在所分配的信道和时隙都相同的情形。如图中Nij(i=0、…、7,j=1、…、n)表示终端。

  需要说明的是,时隙划分需要与信道对应,不同信道对应的时隙划分结果可以是相同的,也可以是不同的。

  优选的,服务器网关可以预先根据在线终端的数量为各个信道划分对应的时隙,并在在线终端的数量出现阶段性变化时,重新为各个信道划分时隙并通知到各终端。例如,在某个应用采用LoRa网络时,可以先预先设置终端的数量为应用需求的最大的终端数量,然后服务器网关根据设置的终端数量划分时隙,比如说假如有8个信道,应用的最大终端数量为200个,则均分下来每个信道负责25个终端,则可以考虑每个信道对应25个时隙。在通信过程中,终端的数量可能变化,我们可以为终端数量划分区间,比如假设预先设置终端的数量为200,我们可以将其划分为1-20是一个终端数量区间,21-40是一个终端数量区间,…,依次类推,181-200是一个终端数量区间。一旦实际在线的终端数量从一个区间切换到另一个区间,则可以视为在线的终端的数量出现阶段性变化,比如说先前提到,开始时可以预先设置终端数量为200,则每个信道对应25个时隙,如果后续通信过程中,发现终端的数量为30个,则服务器网关可以先确定在线终端的数量所处的区间,然后根据所确定区间的最大值(即最大终端数量)重新划分时隙,比如30个终端对应的区间是20-40,则区间的最大值是40,则均分下来每个信道负责5个终端,则可以考虑每个信道对应5个时隙。如此,可以充分利用信道,极大的提高带宽的使用率。

  可见,服务器网关先将时隙划分好,等终端入网时直接分配时隙和信道即可,如此可以在整个终端上行周期内使得整个网络工作在有序状态,可以解决现有技术中的数据碰撞的问题。

  由于调频信号含有很多旁瓣,当其中某些旁瓣落入邻道接收机的通带内,就会造成对相邻信道的干扰,为减少这种干扰,采取了如下两个措施让相邻信道重叠的工作时间减少:

  一是,相邻信道之间的时隙非对齐,图中每一个灰色方框分别表示实际分配给终端的时隙。图中T0至Tn表示参考时隙,比如信道f0、f2、f4、f6的时隙都是与参考时隙平齐的,不存在时隙偏移,而信道f1、f3、f5、f7的时隙都相对参考时隙有一定的时隙偏移,如此可以保证任意相邻的两个信道的之间的时隙非对齐。

  二是,网络中的各个终端按照其所上行数据的大小被分配信道以使网络中的所有终端的上行数据被分散到各个信道,不会集中在某些信道,以免数据量大的信道干扰相邻信道。比如说,将上行数据大的终端分配到不同的信道,然后再分配上行数据小的终端。

  进一步优选地,数据上行步骤S2中,终端根据使用与其所处的通讯环境正相关的扩频因子SF发送数据。比如说,通讯环境良好的终端使用高速SF,通讯环境差的终端使用低速SF,或者高速SF发送不成功则改用低速SF发送。

  进一步优选地,数据上行步骤S2中,终端在所发送的数据中添加与原数据相关的冗余信息,以便服务器网关对终端发生的数据进行差错控制。所述冗余信息是和原数据相关的,接收端可根据这种相关性来检测和纠正传输过程产生的差错,从而对抗传输过程的干扰,具体的可用循环冗余校验(CRC)码、校验和、交织技术。

  以上信道和时隙的唯一组合、时隙偏移以及数据分散到各个信道、SF的设定、对终端数据进行差错控制编码,这几种措施都是为了抵御LoRa无线传输过程中的干扰。接下来,介绍在终端数据的发送控制逻辑上保证数据不丢失的两种措施:

  一是,采用终端数据缓存机制缓存要发送的数据。参考图2,数据上行步骤S2中,流程初始后,判断终端是否有新的数据产生,在有新的数据产生时,判断一级缓存是否写满,如果一级缓存没有写满,则直接将新产生的数据存入一级缓存,如果一级缓存写满,则将一级缓存中最先存入的部分数据转移到二级缓存中以腾出空间存放新产生的数据,这样能让最新的数据最先发送,然后将新产生的数据存入一级缓存。在数据写入完毕后,判断网络状态是否好,如果不好则继续回到流程初始,可见网络不好时,数据被写入了缓存中但是并未发送;如果网络好(网络好坏的判断可以直接采用既有的判定方法),则发送数据时优先发送一级缓存的数据,一级缓存为空(没有数据)时再发送二级缓存的数据。

  终端数据缓存机制可确保即使网络状态长时间不好,大量数据发送不出去,数据也会得以保存,等网络状态变好之后,再发送保存的历史数据。

  优选地,所述一级缓存在终端的MCU的随机存取存储器中,二级缓存在终端的大容量非易失性存储器中。

  二是,采用失败重发机制发送数据。参考图2,数据上行步骤S2中,终端每发出一个数据后需接收服务器网关回复的确认包,若未收到确认包且重发次数没有超过预定次数,则要重发数据直到收到确认包,如果未收到确认包且重发次数超过预定次数,则回到流程初始;而如果收到确认包,则从缓存(存放最近发送的那个数据的一级缓存或者二级缓存)中清除最近发送的数据后继续回到流程初始,继续下一轮流程。

  基于同一发明构思,本发明另一方面还公开一种LoRa终端,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序可被所述处理器运行以实现如前述的方法的步骤。具体实现过程可参阅上述方法实施例的描述,此处不再赘述。

  基于同一发明构思,本发明另一方面还公开一种LoRa网络,包括服务器网关和多个LoRa终端。

  基于同一发明构思,本发明另一方面还公开一种计算机可读存储介质,包括计算机程序,所述计算机程序可被处理器运行以实现如前述的方法的步骤。具体实现过程可参阅上述方法实施例的描述,此处不再赘述。

  综上所述,本发明的LoRa终端上行数据的方法、LoRa终端、LoRa网络以及存储介质,具有以下有益效果:本发明为每个终端仅在分配给自身的时隙内将数据发送分配给自身的信道中,由于网络中的每个终端所分配的信道和时隙的组合是唯一的,如此,让整个网络工作在有序状态,可以解决数据碰撞的问题,提高带宽的使用率;进一步地,由于调频信号含有很多旁瓣,当其中某些旁瓣落入邻道接收机的通带内,就会造成对相邻信道的干扰,为减少这种干扰,采取了两个办法让相邻信道重叠的工作时间减少:一是,相邻信道之间的时隙非对齐,安排一个时隙偏移;二是,数据平均分散,不会集中在某些信道,以免数据量大的信道干扰相邻信道;更进一步地,根据不同的终端所处的环境,使用不同的拓频因子发送;对终端数据进行差错控制编码;进一步地,设计了失败重发机制和终端数据缓存机制可以保证数据不丢失。

  上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

《LoRa终端上行数据的方法、LoRa终端、LoRa网络以及存储介质.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)