一种LoRa系统的通讯方法与流程

文档序号:19951682发布日期:2020-02-18 10:39阅读:515来源:国知局
一种LoRa系统的通讯方法与流程

本发明涉及通信技术领域,特别涉及一种lora系统的通讯方法。



背景技术:

lora(longrang,超长距离)技术是一种长距离、低功耗、低速率应用下使用的无线调制技术,能够被应用在各种网络技术中,是长距离低功耗协议族的总称。lora系统大多为星型的连接结构,包括一个lora控制设备以及分别与lora控制设备连接的多个lora终端,如图1所示,lora控制设备分别连接lora终端-1、lora终端-2、lora终端-n-1和lora终端-n。

在lora控制设备和lora终端建立连接之前,lora控制设备需保存全网内各个lora终端的终端id号(一般为该终端的序号,该序号是基于全网的所有未入网lora终端的序号,入网为lora终端与lora控制设备建立通信连接,未入网为lora终端未与lora控制设备建立通信连接)。欲建立通信连接时,lora控制设备分别向全网内各个未入网lora终端发送连接请求,并接收该lora终端发送的应答包,以和lora终端建立通信连接,即该lora终端入网。但是该种技术需要lora控制设备事先知道全网内每个lora终端的终端id号,若有新增lora终端,需要在lora控制设备内写入该新增lora终端的终端id号,即,修改lora控制设备的程序,从而降低lora系统的工作效率、提高了成本。

针对上述问题,可采用lora控制设备向全网内的lora终端广播连接请求,接收到连接请求的lora终端向lora控制设备发送应答包,以建立通信连接。但该种技术存在多个lora终端同时向lora控制设备发送应答包的情况,会造成lora控制设备的链路拥堵。



技术实现要素:

本发明提供一种至少部分解决上述技术问题的lora系统的通讯方法。

本发明提供一种lora系统的通讯方法,所述lora系统包括lora控制设备和全网内的多个lora终端,所述方法包括:

lora控制设备向全网内的lora终端广播第一连接请求,以使接收到所述第一连接请求的待连接终端根据应答包发送顺序向lora控制设备发送应答包;其中,所述第一连接请求包括监听模数和第一控制信息,所述待连接终端为全网内未与lora控制设备建立通信连接的lora终端中的任意一个,待连接终端的终端id号不包含在第一控制信息中;所述应答包发送顺序是待连接终端根据待连接终端的终端id号和监听模数确定的;

依次接收各个待连接终端发送的应答包;所述应答包包括待连接终端的终端id号;

根据应答包中待连接终端的终端id号与待连接终端建立通信连接。

优选地,所述依次接收各个待连接终端发送的应答包,包括:

在广播第一连接请求后的第一监听时间段内接收待连接终端发送的应答包。

优选地,所述应答包还包括待连接终端的第一发送持续时隙,所述待连接终端的第一发送持续时隙与待连接终端的终端id号配对存储;

则,所述方法还包括:

根据接收到各个应答包的顺序以及各个待连接终端的第一发送持续时隙,计算各个待连接终端的第一发送起始时隙;

将每个应答包中的终端id号、每个待连接终端的第一发送持续时隙以及每个待连接终端的第一发送起始时隙作为一条新增发送信息,将每条新增发送信息更新到第一控制信息中形成第二控制信息,并向全网内的lora终端广播第二连接请求,所述第二连接请求中至少包括所述第二控制信息。

优选地,所述第一控制信息中包括已连接终端的发送信息,所述已连接终端的发送信息包括设备终端id、第一发送开始时隙和第一发送持续时隙,每个已连接终端的第一发送开始时隙不同,所述已连接终端为全网内已与lora控制设备建立通信连接的lora终端中的任意一个;

则,所述方法还包括:

根据所述控制信息中的各个已连接终端的发送信息中的第一发送开始时隙和第一发送持续时隙依次接收各个已连接终端发送的数据包。

优选地,所述数据包包括对应存储的终端id号、数据包总数、当前包序号和数据;

则,所述方法还包括:

