littlebot
Published on 2025-04-14 / 0 Visits
0

【源码】基于C语言Linux系统的LoRaWAN终端设备项目

项目简介

本项目是一个终端设备LoRaWAN堆栈实现的示例,全面实现了ClassA、ClassB和ClassC终端设备类,提供SX1272/73、SX1276/77/78/79、SX1261/2和LR1110无线电驱动,并且为每个当前支持的平台都配备了示例应用程序。

项目的主要特性和功能

  1. 全类设备支持:实现ClassA、ClassB和ClassC终端设备类,满足多样应用场景。
  2. 多无线电驱动:提供多种无线电驱动,适配不同硬件。
  3. 示例应用丰富:涵盖FUOTA测试、周期性上行链路等多种示例应用。
  4. 多平台支持:支持NAMote72、NucleoLxxx - Discovery kit等多种平台。
  5. 多调制模式:支持FSK和LoRa调制模式,可进行数据收发。

安装使用步骤

前提条件

遵循开发环境文档说明操作。

复制仓库

bash $ cd loramac-node $ git submodule update --init

安全元素配置

本项目支持soft-selr1110-seatecc608a-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文件更改DevEUIPinJoinEUI。 - 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-lppfuota-test-01示例允许通过串行接口重置NVM存储,在串行终端上按下ESC + N键盘键即可重置NVM内容。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】