引言
客户刚使用 STM32WL 做 LoRa 节点应用开发或测试过程中,有时会遇到 LoRa 节点入网失败的问题。使用 STM32WL 开发的 LoRa 节点加入的网络可能是标准的 LoRaWAN 网络或者是私有的 LoRa 网络。这篇文章会总结常见的 LoRa 节点入网失败的问题。考虑到私有 LoRa 网络的多样性以及无论是私有 LoRa 网络还是标准的 LoRaWAN 网络,它们在入网流程中都有许多相近的地方。本文会选取加入 LoRaWAN 网络失败的问题进行分析。而私有 LoRa 节点入网失败问题则可以参考类似的分析思路。
LoRaWAN 网络架构
LoRaWAN 入网流程
下面我们从 LoRaWAN 协议的角度进一步介绍入网过程。LoRaWAN 定义的入网流程有两种:
- Over-the-Air Activation(OTAA)
- Activation By Personalization (ABP)
OTAA 方式:基于全局唯一标识符,自由加入 LoRaWAN 网络,有空中消息握手的过程,可以定期更新安全密钥(会话密钥和派生密钥)。
ABP 方式:生产时存储共享密钥,省去空中握手过程,节点锁定到特定网络。上电后,设备立即开始工作; 跳过加入程序。
对比两种入网方式,可以知道 OTAA 方式安全性更高,它后续用于数据加解密的密钥在空中握手的时候生成,并且可以定期更新。而 ABP 方式,它的密钥在出厂的时候写死在节点,被破解的风险更大。
入网失败常见问题总结
按上面介绍的入网流程,有时会遇到以下入网失败的情况。它们可以按前面介绍的入网流程的步骤逐一分析,也就是按 LoRaWAN 节点-------LoRaWAN 网关-------LoRaWAN 网络服务器之间的通信进行分析,检查是哪个环节导致入网失败。
小结
本文简单介绍了 STM32WL LoRa 节点在 LoRaWAN 网络中的工作框图以及其入网流程。根据入网流程和各个环节之间的通信总结了可能导致入网失败的因素,并给出了相应的解决办法。