在接收到各个已连接终端的最后一个数据包时,根据最后一个数据包中的数据包总数、最后一个数据包中的当前包序号判断是否接收到已连接终端的全部数据包;所述已连接终端是按照数据包中的当前包序号由小到大的顺序依次向lora控制设备发送数据包的;

若否,则根据接收到的断流终端的最后一个数据包中的当前包序号、所述第一发送持续时隙以及最后一个数据包中的数据包总数,计算断流终端的第二发送持续时隙;其中,所述断流终端为未被lora控制设备接收到全部数据包的已连接终端中的一个;

根据预设数据接收的开始时隙、接收到已连接终端的应答包的顺序、各个断流终端的第二发送持续时隙以及其他已连接终端的第一发送持续时隙,计算各个已连接终端的第二发送开始时隙;所述其他已连接终端为所有已连接终端中除去所述断流终端外的终端;

根据所述断流终端的第二发送持续时隙和各个已连接终端的第二发送开始时隙更新所述控制信息。

优选地,根据接收到的断流终端的最后一个数据包中的当前包序号、所述第一发送持续时隙以及最后一个数据包中的数据包总数,计算断流终端的第二发送持续时隙,包括:

根据接收到的断流终端的数据包数量和最后一个数据包中的最后一个发送持续时隙,计算单包数据包发送时隙;

根据所述单包数据包发送时隙和所述最后一个数据包中的数据包总数,计算断流终端的第二发送持续时隙。

优选地,所述监听模数为随机产生的。

第二方面,本发明还提供一种lora系统的通讯方法,所述lora系统包括lora控制设备和全网内的多个lora终端,所述方法包括:

目标终端接收到lora控制设备广播的第一连接请求后,判断控制信息中是否包括目标终端的终端id号;其中,所述第一连接请求包括监听模数和控制信息,所述目标终端为全网内的lora终端中的任意一个;

若否,则根据目标终端的终端id号和监听模数确定目标终端的应答包发送顺序;

根据应答包发送顺序向lora控制设备发送应答包,以使lora控制设备根据目标终端的终端id号与目标终端建立通信连接,应答包中包括目标终端的终端id号。

优选地,所述根据目标终端的终端id号和监听模数确定目标终端的应答包发送顺序,包括:

计算目标终端的终端id号除以监听模数的余数;

根据余数确定目标终端应答包发送顺序。

优选地,所述判断控制信息中是否包括目标终端的终端id号之后,所述方法还包括:

若是,则获取控制信息中与目标终端的终端id号对应的已连接终端的发送信息,所述已连接终端的发送信息包括第一发送开始时隙和第一发送持续时隙;

根据所述第一发送开始时隙和第一发送持续时隙向lora控制设备发送目标终端的数据包。

由上述技术方案可知,本发明实施例所述的lora系统的通讯方法,lora控制设备向全网内的lora终端广播第一连接请求,待连接终端根据待连接终端的终端id号和监听模数确定应答包发送顺序,并根据应答包发送顺序向lora控制设备发送应答包,从而lora控制设备可以依次接收各个待连接终端发送的应答包,防止有多个lora终端同时向lora控制设备发送应答包造成的lora控制设备的链路拥堵。

附图说明

图1为星型的lora系统的系统架构图;

图2为本发明一实施例提供的一种lora系统的通讯方法的流程图;

图3为第一连接请求的格式图;

图4为应答包的格式图;

图5为第一控制信息的格式图;

图6为数据包的格式图;

图7为本发明另一实施例提供的一种lora系统的通讯方法的流程图。

具体实施方式

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

图2为本发明一实施例提供的一种lora系统的通讯方法的流程图。

如图2所示的一种lora系统的通讯方法,所述lora系统包括lora控制设备和全网内的多个lora终端,所述方法包括:

