LoRaWAN介绍17 Server接口

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 */

}


下载经典的LoRaWAN资料,请链接:http://www.rimelink.com/nd.jsp?id=48&_np=107_316

猜你喜欢

转载自blog.csdn.net/jiangjunjie_2005/article/details/54694750