LoRaWAN介绍17 Server接口

“这样,我的约就立在你们肉体上,作永远的约。”–《圣经.创世纪》


LoRaWAN规定Server和Gateway的协议为 JSON / GWMP / UDP / IP,底下的2层协议属于IP协议栈,而GWMP和JSON融入LoRaWAN的特点。

1  NS和GW协议栈

GWMP(LoRa Gateway Message Protocol)如下表所示,包括3个交互协议:

PUSH_DATA <–> PUSH_ACK:GW向NS提交上行RF数据包;

PULL_RESP <–> TX_ACK:NS向GW提交下行RF数据包;

PULL_DATA <–> PULL_ACK:GW向NS发送“心跳”以打开防火墙;

2  GWMP时序和格式

2.1  PUSH_DATA

PUSH_DATA:GW向NS发送上行RF数据包,EUI用于区分不同的GW(一个NS可以连接多个GW),tocken用于区分不同的数据包(一般为自加一)。

PUSH_ACK:NS回应GW—成功接收该DATA数据包。

 

PUSH_DATA帧格式如下表,它的总长度≤2408字节。


PUSH_ACK帐格式如下表

2.2  PULL_RESP

PULL_RESP:NS向GW发送下行RF数据包,tocken用于区分不同的数据包(一般为自加一)。

TX_ACK:GW回应NS—成功接收该RESP数据包。


PULL_RESP帧格式如下表,它的总长度≤1000字节。


TX_ACK帐格式如下表。特别注意:仅当V2版本才回应该帧。

2.3  PULL_DATA

PULL_DATA:GW向NS发送“心跳”数据包,EUI用于区分不同的GW(一个NS可以连接多个GW),tocken用于区分不同的数据包(一般为自加一)。

PULL_ACK:NS回应GW—成功接收该“心跳”数据包。


PULL_DATA帧格式如下表。特别注意:“心跳”数据包的内容为空。


PULL_ACK帧格式如下表。

3  JSON协议

LoRaWAN使用JSON作为通用数据交换格式,并且JSON仅包含ASCII字符。目前,JSON协议包括3部分定义:GW状态,上行数据,下行数据。

3.1  GW状态

Server可以取GW的状态,它的组织形式和定义如下例所示。

“stat”:

{

“time”:”2016-11-15 09:27:35 GMT”,   /* UTC system time of the gateway */

“lati”:28.3100,    /*latitude */

“long”:113.15130,    /*longitude */

“alti”:134,    /*altitude */

“rxnb”:20,    /* numberof RF frames have received */

“rxok”:20,    /* numberof RF frames with correct CRC */

“rxfw”:20,    /* numberof RF frames forwarded to the NS */

“ackr”:100.0    /* 100%of RF frames ACKed by the NS */

“dwnb”:20,    /* numberos RF frames RX from NS */

“txnb”:20    /* numberof RF frames TX by gateway */

}

3.2  上行数据

GW提交给NS的上行数据,基于JSON组织如下例所示。

“rxpk”

[

{

“time”:”2016-11-15T09:35:17.145359Z”,    /* UTC time of receipt of the LoRa frame */

“tmst”:3526705714,    /*gateway internal time counter */

“chan”:0,    /* IFchannel=IF0 */

“rfch”:0,    /* RFchain=Radio A */

“freq”:469.87500,    /*centre frequency=469.875MHz */

“stat”:1,    /* 1=CRCcorrect */

“modu”:”LORA”,   /* modulation is LoRa */

“datr”:”SF9BW125″,   /* SF=9, BW=125kHz */

“codr”:”4/5″,   /* FEC code rate=4/5 */

“rssi”:-13,    /*RSSI=-13dBm */

“lsnr”:5.6,    /*SNR=5.6 */

“size”:12,    /* numberof octets=12 */

“data”:”rqyo15LfOP4J”    /* data that encoded into Base64 */

}

]

3.3  下行数据

NS提交给GW的下行数据,基于JSON组织如下例所示。

“txpk”

{

“imme”:true,    /*transmit the frame immediately */

“freq”:470.125000,    /*centre frequency=470.125MHz */

“rfch”:0,    /* RFchain=Radio A */

“powe”:17,    /* outputpower=17dBm */

“modu”:”LORA”,   /* modulation is LoRa */

“datr”:”SF9BW125″,   /* SF=9, BW=125kHz */

“codr”:”4/5″,   /* FEC code rate=4/5 */

“ipol”:false,    /* doNOT invert the polarity of the transmitted bits */

“size”:10,    /* numberof octets=10 */

“data”:”1Jr8PdOdN5″    /* data that encoded into Base64 */

}

说明:LPWA物联网应用站(LPWAP.com)通过公开互联网收集、整理并转载有关LPWA物联网应用解决方案,以供广大LPWA应用开发者和爱好者共同学习交流和参考运用到实际生产生活中。本站所有转载的文章、图片、音频、视频等资料的版权归版权所有人所有并衷心感谢您的付出,由于本站采纳的非本站原创文章及图片等内容无法一一联系确认版权者,如果本网所选内容的文章原创作者认为其作品不宜放在本站,请及时通过以下留言功能通知我们采取适当措施,避免给双方造成不必要的经济损失。如果您希望保留文章在本站,但希望文章末尾提供对作者的致谢或者产品、网站交换链接的,也请将需求写入以下留言栏中,谢谢您的支持。让我们共同努力,打造万物互联的未来美好生活!

您的留言或需求: