打印

LoRa模块出现ERROR96的原因是什么

[复制链接]
426|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 RAK瑞科慧联 于 2020-10-27 10:48 编辑

LoRa模块往往具备易用、小巧、传输距离远、超低功耗等优点,是一种非常好的远距离无线数据传输解决方案,适用于需要远程数据采集和低功耗的各种应用,它遵循LoRaWAN 1.0.2协议,还支持LoRa的点对点通信功能,可帮助用户快速建立他们自己私有的远距离LoRa网络。

在实际使用过程中,LoRa模块在接收数据的过程中,可能出现一种错误提示:ERROR 96。
本文介绍出现这种错误的根本原因,大家如果碰到这种错误,可以一一对比排查出真正导致该问题的原因。
1    LoRaWAN Class A模式上传数据时的RX窗口


如图1所示,在LoRaWAN协议的Class A模式下,当节点上传一个数据包的时候,在TX窗口的后面将紧跟2个RX窗口。比如,TX窗口长度1s,RX1窗口长度1s,之后就是RX2窗口。

出现ERROR 96,则意味着RX2窗口超时了。只有一种情况可以导致发生ERROR 96的错误:当LoRa节点发送一个确认的上传数据包的时候,它将会等待ACK确认包,如果直到RX2窗口关闭的时候,它仍然没接收到ACK确认包的话,就会出现ERROR 96的错误提示信息。

导致LoRa节点一直等到RX2窗口关闭了、也未能收到ACK确认包的可能的原因比较多,列举如下:
1、LoRaWAN网关未收到LoRa节点发的上行数据包,自然就不会有下行ACK行为发生。无线干扰、信号不良或频点不匹配等原因都会导致这种丢包情况发生。
2、LoRaWAN网关收到上行数据包并转发给NS(网关的内置服务器)了,但NS处理该数据包时发现有问题或者NS本身存在问题,导致其并未生成ACK并下发,LoRa节点自然也就不会收到ACK了。
3、LoRaWAN网关收到上行数据包并转发给NS,NS也顺利生成ACK并下发给网关,但网关因业务拥堵或自身原因,并未成功将ACK从LoRa射频空口发出来。
4、LoRaWAN网关收到上行数据包并转发给NS,NS也顺利生成ACK并下发给网关,网关也成功将ACK通过LoRa射频发到空口中了,但LoRa节点未收到,无线干扰、信号不良、频点不匹配等都会导致这种丢包情况发生。
5、LoRaWAN网关收到上行数据包并转发给NS,NS也顺利生成ACK并下发给网关,网关也成功将ACK通过LoRa射频发到空口中了,LoRa节点的射频端也成功收到这个无线信号了,但是LoRa节点的底层在处理收到的这个报文时,解析校验发现该报文有误(例如信号变形导致数据失真或ACK报文本身组装有误),进而丢弃了该报文,上层程序也会视作未收到ACK。

因此,当我们出现ERROR 96的时候,我们可以这么排查故障:
1、检查LoRaWAN网关是否能接收到LoRa节点发送的数据;
2、检查该数据包是否本身存在问题;
3、检查LoRaWAN网关内置的NS服务器是否能正常生成ACK并下发;
4、检查整个网络是否比较拥堵;
5、检查LoRa节点是否能正常接收到LoRaWAN网关下发的数据。

如果配备的LoRaWAN网关的具备较为友好的运维界面,比如瑞科慧联的LoRaWAN网关RAK7249的WebUI上,就可以查看到该网关所关联的所有节点的状态。
2   瑞科慧联LoRaWAN网关RAK7249的WebUI示意图

2是瑞科慧联的LoRaWAN网关RAK7249提供的运维界面的示意图,可以看到,其可以查看LoRa网络是否拥堵、发包的情况等等,借助这些运维信息,就可以更好的发现LoRaWAN组网的状态,更好的排查故障并解决问题。一个良好的LoRaWAN网关的运维界面,可以帮助我们更好的运作我们的物联网解决方案。

本文介绍了导致LoRa模块出现ERROR 96的若干种原因,以及如何排查故障。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

66

主题

68

帖子

0

粉丝