网关、LoRa网络系统、网关运行方法及存储介质与流程

文档序号:17003141发布日期:2019-03-02 01:54阅读:450来源:国知局
网关、LoRa网络系统、网关运行方法及存储介质与流程

本申请涉及物联网技术领域,特别是涉及一种网关、lora网络系统、网关运行方法及存储介质。



背景技术:

物联网最初的解释是:“物物相连的互联网”,主要指借助智能识别、电子感知以及云计算等技术,把特定的物品和互联网之间进行连接,而lora(longrange,远程)技术则在物联网中扮演着如何把物(终端)与网(互联网)连接起来的角色。

物联网的终端网络连接技术,有许多技术方案可以选择,除了lora以外,还有nb-iot(narrowbandinternetofthings,窄带物联网)、wifi(wirelessfidelity,无线保真)、蓝牙、zigbee(紫蜂)、gprs(generalpacketradioservice,通用分组无线服务技术)和红外rf(radiofrequency,射频)等,不同的通讯技术有着不同的特点,也各有适合自己的应用场景。但是对于长距离,低功耗,只有少量数据需要传输的应用场景,目前还没有比lora更理想的无线通信技术。

在实现过程中,发明人发现传统技术中至少存在如下问题:lora标准化组织lora联盟推荐的标准的lora网络系统,包括终端、网关、lora网络服务器及应用服务器。然而,传统基于标准lora网络系统构造复杂,部署困难大。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够简化lora网络系统,降低部署难度的网关、lora网络系统、网关运行方法及存储介质。

为了实现上述目的,一方面,本发明实施例提供了一种网关,包括网关单元和loraserver单元;loraserver单元包括南向接口模块以及lorawan协议栈模块;

网关单元将接收到的终端报文传输给南向接口模块;终端报文为入网请求报文或终端数据报文;

南向接口模块将处理入网请求报文得到的入网请求明文,传输给lorawan协议栈模块;以及对终端数据报文进行协议转换,得到用于上传给应用服务器的终端数据网络报文;

lorawan协议栈模块根据入网请求明文得到终端地址,并基于终端地址得到用于下发给终端的入网响应报文。

在其中一个实施例中,loraserver单元还包括应用服务模块;

南向接口模块将终端数据网络报文传输给应用服务模块;

应用服务模块将终端数据网络报文上传给应用服务器。

在其中一个实施例中,应用服务模块将接收到的管理报文传输给lorawan协议栈模块;管理报文为终端管理报文或网关管理报文;

lorawan协议栈模块解析网关管理报文,得到网关配置指令;

lorawan协议栈模块解析终端管理报文,得到终端管理数据;并将基于终端管理数据得到的终端管理解析报文传输给南向接口模块;

南向接口模块处理终端管理解析报文,得到用于下发给终端的终端管理解析密文。

在其中一个实施例中,南向接口模块接收网关单元传输的周期性pull消息;

lorawan协议栈模块在南向接口模块接收到周期性pull消息时,将终端管理报文传输给南向接口模块。

在其中一个实施例中,南向接口模块包括预设端口;预设端口包括loopback接口;

网关单元通过loopback接口,将终端报文传输给预设端口;

南向接口模块从预设端口中获取终端报文。

在其中一个实施例中,网关单元包括lora驱动模块和终端转发模块;

lora驱动模块对终端报文进行解帧;

终端转发模块将解帧后的终端报文传输给南向接口模块。

在其中一个实施例中,南向接口模块对终端数据报文进行协议转换,得到基于ieee802.3协议的终端数据网络报文。

另一方面,本发明实施例还提供了一种lora网络系统,包括终端和应用服务器,以及连接在终端和应用服务器之间的各实施例中的网关。

另一方面,本发明实施例还提供了一种网关运行方法,包括:

接收终端报文;终端报文为入网请求报文或终端数据报文;

对入网请求报文进行处理,得到入网请求明文;根据入网请求明文,得到终端地址,并基于终端地址得到用于下发给终端的入网响应报文;

对终端数据报文进行协议转换,得到用于上传给应用服务器的终端数据网络报文。

另一方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述网关运行方法的步骤。

上述技术方案中的一个技术方案具有如下优点和有益效果:

loraserver单元中的南向接口模块、lorawan协议栈模块实现了传统的lora网络系统中lora网络服务器的功能;即本申请的网关可以集成lora网络服务器的功能,进而本申请的网关在应用于lora网络系统时,无需在lora网络系统中再另外部署lora网络服务器,简化了lora网络系统,降低了部署难度。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1为传统lora网络系统的架构示意图;

