赞
踩
目录
2.1 Receive_Delay1/Receive_Delay2
2.2 JOIN_ACCEPT_DELAY1/JOIN_ACCEPT_DELAY2
2.4 RXParamSetupReq/RXParamSetupAns
LoRaWAN 协议依赖于 Aloha 型网络。在这种类型的网络中,终端设备可以任意进行传输。
A 类设备的关键特性是,通信仅由终端设备发起。来自网络服务器的下行链路消息需要排队,直到下次从终端设备接收到上行链路消息,并打开接收窗口 (Rx)。此设计专门针对需要先响应上行链路才能进行下行链路通信的应用,或者在延迟要求相当宽松的情况下提前安排下行链路。
在上行链路之后,A 类终端设备会打开一个短接收窗口 (Rx1),如果在此期间未接收到下行链路,则会打开第二个接收窗口 (Rx2)。上行传输结束后的一段固定时间之后,Rx1 开始打开。通常,此延迟为1秒,但是这段时间是可调整的。通常上行传输结束后两秒,Rx2 开始打开,当然这段时间也是可调整的。
- 未收到任何消息
- Rx1窗口收到消息
- Rx2窗口收到消息
PS:设备不会尝试发送另一条上行链路消息,除非:
LoRaWAN协议中,所有设备都是以A类设备启动并入网,因业务需要再切换到B类或者C类设备。因此OTAA空中激活过程中,都是按A类设备方式打开接收窗口。
唯一的区别就是打开接收窗口的延迟时间:JOIN_ACCEPT_DELAY1和JOIN_ACCEPT_DELAY2.协议默认JOIN_ACCEPT_DELAY1为5s,JOIN_ACCEPT_DELAY2为6s
在实际工作中,应用服务器可以通过命令RXParamSetupReq来对节点的接收窗口参数进行修改配置,该消息属于确认消息,节点收到该命令后需回复应答即命令RXParamSetupAns。
RXParamSetupReq命令是下行链路命令,只能等待设备终端主动开启上行链路后打开接收窗口的时机。节点设备收到服务端的MAC命令RXParamSetupReq,由于该命令是已确认消息,节点需再次发起一次上行链路回复RXParamSetupAns,而不是立即睡眠。
- Status每一bit代表的含义
- 终端设备向服务器发送消息命令时,可以选择类型为未确认或者已确认,反之亦然。
- 未确认消息,即发送方发出去后无需关注接收方是否收到。
- 确认消息,即发送方发送后,需收到接受方回复的ACK
- 节点间隔发送3次心跳包,为未确认消息,无需服务端回复应答
- 节点发送确认消息(比如包含报警相关的信息,图中橙色部分),前2次一直未收到服务端的应答,因此重复发送,直至第3次发送后收到服务端的应答
- LoRaWAN网络的下行链路资源是比较稀缺的,需谨慎使用确认消息
服务器必须等到设备发送上行链路消息之后才能向其发送数据。一旦接收到上行链路消息,应用服务器就会立即发送下行链路消息。如果该消息是未确认的,设备一旦接收到下行链路消息就会回到睡眠状态。但如果下行链路消息是确认消息的情况,设备会再次主动发起一次上行通信操作。
例如节点设备收到服务端的MAC命令RXParamSetupReq,由于该命令是已确认消息,节点需再次发起一次上行链路回复RXParamSetupAns,而不是立即睡眠。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。