s201、lora控制设备向全网内的lora终端广播第一连接请求,以使接收到所述第一连接请求的待连接终端根据应答包发送顺序向lora控制设备发送应答包;其中,所述第一连接请求包括监听模数和第一控制信息,所述待连接终端为全网内未与lora控制设备建立通信连接的lora终端中的任意一个,其终端id号不包含在第一控制信息中,所述终端id号可为事先给定并预先存储在lora终端上的,可为lora终端在全网所有lora终端中的序号;所述应答包是待连接终端根据应答包发送顺序向lora控制设备发送的,所述应答包发送顺序是待连接终端根据待连接终端的终端id号和监听模数确定的;

值得说明的是,lora控制设备为具有自主通讯能力的设备,自助通讯包括但不限于4g、nb-iot,lora终端为不具备自主通讯能力的设备。所述第一控制信息中无已连接终端时所述第一控制信息为空。

图3为第一连接请求的格式图,如图3所示,第一连接请求包括:

数据包头,占用4byte;

命令字,占用1byte;

预留,占用2byte;

监听模数,占用1byte;

第一控制信息(图3中为控制信息),不定长;

crc校验,占用4byte。

s202、依次接收各个待连接终端发送的应答包;所述应答包包括待连接终端的终端id号;

s203、根据应答包中待连接终端的终端id号与待连接终端建立通信连接。

本实施例中,lora控制设备和全网内的多个lora终端星型连接。

本发明实施例所述的lora系统的通讯方法,lora控制设备向全网内的lora终端广播第一连接请求,以使待连接终端根据待连接终端的终端id号和监听模数确定应答包发送顺序,并根据应答包发送顺序向lora控制设备发送应答包,从而lora控制设备可以依次接收各个待连接终端发送的应答包,防止有多个lora终端同时向lora控制设备发送应答包造成的lora控制设备的链路拥堵。

需要说明的是,全网内的lora终端理论上可以为无限多个,在本发明实施例中,考虑其实用性,lora终端的最大接入数可为50个,当然,也可以为其他个数,本发明实施例对此不做限定,lora终端的单个数据包有效长度可为256字节。

为了避免因各个lora终端的晶振差异造成的时间差异,需要进行时统处理,向全网内的lora终端需要发送时统信息(8byte的时间戳),其作用就是时间信息同步,统一各个终端的年月日、时分秒。其契机为:

1、lora控制设备开机时发送一次,统一年月日;

2、lora控制设备每隔n个小时发送一次,以防时间不一致和新节点的同步。n可以根据用户需求自定义。

3、也可以手动操作lora控制设备,下发时统信息。

作为一种优选实施例,所述步骤s202,包括:

在广播第一连接请求后的第一监听时间段内接收待连接终端发送的应答包。

在本步骤中,所述第一监听时间段可以为2-6s,也可根据具体情况设定其他时间段。

本发明实施例所述的lora系统的通讯方法,确定lora控制设备接收应答包的时间段,以给lora终端留出足够时间确定应答包发送顺序等信息处理的时间,保证可以依次接收到lora终端的应答包,确定接收时间段还可以防止无期限接收应答包造成系统资源的浪费,保证lora系统的工作效率。在系统初始阶段,所述应答包还包括待连接终端的第一发送持续时隙,所述待连接终端的第一发送持续时隙与待连接终端的终端id号配对存储;

图4为应答包的格式图,如图4所示的应答包,包括:

数据包头,占用4byte;

终端id号,占用1byte;

第一发送持续时隙(图4中为发送持续时隙),占用1byte;

预留,占用2byte;

crc校验,占用4byte。

在本实施例中,第一发送持续时隙是待连接终端根据其当前所需传输的数据计算出的。

则,所述方法还包括:

根据接收到各个应答包的顺序以及各个待连接终端的第一发送持续时隙,计算各个待连接终端的第一发送起始时隙;

举例说明本步骤:全网内包括5个lora终端,分别为a终端、b终端、c终端、d终端和e终端,按照下述方式计算各个lora终端的第一发送起始时隙:

设接收到所述五个lora终端发送的应答包的先后顺序依次为:a终端、c终端、e终端、d终端和b终端。

则,各个lora终端的第一发送起始时隙分别为:

