本文档描述了 LoRaWAN 网络协议,是针对电池供电的终端设备(不管移动还是固定位置)进行优化的一套网络协议。
LoRaWAN 网络通常采用星型拓扑结构,其中网关(gateway)[^1]转发终端设备(end-devices)[^2]和后台网络服务器(Network Server)之间的消息。网关通过标准 IP 连接来接入网络服务器,而终端则通过单跳的 LoRa 或者 FSK 来和一个或多个网关通讯[^3]。虽然主要传输方式是终端上行传输给网络服务器,但所有的传输通常都是双向的。
终端和网关间的通讯被分散到不同的**信道频点(frequency channels)和数据速率(data rates)**上。数据速率的选择需要权衡通信距离和消息时长两个因素,使用不同数据速率的设备互不影响。LoRa 的数据速率范围可以从 0.3kbps 到 50kbps。为了最大程度地延长终端的电池寿命和扩大网络容量,LoRa 网络使用速率自适应(ADR)机制来独立管理每个终端的速率和 RF 输出。
每个设备可以在任意可用的信道,任意时间,使用任意数据速率发送数据,只要遵守如下规定:
- 终端的每次传输都使用伪随机方式来改变信道。频率的多变使得系统具有更强的抗干扰能力。
- 终端要遵守相应频段和本地区的无线电规定中的最大发射占空比要求。
- 终端要遵守相应频段和本地区的无线电规定中的最大发射时长要求。
本文件规定了协议细节,另外的基于区域规则的各种操作参数是在单独的文件(LoRaWAN 区域参数[PARAMS])中进行描述,例如最大发射占空比和每个子频带的停留时间。 此文档分离开来,是的可以在无需修改基本协议规范的情况下,添加新的区域参数。
twowinter注:
发射占空比定义:发射时长占总时长的比例。按照无线电规定,每个设备不能持续占用信道,通过最大发射占空比来限制终端占用信道的时间。
例如某终端发送某数据时的发射时长为 1s,当地无线电规定中的最大发射占空比为 1%,则该终端需要等候 99s 才能进行下一次的发射。
所有的 LoRaWAN 设备都必须至少实现本文档描述的 Class A 功能。另外也可以实现本文档中描述的 Class B 和 Class C 及后续将定义的可选功能。但是在任何情况下,设备都必须兼容 Class A。
MAC命令的格式为 LinkCheckReq(粗斜体),位和位域的格式为 FRMPayload (粗体),常量的格式为 RECEIVE_DELAY1(非粗非斜体),变量的格式为 N(斜体)。
在本文档中,
- 所有多字节字段的字节序均采用小端模式
- EUI 是8字节字段,采用小端模式传输
- 默认情况下,所有 RFU 保留位都设为0
[^1] 网关也被称作集中器或基站。
[^2] 终端设备又称为 motes。
[^3] 文档中没有描述对中间元素(中继器)的支持,但是对于封装开销的有效负载限制体现在本规范中。中继器要求使用LoRaWAN作为回程机制。