没有合适的资源?快使用搜索试试~ 我知道了~
首页LoRaWAN协议中文说明
LoRaWAN协议中文说明

随着物联网技术的飞速发展,NB-IoT、LoRa、SigFox等技术名词时不时出现在我们的视野中,对普通读者或者刚刚接触物联网领域的人来说,在一大堆名词面前可能会混淆。本文针对LoRa和LoRaWN做细致的介绍。
资源详情
资源评论
资源推荐

1、LoRaWAN 介绍
LoRaWAN 是由 LoRa 联盟推出的一个低功耗广域网规范,这一技术可以为电池供电的无
线设备提供区域、国家或全球的网络。LoRaWAN 瞄准了物联网中的一些核心需求,如安全地
双向通讯、移动化和本地服务。该技术无需本地复杂配置,即可以让智能设备实现无缝互操
作性,给物联网领域的用户、开发者和企业自由操作权限。
LoRaWAN 网络架构是一个典型的星形拓扑结构,由终端、网关和服务器组成。在这个网
络架构中,LoRa 网关是一个透明的中继,连接前端终端设备和后端中央服务器。网关与服
务器通过标准 IP 连接,而终端设备采用单跳与一个或多个网关通信,所有的节点均是双向
通信。
终端与网关之间的通信是在不同频率和数据传输速率基础上完成的,数据速率选择需要
在传输距离和消息时延之间权衡。由于采用了扩频技术,不同数据传输速率通信不会互相干
扰,且会创建一组“虚拟化”的频段来增加网关容量。LoRaWAN 网络数据传输速率范围为 0.3
kbps 至 50 kbps,为了最大化终端设备电池寿命和整个网络容量,LoRaWAN 网络服务器通过
一种速率自适应(ADR)方案来控制数据传输速率和每一终端设备的射频输出。
适用于物联网的覆盖全国的网络需要解决诸如关键性基础设施、机密的个人数据或社会
公共服务等安全通信的问题,这方面一般采用多层加密的方式来解决:
· 唯一网络密钥(EU164)并保证网络层安全
· 唯一应用密钥(EU164)并保证应用层端到端的安全
· 设备特别密钥(EUI128)
LoRaWAN 网络各节点具有多层级安全方案,保证各类应用的不同需求:
· 双向通信终端设备(A 等级):处于 A 等级的终端设备允许双向通信,每一终端设备上
行传输会伴随着两个下行接收窗口。终端设备的传输槽是基于其自身通信需求,其微调
是基于一个随机的时间基准(ALOHA 协议)。A 等级的终端设备应用中功耗最低,在终

端发送一个上行传输信号后才能与服务器进行下行通信,与服务器任何时候的下行通信
都只能是在上行通信之后。
· 具有预设接收槽的双向通信终端设备(B 等级):B 等级的终端设备会在预设时间中开
放多余的接收窗口,为了达到这一目的,终端设备会同步从网关接收到一个 Beacon,
这一方式会让服务器了解终端设备正在“倾听”。
· 具有最大接收槽的双向通信终端设备(C 等级):C 等级的终端设备几乎持续为接收窗
口开放,只在传输时关闭。
2
、
CLASS A
在上一节中提到 LoRaWAN 有 A、B、C 三种类型的终端,它们都具有 CLASS A 设备的
特性。处于 A 等级的终端设备允许双向通信,每一终端设备上行传输会伴随着两个下行
接收窗口。终端设备的传输槽是基于其自身通信需求,其微调是基于一个随机的时间基
准(ALOHA 协议)。A 等级的终端设备应用中功耗最低,在终端发送一个上行传输信号
后才能与服务器进行下行通信,与服务器任何时候的下行通信都只能是在上行通信之后。
3.1 上行消息
LoRaWAN 中将消息分成上行和下行两种类型。上行消息指的是终端节点通过一个或
多个网关转发给服务器的消息。消息格式如下:
上行消息物理层上采用的是 lora radio 的显示格式,其中 Preamble、PHDR、PHDR_CRC
和 CRC 部分都是由 lora radio 硬件填充,PHYPayload 是用户数据段。消息的完整性有 CRC 保
证。
3.2 下行消息
下行消息是指服务器通过唯一一个网关转发给终端的消息,消息格式如下:
下行消息物理层上采用的是
lora radio
的显示格式,其中
Preamble
、
PHDR
、
PHDR_CRC
由
lora radio
硬件填充,
PHYPayload
是用户数据段。为了使消息尽量短小提高带宽利用率,下
行消息物理层中没有使用
CRC
。

