当前位置: 首页 > article >正文

Open FPV VTX开源之嵌入式OSD配置

Open FPV VTX开源之嵌入式OSD配置

  • 1. 源由
  • 2. 安装
  • 3. 配置
    • 步骤一:备份`/etc/telemetry.conf`
    • 步骤二:修改`/etc/telemetry.conf`
    • 步骤三:配置时区
    • 步骤四:重启摄像头
  • 4. 实测
  • 5. 参考资料

1. 源由

穿越机模拟图传延迟通常在10ms左右。

最近为什么OpenIPC这么热,主要原因就是该项目性能已经提高到35ms左右。

当然,要达到这个要求,并非简单的一个摄像头,还需要地面端(解码)、高刷率屏幕的支持。

打个比方:

  • 如果屏幕刷新率只有30FPS,1000ms/30FPS = 33.33ms/frame
  • 即使编码、解码、传输都完成了,时间上错过刷新周期,那么就是妥妥要额外在延迟33.33ms了

嵌入式OSD是飞控MCU通过SPI控制MAX7456芯片在图像上直接绘制,大致流程如下:

Analog Camera ----> MAX 7456 chip ----> Analog VTX ----> Antenna(Wireless) ----> RF Receiver(RX5808) ----> Goggles(Fat Shark)
                          ^
                          | SPI
                          |
                   Flight Controller

当前Open FPV VTX并不是嵌入式OSD配置交付。因此产品到手后需要做一个简单配置。

IMX335/415 Camera -- MIPI --> SSC30kq/SSC338q chip -- USB --> 8812AU/EU Tx ----> Antenna(Wireless) ----> 8812AU/EU Rx -- USB --> Ground Startion
                                     ^
                                     | UART
                                     |
                              Flight Controller

2. 安装

通常情况下,嵌入式OSD软件msposd已经安装,因此无需手动安装。

注:如果您的固件没有上述软件,请更新到最新的固件,参考:《OpenIPC开源FPV之固件sysupgrade升级》

  • 安装目录结构:
 /
 ├──> /usr/bin/
 │   ├──> msposd
 │   └──> safeboot.sh
 ├──> /etc/vtxmenu.ini
 └──> /usr/share/fonts/
     ├──> font_ardu.png
     ├──> font_ardu_hd.png
     ├──> font_btfl.png
     ├──> font_btfl_hd.png
     ├──> font_inav.png
     ├──> font_inav_hd.png
     └──> truetype/UbuntuMono-Regular.ttf
  • msposd帮助信息:
# msposd --help
Ver: 861a97c Compiled at: 20241130_234711
Usage: msposd [OPTIONS]
Where:
        -m --master      Serial port to receive MSP (/dev/ttyAMA0 by default)
        -b --baudrate    Serial port baudrate (115200 by default)
        -o --output              UDP endpoint to forward aggregated MSP messages ()
        -c --channels    RC Channel to listen for commands (0 by default) and exec channels.sh. This command can be repeated. Channel values are 1-based.
        -w --wait        Delay after each command received(2000ms default)
        -r --fps         Max MSP Display refresh rate(5..50)
        -p --persist     How long a channel value must persist to generate a command - for multiposition switches (0ms default)
        -t --temp        Read SoC temperature
        -d --wfb         Monitors wfb.log file and reports errors via HUD messages
        -s --osd         Parse MSP and draw OSD over the video
        -a --ahi         Draw graphic AHI, mode [0-No, 2-Simple 1-Ladder, 3-LadderEx]
        -x --matrix      OSD matrix (0 - 53:20 , 1- 50:18 chars)
           --mspvtx      Enable mspvtx support
        -v --verbose     Show debug infot
        --help           Display this help

3. 配置

先把配置的改动放在这里,以diff方式给出:仅修改了router=0

