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的特点。
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 网关的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