CN113760368A - 一种LoRaWAN设备的随机上报时间计算方法及系统 - Google Patents
一种LoRaWAN设备的随机上报时间计算方法及系统 Download PDFInfo
- Publication number
- CN113760368A CN113760368A CN202111062962.6A CN202111062962A CN113760368A CN 113760368 A CN113760368 A CN 113760368A CN 202111062962 A CN202111062962 A CN 202111062962A CN 113760368 A CN113760368 A CN 113760368A
- Authority
- CN
- China
- Prior art keywords
- time
- random
- reporting
- lorawan
- random value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 title claims description 13
- 238000000034 method Methods 0.000 claims abstract description 21
- 238000004891 communication Methods 0.000 claims abstract description 20
- 230000006872 improvement Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- QVFWZNCVPCJQOP-UHFFFAOYSA-N chloralodol Chemical compound CC(O)(C)CC(C)OC(O)C(Cl)(Cl)Cl QVFWZNCVPCJQOP-UHFFFAOYSA-N 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30029—Logical and Boolean instructions, e.g. XOR, NOT
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/16—Gateway arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供一种LoRaWAN设备的随机上报时间计算方法及系统,涉及通信技术领域,包括:根据多个随机源生成一个随机值;配置LoRaWAN通讯设备的上报起始时间和上报结束时间;根据上报起始时间和上报结束时间计算出间隔时间;使用随机值对间隔时间进行取余运算,获得余数;将起始时间与余数相加,获得数据的随机上报时间。本发明通过多个随机源计算随机值,保证了随机值的可靠性,又通过随机值与配置的LoRaWAN通讯设备的上报起始时间和上报结束时间进行再次计算,可以使LoRaWAN通讯设备的上报时间离散在该时间段中,进一步减小了LoRaWAN网关并发冲突的可能性,提高LoRaWAN通讯设备的上报成功率。
Description
技术领域
本发明涉及通信技术领域,尤其是涉及一种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)本发明的随机上报时间为一天中随机时间段,随机时间段可配置,大大提高了上报时间的灵活性。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种LoRaWAN设备的随机上报时间计算方法,其特征在于,包括:
根据多个随机源生成一个随机值;
配置LoRaWAN通讯设备的上报起始时间和上报结束时间;
根据所述上报起始时间和上报结束时间计算出间隔时间;
使用所述随机值对所述间隔时间进行取余运算,获得余数;
将所述起始时间与所述余数相加,获得数据的随机上报时间。
2.根据权利要求1所述的随机时间上报方法,其特征在于:预定义一个随机变量数组,在所述随机变量数组中随机获取一个变量作为一个随机源。
3.根据权利要求1所述的随机时间上报方法,其特征在于:多个所述随机源包括时钟时间、内存中的变量值和随机变量数组中的变量。
4.根据权利要求1所述的随机时间上报方法,其特征在于:多个所述随机源进行异或运算,得到所述随机值。
5.根据权利要求1所述的随机时间上报方法,其特征在于:所述上报起始时间和上报结束时间均为一天中的任意时间。
6.根据权利要求1所述的随机时间上报方法,其特征在于:所述间隔时间换算为秒数,在通过所述随机值对所述间隔时间进行取余运算。
7.根据权利要求1所述的随机时间上报方法,其特征在于:将所述起始时间与所述余数相加后换算为时间,所述时间作为所述随机上报时间。
8.一种实现如权利要求1~7任一项所述的随机上报时间计算方法的系统,其特征在于,包括:随机值生成模块、上报时间间隔计算模块和随机上报时间计算模块;
所述随机值生成模块,用于:
根据多个随机源生成一个随机值;
所述上报时间段计算模块,用于:
配置LoRaWAN通讯设备的上报起始时间和上报结束时间;
根据所述上报起始时间和上报结束时间计算出间隔时间;
所述随机上报时间计算模块,用于:
使用所述随机值对所述间隔时间进行取余运算,获得余数;
将所述起始时间与所述余数相加,获得数据的随机上报时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111062962.6A CN113760368A (zh) | 2021-09-10 | 2021-09-10 | 一种LoRaWAN设备的随机上报时间计算方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111062962.6A CN113760368A (zh) | 2021-09-10 | 2021-09-10 | 一种LoRaWAN设备的随机上报时间计算方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113760368A true CN113760368A (zh) | 2021-12-07 |
Family
ID=78794794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111062962.6A Pending CN113760368A (zh) | 2021-09-10 | 2021-09-10 | 一种LoRaWAN设备的随机上报时间计算方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113760368A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09101878A (ja) * | 1995-10-03 | 1997-04-15 | Mitsubishi Electric Corp | 乱数発生回路 |
JP2005174206A (ja) * | 2003-12-15 | 2005-06-30 | Sony Corp | 真性乱数生成装置または真性乱数生成方法 |
CN102375722A (zh) * | 2010-08-09 | 2012-03-14 | 中国科学技术大学 | 一种真随机数生成方法及发生器 |
CN106383691A (zh) * | 2016-09-18 | 2017-02-08 | 北京智芯微电子科技有限公司 | 一种随机数产生方法及随机数产生器 |
CN109769025A (zh) * | 2019-01-18 | 2019-05-17 | 廊坊新奥燃气设备有限公司 | 物联网燃气表和解决物联网燃气表并发上报冲突的方法 |
CN109982288A (zh) * | 2019-04-10 | 2019-07-05 | 宁夏隆基宁光仪表股份有限公司 | 一种基于NB-IoT物联网燃气表的错峰上报算法 |
-
2021
- 2021-09-10 CN CN202111062962.6A patent/CN113760368A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09101878A (ja) * | 1995-10-03 | 1997-04-15 | Mitsubishi Electric Corp | 乱数発生回路 |
JP2005174206A (ja) * | 2003-12-15 | 2005-06-30 | Sony Corp | 真性乱数生成装置または真性乱数生成方法 |
CN102375722A (zh) * | 2010-08-09 | 2012-03-14 | 中国科学技术大学 | 一种真随机数生成方法及发生器 |
CN106383691A (zh) * | 2016-09-18 | 2017-02-08 | 北京智芯微电子科技有限公司 | 一种随机数产生方法及随机数产生器 |
CN109769025A (zh) * | 2019-01-18 | 2019-05-17 | 廊坊新奥燃气设备有限公司 | 物联网燃气表和解决物联网燃气表并发上报冲突的方法 |
CN109982288A (zh) * | 2019-04-10 | 2019-07-05 | 宁夏隆基宁光仪表股份有限公司 | 一种基于NB-IoT物联网燃气表的错峰上报算法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11743328B2 (en) | Computer-implemented system and method for propagation and communication of data in a network such as a blockchain network | |
Huang et al. | Multilevel code‐shifted differential‐chaos‐shift‐keying system | |
US20230124712A1 (en) | Blockchain-based systems and methods for propagating data in a network | |
US10972471B2 (en) | Device authentication using synchronized activity signature comparison | |
Toni et al. | Prioritized random MAC optimization via graph-based analysis | |
CN110928880B (zh) | 基于区块链的数据处理方法、装置、终端及介质 | |
Chowdhury et al. | Saturation throughput analysis of IEEE 802.15. 6 slotted aloha in heterogeneous conditions | |
CN105553827B (zh) | 一种匿名网络中兼顾匿名性与通信时延的消息转发方法 | |
JP2017505064A (ja) | 情報処理方法、ユーザ機器および基地局 | |
TWI652963B (zh) | 一種收發物理隨機接取通道前導碼序列的方法及裝置 | |
Stefanović et al. | Joint estimation and contention-resolution protocol for wireless random access | |
WO2022001427A1 (zh) | 基于dsp的伪随机序列的生成方法和装置、存储介质 | |
CN112437153A (zh) | 一种设备联动处理方法及装置 | |
CN111416692A (zh) | 一种配置方法及设备 | |
CN113760368A (zh) | 一种LoRaWAN设备的随机上报时间计算方法及系统 | |
CN105323270B (zh) | 网络信息推送方法和系统 | |
CN106411684A (zh) | 消息处理方法及装置 | |
CN110167154A (zh) | 传输上行信号的方法及通信装置 | |
Duan et al. | Performance of a SIMO‐CDSK System over Rayleigh Fading Channels | |
Yang et al. | Ari: a P2P optimization for blockchain systems | |
CN114696951B (zh) | 信号生成方法、装置、终端及可读存储介质 | |
CN115174010B (zh) | 信息确定、信息指示方法、装置、终端及网络侧设备 | |
CN102694880B (zh) | 远程对象外网ip地址的获取方法、装置及系统 | |
CN115567183B (zh) | 一种m序列生成方法及装置 | |
CN114726701B (zh) | 频偏估计方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |