I-CUBE-LRWAN
I-CUBE-LRWAN 是 ST 官方为帮助开发者快速开发 LoRaWAN 节点应用,推出的一组软件包。I-CUBE-LRWAN 支持 SX1276MB1MAS, SX1276MB1LAS, SX1272MB2DAS, SX1262DVK1DAS, SX1262DVK1CAS, SX1262DVK1BAS 等 lora 收发芯片,并且给出了这些芯片分别在 NUCLEO-L053R8, NUCLEO-L152RE, NUCLEO-L476RG 和 B-L072Z-LPWAN1 开发板上的例程用于学习。
I-CUBE-LRWAN 具有如下的特点:
- 兼容 LoRaWAN V1.0.3 标准;
- 支持 A、B、C 类 LoRaWAN 协议;
- 符合欧盟 868 MHz ISM 频段 ETSI(欧洲电信标准协会)标准;
- 符合欧盟 433 MHz ISM 频段 ETSI(欧洲电信标准协会)标准;
- 符合美国 915 MHz ISM 频段 FCC(联邦通信委员会)标准;
- 支持 OTAA(无线激活)或者 ABP(手动激活) 的方式激活终端设备;
- 自适应传输速率;
- 包括用于认证测试的 LoRaWAN® 测试应用程序;
- 低功耗优化;
- 兼容 STM32 的各产品线;
- 集成安全组件;
软件包说明

I-CUBE-LRWAN 软件包的工程架构如上面的架构图。其中 HAL 层是 ST 官方提供的 HAL 库。 User Application 层需要用户根据自己实际的应用进行开发。I-CUBE-LRWAN 提供的最核心的组件包括三个部分:驱动、中间层以及工具包。驱动层主要是用来组织底层的代码,主要包括一些板级支持包、LoRa收发器驱动以及传感器驱动等;中间层 组织了一些协议及工具,例如 mbedtls 、LoRaWAN 栈等;工具层是 ST 提供的一些能让开发者简化应用代码编写的软件工具,例如:低功耗管理器、状态机、软件定时器等。文件目录组织结构如下所示:
1 | ├─Docs |
其中:
- Docs: 软件工程的整个文档说明;
- Drivers:存放驱动层的代码,例如 BSP、CMSIS、HAL 等;
- Middlewares:分为 ST 官方包和第三方软件包,ST 官方包提供了一个加密用的引擎,第三方则包括了 LoRaWAN 协议栈、mbedTLS包和SubGHz_Phy包;
- Projects:ST 官方提供的例程工程文件,包括了一些主流的 IDE 工程文档,可以使用 MDK、IAR、STM32CubeIDE等软件直接打开构建工程;
- Utilities:ST 提供的一些工具组件;