项目简介
本项目是针对Vaisala RS41探空仪开发的自定义固件RS41LK。它基于RS41固件RS41ng开发,为基于RS41探空仪的实验提供简洁、可定制且模块化的代码库。探空仪采用STM32F100C8 32位微控制器,可通过ST-LINK v2编程器重新编程,能在70 cm(~433 MHz)业余无线电频段传输不同类型的RF调制信号,还可作为追踪设备使用。
项目的主要特性和功能
- 多种传输模式支持:支持标准1200波特的APRS,可选择用外部BMP280传感器读数传输APRS气象报告;支持摩尔斯电码(CW)。
- 外部传感器支持:可通过外部I²C总线连接外部传感器,目前支持Bosch BMP280气压/温度/湿度传感器,欢迎贡献更多传感器驱动代码。
- GPS数据输出:可通过外部串口引脚4输出GPS NMEA数据,方便在外部追踪硬件(如树莓派或其他微控制器)中使用。
- 增强的内部无线电发射支持:通过基于PWM的音调生成增强对内部Si4032无线电发射机的支持,若可能还将实现基于DMA的符号定时。
- 可扩展性:便于轻松添加新的传输模式和新传感器。
安装使用步骤
配置固件
- 在
config.h
中配置业余无线电呼号、传输时间表(时间同步)、发射频率和传输模式参数。 - 根据使用的模式,在
config.c
中设置传输消息模板。
构建固件
- 安装所需软件依赖:
- GNU GCC工具链,版本8.3.0或更高,用于为ARM Cortex - M3架构交叉编译固件(
arm-none-eabi-gcc
)。 - CMake,版本3.6或更高,用于构建固件。
- OpenOCD,版本0.10.0或更高,用于闪存固件。
在Red Hat/Fedora Linux系统上,可使用以下命令安装相关包:
bash dnf install arm-none-eabi-gcc-cs arm-none-eabi-gcc-cs-c++ arm-none-eabi-binutils-cs arm-none-eabi-newlib cmake openocd
- GNU GCC工具链,版本8.3.0或更高,用于为ARM Cortex - M3架构交叉编译固件(
- 使用以下命令构建固件:
mkdir build cd build cmake.. make
- 固件将存储在
build/src/RS41ng.elf
文件中。
闪存固件
- 移除探空仪的电池。
- 通过以下引脚将ST - LINK v2编程器加密狗连接到探空仪:
- SWDIO -> 引脚1
- SWCLK -> 引脚7
- GND -> 引脚5
- 3.3V -> 引脚3
- 解锁闪存保护(仅在首次重新编程探空仪之前需要):
openocd -f./openocd_rs41.cfg -c "init; halt; flash protect 0 0 31 off; exit"
- 闪存固件:
openocd -f./openocd_rs41.cfg -c "program build/src/RS41ng.elf verify reset exit"
- 对探空仪进行电源循环以启动运行新固件。
开发/调试固件
- 将RS41探空仪通过STM32 ST - LINK编程器加密狗连接到计算机。
- 在
config.h
中启用半主机模式和日志记录,取消注释以下行:#define SEMIHOSTING_ENABLE #define LOGGING_ENABLE
- 启动OpenOCD并让其在后台运行:
openocd -f./openocd_rs41.cfg
- 启动ARM GDB:
arm-none-eabi-gdb
- 将GDB连接到OpenOCD进行闪存和调试(假设您在包含CMake生成的Makefile的
build
目录中):target remote localhost:3333 monitor arm semihosting enable make load src/RS41ng.elf monitor reset halt continue # 此命令运行固件
- OpenOCD将输出固件的日志消息,GDB可用于中断和检查固件程序。若要加载调试符号以设置断点并进行更详细的检查,使用命令
file src/RS41ng.elf
。
调试APRS
可使用以下工具和命令行示例通过SDR接收器接收和调试APRS消息,以下示例假设使用RTL - SDR加密狗:
Dire Wolf
rx_tools:
bash
rx_fm -f 432500000 -M fm -s 250000 -r 48000 -g 22 -d driver=rtlsdr - | direwolf -n 1 -D 1 -r 48000 -b 16 -
rtl - sdr:
bash
rtl_fm -f 432500000 -M fm -s 250k -r 48000 -g 22 - | direwolf -n 1 -D 1 -r 48000 -b 16 -
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】