Open FPV VTX开源之默认MAVLink设置

embedded/2025/1/14 19:04:47/

Open FPV VTX开源之默认MAVLink设置

  • 1. 源由
  • 2. 准备
  • 3. 连接
  • 4. 安装
  • 5. 配置
  • 6. 测试
    • 6.1 启动wfb-ng服务
    • 6.2 启动wfb-ng监测
    • 6.3 启动QGroundControl
    • 6.4 观察测试结果
  • 7. 总结
  • 8. 参考资料
  • 9. 补充
    • 9.1 telemetry_tx异常
    • 9.2 DEBUG串口部分乱码
    • 9.3 PixelPilot软件问题

1. 源由

飞控图传不是简简单单的IPC摄像头。

虽然这个东东就是摄像头改过来的,工作在实时图像(~40ms)。除此之外,还能用于无线电传,用于电传报文的传输,以便地面端了解飞控工作状态。

注:后续应该还会有IMU传感方面的信息集成。

当前,默认OpenIPC是对串口配置的是MAVLink协议。Ardupilot固件在开源无人机方面是做的比较完善的,所以这里用于验证上述功能。

2. 准备

  • 选择Ardupilot飞控:笔者这里有一块 Holybro Kakute F7 and KAKUTE F7 AIO。
  • 烧录Ardupilot固件
toFC:- pin1: VCC(7.4~26V)  ---- FC VBat+- pin2: GND  ------------- FC GND- pin3: UART_RX1  -------- FC T1- pin4: UART_TX1  -------- FC R1- pin5: GND  ------------- FC GND

在这里插入图片描述

3. 连接

略,参考

  • 《Open FPV VTX开源之第一次出图》

4. 安装

略, 参考以下资料:

wfb-ng传输层软件安装

  • ubuntu22.04@laptop安装&配置wfb-ng
  • wfb-ng 开源代码之Jetson Orin安装

QGroundControl编译安装

  • QGroundControl@Jetson Orin Nano - 从代码编译安装
  • QGroundControl@Jetson Orin Nano - 从代码编译安装 ~ 初心不改!!!

5. 配置

之前有不少这块板子的测试及验证,均使用到配置工具Mission Planner,相关工具的使用方法,请查阅:

【1】ArduPilot飞控之DIY-F450计划
【2】ArduPilot Kakute F7 AIO DIYF450 without GPS配置
【3】ArduPilot Kakute F7 AIO DIYF450 之GPS配置

在这里插入图片描述

6. 测试

6.1 启动wfb-ng服务

$ sudo systemctl start wifibroadcast@gs

6.2 启动wfb-ng监测

$ wfb-cli gs

6.3 启动QGroundControl

$ ./build/QGroundControl

6.4 观察测试结果

  • MAVLink报文收到,且持续稳定
  • QGroundControl(配置UDP14550),飞控会自动 连接上

如果上述情况都正常,证明MAVLink设置及硬件正常,参考视频。

在这里插入图片描述

  • Video视频报文收到,且持续稳定

进一步确认[《Open FPV VTX开源之第一次出图》](Open FPV VTX开源之第一次出图)正常。

7. 总结

本章主要提供了一个验证Open FPV VTX开源之默认MAVLink设置测试硬件的方法。

实际手头拿到的产品(由于软件或者硬件问题导致)呈现概率性失败:

  • OpenIPC S30KQ telemetry_tx exception #396
  • OpenIPC S30KQ telemetry_tx exception #1660

大概率是软件稳定性问题,但是也不排除硬件问题。

总的来说,更新固件通常是一个常规办法,但是为了更好的复现和确认,我们本次不做更新验证。

对于开源软件来说,需要一定的DIY方法,如果能够有这方面工程技术定位问题的经验,也请大家多多支持开源社区。

8. 参考资料

【1】Open FPV VTX开源之硬件规格及组成
【2】Open FPV VTX开源之第一次出图