tsenda=t0;

tsendc=tsenda+ta;

tsende=tsendc+tc;

tsendd=tsende+te;

tsendb=tsendd+td。

其中,tsenda为a终端的第一发送起始时隙,tsendc为c终端的第一发送起始时隙,tsende为e终端的第一发送起始时隙,tsendd为d终端的第一发送起始时隙,tsendb为b终端的第一发送起始时隙,t0为计算所有lora终端的第一发送起始时隙的起点,ta为a终端对应的第一发送持续时隙、tb为b终端对应的第一发送持续时隙、tc为c终端对应的第一发送持续时隙、td为d终端对应的第一发送持续时隙、te为e终端对应的第一发送持续时隙。将每个应答包中的终端id号、每个待连接终端的第一发送持续时隙以及每个待连接终端的第一发送起始时隙作为一条新增发送信息;将每条新增发送信息更新到第一控制信息中形成第二控制信息,并向全网内的lora终端广播第二连接请求,所述第二连接请求中至少包括所述第二控制信息。

值得说明的是,全网内的lora终端在被确定为已连接终端后,根据连接请求中的控制信息中的第一发送起始时隙和第一发送持续时隙向lora控制设备发送数据包。

在一种具体实施例中,可向全网内的lora终端广播第二连接请求,将第二连接请求视为第一连接请求,重复执行步骤s202-步骤s203。

本发明实施例所述的lora系统的通讯方法,lora控制设备根据接收到各个应答包的顺序以及各个待连接终端的第一发送持续时隙,计算各个待连接终端的第一发送起始时隙,实现对各lora终端的时隙分配;lora终端确定自己为已连接终端时,根据第一发送起始时隙和第一发送持续时隙向lora控制设备发送数据包,从而可使各已连接终端分时段向lora控制设备发送数据包,防止造成lora控制设备的链路拥堵。

若全网内已经有已连接终端,所述第一控制信息中包括已连接终端的发送信息,所述已连接终端的发送信息包括设备终端id、第一发送开始时隙和第一发送持续时隙,如图5所示,每个已连接终端的第一发送开始时隙(图5中为发送开始时隙,用发送持续时隙表示第一发送持续时隙)不同,所述已连接终端为全网内已与建立通信连接的lora终端中的任意一个;

值得说明的是,每个已连接终端的第一发送开始时隙可以根据预先获知的已连接终端入网的顺序以及已连接终端的第一发送持续时隙确定,一般地,下一个已连接终端的发送开始时隙为上一个已连接终端的发送开始时隙持续上一个已连接终端的发送持续时隙后的时间点,已连接终端入网的顺序可根据控制信息中已连接终端的发送信息的设置顺序确定,即通过控制信息中发送信息的设置顺序体现lora终端入网的顺序。

则,所述方法还包括:

根据所述控制信息中的各个已连接终端的终端id、各个已连接终端的发送信息中的第一发送开始时隙和第一发送持续时隙依次接收各个已连接终端发送的数据包。

本发明实施例所述的lora系统的通讯方法,lora控制设备根据各个已连接终端的发送信息中的第一发送开始时隙和第一发送持续时隙依次接收各个已连接终端发送的数据包,防止造成lora控制设备的链路拥堵。

如图6所示,作为一种优选实施例,所述数据包包括对应存储的终端id号、数据包总数、当前包序号和数据;

图6为数据包的格式图,如图6所示,数据包包括:

数据包头,占用4byte;

终端id号,占用1byte;

数据包总数,占用1byte;

当前包序号,占用1byte;

数据长度,占用1byte;

预留,占用4byte;

数据,不定长,4字节对齐;

crc校验,占用4byte。

则,所述方法还包括:

在接收到各个已连接终端的最后一个数据包时,根据最后一个数据包中的数据包总数、最后一个数据包中的当前包序号判断是否接收到已连接终端的全部数据包;所述已连接终端是按照数据包中的当前包序号由小到大的顺序依次向lora控制设备发送数据包的;

