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

来源:互联网 发布:微信数据如何移到sd卡 编辑:程序博客网 时间:2024/04/30 12:41

前言

这是《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 跟着一段可能为空的字节序列 组成的。

CID Command 由谁发送 描述 终端 网关 0x02 LinkCheckReq x 终端利用这个命令来判断网络连接质量 0x02 LinkCheckAns x LinkCheckReq的回复。包含接收信号强度,告知终端接收质量 0x03 LinkADRReq x 向终端请求改变数据速率,发射功率,重传率以及信道 0x03 LinkADRAns x LinkADRReq的回复。 0x04 DutyCycleReq x 向终端设置发送的最大占空比。 0x04 DutyCycleAns x DutyCycleReq的回复。 0x05 RXParamSetupReq x 向终端设置接收时隙参数。 0x05 RXParamSetupAns x RXParamSetupReq的回复。 0x06 DevStatusReq x 向终端查询其状态。 0x06 DevStatusAns x 返回终端设备的状态,即电池余量和链路解调预算。 0x07 NewChannelReq x 创建或修改 1个射频信道 定义。 0x07 NewChannelAns x NewChannelReq的回复。 0x08 RXTimingSetupReq x 设置接收时隙的时间。 0x08 RXTimingSetupAns x RXTimingSetupReq的回复。 0x80~0xFF 私有 x x 给私有网络命令拓展做预留。

表4:MAC命令表

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


未完待续。

翻译完


1 0
原创粉丝点击