3.3 接收窗口
终端在每次上行报文最后一个字节传输完成之后都会打开两个短暂的接收窗口。如下图
所示,在上行消息传输完成之后,等待了
RECEIVE_DELAY1
时间后打开第一个接收窗口
RX1
,
在等待
RECEIVE_DELAY2
之后打开第二个接收窗口
RX2
。第一个接收窗口
RX1
中使用的是和
刚才传输的上行报文相同的频点和速率,第二个窗口
RX2
采用的是之前设置好的频点和速
率,窗口的频点和速率可以通关
mac
命令来设置。
接收窗口时间长度至少满足让终端
lora radio
能够检测到下行消息的有效前导码。如果
服务器端有下行报文要发送给终端,服务器会在终端两个窗口开始时发送。如果终端在两个
接收窗口期间检测到前导码,接收状态会一直保持到收完整个下行消息为止。同时,如果终
端在第一个窗口内收到给自己的报文,同时
MIC
(消息完成码)验证正确,那么终端将不会
打开第二个接收窗口。
注意:所有的终端设备在上一次发送上行消息后在两个窗口内没有收到服务器下行消息
之前或者第二个接收窗口失效之前,不能发起下一次上行消息。
3
、
LoRaWAN
帧格式
本章节主要介绍 LoRaWAN 中的帧格式。如下图所示 LoRaWAN 中的消息分成 3 层,从
外到内一次是物理层、MAC 层、和数据层。

3.1 MAC 层(PHYPayload)
LoRaWAN
中所有上下行消息都有
PHYPayload
,包括了一个字节的
MHDR
(
mac
帧头)、
MACPayload(mac
消息
)
以及
4
字节的
MIC
(校验)信息。
13.1.1 MHDR
Mac 帧头长度为 1 字节,低两位表示 LoRaWAN 的版本号,中间 3 位保留做后续使用,
最高 3 位是消息类型。
LoRaWAN 中一共有一下 8 种 MAC 消息类型。
其中 Join Request 和 Join Accept 消息在端点空中激活时使用。
Unconfirmed Data Up、Unconfirmed Data Down、Confirmed Data Up、Confirmed Data Down
这四种类型用作数据消息传输使用,其中 Confirmed 类型消息需要对端回复 ACK。数据消息
中可以同时包括 mac 命令和应用数据。Proprietary 消息为用户自定义类型消息,此类消息不
能被标准协议栈解析。
3.1.2 MAC Payload
数据消息的
MAC Payload
段又叫做“
data frame
”,包括了
FHDR
帧头、端口号
FPort
和
帧的数据段。

3.1.2.1 FHDR
帧头由 4 字节的终端设备短地址 Devaddr,1 字节的帧控制域字段 FCtrl,2 字节长度的帧
计数器以及最多 15 个字节长度的帧选项字段(用作传输 MAC 命令)组成。
下行数据帧头中 FCtrl 域内容如下:
上行数据帧头中 FCtrl 域内容如下:
ADR:LoRaWAN 中网关上 lora radio 可以监听多种速率,这使得终端设备的组网灵活性大大
加强,终端设备可以自适应调整自身速率 ADR 来连接网关,当终端设备启用 ADR 后会自动
选择最高的传输速率来和网关通信。
移动的终端设备最好使用一种固定的速率和网关通信,因为在移动的环境下终端设备的
无线电磁环境不稳定,这会使得 ADR 很难管理。
当帧头中 ADR 位置 1 的时候,服务器会根据当前收到的节点信号质量通过下行消息中
的 MAC 命令来控制终端的速率。ADR 功能可以通过终端或者服务器来配置,为了增加终端
的电池供电时间和扩大网络的容量,ADR 最好使能。
如果服务器给终端设备优化的传输速率高于了终端默认的传输速率,那么终端就必须定
期确认服务器还能收到上行报文。每次上行报文传输后,终端都会增加 ADR_ACK_CNT 计数
器,当该计数器达到 ADR_ACK_LIMIT 而没有收到服务器的下行消息时,终端就会在帧头将
ADRACKReq 置 1 来先服务器请求。服务器收到该请求后就会在 ADR_ACK_DELAY 时间内发送
一个下行消息给终端设备,同时终端设备收到该下行消息后就会将 ADR_ACK_CNT 计数器清
零。在该下行消息中 ACK 位不必置 1,因为终端设备在上行消息后的接收窗口内能收到下行
消息同时也表网关依然能收到终端设备的消息。另外一种情况就是如果终端发送了带
ADRACKReq 的上行消息后再 ADR_ACK_DELAY 时间内仍然没有收到网关的下行消息就说明网
关和终端设备间的连接已经断开了,这种情况下终端设备就要尝试用一种更低的速率(传输
速率和传输距离成反比)来尝试与网关建立连接。如果上行报文次数达到了 ADR_ACK_LIMIT
后还是没能连接成功,那么继续使用更低的速率。
ACK:当收到一个 confirmed 消息时,接收端应该在帧头中间 ACK 置 1。如果消息是有终端
发出来的,那么服务器就要在终端设备的两个接收窗口期间发生 ACK 消息给终端设备。如
果消息是由服务器发送的,终端设备可以自行选择什么时候回复 ACK 消息给服务器。ACK
消息只是给上一条接收消息,而且不会重发。
消息重传过程:当一个 confirmed 消息发出后在一定时间内没有收到 ACK 确认,那么就要对
消息重传,重传次数可以本地设置或者通过服务器来配置。如果终端设备重传次数达到了最
大次数都还没收到 ACK 确认,那么终端设备就需要降低速度来重新和服务器连接。
剩余24页未读,继续阅读














安全验证
文档复制为VIP权益,开通VIP直接复制

评论1