图2为一个实施例中网关的第一结构框图;

图3为一个实施例中网关的第二结构框图;

图4为一个实施例中网关运行方法的流程示意图;

图5为一个实施例中lora网络系统的架构示意图;

图6为一个实施例中lora网络系统的运行状态示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

如图1所示,传统的lora网络系统包括依次连接的终端(图1中的endnodes)、网关(图1中的concentrator/gateway)、lora网络服务器(图1中的loranetworkserver)及应用服务器(图1中的applicationserver)。

其中,终端:监控对象及采集其状态数据。网关:接入终端,转发终端发送的lora协议报文;lora网络服务器:lorawan协议网络的核心,处理终端的接入、管理、上下行数据的加、解密,报文解析及数据包合成等;应用服务器:管理终端及网关、接收及分析终端采集的数据。

本申请提供的网关,可以应用于如图5所示的lora网络系统中。终端102通过网关104与应用服务器106进行网络通信。

具体的:

终端102:监控对象及采集状态数据;

集成lora网络服务器功能的网关104:负责终端102的接入、管理,实现lora协议栈,实现lorawan协议与ieee802.3协议报文的转换;

应用服务器106:管理网关104及网关104下属终端102,并根据终端102上传的数据对终端102采取一定的管控策略。

其中,终端102可以但不限于是水表、燃气表、电表、热量表、烟雾报警器、宠物跟踪器等各种检测装置,应用服务器106可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

在一个实施例中,如图2所示,提供了一种网关,以该网关应用于图5为例进行说明,包括:网关单元和loraserver单元;loraserver单元包括南向接口模块以及lorawan协议栈模块;

网关单元将接收到的终端报文传输给南向接口模块;终端报文为入网请求报文或终端数据报文;

南向接口模块将处理入网请求报文得到的入网请求明文,传输给lorawan协议栈模块;以及对终端数据报文进行协议转换,得到用于上传给应用服务器106的终端数据网络报文;

lorawan协议栈模块根据入网请求明文得到终端地址,并基于终端地址得到用于下发给终端102的入网响应报文。

具体的,终端报文是由终端102发送到网关单元;网关单元可以对接收到的终端报文进行解帧处理。

南向接口模块对入网请求报文的处理可以为解码和解密;南向接口模块对终端数据报文进行协议转换可以是将原基于lorawan协议的终端数据报文转换为基于ieee802.3协议的终端数据报文。

根据入网请求明文中的终端标识信息,如mac地址等,分配得到终端地址;得到的入网响应报文可以通过网关单元下发到相应的终端102。

上述网关中,loraserver单元中的南向接口模块、lorawan协议栈模块实现了lora网络服务器的功能;也即上述网关集成了lora网络服务器的功能,进而不需要在lora网络系统中再另外部署lora网络服务器,简化了lora网络系统,降低了部署难度。

需要说明的是,在完全遵从lorawan协议的前提下,把原来分立的lora网络服务器集成到了网关中,由于单台网关覆盖终端数目少、网关一般采用百兆以上的高性能mcu处理单元,所以网关性能方面基本不受影响,并且由于集成的缘故,可以节省一台lora网络服务器的部署,使得整个系统网络更加扁平化,易于维护管理,同时适用于小型园区的lora物联网布网的应用场景,降低了系统成本,满足中小型用户的实际需求。

在一个实施例中,如图3所示,提供了一种网关,以该网关应用于图5为例进行说明,包括:

网关单元和loraserver单元;loraserver单元包括应用服务模块、南向接口模块以及lorawan协议栈模块;网关单元包括lora驱动模块、终端转发模块;

lora驱动模块对接收到的终端报文进行解帧;

终端转发模块将解帧后的终端报文传输给南向接口模块;

解帧后的终端报文为入网请求报文或终端数据报文;

南向接口模块将处理入网请求报文得到的入网请求明文,传输给lorawan协议栈模块;以及对终端数据报文进行协议转换,并将得到的终端数据网络报文传输给应用服务模块;

lorawan协议栈模块根据入网请求明文得到终端地址,并基于终端地址得到用于下发给终端102的入网响应报文;

应用服务模块,用于将终端数据网络报文上传给应用服务器106。

具体的,南向接口模块对入网请求报文的处理可以为解码和解密。

lorawan协议栈模块根据入网请求明文中的终端标识信息,如mac地址等,分配得到终端地址。

应用服务模块可以将终端数据网络报文通过回传网络上传到应用服务器106中,其中的回传网络可以是有线、wifi、2g、3g或4g等数据接入网络。

