您的位置:首页 > 其它

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

2017-01-20 10:28 281 查看

前言

这是《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终端利用这个命令来判断网络连接质量
0x02LinkCheckAnsxLinkCheckReq的回复。包含接收信号强度,告知终端接收质量
0x03LinkADRReqx向终端请求改变数据速率,发射功率,重传率以及信道
0x03LinkADRAnsxLinkADRReq的回复。
0x04DutyCycleReqx向终端设置发送的最大占空比。
0x04DutyCycleAnsxDutyCycleReq的回复。
0x05RXParamSetupReqx向终端设置接收时隙参数。
0x05RXParamSetupAnsxRXParamSetupReq的回复。
0x06DevStatusReqx向终端查询其状态。
0x06DevStatusAnsx返回终端设备的状态,即电池余量和链路解调预算。
0x07NewChannelReqx创建或修改 1个射频信道 定义。
0x07NewChannelAnsxNewChannelReq的回复。
0x08RXTimingSetupReqx设置接收时隙的时间。
0x08RXTimingSetupAnsxRXTimingSetupReq的回复。
0x80~0xFF私有xx给私有网络命令拓展做预留。
表4:MAC命令表

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

未完待续。

翻译完

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: