littlebot
Published on 2025-04-03 / 6 Visits
0

【源码】基于C语言的LoRa网关系统

项目简介

本项目是基于C语言构建的LoRa网关系统,以构建基于Semtech LoRa多通道RF接收器(集中器)的网关为核心。项目提供硬件抽象层(HAL)库,让上层应用可独立于硬件平台与LoRa网关通信,同时包含多个辅助程序和脚本用于测试和调试网关不同功能。

项目的主要特性和功能

  1. 核心库功能libloragw库提供构建网关的基础功能,编译后生成libloragw.a静态库文件,还附带基本测试程序以测试库的不同子模块。
  2. 多用途辅助程序
    • util_pkt_logger:用JSON配置文件设置LoRa集中器,将接收到的数据包记录到日志文件。
    • util_spi_stress:检查主机平台与LoRa集中器寄存器文件之间链接的可靠性。
    • util_tx_test:通过LoRa集中器发送测试数据包,评估网关下行链路功能。
    • util_tx_continuous:将LoRa集中器设为连续发送模式,用于频谱测量。
    • util_spectral_scan:在LoRa网关运行频段内进行后台频谱扫描。
    • util_lbt_test:测试“Listen - Before - Talk”通道时间戳。
  3. 初始化脚本reset_lgw.sh脚本用于在IoT Start Kit平台上通过GPIO重置集中器芯片,使用集中器的应用启动前必须运行。
  4. 时间处理与校准:支持GPS时间获取和转换,优化和校准数据包空中时间计算、TX启动延迟等。
  5. 多种调制方式支持:支持LoRa和FSK两种调制方式,可灵活配置通信参数。

安装使用步骤

前提条件

假设用户已下载本项目的源码文件,且具备适当的编译器(如GCC)和相应的开发环境。

具体步骤

  1. 重置集中器:在IoT Start Kit平台上,运行reset_lgw.sh脚本重置集中器芯片。
  2. 编译项目:使用编译器编译项目代码,生成可执行文件和静态库文件。核心库编译后,所有代码包含在libloragw.a文件中。
  3. 运行程序:根据需求运行相应的辅助程序,例如:
    • 记录接收到的数据包,运行util_pkt_logger并指定JSON配置文件。
    • 测试SPI链接可靠性,运行util_spi_stress
    • 发送测试数据包,运行util_tx_test
  4. 参数配置:部分程序可能需通过命令行参数或配置文件进行参数设置,如发送频率、数据包格式、发送功率等,按需调整。
  5. 结果查看与分析:根据程序的输出信息和生成的日志文件,分析和评估网关的运行情况和性能。

下载地址

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