本步骤中,通过判断最后一个数据包中的当前包序号是否等于数据包总数判断是否接收到已连接终端的全部数据包。举例说明:若数据包总数为5个,最后一个数据包中的当前包序号为4,则确定未接收到已连接终端的全部数据包,若最后一个数据包中的当前包序号为5,则确定接收到已连接终端的全部数据包。

若否,则根据接收到的断流终端的最后一个数据包中的当前包序号、所述第一发送持续时隙以及最后一个数据包中的数据包总数,计算断流终端的第二发送持续时隙;其中,所述断流终端为未被lora控制设备接收到全部数据包的已连接终端中的一个;

值得说明的是,本步骤说明分配给断流终端的第一发送持续时隙不足以发送该lora终端的全部数据包,需要重新计算发送持续时隙。

根据预设数据接收的开始时隙、接收到已连接终端的应答包的顺序、各个断流终端的第二发送持续时隙以及其他已连接终端的第一发送持续时隙,计算各个已连接终端的第二发送开始时隙;所述其他已连接终端为所有已连接终端中除去所述断流终端外的终端;

在一种具体实施例中,所述预设数据接收的开始时隙为从lora控制设备广播第一连接请求开始达到第二预设时间段时的时间点,所述第二预设时间段可为10s等。

值得说明的是,从本次广播连接请求到下次广播新的连接请求之前可视为一个周期,lora终端每次接收到连接请求时计时器清零,以对新周期内的各种时隙重新计时。每个周期的时间段可划分为控制时隙域和数据时隙域,控制时隙域可占10个时隙,即时隙0-时隙9,数据时隙域的时隙数量不定,如可为时隙10-时隙n,每个时隙可为1秒。控制时隙域包括控制区、监听控制区和预留区,其中,控制区可占2个时隙,即时隙0-时隙1,监听控制区可占5个时隙,即时隙2-时隙6,预留区可占3个时隙,即时隙7-时隙9。lora控制设备广播连接请求时,包含上述所有域,而其他命令包只包含控制区0-1时隙。监听控制区,在时隙范围内,监听lora终端的应答包,用于未入网的lora终端入网,数据时隙域,在时隙范围内,用于已入网的lora终端上报数据。每个lora终端上报开始的时间以及持续的时间(如发送开始时隙和发送持续时隙)由控制信息里的参数决定;在数据时隙域中,接收来自已入网lora终端的数据。

根据所述断流终端的第二发送持续时隙和各个已连接终端的第二发送开始时隙更新所述控制信息。

本发明实施例所述的lora系统的通讯方法,在确定未接收到已连接终端的全部数据包时,根据接收到的断流终端的数据包数量、所述第一发送持续时隙以及最后一个数据包中的数据包总数,计算断流终端的第二发送持续时隙,并根据预设数据接收的开始时隙、接收到已连接终端的应答包的顺序、各个断流终端的第二发送持续时隙以及其他已连接终端的第一发送持续时隙,计算各个已连接终端的第二发送开始时隙,从而可以在每个lora终端都可以将全部数据包发送给lora控制设备的同时防止造成lora控制设备的链路拥堵。

作为一种优选实施例,所述监听模数为随机产生的,在不同时刻的连接请求中不同,使应答包发送顺序具有可变性,以减少应答包冲撞概率。

作为一种优选实施例,所述根据接收到的断流终端的数据包数量、所述第一发送持续时隙以及最后一个数据包中的数据包总数计算断流终端的第二发送持续时隙的方法包括:

根据接收到的断流终端的数据包数量和最后一个数据包中的最后一个发送持续时隙,计算单包数据包发送时隙;

根据所述单包数据包发送时隙和所述最后一个数据包中的数据包总数,计算断流终端的第二发送持续时隙,如单包数据包发送时隙为t,最后一个数据包中的数据包总数为5,则第二发送持续时隙为5t。

本发明实施例所述的lora系统的通讯方法,根据单包数据包发送时隙和数据包总数重新计算第二发送持续时隙,可以保证断流终端根据第二发送持续时隙可以将全部数据包发送给lora控制设备。

