对于智慧城市或工业园区类型的项目,有些设备会离开网络,例如 2 天(员工周末离开),然后再回来……但它们可能会保持断开连接一段时间直到下一次重新加入。
LoRa 联盟有一个最佳实践,要求对连接进行指数回退,但在检测隔离(触发重新连接)方面仍然有点模糊,这个问题是问什么是该领域的最佳实践,专业人士/ 重新加入策略的缺点,以及作为 LoRaWAN 认证的一部分进行有效测试的内容。
对于智慧城市或工业园区类型的项目,有些设备会离开网络,例如 2 天(员工周末离开),然后再回来……但它们可能会保持断开连接一段时间直到下一次重新加入。
LoRa 联盟有一个最佳实践,要求对连接进行指数回退,但在检测隔离(触发重新连接)方面仍然有点模糊,这个问题是问什么是该领域的最佳实践,专业人士/ 重新加入策略的缺点,以及作为 LoRaWAN 认证的一部分进行有效测试的内容。
LoRaWAN 终端设备必须处理 2 种不同类型的网络连接问题:
设备有 2 种方式检测网络连接暂时丢失:
如果设备检测到(以任何方式)网络不可用,它应该首先尝试以尽可能低的数据速率发送上行链路消息(例如:LinkCheckReq消息)(这会将链路预算增加到最大值),如果它仍然没有解决连接问题,设备应该以指数方式回退连续的上行链路消息。在实践中,终端设备更倾向于发送新的 JoinRequest 消息而不是基本的 UL 消息。下一章解释了原因。
在 LoRaWAN 1.0 网络中,如果网络服务器丢失了会话上下文,重新连接设备的唯一方法是让它发送新的加入请求。
但是,设备无法检查其网络连接问题是由于网络临时中断还是会话丢失所致。(两者都导致没有下行消息。)此问题的解决方案是,如果出现任何长期连接问题(无法通过降低数据速率来解决),设备开始发送新的加入请求消息,这将使网络服务器启动一个新的会话上下文并重置帧计数器。
这个“丢失会话”问题由 LoRaWAN 1.1 网络以更好的方式管理。LoRaWAN 1.1 引入了一种新的消息类型:Rejoin-Request。终端设备会定期发送Rejoin-Request Type 1 消息,这为网络服务器提供了一个选项,通过使用 Join Accept 消息来回答它们来创建新的设备会话。然而,如果网络服务器仍然有一个有效的会话,它会悄悄地丢弃这些消息。此解决方案可防止在出现连接问题时触发对有效设备会话进行不必要的重置,并提高安全级别。
这是 Abeeway 品牌跟踪器的详细行为。
网络超时监控
没有收到来自网络的任何下行通信是一个严重的症状。这可能意味着跟踪器与网络隔离,不再在该网络中活动,或者设备 LoRa 无线电(或其 MCU 驱动程序)可能变得不稳定。设备无法知道网络缺少下行链路通信是由于问题引起的,还是仅仅是因为网络或应用服务器无话可说。为了解决这个问题,LoRaWAN MAC 提供了LinkCheckRequest。
在 Abeeway 跟踪器上提供以下参数:
示例:
network_timeout_check= 172800 秒(2 天)
network_timeout_reset= 86400 秒(1 天)
如果 2 天后跟踪器没有收到任何下行链路,则启动链路检查请求过程。经过 1 天的链接检查请求过程没有答案,跟踪器将重置。
跟踪器接收到的任何下行链路都会重新启动计时器/机制。如果在相应参数中设置零值,则此看门狗功能将被禁用。
加入和指数退避
LoRaWAN 规范强加了加入的占空比(适用于所有区域),旨在避免网络在流量风暴中被锁定。
占空比回退适用于每个频段。例如,IN865 区域使用单个频段:BAND0。
Abeeway 跟踪器遵循 LoRaWAN 规范,但是,按下按钮将跳过应用程序级别的等待计时器并立即触发 Join。由于这是用户触发的操作,因此不会引起消息风暴。