LoRaMac-node 项目使用教程
1. 项目介绍
LoRaMac-node 是一个 LoRaWAN 网络节点的参考实现和文档项目。该项目旨在展示 LoRaWAN 终端设备堆栈的实现示例,支持 ClassA、ClassB 和 ClassC 终端设备类,并提供 SX1272/73、SX1276/77/78/79、SX1261/2 和 LR1110 无线电驱动程序。
2. 项目快速启动
2.1 克隆项目
首先,克隆 LoRaMac-node 项目到本地:
git clone https://github.com/Lora-net/LoRaMac-node.git
cd LoRaMac-node
2.2 初始化子模块
LoRaMac-node 项目包含 Git 子模块,需要初始化这些子模块:
git submodule update --init
2.3 构建项目
以下是构建 periodic-uplink-lpp
示例应用程序的命令行示例,适用于 NucleoL476 平台,使用 LR1110MB1DIS MBED 屏蔽和预配置的 LR1110 安全元素:
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
3. 应用案例和最佳实践
3.1 FUOTA 测试场景
LoRaMac/fuota-test-01 是一个 FUOTA(Firmware Update Over The Air)测试场景的终端设备示例应用程序。该应用程序基于提供的通用包构建。
3.2 周期性上传
LoRaMac/periodic-uplink-lpp 是一个 ClassA/B/C 终端设备示例应用程序,周期性地使用 Cayenne LPP 协议上传帧。
3.3 点对点 RF 链路
ping-pong 是一个点对点 RF 链路示例应用程序。
4. 典型生态项目
4.1 LoRa Basics™ Modem
LoRa Basics™ Modem 是 Semtech 推出的平台,实现了新的 LoRaWAN 功能(如 Relay、CSMA),并支持 LoRa Alliance 引入的未来改进(如 LoRaWAN 1.2)。
4.2 LoRaWAN 认证协议
每个 LoRaWAN 应用程序示例(LoRaMac/*)都包含 LoRa-Alliance LoRaWAN 认证协议的实现。
4.3 LoRaWAN 堆栈 API 文档
LoRaWAN 堆栈 API 文档可以在 这里 找到。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考