This website requires JavaScript.
入驻
发布

ESP32 低延迟图传(天空端)

Ncer 发布于2024-05-17 17:27:49 CC BY-NC-SA协议 分类:射频/微波 侵权投诉
销量: 5
13
6
0
简介:

基于ESP32 和 OV2640的低延时图传(原理:WIFIBroadcast)

应用场景:

航模/车模/船模/各种RC场景

一、产品简介

基于ESP32 和 OV2640的低延时图传


二、应用场景

航模/车模/船模/各种RC场景


三、产品概述

一个专注于降低延时的图传。主要特点:

  1. 摄像头每输出一部分数据,即可马上发送一部分数据,不需要等一整帧出来再发送。
  2. 基于WIFIBroadcast,与一般的wifi图传区别在于,这种方式不需要建立wifi连接,即使超出wifi连接的距离,仍然能收到一定的数据包,因此虽然帧率会降低,但至少不会断开而卡住好几秒



四、产品参数

  1. 分辨率在320*240 下,可以到80帧输出(也取决于ov2640,有的ov2640视场角比较大,一帧的数据较大,达不到80帧)
  2. 延迟可以达到40ms
  3. 可以修改分辨率(需要自行修改代码),ov2640最高支持200W像素(800*600 的延迟大概在 60ms左右)
  4. 带宽最高可达54Mbps
  5. 在空旷位置地面测试,距离可达200米(320*240分辨率,帧率30fps)。在空中预计可以获得更远距离。
  6. PCB阻容封装均采用0603,便于手焊


五、使用说明:

ESP32 低延迟图传(天空端)硬件项目图1

  1. 天空端烧写:按住按键上电,进入下载模式
  2. 按照图示操作:

ESP32 低延迟图传(天空端)硬件项目图2

3. 如果作为图传天空端使用,需要地面站配合,以下为地面站运行说明,需要有一定的Linux编程基础。请根据该说明评估难度,以确定是否需要购买

  1. 下载地面站源码
  2. 需要运行在Linux上(windows 可能可以,不确定windows的pcap是否支持monitor)
  3. 安装rust,安装libpcap-dev等依赖库
  4. 编译地面站:cargo build --release
  5. 将网卡设为monitor模式: 运行 scripts 下的set_netcard.sh 网卡设备名(2.4G网卡,推荐AR9271)
  6. 运行地面站:
sudo ./esp-vtx-gs-rs --dev 网卡设备名 

g. 推流:运行scripts下的 gst_stream.sh (需要安装gstreamerl)

h. 播放:运行scripts下的 gst_play.sh


六、备注

  1. 如果linux报网卡无法设置为monitor模式的错(常见于ubuntu20以后), 需要重新编译一下libpcap的库
  2. 需要自行购买2.4G天线,接口为IPEX1代,注意天线要买好点的,有的天线阻抗比较离谱,反射比较严重,会导致信号发不出去,严重影响接收的帧率。
  3. 原理图中U2(PSRAM) 和 U4(SD Nand) 相关电路可以不焊,这些是为了后期支持DVR的。
  4. 原理图中,SDIO 相关的上拉电阻都可以不焊,也是为了后期DVR支持用的。
  5. 成本:PCB+物料 50 + ov2640 20
  6. 附件主要有3个,分别时编译好的固件(.bin文件),以及天空端与地面站的源码。天空端使用idf4.3.3编译, 地面站需安装rust 及cargo 以及libpcap库。



七、 测试视频

帧率测试: 发射端的帧率输出在70fps左右(刚上电时可以到80fps,芯片发热后最终会稳定在65-70 fps)

接收端运行在ubuntu22.04 ,使用网卡AR9271 测试:


ESP32 无人机 航模 图传
最近更新时间 2024-05-17 17:27:49
描述
PCB
元件清单
原理图
附件
讨论