项目简介
本项目是一个终端设备LoRaWAN堆栈实现的示例,全面实现了ClassA、ClassB和ClassC终端设备类,提供SX1272/73、SX1276/77/78/79、SX1261/2和LR1110无线电驱动,并且为每个当前支持的平台都配备了示例应用程序。
项目的主要特性和功能
- 全类设备支持:实现ClassA、ClassB和ClassC终端设备类,满足多样应用场景。
- 多无线电驱动:提供多种无线电驱动,适配不同硬件。
- 示例应用丰富:涵盖FUOTA测试、周期性上行链路等多种示例应用。
- 多平台支持:支持NAMote72、NucleoLxxx - Discovery kit等多种平台。
- 多调制模式:支持FSK和LoRa调制模式,可进行数据收发。
安装使用步骤
前提条件
遵循开发环境文档说明操作。
复制仓库
bash
$ cd loramac-node
$ git submodule update --init
安全元素配置
本项目支持soft-se
、lr1110-se
和atecc608a-tnglora-se
三种安全元素实现:
- soft-se:更新./src/peripherals/soft-se/se-identity.h
文件更新终端设备身份。
- lr1110-se:使用工厂预配置数据,将编译选项SECURE_ELEMENT_PRE_PROVISIONED
设为ON
;更新数据需遵循LR1110用户手册“13. LR1110 Provisioning”章节说明,可编辑./src/peripherals/lr1110-se/se-identity.h
文件更改DevEUI
、Pin
和JoinEUI
。
- atecc608a-tnglora-se:该安全元素始终预配置,内容不可更改。
构建过程
命令行
以periodic-uplink-lpp
示例(NucleoL476平台,LR1110MB1DIS MBED屏蔽,使用LR1110预配置安全元素)为例:
bash
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release \
-DTOOLCHAIN_PREFIX="<replace by toolchain path>" \
-DCMAKE_TOOLCHAIN_FILE="../cmake/toolchain-arm-none-eabi.cmake" \
-DAPPLICATION="LoRaMac" \
-DSUB_PROJECT="periodic-uplink-lpp" \
-DCLASSB_ENABLED="ON" \
-DACTIVE_REGION="LORAMAC_REGION_EU868" \
-DREGION_EU868="ON" \
-DREGION_US915="OFF" \
-DREGION_CN779="OFF" \
-DREGION_EU433="OFF" \
-DREGION_AU915="OFF" \
-DREGION_AS923="OFF" \
-DREGION_CN470="OFF" \
-DREGION_KR920="OFF" \
-DREGION_IN865="OFF" \
-DREGION_RU864="OFF" \
-DBOARD="NucleoL476" \
-DMBED_RADIO_SHIELD="LR1110MB1XXS" \
-DSECURE_ELEMENT="LR1110_SE" \
-DSECURE_ELEMENT_PRE_PROVISIONED="ON" \
-DUSE_RADIO_DEBUG="ON" ..
$ make
VSCode
以periodic-uplink-lpp
示例(NucleoL476平台,LR1110MB1DIS MBED屏蔽,使用LR1110预配置安全元素)为例:
1. 编辑.vscode/settings.json
文件。
2. 点击“CMake: Debug: Ready”并选择构建类型(Debug或Release)。
3. 等待配置过程完成。
4. 点击“Build”构建项目。
5. 等待构建过程完成,二进制文件将位于./build/src/apps/LoRaMac/
目录下。
串行控制台NVM管理
periodic-uplink-lpp
和fuota-test-01
示例允许通过串行接口重置NVM存储,在串行终端上按下ESC
+ N
键盘键即可重置NVM内容。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】