LoRaWAN介绍17 Server接口

转载只为收藏好文,感谢原博主的分享。原博文地址:https://blog.****.net/jiangjunjie_2005/article/details/54694750

LoRaWAN介绍17 Server接口

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


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

LoRaWAN介绍17 Server接口

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发送“心跳”以打开防火墙;

LoRaWAN介绍17 Server接口

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

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

LoRaWAN介绍17 Server接口

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

LoRaWAN介绍17 Server接口
PUSH_ACK帐格式如下表

LoRaWAN介绍17 Server接口

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

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

LoRaWAN介绍17 Server接口
PULL_RESP帧格式如下表,它的总长度≤1000字节。

LoRaWAN介绍17 Server接口
TX_ACK帐格式如下表。特别注意:仅当V2版本才回应该帧。

LoRaWAN介绍17 Server接口

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

PULL_ACK:NS回应GW—成功接收该“心跳”数据包。LoRaWAN介绍17 Server接口
PULL_DATA帧格式如下表。特别注意:“心跳”数据包的内容为空。

LoRaWAN介绍17 Server接口
PULL_ACK帧格式如下表。

LoRaWAN介绍17 Server接口

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 网关的UTC系统时间 */

 "lati":28.3100,    /*latitude 纬度 */

 "long":113.15130,    /*longitude 经度 */

 "alti":134,    /*altitude 海拔 */

 "rxnb":20,    /* numberof RF frames have received  RF帧数已经收到*/

 "rxok":20,    /* numberof RF frames with correct CRC 具有正确CRC *的RF帧数 */

 "rxfw":20,    /* numberof RF frames forwarded to the NS RF帧数转发给NS */

 "ackr":100.0    /* 100%of RF frames ACKed by the NS 由NS确认的100.0  */

 "dwnb":20,    /* number of RF frames RX from NS  射频帧来自NS的数量 */

 "txnb":20    /* number of RF frames TX by gateway 射频帧来自GW的数量 */

}


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

"rxpk"

[

  {

   "time":"2016-11-15T09:35:17.145359Z",    /* UTC time of receipt of the LoRa frame  收到LoRa帧的UTC时间 */

   "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  调制是LoRa */

   "datr":"SF9BW125",   /* SF=9, BW=125kHz */

   "codr":"4/5",   /* FEC code rate=4/5  FEC编码率= 4/5 */

   "rssi":-13,    /*RSSI=-13dBm */

   "lsnr":5.6,    /*SNR=5.6 */

   "size":12,    /* numberof octets=12 */

   "data":"rqyo15LfOP4J"    /* data that encoded into Base64    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