一种LoRaWAN设备的随机上报时间计算方法及系统

文档序号:1936826 发布日期:2021-12-07 浏览:8次 >En<

阅读说明:本技术 一种LoRaWAN设备的随机上报时间计算方法及系统 (Random reporting time calculation method and system for LoRaWAN equipment ) 是由 梁永强 姚金龙 杨铮 王贺超 秦凯 王茜 于 2021-09-10 设计创作,主要内容包括:本发明提供一种LoRaWAN设备的随机上报时间计算方法及系统,涉及通信技术领域,包括:根据多个随机源生成一个随机值;配置LoRaWAN通讯设备的上报起始时间和上报结束时间;根据上报起始时间和上报结束时间计算出间隔时间;使用随机值对间隔时间进行取余运算,获得余数;将起始时间与余数相加,获得数据的随机上报时间。本发明通过多个随机源计算随机值,保证了随机值的可靠性,又通过随机值与配置的LoRaWAN通讯设备的上报起始时间和上报结束时间进行再次计算,可以使LoRaWAN通讯设备的上报时间离散在该时间段中,进一步减小了LoRaWAN网关并发冲突的可能性,提高LoRaWAN通讯设备的上报成功率。(The invention provides a method and a system for calculating random reporting time of LoRaWAN equipment, which relate to the technical field of communication and comprise the following steps: generating a random value from a plurality of random sources; configuring the reporting start time and the reporting end time of LoRaWAN communication equipment; calculating interval time according to the reporting start time and the reporting end time; carrying out remainder operation on the interval time by using a random value to obtain a remainder; and adding the initial time and the remainder to obtain the random reporting time of the data. The invention calculates the random value through a plurality of random sources, ensures the reliability of the random value, and calculates again through the random value and the reporting start time and the reporting end time of the configured LoRaWAN communication equipment, so that the reporting time of the LoRaWAN communication equipment can be dispersed in the time period, the possibility of the LoRaWAN gateway concurrency conflict is further reduced, and the reporting success rate of the LoRaWAN communication equipment is improved.)

一种LoRaWAN设备的随机上报时间计算方法及系统

技术领域

本发明涉及通信技术领域,尤其是涉及一种LoRaWAN设备的随机上报时间计算方法及系统。

背景技术

LoRa是一种低功耗长距离无线通信技术,主要面向物联网或M2M等应用,是低功耗广域网(LPWAN)中一种重要的无线技术。

LoRaWAN是在LoRa物理层传输技术基础之上的以MAC层为主的一套协议标准。对应产品包括LoRaWAN节点、LoRaWAN网关和LoRaWAN网络服务器,LoRaWAN是一种全球通用的技术,凡是采用LoRaWAN的设备都可以对接到标准的LoRaWAN网络服务器,实现设备数据互联。

而LoRaWAN节点设备上报数据需要经过LoRaWAN网关到达LoRaWAN网络服务器,再由网络服务器的转发到各个应用,才能实现数据的处理及使用;而由于LoRaWAN网关硬件特性限制,一般上行数据的通道数为8个,下行通道数为1个,当出现大量数据并发时,容易造成通道拥挤,上报失败,因此,需要对上报数据进行离散处理,尽量减少设备并发。

为实现上报数据的离散,可以使各个LoRaWAN节点设备在一天中任意时间段随机上报数据到LoRaWAN网关,因此,其核心为随机时间的确定。

目前电子设备中使用主流的随机算法有基于时间产生随机值和基于ADC采样值产生随机值。基于时间产生随机值的方式一般是调用rand函、srand函数、time函数,组合使用或使用RTC时间计算产生随机值,本质是使用时间产生随机值,时间相近时产生的随机值效果并不好,另外若电子设备未进行校时,使用初始时间进行计时,设备运行到计算随机数时的时间有极大概率冲突,无法产生离散性良好的随机数;基于ADC采样值产生随机值是通过MCU的ADC端口浮空输入或外接ADC采样芯片,得到一个动态物理的ADC采样值,以此作为随机种子,计算随机值,这种方式在一定程度上占用了硬件资源额外增加了硬件的成本,还会受外界环境的影响,产生的随机值容易冲突。

发明内容

针对上述问题,本发明提供了一种LoRaWAN设备的随机上报时间计算方法及系统,使得到的随机上报时间更加离散可靠,时间段可配置,避免LoRaWAN网关并发冲突,进而提高设备的上报成功率。

为实现上述目的,本发明提供了一种LoRaWAN设备的随机上报时间计算方法,包括:

根据多个随机源生成一个随机值;

配置LoRaWAN通讯设备的上报起始时间和上报结束时间;

根据所述上报起始时间和上报结束时间计算出间隔时间;

使用所述随机值对所述间隔时间进行取余运算,获得余数;

将所述起始时间与所述余数相加,获得数据的随机上报时间。

作为本发明的进一步改进,预定义一个随机变量数组,随机值生成函数每次在所述随机变量数组中随机获取一个变量作为一个随机源。

作为本发明的进一步改进,多个所述随机源包括时钟时间、内存中的变量值和随机变量数组中的变量。

作为本发明的进一步改进,多个所述随机源进行异或运算,得到所述随机值。

作为本发明的进一步改进,所述上报起始时间和上报结束时间均为一天中的任意时间。

作为本发明的进一步改进,所述间隔时间换算为秒数,在通过所述随机值对所述间隔时间进行取余运算。