进一步的,应用服务模块将接收到的管理报文传输给lorawan协议栈模块;管理报文为终端管理报文或网关管理报文;

lorawan协议栈模块解析网关管理报文,得到网关配置指令;

lorawan协议栈模块解析终端管理报文,得到终端管理数据;并将基于终端管理数据得到的终端管理解析报文传输给南向接口模块;

南向接口模块处理终端管理解析报文,得到用于下发给终端的终端管理解析密文。

具体的,南向接口模块对终端管理解析报文的处理方式可以是加密和编码。

需要说明的是,管理报文可以是由应用服务器106发送到应用服务模块;且应用服务器106可根据预设的策略算法,对接收到的终端数据网络报文进行分析,得到终端管理报文,也即应用服务器106可生成终端管理报文控制终端102的相应动作。

进一步的,网关单元还可包括网关射频模块;

南向接口模块将终端管理解析密文传输给终端转发模块;终端转发模块,用于将终端管理解析密文传输给lora驱动模块;lora驱动模块,用于对终端管理解析密文进行组帧,并将组帧后的终端管理密文传输给网关射频模块;

lorawan协议栈模块将入网响应报文传输给南向接口模块;南向接口模块对入网响应报文加密及编码,得到入网响应密文,并将入网响应密文传输给终端转发模块;终端转发模块将入网响应密文传输给lora驱动模块;lora驱动模块对入网响应报文进行组帧,并将组帧后的入网响应密文传输给网关射频模块;

网关射频模块将组帧后的终端管理解析密文及入网响应密文下发到相应的终端;以及用于从终端接收入网请求报文和终端数据报文,并将接收到的入网请求报文或终端数据报文传输给lora驱动模块。

需要说明的是,在相应的终端102接收到终端管理密文时,终端102会向网关104回应第一ack(acknowledgement,确认)报文。

进一步的,南向接口模块接收终端转发模块传输的周期性pull消息;

lorawan协议栈模块在南向接口模块接收到周期性pull消息时,将终端管理报文传输给南向接口模块。

进一步的,南向接口模块包括预设端口;预设端口包括loopback接口;

网关单元通过loopback接口,将终端报文传输给预设端口;

南向接口模块从预设端口中获取终端报文。南向接口模块包括预设端口;预设端口包括loopback接口;

网关单元通过loopback接口,将终端报文传输给预设端口;

南向接口模块从预设端口中获取终端报文。

其中,预设端口和loopback接口可以自主设置,设置方式包括网管远程配置、本地web配置及本地配置文件等多种方式。

进一步的,南向接口模块对终端数据报文进行协议转换可以是将原基于lorawan协议的终端数据报文转换为基于ieee802.3协议的终端数据报文。

其中ieee802.3协议的终端数据报文的传输层遵循udp(userdatagramprotocol,用户数据报协议)协议,应用层采用json(javascriptobjectnotation,javascript对象简谱)协议。

进一步的,南向接口模块在得到入网请求明文时,向终端转发模块回应第二ack报文。

具体的,入网请求报文mac层的组包协议遵循lorawan协议,传输层采用udp协议,应用层采用json协议;

入网请求报文中包括appeui、deveui及devnonce三个参数,其中appeui用于标识唯一的应用提供者,比如各家的垃圾桶监测应用、烟雾报警器应用等,都具有唯一的appeui,为预先在终端中设置的参数;deveui用于标识唯一的终端,可以是终端的mac地址;devnonce为终端中lora芯片的rssi随机值;

lorawan协议栈模块根据入网请求报文中的deveui分配得到的终端地址为devaddr,devaddr连同appnonce及分配时产生的netid组成入网响应报文,其中appnonce为随机产生,netid的作用类似子网掩码;

终端102接收到入网响应密文后,提取其中的devaddr,并结合appkey、appnonce、netid和devnonce,使用aes128加密,生成2个密钥:nekskey和appskey,终端102入网完成。其中nekskey用于终端管理报文的加解密,appskey用于终端数据报文的加解密;appkey由终端102和网关104共享使用,预先存储于终端102和网关104中,用于入网响应密文和入网请求报文的加解密。

上述提及的加解密采用aes128方式,编解码采用base64方式。

具体的,分配得到终端地址的算法为一种简化的dhcpd((dynamichostconfigurationprotocol(server)daemon),动态主机配置协议守护进程)算法,除了用于实现上面提到的根据deveui分配得到的终端地址为devaddr,还能够设置网关的mac地址老化时间,能够使分配得到的终端地址不重叠,并通过mac地址老化时间实现长时间无报文交换的地址收回机制,避免终端102在入网后长时间不在线时占用devaddr。