图7为本发明另一实施例提供的一种lora系统的通讯方法的流程图。

如图7所示的一种lora系统的通讯方法,所述lora系统包括lora控制设备和全网内的多个lora终端,所述方法包括:

s701、目标终端接收到lora控制设备广播的第一连接请求后,判断控制信息中是否包括目标终端的终端id号;其中,所述第一连接请求包括监听模数和控制信息,所述目标终端为全网内的lora终端中的任意一个;

在一种具体实施例中,目标终端的终端id号为事先给定并存储在lora终端上的,可为lora终端在全网的lora终端中的序号。

s702、若否,则根据目标终端的终端id号和监听模数确定目标终端的应答包发送顺序;

s703、根据应答包发送顺序向lora控制设备发送应答包,以使lora控制设备根据目标终端的终端id号与目标终端建立通信连接,应答包中包括目标终端的终端id号。

在本发明实施例中,lora控制设备和全网内的多个lora终端以星型拓扑结构方式进行连接。

本发明实施例所述的lora系统的通讯方法,在控制信息中不包括目标终端的终端id号时,根据目标终端的终端id号和监听模数确定目标终端的应答包发送顺序,并根据应答包发送顺序向lora控制设备发送应答包,防止有多个lora终端同时向lora控制设备发送应答包造成的lora控制设备的链路拥堵。

作为一种优选实施例,所述步骤s702,包括:

计算目标终端的终端id号除以监听模数的余数;

根据余数确定目标终端应答包发送顺序。

具体的,可以按余数从小到达的顺序依次发送应答包,也可以按余数从大到小的顺序依次发送应答包。

本发明实施例所述的lora系统的通讯方法,便于确定目标终端应答包发送顺序,当然,还可以根据监听模数除以目标终端的终端id号的余数确定目标终端应答包发送顺序。

作为一种优选实施例,所述步骤s701之后,所述方法还包括:

若是,则获取控制信息中与目标终端的终端id号对应的已连接终端的发送信息,所述已连接终端的发送信息包括第一发送开始时隙和第一发送持续时隙;

可以理解的是,每个已连接终端的第一发送开始时隙可以根据预先获知的已连接终端入网的顺序以及已连接终端的发送持续时隙确定,一般地,下一个已连接终端的发送开始时隙为上一个已连接终端的发送开始时隙持续上一个已连接终端的发送持续时隙后的时间点,已连接终端入网的顺序可根据控制信息中已连接终端的发送信息的设置顺序确定,即通过控制信息中发送信息的设置顺序体现lora终端入网的顺序。

根据所述第一发送开始时隙和第一发送持续时隙依次向lora控制设备发送目标终端的各个数据包。

举例说明本步骤:设包括五个lora终端,分别为f终端、g终端、h终端、i终端和j终端,发送数据包的先后顺序依次为:f终端、j终端、h终端、i终端和g终端。

tsendf为f终端的第一发送起始时隙,tsendh为h终端的第一发送起始时隙,tsendj为j终端的第一发送起始时隙,tsendi为i终端的第一发送起始时隙,tsendg为g终端的第一发送起始时隙,tf为f终端对应的第一发送持续时隙、tg为g终端对应的第一发送持续时隙、th为h终端对应的第一发送持续时隙、ti为i终端对应的第一发送持续时隙、tj为j终端对应的第一发送持续时隙。

到达tsendf时间时,f终端向lora控制设备发送数据包持续tf时间,到达tsendj时间时,j终端向lora控制设备发送数据包持续tj时间,到达tsendh时间时,h终端向lora控制设备发送数据包持续th时间,到达tsendi时间时,i终端向lora控制设备发送数据包持续ti时间,到达tsendg时间时,g终端向lora控制设备发送数据包持续tg时间。

本发明实施例所述的lora系统的通讯方法,已连接终端根据所述第一发送开始时隙和第一发送持续时隙向lora控制设备发送目标终端的数据包,防止造成lora控制设备的链路拥堵。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

以上实施方式仅适于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

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