软件开发
软件开发项目取决于为设备选择的硬件架构。
最简单的情况是LoRa调制解调器架构;整个LoRaWAN堆栈已经在调制解调器内实现并且通信由自己管理。开发人员只需要实现堆栈的初始化即可容易的发送或接收消息。
利用模块架构,模块制造商可以提供适合集成模块MCU的即用型LoRaWAN堆栈。在这种情况下,开发人员有一个API,其中包含用于初始化和管理LoRaWAN堆栈的命令。
如果选择了LoRa芯片组集成方法,或者如果没有为所选模块提供LoRaWAN堆栈,则开发人员必须在其软件内部实现LoRaWAN堆栈。LadRaWAN堆栈由StackForce提供并维护,可在下面这个网址中获取:
https://github.com/LoRa-net/LoRaMac-node。
软件应用层
当终端设备需要与多个应用程序通信时,需要使用应用消息已发布的语法信息。
可能采用的方法是使用ZigBee联盟为ZigBee的应用层(APS)定义的ZigBee群集库(ZCL)语法,并且这种方法似乎是功能和复杂性之间的一个良好折衷。ZCL不应该将未使用ZigBee的网状网络和物理层相混淆。
测试应用程序
测试应用程序是应用程序内部的测试模式。由于以下几个原因,它是必要且非常有用的;
- 开发过程中的测试
- 与LoRaWAN网络服务器的互操作性
- LoRaWAN认证(LoRa Allance)
- 终端制造测试
在专用FPort上通过特定命令激活测试模式。然后,测试模式能够检查所有可用的MAC命令并打开与服务器的快速周期通信,以检查所有消息的类型和完整性。