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

前言

这是《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命令都可以被处理,即使是更高版本的命令。


5.2 Link ADR 命令(LinkADRReq, LinkADRAns)

通过 LinkADRReq 命令,NS(网络服务器)可以调整终端的速率。

Size (bytes)121
LinkADRReq PayloadDataRate_TXPowerChMaskRedundancy
Bits[7:4][3:0]
DataRate_TXPowerDataRateTXPower

所请求的数据速率(DataRate)和发射功率(TXPower)是根据区域规定,体现在LoRaWAN协议中文版_配套文件 地区参数(物理层) 中。命令中的发射功率字段指的是设备可操作的最大发射功率。如果命令中的发射功率高于终端实际发射功率的最大值,终端也要应答成功,这种情况下,将终端的发射功率尽可能提高到最大值。 ChMask 字段指示了上行的可用信道,从最低位bit0表示开始。

Bit#Usable channels
0Channel 1
1Channel 2
....
15Channel 16
表5:信道状态表

ChMask 字段的对应位如果设置为1,则表示对应的信道可以进行上行传输,只要该信道允许终端使用该数据速率。如果对应位设置为0,则表示相应信道不可用。

Bits7[6:4][3:0]
Redundancy bitsRFUChMaskCntlNbTrans

Redundancy 字段中的 NbTrans 位域,指的是每个上行消息的发送个数,这仅对 “unconfirmed” 消息有作用。对于单帧发送情况相应的默认值为1,有效范围是[1:15]。如果收到 NbTrans == 0,终端需要用默认值。这个位域可以被NS(网络服务器)用来控制节点上行的 Redundancy 从而获得QOS(服务质量)。在重传帧时节点通常会调频,每次重传不用等到接收窗口超时。只要在RX1期间收到下行消息,该上行消息则不再进行任何重传。对于 Class A 设备,RX2时隙的接收也是一样处理。

ChMaskCntl 位域和之前定义的 ChMask 字段有关,它控制了ChMask所指定的16个信道块。也可以对所用信道进行全局的打开或关闭。这个位域的使用是根据区域规定,体现在LoRaWAN协议中文版_配套文件 地区参数(物理层) 中。

NS(网络服务器)可能会在单个下行帧中包含多个 LinkAdrReq 命令。终端为了配置 channel mask ,将会按照下行消息中的命令块的顺序,逐一地处理所有的 LinkAdrReq 消息。 终端可能会接收或者拒绝命令块中所有 channel mask 的控制,在逐个 LinkAdrAns 命令块中体现连续的 Channel Mask ACK 状态,来指示相应的 channel mask 接受与否。 终端在连续命令块时只处理最后一个消息中的 DataRate, TXPower 和 NbTrans 字段。终端需要在每一个 LinkAdrAns 命令中体现 ACK 状态,来指示对这些最终设置的接受与否。

信道频点信息是按地区规定,在第6章中有定义。终端使用 LinkADRAns 命令来应答 LinkADRReq 命令。终端为了配置

Size (bytes)1
LinkADRAns PayloadStatus
Bits[7:3]210
Status bitsRFUPower ACKData rate ACKChannel mask ACK

LinkADRAns 的 Status 位域按照如下定义:

/b>Bit = 0Bit = 1
Channel mask ACK所发的 channel mask 使能了未定义的信道或者禁用了所有信道。命令被丢弃,终端状态不变。所发的 channel mask 已成功解析,已按照 mask 设置了当前的信道状态。
Data rate ACK所请求的数据速率,终端无法识别,或者无法应用在当前信道中。命令被丢弃,终端状态不变。数据速率成功设置。
Power ACK所请求的发射功率不能在终端上执行。命令被丢弃,终端状态不变。功率等级成功设置。

如果这三个位中有任何一位等于0,则命令没有成功,节点保持之前的状态。

5.4 接收窗口参数(RXParamSetupReq,RXParamSetupAns)

5.5 终端状态(DevStatusReq, DevStatusAns)

通过 DevStatusReq 命令,NS(网络服务器)可以获取终端的状态信息。该命令无载荷。一旦终端收到 DevStatusReq 命令,则会回复 DevStatusAns 命令。

Size (bytes)1
LinkADRAns PayloadStatus
Bits[7:3]210
Status bitsRFUPower ACKData rate ACKChannel mask ACK

5.6 信道的创建和修改(NewChannelReq, NewChannelAns, DlChannelReq, DlChannelAns)


未完待续。

翻译完


  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: LoRaWAN(低功耗广域网)协议是一种能够通过无线网络实现广域覆盖的物联网通信协议。这个协议提供了一种高效率、高可靠性的无线通信方案,适用于长距离、低功耗数据传输,提供了非常广泛的应用场景,包括智能城市、工业、农业、医疗、能源等。 要下载LoRaWAN协议中文版,可以通过以下几种途径: 首先,可以到LoRa Alliance官网上下载协议文档。这个网站是LoRa联盟官方网站,提供了许多相关的资料和文档,包括规范、应用手册、技术规范等等。在这个网站上可以找到LoRaWAN协议中文版文档,可以在线查看或者下载。 其次,可以通过一些中国的物联网公司的官网下载LoRaWAN协议中文版。这些公司提供了很多关于物联网的产品和服务,其中许多公司也会提供相关的技术资料,包括LoRaWAN协议中文版文档。可以在这些公司的官网上找到所需的文档并进行下载。 最后,还可以通过一些物联网技术社区或者技术论坛下载LoRaWAN协议中文版。这个方式需要找到相关的技术资料共享平台,其中一些平台提供了非常广泛的技术资料下载,包括LoRaWAN协议中文版。 总之,要下载LoRaWAN协议中文版,可以通过访问官网、物联网公司的官网、技术社区或者技术论坛等多种途径,找到所需的文档并进行下载。 ### 回答2: LoRaWAN协议是一种专门为低功耗、长距离无线通讯设计的协议,其优点包括长距离传输、低功耗、广播能力、安全性等。作为物联网应用中的重要部分,LoRaWAN协议在许多行业中都有广泛的应用,例如环境监测、智能城市管理、农业等。 如果想要下载LoRaWAN协议中文版,可以通过访问LoRa Alliance官网(http://lora-alliance.org/),在其网站上找到协议中文版下载链接。另外,国内一些物联网平台也会提供LoRaWAN协议中文版下载所需要的相关文件和工具,可以在网上进行搜索。下载完成后,可以通过学习相关资料和实际应用操作来深入了解LoRaWAN协议的使用和优势,从而更好地应用于物联网的实际应用中。 ### 回答3: LoRaWAN是物联网领域中广泛应用的一种协议,用于实现低功耗广域物联网设备之间的通信。如果您需要下载LoRaWAN协议中文版,可以前往Lora Alliance(LoRa联盟)的官网,在其“文件库”中搜索“LoRaWAN规范”,即可找到相关下载链接。此外,在该网站的“培训与认证”板块也有一些关于LoRaWAN的中文教程资源可供学习。LoRaWAN协议是一个开放的国际标准,其官方文档一般存在多语言版本,您也可以在其他渠道中搜索到相关下载连接。需要注意的是,下载LoRaWAN协议中文版并不意味着您已经掌握了完整的LoRaWAN知识,您还需要在实际应用中进行深入的学习和实践,才能更好地理解和运用该技术。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值