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

【源码】基于 Python 和 LoRa 的业余火箭飞行数据实时展示系统

项目简介

本项目名为 Rosetta,目标是把业余火箭飞行控制器的数据传输并展示在专业硬件命令与控制软件 Cosmos/OpenC3 中。它支持 Featherweight Raven、Eggtimer Quantum 飞行控制器以及 Featherweight GPS 追踪器的数据,还能方便修改以处理其他已知飞行计算机的数据。此系统基于 LoRa 技术进行数据传输,是单向实时遥测系统,不具备控制或引导火箭的能力。

项目的主要特性和功能

  1. 支持多设备数据,可接收 Featherweight Raven、Eggtimer Quantum 飞行控制器和 Featherweight GPS 追踪器的数据。
  2. 具备多样化数据传输方式,Raven 通过蓝牙(发射前)和 USB 传输,Eggtimer Quantum 通过串行 UART 传输,数据经 LoRa 链路发往地面站。
  3. 地面站数据处理方面,使用 Heltec Wireless Stick v3 接收 LoRa 信号,通过 Python 脚本清理数据并推送到本地 TCP 套接字。
  4. 利用 Cosmos/OpenC3 软件对处理后的数据进行展示。

安装使用步骤

假设用户已下载本项目的源码文件,使用步骤如下: 1. 硬件连接与配置 - 把 Arduino MKRWAN 1310 配置为 USB 主机模式,通过自定义供电直通 USB 线连接到 Raven,设置 LoRa 频率、发送方和目标地址,将 firmware/Arduino/RosettaSend.ino 程序烧录到 Arduino MKRWAN 1310。 - 若要从其他飞行控制器(如 Eggtimer)流式传输数据,需修改 SAMD21 的 Arduino 驱动(variant.cppvariant.h),将 SAMD21 Serial2/Sercom3 重新映射到数字引脚 0 和 1。 - 使用 Heltec Wireless Stick v3 接收 LoRa 遥测数据,将 firmware/Arduino/RosettaReceive.ino 程序烧录到该设备。 2. 运行串口到 TCP 数据流:根据 ls /dev/cu.usb* 设置端口,运行 python3 ./readers/StreamToTCP.py 脚本。 3. 启动 Cosmos/OpenC3 - 启动 Docker,将 example.env 复制为 .envcp example.env .env)。 - 执行 ./openc3.sh run 命令。 - 访问 http://localhost:2900/tools/admin 查看仪表盘。 4. 生成/重建 OpenC3 插件(可选) - 执行 ./openc3.sh cli generate plugin HUB。 - 进入 openc3 - cosmos - hub 目录。 - 执行 ../openc3.sh cli generate target HUB。 - 执行 ../openc3.sh cli rake build VERSION = 1.0.0

下载地址

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