《LoRaWAN网络服务器演示:概要描述(R1.0)》部分翻译

根据的是Semtech公司2015年6月发布的1.0版本

yq原创翻译。转载请注明来自万联社区

============================================

LoRaWAN网络服务器演示:概要描述

1.       历史

2.       介绍

本文描述了LoRa服务器的常规操作和接口(包括网络控制器)。

LoRa网络服务器(NS)、应用服务器(AS)和网络控制器(NC)已授权为Semtech LoRa物联网参考网络软件方案的一部分。

LoRa客户服务器(CS)以同样方式授权。CS简单地从AS接收数据,然后存入关系型数据库或者文本文档。在任何运营的LoRa系统中, CS有可能很大程度地、甚至完全地被去掉。

2.1   主要功能

终端(Mote):

终端是LoRa网络的终端设备。每个终端和一个到多个LoRa网关通讯。通讯协议遵循LoRa联盟指定的LoRaWAN规格书,例外情况在本文第六章中说明。通讯可以是双向或单向(从节点到网关)的。

终端加入网络通过下列三种机制之一:

个体化:         终端必须在网络服务器和应用服务器下都配置好。

自动创建:     如果允许自动创建,任何使用默认认证秘钥的终端将允许加入网络,并将使用配置好的默认秘钥。

空中激活(OTA):         终端必须要在应用服务器中配置,包括终端EUI、从属的应用的EUI、终端唯一的固定的AppKey。当终端使用OTA加入协议时,网络服务器(NS)将为其分配网络地址。应用服务器(AS)为终端和自己生成认证会话秘钥,并将认证回话秘钥转发给NS

网关:

每个LoRa网关都在[1]终端和单一LoRa网络服务器之间传输数据。传输协议在《LoRaWAN规格书》中中定义。

网络服务器(NS

LoRa网络服务器维护每个终端的记录。包括下列信息:

DeviceEUI 终端EUI

APP EUI 终端属于的应用的EUI

Network ID 分配给终端的LoRa网络地址

SEQ_SEND 终端预计发出的下一个LoRa帧的序号

SEQ_REC 传输到终端的下一LoRa帧的序号

AUTH_SESSION_KEY 分配给终端的认证会话秘钥

网络服务器认证收到的帧,并转发用户数据给一个应用服务器。收到的帧从网关发到NS,形式为JSONGWMPUDPIP(【2】中定义)。转发到AS的帧形式为JSONTCPIP(【3】中定义)。

网络服务器在所有发给LoRa终端的帧中添加一个加密哈希值。哈希算法在【1】中定义。

一个网络服务器可以和多个应用服务器和网络控制器连接。给定终端使用哪个远端服务器或者控制器,由终端所属的应用决定。

应用服务器(AS

LoRa应用服务器负责接入OTA终端到网络中,并且加密发送给终端的用户数据,解密收到终端的用户数据。

一个应用服务器可能和多个网络服务器、客户服务器连接。给定终端使用哪个远端服务器或控制器,有终端所属的应用决定。

LoRa应用服务器为每个终端维护记录。记录包括下列信息:

终端EUI

终端所属的应用的EUI

分配给终端的加密会话秘钥

LoRa应用服务器解密收到的用户数据,并转发给一个客户服务器。它也在发送用户数据到NS前加密该数据。加密算法在《LoRaWAN规格书》中定义。

网络控制器(NC

网络控制器手接收用于终端的传输参数,以及网关收到的每一帧信号的特性。网关可以使用该数据进行操作。Semtech提供的NC可能设置为控制终端数据率(ADR),目前没有执行其他操作。

一个网络控制器可以被多个网络服务器连接。给定终端使用哪个远端服务器或控制器,有终端所属的应用决定。

客户服务器(CS

客户服务器是数据所有者使用的程序的一个非重要的实现,用于接收终端数据。实际上,用户可能实际去掉客户服务器,而把数据以需要的格式传给他自己的服务器。

提供的客户服务器可设置为将接收的信息存储到关系型数据库中,或者加到ASCII文件后,或者两者都做。

一个客户服务器可以连接多个应用服务器,给定终端使用哪个远端服务器或控制器,有终端所属的应用决定。

网关和NS间的通讯通过JSONGWMPUDPIP(【2】中定义)

LoRa命令行的通讯使用JSONUPIP(【3】中定义)

任何一对LoRa服务器间的通讯(包括NC)通过JSONTCPIP(【3】中定义)

网络服务器维护两个UDP端口。默认情况下,它从UDP端口1700接收JSONGWMPUDPIP信息。它总是在比接收JSON/GWMP/UDP/IP的端口号大1的端口号上接收JSON/UDP/IPJSON/TCP/IP消息。也就是说默认此端口号是1701

GWMPLoRa Gateway Message Protocol LoRa网关消息协议)

3.1.1 LoRa网关消息协议GWMP概述

该协议层定义于【2】。

上行方向,网关发送PUSH_DATA消息,消息包括一个单层JSON对象。

服务器收到后立刻向源端口返回PUSH_ACK消息。

网关定期发送PULL_DATA消息。目的端口一直是NS端的GWMP端口(默认1700)。该消息用于使IP防火墙保持开启。

服务器收到后立刻返回PULL_ACK消息。

服务器需要命令网关向终端发送帧时,将发送一个PULL_RESP消息。消息包括一个JSON单层对象。目标UDP端口是最近收到的PULL_DATA消息端口。

3.1.2 JSON字符串

JSON数据交换格式定义于【4】,用于服务器的JSON对象定义于【2】和【3】。

LoRaJSON顶层对象以ASCII字符串的方式编码。

4.向网络中增加终端

这部分在前面的帖子中有描述。



1 loRa联盟,《LoRaWAN规格书》 2015

2Semtech公司,《LoRaWAN网络服务器演示:网关到服务器接口定义》 2015

3Semtech公司,《LoRaWAN网络服务器演示:服务器间接口定义》 2015

4ECMA国际,《JSON数据交换格式》 2013

5IETF,“Base16 base32 base64数据编码” 200610

展开阅读全文

没有更多推荐了,返回首页