OpenIPC开源FPV之重要源码包

1. 源由

OpenIPC FPV设备,在软件层面,其体现功能的重要软件包的梳理,有助于更好的理解工作原理。

从软件部署的思路去考虑,我们将设备的软件大块的进行简单切割:

  1. 设备引导代码:uboot
  2. 操作系统代码:Linux
  3. 基础文件系统:FileSystem(含基础功能代码)
  4. 功能执行代码:Application

前面《OpenIPC开源IPC之工程框架》已经整体上介绍上面四大块内容整合工具Buildroot

本章将重点放在Application上,期望通过梳理,将天空端和地面端的具体功能实现与源代码一一对应,以便更好的去维护和开发后续功能。

2. 分析

首先,从功能颗粒度的角度进行基本分析。

2.1 功能角度

  • 天空端
  1. 摄像视频采集
  2. 视频数据发送
  3. MAVLink数据采集
  4. MAVLink数据发送
  • 地面端
  1. 视频数据接收
  2. 摄像视频播放
  3. MAVLink数据接收
  4. OSD图层渲染

2.2 数据角度

  • 视频流
摄像视频采集  --> 视频数据发送 --> 视频数据接收 --> 摄像视频播放
  • MAVLink数据流
MAVLink数据采集 --> MAVLink数据发送 --> MAVLink数据接收 --> OSD图层渲染

3. 软件包

通过功能角度和数据角度分析,寻找对应软件包的方式关联的脚本或者代码证据,将整个流程串联起来。

3.1 wfb-ng

3.1.1 目标板配置

BR2_PACKAGE_WIFIBROADCAST=y

3.1.2 软件版配置

WIFIBROADCAST_VERSION = 24.08

3.1.3 视频数据发送 & 接收

start_drone_wfb() {
	wfb_tx -p "$stream" -u "$udp_port" -R "$rcv_buf" -K "$keydir/$unit.key" -B "$bandwidth" \
		-M "$mcs_index" -S "$stbc" -L "$ldpc" -G "$guard_interval" -k "$fec_k" -n "$fec_n" \
		-T "$pool_timeout" -i "$link_id" -f "$frame_type" -C 8000 "$wlan" > /dev/null &
}

start_gs_wfb() {
	wfb_rx -c "$udp_addr" -u "$udp_port" -p "$stream" -K "$keydir/$unit.key" -i "$link_id" "$wlan" > /dev/null &
}

3.2 datalink

3.2.1 目标板配置

BR2_PACKAGE_DATALINK=y

3.2.2 软件版配置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值