Table of Contents
前言
第1章 介绍
1.1 LoRaWAN Classes
1.2 文档约定
第2章 LoRaWAN Classes 类型介绍
2.1 LoRaWAN Classes
2.2 文档范围
CLASS A - ALL END-DEVICE 所有终端
第3章 PHY 帧格式
3.1 上行消息
3.2 下行消息
3.3 接收窗口
3.3.1 第一接收窗口的信道,数据速率和启动
3.3.2 第二接收窗口的信道,数据速率和启动
3.3.3 接收窗口的持续时间
3.3.4 接收方在接收窗口期间的处理
3.3.5 网络发送消息给终端
3.3.6 接收窗口的重要事项
第4章 MAC帧格式
4.1 MAC层
4.2 MAC头(MHDR字段)
4.2.1 第一接收窗口的信道,数据速率和启动
4.2.2 数据消息的主版本(Major位字段)
4.3 MAC载荷(MACPayload)
4.3.1 帧头(FHDR)
4.3.2 端口字段(FPort)
4.3.3 MAC帧载荷加密(FRMPayload)
4.4 消息校验码(MIC)
第5章 MAC命令
5.1 Link Check 命令 (LinkCheckReq, LinkCheckAns)
1.1
1.2
1.2.1
1.2.2
1.3
1.3.1
1.3.2
1.4
1.5
1.5.1
1.5.2
1.5.3
1.5.3.1
1.5.3.2
1.5.3.3
1.5.3.4
1.5.3.5
1.5.3.6
1.6
1.6.1
1.6.2
1.6.2.1
1.6.2.2
1.6.3
1.6.3.1
1.6.3.2
1.6.3.3
1.6.4
1.7
1.7.1
1
5.2 Link ADR 命令(LinkADRReq, LinkADRAns)
5.3 终端发射占空比(DutyCycleReq, DutyCycleAns)
5.4 接收窗口参数(RXParamSetupReq,RXParamSetupAns)
5.5 终端状态(DevStatusReq, DevStatusAns)
5.6 信道的创建和修改(NewChannelReq, NewChannelAns, DlChannelReq,
DlChannelAns)
5.7 TX 和 RX 之间的延时设置(RXTimingSetupReq, RXTimingSetupAns)
5.8 终端发送参数(TxParamSetupReq, TxParamSetupAns)
第6章 终端激活
6.1 终端激活后的数据存储
6.2 空中激活 OTAA
6.2.1 终端 ID (DevEUI)
6.2.2 应用密钥(AppKey)
6.2.3 加网流程
6.2.4 Join-request 消息
6.2.5 Join-accept 消息
6.3 独立激活 ABP
第7章 重传退避
CLASS B – BEACON 信标
第8章 Class B 介绍
第9章 下行同步网络的原理
第10章 Class B 模式的上行帧
第11章 Class B 模式的下行帧(Class B选项)
第12章 信标的获得和追踪
第13章 Class B下行时隙时序
13.1 定义
13.2 时隙随机化
第14章 Class B MAC命令
14.1 PingSlotInfoReq MAC命令
14.2 BeaconFreReq MAC命令
14.3 PingSlotChannelReq MAC命令
14.4 BeaconTimingReq MAC命令
14.5 BeaconTimingAns MAC命令
第15章 信标(Class B选项)
1.7.2
1.7.3
1.7.4
1.7.5
1.7.6
1.7.7
1.7.8
1.8
1.8.1
1.8.2
1.8.2.1
1.8.2.2
1.8.2.3
1.8.2.4
1.8.2.5
1.8.3
1.9
1.10
1.11
1.12
1.13
1.14
1.15
1.16
1.16.1
1.16.2
1.17
1.17.1
1.17.2
1.17.3
1.17.4
1.17.5
1.18
2
15.1 信标物理层
15.2 信标物理帧格式
15.3 信标 GwSpecific 域格式
15.4 信标准确的时隙
15.5 网络下行链路路由更新要求
第16章 Class B单播/多播下行信道频率
16.1 欧盟 863-870MHz ISM 频段
16.2 美国 902-928MHz ISM 频段
CLASS C - CONTINUOUSLY LISTENING 持续接收
第17章 持续接收的终端
17.1 Class C 的第二接收窗口持续时间
17.2 Class C 对多播下行的处理
1.18.1
1.18.2
1.18.3
1.18.4
1.18.5
1.19
1.19.1
1.19.2
1.20
1.21
1.21.1
1.21.2
3
前言
LoRaWAN-Specification_ZH_CN
项目介绍
这是《LoRaWAN-Specification》的中文译本。
《LoRaWAN-Specification》是 LoRa 联盟规范的核心协议,由于国内LoRa从业者数量众
多,难免有不少伙伴需要中文译本,所以诞生了这个小项目。
项目采用 gitbook 进行编写,地址在 https://www.gitbook.com/book/twowinter/lorawan-
specification_zh_cn。
由于这是民间自发的翻译,一些地方翻译可能不够恰当。如果觉得协议的某处比较晦涩,请
不要怀疑自己,大概率是翻译的问题。
非常欢迎朋友们反馈翻译问题,争取给行业伙伴们提供一份相对可靠的译本。
如何参与
为了保证文档格式和内容的统一,项目目录下有一份陆续更新的翻译规范,想要参与进来的
童鞋们可做参考。
项目进展
LoRaWAN_V1.0.2 的中文版本经过1年半时间断断续续的调整,现已优先发布,可点此下
载。 LoRaWAN_V1.1 的中文版本正在分支中更新。 大家可关注github 仓库地址。
正在更新的记录如下:
Chapter 1,完善脚标,地区参数文件增加链接。
Chapter 2,完善少量格式细节。
贡献者介绍
IoT小能手 twowinter
厦门四信的小伙伴
4
前言
厦门四信的几个小伙伴在业余时间对协议的部分内容做了校对,尤其是 kevin 同学贡献
了 CLASS B 等主要章节的翻译,在此表示感谢。
四信是 LoRa 联盟成员,阿里云金牌合作伙伴,CLAA 钻石合作伙伴,一直致力于为行业
伙伴提供稳定可靠的 LoRa 模组、终端、网关系列产品,同时还提供消防、电力、水利
等多个垂直行业解决方案。
lioneie
其他积极反馈问题或者提交修改的伙伴,如果你愿意,你的信息将会展示在这。
5
第1章 介绍
第1章 介绍
本文档描述了 LoRaWAN 网络协议,是针对电池供电的终端设备(不管移动还是固定位置)进行
优化的一套网络协议。
2
LoRaWAN 网络通常采用星型拓扑结构,其中网关(gateway) 转发终端设备(end-devices)
和后台网络服务器(Network Server)之间的消息。网关通过标准 IP 连接来接入网络服务器,
而终端则通过单跳的 LoRa 或者 FSK 来和一个或多个网关通讯 。虽然主要传输方式是终端
上行传输给网络服务器,但所有的传输通常都是双向的。
1
3
终端和网关间的通讯被分散到不同的信道频点(frequency channels)和数据速率(data rates)
上。数据速率的选择需要权衡通信距离和消息时长两个因素,使用不同数据速率的设备互不
影响。LoRa 的数据速率范围可以从 0.3kbps 到 50kbps。为了最大程度地延长终端的电池寿
命和扩大网络容量,LoRa 网络使用速率自适应(ADR)机制来独立管理每个终端的速率和 RF
输出。
每个设备可以在任意可用的信道,任意时间,使用任意数据速率发送数据,只要遵守如下规
定:
终端的每次传输都使用伪随机方式来改变信道。频率的多变使得系统具有更强的抗干扰
能力。
终端要遵守相应频段和本地区的无线电规定中的最大发射占空比要求。
终端要遵守相应频段和本地区的无线电规定中的最大发射时长要求。
本文件规定了协议细节,另外的基于区域规则的各种操作参数是在单独的文件(LoRaWAN 区
域参数[PARAMS])中进行描述,例如最大发射占空比和每个子频带的停留时间。 此文档分离
开来,是的可以在无需修改基本协议规范的情况下,添加新的区域参数。
twowinter注:
发射占空比定义:发射时长占总时长的比例。按照无线电规定,每个设备不能持续占用信道,通过最大发射占空比来
限制终端占用信道的时间。
例如某终端发送某数据时的发射时长为 1s,当地无线电规定中的最大发射占空比为 1%,则该终端需要等候 99s 才
能进行下一次的发射。
1.1 LoRaWAN Classes
所有的 LoRaWAN 设备都必须至少实现本文档描述的 Class A 功能。另外也可以实现本文档
中描述的 Class B 和 Class C 及后续将定义的可选功能。但是在任何情况下,设备都必须兼
容 Class A。
1.2 文档约定
6
第1章 介绍
MAC命令的格式为 LinkCheckReq(粗斜体),位和位域的格式为 FRMPayload (粗体),常量
的格式为 RECEIVE_DELAY1(非粗非斜体),变量的格式为 N(斜体)。
在本文档中,
所有多字节字段的字节序均采用小端模式
EUI 是8字节字段,采用小端模式传输
默认情况下,所有 RFU 保留位都设为0
1
网关也被称作集中器或基站。
2
终端设备又称为 motes。
3
文档中没有描述对中间元素(中继器)的支持,但是对于封装开销的有效负载限制体现在本规
范中。中继器要求使用LoRaWAN作为回程机制。
7
第2章 LoRaWAN Classes 类型介绍
第2章 LoRaWAN Classes 类型介绍
LoRa 是由 Semtech 面向长距离、低功耗、低速率应用而开发的无线调制技术。本文档中,
将 Class A 基础上实现了更多功能的设备称为“更高 class 终端”。
2.1 LoRaWAN Classes
LoRa网络包含基础 LoRaWAN (称之为 Class A) 和可选功能(Class B,Class C):
图1.LoRaWAN Classes
双向传输终端(Class A): Class A 的终端在每次上行后都会紧跟两个短暂的下行接收窗
口,以此实现双向传输。终端基于自身通信需求来安排传输时隙,在随机时间的基础上
具有较小的变化(即ALOHA协议)。这种Class A 操作为应用提供了最低功耗的终端系统,
只要求应用在终端上行传输后的很短时间内进行服务器的下行传输。服务器在其他任何
时间进行的下行传输都得等终端的下一次上行。
划定接收时隙的双向传输终端(Class B): Class B 的终端会有更多的接收时隙。除了
Class A 的随机接收窗口,Class B 设备还会在指定时间打开别的接收窗口。为了让终端
可以在指定时间打开接收窗口,终端需要从网关接收时间同步的信标(Beacon)。这使得
服务器可以知道终端何时处于监听状态。
最大化接收时隙的双向传输终端(Class C): Class C 的终端基本是一直打开着接收窗
口,只在发送时短暂关闭。Class C 的终端会比 Class A 和 Class B 更加耗电,但同时从
服务器下发给终端的时延也是最短的。
2.2 文档范围
8