打造自己的LoRaWAN网关,进阶2:处理异常

打造自己的LoRaWAN网关,进阶2:处理异常

引言

如果您只关心:打造一个LoRaWAN 网关,请参考《花一个小时,打造自己的LoRaWAN网关》

https://blog.csdn.net/jiangjunjie_2005/article/details/79758720

 

如果您感兴趣:如何让LoRaWAN 网关更稳定健壮,那本文再适合不过了。尽管它需要一点儿

 Linux 知识,然而,这是每个“有耐心”的人都可以掌握的。

1 SX1301停机

1.1 异常描述

在LoRaWAN设备长期稳定性测试(冒烟测试)中发现,SX1301会停机,查看日志:"RF packets receivedby concentrator: 0"。

1.2 异常原因

有一个差异:当SX1301 处于屏蔽良好的金属盒中,几乎没有该错误;而当 SX1301 裸露时,该错误很容易发生。

判断:这是因为SX1301接受到LoRa噪声而引发的停机。

1.3 处理办法

所幸的是,当SX1301停机时,通过lgw_get_trigcnt()读取的值总是等于0x7E000000。这意味着,该异常是可以被检测到的。

一旦检测到该异常,将EXIT进程packet_forwarder。

Linux系统的systemd(初始化进程)会持续检测rime_gateway.service的状态,一旦EXIT,将重启该service。


1.4 测试结果

当SX1301停机时,packet_forwarder捕捉到了该异常;systemd重启service时,会复位SX1301;这样又可以让SX1301正常工作。


2 网关DNS服务失败

2.1 异常描述

一般而言,拨号网关会提供DNS服务,有时候,它会解析域名失败,导致Gateway无法与 Server 连接。

2.2处理办法

在 Gateway 上添加备用的DNS服务器IP

(8.8.8.8=GoogleDNS, 114.114.114.114=ChinaNet DNS)。

小心,不能直接添加在“/etc/resolv.conf”中,那样,上电时会被 DHCP 覆盖。

正确的办法是修改“/etc/network/interfaces”:



3 保护 Gateway 的网络安全

3.1 帐号安全

提高rime帐号的密码强度:sudo passwd rime(使用level_2密码)

修改root帐号密码:sudo passwd root(设置level_5密码)

禁止root帐号登录:sudo passwd –l root

查询其他帐号:grep ‘/bin/bash’/etc/passwd

删除其他帐号:sudouserdel –r pi(删除pi帐号)

3.2 网络安全

使用同一网络的Linux机器,使用nmap扫描 Gateway的端口:

sudo nmap –sT 192.168.2.154(扫描TCP端口)

结果:仅sshd打开了端口,考虑ssh远程登录的需求,暂时保留。

sudo nmap –sU 192.168.2.154(扫描UDP端口)

 

4  SX1301接收CRC_FAIL=100.00%

4.1 异常描述

在LoRaWAN设备长期稳定性测试(冒烟测试)中发现,SX1301会停止向 Server 推送数据包,查看日志,出现多个:"CRC_FAIL:100.00%"。

4.2 异常原因

暂不清楚!

4.3 处理办法

在lora_pkt_fwd.c:main() 中检测 "CRC_FAIL: 100.00%" 的次数,如果连续超过 3 次,将认为 SX1301 内部出现异常。

一旦检测到该异常,将EXIT进程packet_forwarder。

Linux系统的systemd(初始化进程)会持续检测rime_gateway.service的状态,一旦EXIT,将重启该service。

4.4 测试结果

当SX1301连续出现 "CRC_FAIL: 100.00%" 时,packet_forwarder捕捉到了该异常;systemd重启service时,会复位SX1301;这样又可以让SX1301正常工作。

 

5  SX1301丢包率大增

5.1 异常描述

将 SX1278(节点)和 SX1301(网关)放置于同一实验桌,测试射频性能时发现丢包率大增,查看网关日志:CRC_FAIL超过 20%。

5.2 异常原因

sx1301内部的信道划分是由带通滤波器完成的,距离过近,主频信号会在相邻信道产生很多谐波,而这些谐波会干扰 sx1301 的接收,也会增加主频信号的底噪,从而导致丢包率过高。

5.3 处理办法

Node 和 Gateway 的距离至少需要 2

 


SX1301模块最大允许输入功率为-15dBm,过大功率容易造成接收机饱和,甚至损坏硬件。如果距离很近(<10m),SX1278发射功率尽可能限制在10dBm内。

5.4 测试结果

将 SX1278(节点)和 SX1301(网关)放置于不同的房间(距离超过 10 米),丢包率降低到可接受范围。

 

下载本文 PDF 文档:http://www.rimelink.com/nd.jsp?id=70#_np=107_316

 


猜你喜欢

转载自blog.csdn.net/jiangjunjie_2005/article/details/80073820