9. 补充

9.1 telemetry_tx异常

telemetry_tx 进程会出现自动退出,进而导致MAVLink地面站软件无法收到报文。

做了如下排列组合,都有概率性失败:

  • OpenIPC S30KQ telemetry_tx exception #396
  • OpenIPC S30KQ telemetry_tx exception #1660

测试

  • 接有线网口 + 接DEBUG串口 ==> NG;3次
  • 接有线网口 + 无DEBUG串口 ==> NG;3次
  • 无有线网口 + 无DEBUG串口 ==> NG;3次,成功1次
  • 无有线网口 + 接DEBUG串口 ==> NG;3次,成功1次

OpenIPC S30KQ telemetry

9.2 DEBUG串口部分乱码

当有线网口与路由器连接的时候,DEBUG串口会出现部分乱码情况。若网线拔掉,一切正常。

在这里插入图片描述
注:正常日志详见:Open FPV VTX开源之第一次出图。

9.3 PixelPilot软件问题

发现PixelPilot软件有的时候,偶尔能够正确解析MAVLink报文,此时pitchroll等可以正常显示,若反动飞控,值会随之变化。但是大部分情况不行,可能是软件BUG。


http://www.ppmy.cn/embedded/153910.html

相关文章

机器学习算法(一): 基于逻辑回归的分类预测

1 逻辑回归的介绍和应用 1.1 逻辑回归的介绍 逻辑回归(Logistic regression,简称LR)虽然其中带有"回归"两个字,但逻辑回归其实是一个分类模型,并且广泛应用于各个领域之中。虽然现在深度学习相对于这些传统…

可以进行重复测量的方差分析的AI agent

可以进行重复测量的方差分析的AI agent 前几天做了机器学习的AI agent,把一个糖尿病机器学习模型采用API的形式接入到LLM模型中,结合LLM的智能性和机器学习模型的准确性,利用两者的有点,有可以避免两者的缺点,是一条合…

Effective Objective-C 第一章阅读笔记

Effective Objective-C 第一章阅读笔记 文章目录 Effective Objective-C 第一章阅读笔记OC的语言起源内存管理小结 在类的头文件中尽量少引入其他头文件小结 多用字面量语法多用类型变量,少用#define预处理指令小结 枚举表示状态,选项,状态码…

CES Asia 2025:VR/AR/XR引领科技新潮流

在全球科技领域蓬勃发展的大背景下,CES Asia 2025(赛逸展)即将在京盛大开幕,VR/AR/XR技术作为前沿科技的代表,将在本次展会上大放异彩,展现出令人瞩目的发展趋势和巨大潜力,同时政策优势也将为其…

Spring底层核心原理解析

​ 本次分享会把Spring中核心知识点都给大家进行串讲,让大家对Spring的底层有一个整体的大致了解,比如: Bean的生命周期底层原理依赖注入底层原理初始化底层原理推断构造方法底层原理AOP底层原理Spring事务底层原理 但都只是大致流程&#…

docker简单使用

进入和退出docker linux命令 docker ps -a 查询已经创建的容器,包括正在运行的和已停止的容器docker start id-name 启动容器docker exec -it id-name /bin/bash 进入容器docker stop id-name 停止容器

说一说mongodb组合索引的匹配规则

一、背景 有一张1000多万条记录的大表,需要做归档至历史表,出现了大量慢查询。 查询条件是 "classroomId": {$in: ["xxx", "xxx", ..... "xxx","xxx", "xxx" ] }耗时近5秒,且…

2. Doris数据导入与导出

一. Doris数据导入 导入方式使用场景支持的文件格式导入模式Stream Load导入本地文件或者应用程序写入csv、json、parquet、orc同步Broker Load从对象存储、HDFS等导入csv、json、parquet、orc异步Routine Load从kakfa实时导入csv、json异步 1. Stream Load 基本原理 在使用…