# diff -Nr telemetry.conf.bak /etc/telemetry.conf
--- telemetry.conf.bak
+++ /etc/telemetry.conf
@@ -5,7 +5,7 @@
 baud=115200

 ### router: use simple mavfwd (0), classic mavlink-routerd (1) or msposd instead of mavfwd (2)
-router=0
+router=2

 wlan=wlan0
 bandwidth=20

首先,通过ssh方式登录系统。

步骤一:备份/etc/telemetry.conf

$ cp /etc/telemetry.conf /root/telemetry.conf.bak

步骤二:修改/etc/telemetry.conf

$ vi /etc/telemetry.conf
$ diff -uN /root/telemetry.conf.bak /etc/telemetry.conf
--- /root/telemetry.conf.bak
+++ /etc/telemetry.conf
@@ -5,7 +5,7 @@
 baud=115200

 ### router: use simple mavfwd (0), classic mavlink-routerd (1) or msposd instead of mavfwd (2)
-router=0
+router=2

 wlan=wlan0
 bandwidth=20
  • 或者采用图形化配置工具进行配置(配置2即可),详见: Open FPV VTX开源之图形化配置工具

在这里插入图片描述

步骤三:配置时区

  • change localtime instead of gmtime on OSD display #39
$ sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

注1:不同时区的朋友,请根据自己所在时区进行设置。
注2:时区的目的是为了自定义OSD输出,详见:libcamera_mon 开源代码之树莓派3B+ Bookworm部署

步骤四:重启摄像头

$ reboot

此时,mavfwd 将不会启动,取代它的是msposd进程,该进程就是嵌入式OSD软件。

4. 实测

当飞控串口没有配置OSD协议的时候(或者默认MAVLink时),将会显示"Identifying Flight Controller …"

在这里插入图片描述

接下去将在各种飞控地面站上进行嵌入式OSD协议配置,详见以下介绍:

  • 【1】Open FPV VTX开源之ardupilot配置
  • 【2】Open FPV VTX开源之betaflight配置
  • 【3】Open FPV VTX开源之inav配置

5. 参考资料

【1】Open FPV VTX开源之硬件规格及组成
【2】Open FPV VTX开源之第一次出图
【3】Open FPV VTX开源之默认MAVLink设置
【4】Open FPV VTX开源之图像化配置工具


http://www.kler.cn/a/504940.html

相关文章:

  • MYSQL学习笔记(二):SELECT基本查询
  • 【react】使用antd Table渲染数据遇到的报错问题
  • Unity3D手机游戏发热发烫优化指南与技巧详解
  • GLM: General Language Model Pretraining with Autoregressive Blank Infilling论文解读
  • MySQL 排除指定时间内重复记录的解决方案
  • 怎样利用海外云手机进行引流?
  • extends配置项详解
  • 深度学习中的模块复用原则(定义一次还是多次)
  • C语言数据结构编程练习-用指针创建顺序表,进行创销和增删改查操作
  • 屏幕轻触间:触摸交互从 “感知” 到 “智算” 的隐秘路径
  • 爬虫案例:python爬取京东商品数据||京东商品详情SKU价格
  • OpenSeaOtter使用手册-项目简介
  • # MyBatis 基础了解
  • camera 配置预览和拍照streams上报的可用尺寸列表
  • DevOps实用场景:在哪些业务中应用DevOps最有效
  • selenium操作指南,2万字总结
  • 【力扣Hot100】双指针
  • Linux磁盘存储与内存管理命令
  • 【C++学习篇】红黑树 从入门到进阶
  • Vue 开发者的 React 实战指南:表单处理篇
  • 微信小程序:跨页面数据修改全攻略
  • Web前端------HTML块级和行内标签之行内标签
  • Inxpect毫米波安全雷达:精准检测与动态保护,工业自动化可靠选择
  • 求 n 个数的最小公倍数(详解版)
  • Go语言编译的exe文件占用内存过大解决办法
  • HTTP中form-data、x-www-form-urlencoded、raw、binary的区别