LoRaWAN协议中文版_第5章 MAC命令

本文作者twowinter,转载自:http://blog.csdn.net/iotisan/


前言

这是《LoRaWAN102》的译文,即LoRaWAN协议规范 V1.0.2 版本(2016年7月定稿)。

我正在陆续对协议的各个章节进行翻译,具体其他章节的译文,以及译文之外的代码解析,可点此查看帖子LoRa学习笔记_汇总

本文作者twowinter,转载请注明作者:http://blog.csdn.net/iotisan/


翻译开始

第5章 MAC命令

对网络管理者而言,有一套专门的MAC命令用来在服务器和终端MAC层之间交互。这套MAC命令对应用程序(不管是服务器端还是终端设备的应用程序)是不可见的。

单个数据帧中可以携带MAC命令,要么在FOpts字段中捎带,要么在独立帧中将FPort设成0后放在FRMPayload里。如果采用FOpts捎带的方式,MAC命令是不加密并且不长度超过15字节。如果采用独立帧放在FRMPayload的方式,那就必须采用加密方式,并且不超过FRMPayload的最大长度。

注意:如果MAC命令不想被窃听,那就必须以独立帧形式放在FRMPayload中。

每个MAC命令是由 1字节CID 跟着一段可能为空的字节序列 组成的。

CIDCommand由谁发送描述
终端网关
0x02LinkCheckReqx 终端利用这个命令来判断网络连接质量
0x02LinkCheckAns xLinkCheckReq的回复。包含接收信号强度,告知终端接收质量
0x03LinkADRReq x向终端请求改变数据速率,发射功率,重传率以及信道
0x03LinkADRAnsx LinkADRReq的回复。
0x04DutyCycleReq x向终端设置发送的最大占空比。
0x04DutyCycleAnsx DutyCycleReq的回复。
0x05RXParamSetupReq x向终端设置接收时隙参数。
0x05RXParamSetupAnsx RXParamSetupReq的回复。
0x06DevStatusReq x向终端查询其状态。
0x06DevStatusAnsx 返回终端设备的状态,即电池余量和链路解调预算。
0x07NewChannelReq x创建或修改 1个射频信道 定义。
0x07NewChannelAnsx NewChannelReq的回复。
0x08RXTimingSetupReq x设置接收时隙的时间。
0x08RXTimingSetupAnsx RXTimingSetupReq的回复。
0x80~0xFF私有xx给私有网络命令拓展做预留。

表4:MAC命令表

注意:MAC命令的长度虽然没有明确给出,但是MAC执行层必须要知道。因此未知的MAC命令无法被忽略,且前面未知的MAC命令会终止MAC命令的处理队列。所以建议按照LoRaWAN协议介绍的MAC命令来处理MAC命令。这样所有基于LoRaWAN协议的MAC命令都可以被处理,即使是更高版本的命令。


未完待续。

翻译完


展开阅读全文

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