Warm tip: This article is reproduced from serverfault.com, please click

embedded-LoRaWAN 未确认的下行和重新加入程序

(embedded - LoRaWAN unconfirmed downlink and re-JOIN procedure)

发布于 2017-12-20 15:09:52

最近,我开始研究支持 LoRa 的设备,并注意到其中一些设备在未从网络服务器配置时无法处理情况。这在开发过程中经常发生(特别是如果 NS 也在开发中)。

这是发生的事情:

  • 在网络/应用服务器上配置的 LoRa 设备。
  • LoRa 设备发送 JOIN 并成功。
  • 我删除了网络服务器上的设备实体并再次添加。这会导致删除在 OTAA 期间生成的会话密钥并清理 devEUI
  • LoRa 设备不断发送数据,在服务器上被拒绝。
  • LoRa 设备不做任何处理并继续发送数据。

某些设备在重启后会再次发送 JOIN。但并非所有设备都可以重启!我见过的一些仪表在重新连接硬接线电池后拒绝工作!

设备如何检测/处理与 NS 的这种“断开连接”是否有任何“通用”方法

Questioner
Max
Viewed
0
Jason 2018-02-11 07:31:26

终端设备可以通过请求网络服务器的下行链路来定期检查会话。

发送确认的数据包或链接检查请求应引起服务器的响应。

ADR 将在 64 个上行链路后请求下行链路,并应收到响应。如果在 32 个额外的上行链路之后没有看到响应,则数据速率会降​​低。如果达到最低数据速率,则重新启用默认通道。终端设备不认为会话丢失或断开,它会继续发送数据包,直到电池耗尽。

应用程序应根据其要求和期望确定会话何时丢失。