作为本发明的进一步改进,将所述起始时间与所述余数相加后换算为时间,所述时间作为所述随机上报时间。

本发明还提供了一种LoRaWAN设备的随机上报时间计算系统,包括:随机值生成模块、上报时间间隔计算模块和随机上报时间计算模块;

所述随机值生成模块,用于:

根据多个随机源生成一个随机值;

所述上报时间段计算模块,用于:

配置LoRaWAN通讯设备的上报起始时间和上报结束时间;

根据所述上报起始时间和上报结束时间计算出间隔时间;

所述随机上报时间计算模块,用于:

使用所述随机值对所述间隔时间进行取余运算,获得余数;

将所述起始时间与所述余数相加,获得数据的随机上报时间。

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

本发明通过多个随机源计算随机值,保证了随机值的可靠性,又通过随机值与配置的LoRaWAN通讯设备的上报起始时间和上报结束时间进行再次计算,可以使LoRaWAN通讯设备的上报时间离散在该时间段中,进一步减小了LoRaWAN网关并发冲突的可能性,提高LoRaWAN通讯设备的上报成功率。

本发明的多个随机源包括时钟时间、内存中的变量值和随机变量数组中的变量,这一设置改善了背景技术中存在的在时间相同的情况下产生随机值相同的现象,使随机值更可靠,进而使上报数据的离散处理效果更好。

附图说明

图1为本发明一种实施例公开的LoRaWAN设备的随机上报时间计算方法流程图;

图2为本发明一种实施例公开的LoRaWAN设备的随机上报时间计算系统示意图。

具体实施方式

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

下面结合附图对本发明做进一步的详细描述:

如图1所示,本发明提供的一种LoRaWAN设备的随机上报时间计算方法,包括:

S1、根据多个随机源生成一个随机值;

其中,

随机源优选为三个,预定义一个随机变量数组用于获取一个随机源,另外两个随机源为时钟时间和内存中的变量值;

具体过程包括:

首先在随机变量数组中随机获取一个变量作为一个随机源Va

获取MCU内存中的变量值VR

获取当前时钟时间VT

将三个随机值进行异或运算,得到随机值rand_value。

即:

rand_value=VR⊕VT⊕Va

程序代码表示如下:

S2、配置LoRaWAN通讯设备的上报起始时间T和上报结束时间T

其中,

上报起始时间和上报结束时间均为一天24小时中的任意时间;

S3、根据上报起始时间T和上报结束时间T计算出间隔时间;

其中,

间隔时间换算为秒数,在通过随机值对间隔时间进行取余运算。

即:

Interval=T-T

S2、S3整体程序代码表示如下:

S4、使用随机值对间隔时间进行取余运算,获得余数;

S5、将起始时间与余数相加,获得数据的随机上报时间。

其中,

将起始时间与余数相加后换算为时间,时间作为随机上报时间。

S4、S5整体程序代码表示如下:

rand_value=get_rand();//获取随机值

random_time_interval=rand_value%Interval;//取余

report_time.hour=start_time.hour+(random_time_interval/3600);//起始小时+随机小时

report_time.min=start_time.min+((random_time_interval%3600)/60);//起始分钟+随机分钟

report_time.sec=start_time.sec+((random_time_interval%3600)%60);//起始秒数+随机秒数

return report_time;

}//输出随机值

根据以上步骤,得出随机上报时间计算公式为:

T=T+((VR⊕VT⊕Va)%(T-T))

其中:

T表示随机上报时间;

T表示上报起始时间,由外部配置并输入;

T表示上报结束时间,由外部配置并输入;

VR表示从MCU内存中获取的随机值;

VT表示获取的时钟时间;

Va表示从定义的随机变量数组中随机获取的变量;

⊕表示异或运算;

%表示取余运算;

+表示加法运算;

-表示减法运算。

如图2所示,本发明还提供了一种LoRaWAN通讯设备的随机上报时间计算系统,包括:随机值生成模块、上报时间间隔计算模块和随机上报时间计算模块;

随机值生成模块,用于:

根据多个随机源生成一个随机值;

上报时间段计算模块,用于:

配置LoRaWAN通讯设备的上报起始时间和上报结束时间;

根据上报起始时间和上报结束时间计算出间隔时间;

随机上报时间计算模块,用于:

使用随机值对间隔时间进行取余运算,获得余数;

将起始时间与余数相加,获得数据的随机上报时间。

本发明的优点:

(1)通过多个随机源计算随机值,保证了随机值的可靠性,又通过随机值与配置的LoRaWAN通讯设备的上报起始时间和上报结束时间进行再次计算,可以使LoRaWAN通讯设备的上报时间离散在该时间段中,进一步减小了LoRaWAN网关并发冲突的可能性,提高LoRaWAN通讯设备的上报成功率。

(2)本发明中多个随机源包括时钟时间、内存中的变量值和随机变量数组中的变量,这一设置改善了背景技术中存在的在时间相同的情况下产生随机值相同的现象,使随机值更可靠,进而使上报数据的离散处理效果更好。

(3)本发明中产生的随机值的获取无需额外硬件资源,相对于现有技术,减少了硬件成本。

(4)本发明的随机上报时间为一天中随机时间段,随机时间段可配置,大大提高了上报时间的灵活性。

以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

8页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:并发线程处理方法、装置、电子设备以及存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!