需要进一步说明的是,由于应用服务器106发出的管理报文的传输层采用udp协议,应用层采用json协议,而lorawan协议又规定lora网络服务器发送到网关的管理报文遵循gwmp(loragatewaymessageprotocol,lora网关报文协议)协议,所以lorawan协议栈模块需要对管理报文进行解析,具体处理过程包括:从终端管理报文中解析出第一json载荷作为终端管理数据,基于终端管理数据得到终端管理解析报文;当南向接口模块接收到pull消息时,以终端管理解析报文作为pull_resp报文,lorawan协议栈模将pull_resp报文传输给南向接口模块;其中,pull_resp报文长度不得超过1000个八位字节。具体处理过程还包括:从网关管理报文中解析出第二json载荷,得到网关配置指令。

上述网关中提及的南向接口模块接收终端转发模块传输的周期性pull消息,实际上等同于如图1所示的传统lora网络系统中网关向lora网络服务器发送周期性pull消息(周期性pull消息用于使lora网络服务器的防火墙保持开启状态),且结合预设端口和loopback接口可以自主设置及南向接口模块向终端转发模块回应第二ack报文。实际上保留了网关单元和lora网络服务器之间收发数据的功能,使得上述网关即使内部集成有等同于lora网络服务器的loraserver单元,也能兼容图1中的应用环境,可以与图1的lora网络系统中的lora网络服务器连接并发送数据,灵活性好,适用范围广。

比较如图1所示的传统的lora网络系统,由于本申请各实施例中的网关集成了等同于lora网络服务器的loraserver单元,进而减少了一个网元(lora网络服务器)的部署,但没有改变lora网络系统的功能结构,从而仍然遵循lorawan协议,可以与其他遵循lorawan协议的设备互联互通。

由于lora网络服务器集成到网关的缘故,导致与lora网络服务器通信的终端会仅包含网关下挂的终端,所能与lora网络服务器通信的终端的数量会相应减少。但由于lora无线网络覆盖范围广(覆盖半径可达15公里以上)、数据量小的特点,一个网关从性能上基本可以满足对一个中等大小园区中终端的覆盖,而且从减少lora网络服务器的部署的角度,更适合对工程价格敏感的中小型用户,综上,如图5所示的lora网络系统更加简单、更加容易部署、更加扁平化。

上述网关中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种如图4所示的网关运行方法,包括:

步骤s402,接收到终端报文;终端报文为入网请求报文或终端数据报文;

步骤s404,对入网请求报文进行处理,得到入网请求明文;根据入网请求明文,得到终端地址,并基于终端地址得到用于下发给终端的入网响应报文;

步骤s406,对终端数据报文进行协议转换,得到用于上传给应用服务器的终端数据网络报文。

应该理解的是,虽然图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,提供了一种如图5所示的lora网络系统,包括依次连接的终端102、网关104与应用服务器106。

上述lora网络系统至少包括如图6所示的三种运行状态:

终端102入网过程:

1、appkey,该参数由网关的loraserver单元(等同于传统lora网络系统中的lora网络服务器)和终端102共享使用,用来做join_request报文、join_accept报文的加解密。

2、终端102配置好appeui(loraserver单元提供)和deveui(终端102自身独有的,如mac地址);并且取终端102中lora芯片的rssi随机值,得到devnonce。将appkey、appeui和deveui这3个参数,组织成join_request报文,加密后通过网关单元(等同于传统lora网络系统中的网关)发送给loraserver单元。

3、loraserver单元接收到join_request报文,经过解密后,为终端102分配devaddr,连同appnonce(loraserver单元随机产生的参数)和netid(分配devaddr时产生,类似子网掩码),组织成join_accept报文,加密发回给终端102。

4、终端102接收join_accept报文后,提取其中的devaddr;结合以下4个参数:appkey、appnonce、netid和devnonce,使用aes128加密,生成2个密钥:nekskey和appskey。其nekskey中被用作终端管理报文的加解密,appskey用作终端数据报文加解密,终端102入网完成。

数据上传过程:终端102发出的终端数据报文经过网关单元及loraserver单元转发给应用服务器106。

控制管理过程:

应用服务器106发出的终端管理报文经过loraserver单元及网关单元下发到终端102;应用服务器106发出的网关管理报文经过loraserver单元下发到网关单元。

上述三种运行状态的详细工作过程在上述各实施例中已经有所提及,这里不再赘述。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述网关运行方法的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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