项目简介
本项目是基于C语言构建的LoRa网关系统,以构建基于Semtech LoRa多通道RF接收器(集中器)的网关为核心。项目提供硬件抽象层(HAL)库,让上层应用可独立于硬件平台与LoRa网关通信,同时包含多个辅助程序和脚本用于测试和调试网关不同功能。
项目的主要特性和功能
- 核心库功能:
libloragw
库提供构建网关的基础功能,编译后生成libloragw.a
静态库文件,还附带基本测试程序以测试库的不同子模块。 - 多用途辅助程序:
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”通道时间戳。
- 初始化脚本:
reset_lgw.sh
脚本用于在IoT Start Kit平台上通过GPIO重置集中器芯片,使用集中器的应用启动前必须运行。 - 时间处理与校准:支持GPS时间获取和转换,优化和校准数据包空中时间计算、TX启动延迟等。
- 多种调制方式支持:支持LoRa和FSK两种调制方式,可灵活配置通信参数。
安装使用步骤
前提条件
假设用户已下载本项目的源码文件,且具备适当的编译器(如GCC)和相应的开发环境。
具体步骤
- 重置集中器:在IoT Start Kit平台上,运行
reset_lgw.sh
脚本重置集中器芯片。 - 编译项目:使用编译器编译项目代码,生成可执行文件和静态库文件。核心库编译后,所有代码包含在
libloragw.a
文件中。 - 运行程序:根据需求运行相应的辅助程序,例如:
- 记录接收到的数据包,运行
util_pkt_logger
并指定JSON配置文件。 - 测试SPI链接可靠性,运行
util_spi_stress
。 - 发送测试数据包,运行
util_tx_test
。
- 记录接收到的数据包,运行
- 参数配置:部分程序可能需通过命令行参数或配置文件进行参数设置,如发送频率、数据包格式、发送功率等,按需调整。
- 结果查看与分析:根据程序的输出信息和生成的日志文件,分析和评估网关的运行情况和性能。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】