一种兼容CLASSA和CLASSB的数据下行方法与流程

文档序号:11525102阅读:2016来源:国知局

本发明属于物联网技术领域,涉及一种兼容classa和classb的数据下行方法,具体地说,一种lorawan兼容classa和classb的数据下行方法。



背景技术:

lora是semtech公司提出的一种低功耗物联网技术,广泛应用于无线抄表等领域。lorawan采用lora技术构建低功耗无线互联广域网。lorawan终端先把数据通过无线电波发送给基站,基站再通过以太网发送给lorawan服务器处理。lorawan终端的工作模式分classa和classb两种,这两种方式的区别主要在于终端接收下行数据的窗口不同。工作在classa模式的终端其接收下行数据的窗口在每次上行后1秒打开,服务器在终端每次上行数据后即把下行数据和发送时间传给基站;工作在classb模式的终端的下行窗口在其和服务器同步后周期性打开,服务器需要计算下行窗口择机把下行数据交给基站。

可以看到,classa和classb的下行是完全不同的方式,现有方案需要在接口调用前就判断终端处于classa还是classb工作模式,然后根据不同的工作模式走不同的下行接口,这样不够简洁。需要一种能够把classa和classb下行兼并处理的服务端处理方案,对外只暴露一个接口即实现classa和classb两种模式的下行。



技术实现要素:

本发明的目的在于提供一种兼容classa和classb的数据下行方法,在服务器收到对终端的下行数据时,根据服务器存储的终端状态判断其处于classa还是classb工作模式。如果是classa则把下行数据存入队列,待终端下一次上行数据时再下发给基站进行发送;如果是classb则根据classb的参数计算终端的下一个打开的下行窗口,把数据和下行窗口即时发送给基站进行发送。

为实现上述技术目的,达到上述技术效果,其技术方案具体为:

一种兼容classa和classb的数据下行方法,lorawan服务器收到给终端的下行数据时,进行如下处理,具体包括以下步骤:

步骤1、根据终端和服务器同步的状态判断其处于classa还是classb工作状态;在服务器,每个终端有一个参数a;当终端工作在classa时,a的值为0;当终端切换到classb模式工作时,会首先跟服务器同步,服务器会把参数a的值更新为1;

步骤2、如果终端处于classa模式,把该数据存入队列,等下次终端上行数据时下发给基站进行发送;发送的内容包括下行数据和基站发送时间,其中基站发送时间t由终端上行时间t1和下行窗口打开时间t2相加计算得到,基站收到后在t时间点发送正好处于终端的下行窗口,实现数据下行;

步骤3、如果终端处于classb模式,根据终端和服务器同步的参数,计算出终端下一个接收窗口并转成基站发送时间t;把下行数据和基站发送时间t即时发送给基站,基站收到后在t时间点把数据发送出去。

进一步,对于处于classb状态的终端,会记录其当前可用的窗口w,当有数据下发且下发成功时,w会向前滑动一个窗口,这样,就保证了每次下行窗口不冲突。

本发明具有以下有益效果:

本发明对外只暴露一个接口即实现classa和classb两种模式的下行,简化了下行数据的工作;应用在接入时只需要调用一个接口而不需要知道终端工作状态等细节即实现数据下行,简化了应用接入流程,提升了应用接入效率。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。

一种兼容classa和classb的数据下行方法,lorawan服务器收到给终端的下行数据时,进行如下处理:

1根据终端和服务器同步的状态判断其处于classa还是classb工作状态。在服务器,每个终端有一个参数a。当终端工作在classa时,a的值为0;当终端切换到classb模式工作时,会首先跟服务器同步,服务器会把参数a的值更新为1。

这样,我们就可以判断要下行数据的终端处于classa还是classb工作模式了。

2如果终端处于classa模式,把该数据存入队列,等下次终端上行数据时下发给基站进行发送。发送的内容包括下行数据和基站发送时间,其中基站发送时间t由终端上行时间t1和下行窗口打开时间t2相加计算得到,基站收到后在t时间点发送正好处于终端的下行窗口,实现数据下行。

3如果终端处于classb模式,根据终端和服务器同步的参数,计算出终端下一个接收窗口并转成基站发送时间t;把下行数据和基站发送时间t即时发送给基站,基站收到后在t时间点把数据发送出去。

以下是对工作在classb模式的终端的两次下行数据:

jsondown:

{"txpk":{"imme":false,"tmst":3375483540,"freq":476.7,"rfch":0,"powe":20,"modu":"lora","datr":"sf7bw125","codr":"4/5","ipol":true,"prea":1000,"size":21,"data":"yhlbbaaajaaco8e6uyzyztrgdtmv","servertime":1487681997386}}

jsondown:

{"txpk":{"imme":false,"tmst":3621243540,"freq":476.7,"rfch":0,"powe":20,"modu":"lora","datr":"sf7bw125","codr":"4/5","ipol":true,"prea":1000,"size":21,"data":"yhlbbaaajaaco8e6uyzyztrgdtmv","servertime":1487682243146}}

两次数据间间隔5个窗口,使用本方法的窗口平滑移动,实现了数据下发。

以上所述,仅为本发明较佳的具体实施方式,本发明的保护范围不限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可显而易见地得到的技术方案的简单变化或等效替换均落入本发明的保护范围内。



技术特征:

技术总结
本发明公开了一种兼容CLASS A和CLASS B的数据下行方法,在服务器收到对终端的下行数据时,根据服务器存储的终端状态判断其处于class A还是class B工作模式。如果是class A则把下行数据存入队列,待终端下一次上行数据时再下发给基站进行发送;如果是class B则根据class B的参数计算终端的下一个打开的下行窗口,把数据和下行窗口即时发送给基站进行发送。本发明技术方案能保证其随机性和安全性。本发明对外只暴露一个接口即实现class A和class B两种模式的下行,简化了下行数据的工作,提升了应用接入效率。

技术研发人员:谢玖实;涂小朋;顾庆欢
受保护的技术使用者:国动物联网技术(上海)有限公司
技术研发日:2017.03.03
技术公布日:2017.08.18
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1