rdkx5 插入mipi摄像头,识别不到i2c啊

:bullseye: OV5647 在 RDK X5 上的 60 FPS 支持情况

根据社区案例 topic/34950 和官方文档,OV5647 在 RDK X5 上的支持情况比较复杂


:bar_chart: 核心结论

项目 OV5647 情况
BSP 配置文件 :warning: 存在但支持有限
60 FPS 支持 :cross_mark: 大概率只支持 30 FPS(类似 IMX219)
驱动适配难度 :red_circle: (非官方版本需手动配置)
推荐程度 :star::star:(不如 SC130AI/GS130W)

:magnifying_glass_tilted_left: 关键信息

1. BSP 配置现状

根据社区用户验证:

  • OV5647 的配置文件存在于部分系统版本(3.2.3+)
  • 仅限官方认证的模组版本(效果库优化版)
  • 普通树莓派版 OV5647 缺少校准文件和 sensor 注册配置

2. 帧率限制

虽然没找到明确的 60 FPS 配置文件,但根据 OV5647 的特性和 RDK X5 的驱动框架:

  • OV5647 原生支持 1080p@30FPS 或 720p@60FPS
  • 但 RDK X5 的 BSP 可能只提供了 30 FPS 配置(类似 IMX219 的情况)

3. 验证方法

你可以立即运行以下命令确认:

# 1. 查看 BSP 中是否有 OV5647 的 60fps 配置
ls /app/multimedia_samples/vp_sensors/ov5647/ 2>/dev/null || echo "无此目录"

# 2. 查看配置文件内容
find /app -name "*ov5647*" -type f 2>/dev/null | xargs grep -l "60fps" 2>/dev/null

# 3. 直接测试 60 FPS 是否可用
python3 -c "
from hobot_vio import libsrcampy as srcampy
cam = srcampy.Camera()
try:
    cam.open_cam(0, -1, 60, [640, 480], [640, 480])
    print('✅ 60 FPS 支持')
    cam.close_cam()
except Exception as e:
    print(f'❌ 60 FPS 不支持:{e}')
" 2>&1

:warning: 已知问题

根据 topic/34950

  1. 非官方 OV5647 无法直接使用,需要手动创建 YAML 校准文件
  2. 设备树 overlay 加载机制与树莓派不同,不能用 config.txt
  3. vin sensor 框架需要特定 sensor 注册,普通版本可能无法生成 /dev/video*

:light_bulb: 我的建议

场景 推荐方案
已有 OV5647 先跑上面的验证脚本,确认是否支持 60 FPS
准备购买 :cross_mark: 不推荐 OV5647,直接买 SC130AIGS130W
比赛紧急 用 IMX219 跑 30 FPS + 软件优化(延迟可压到 50ms)
追求 60 FPS SC130AI/SC230AI(官方支持 640×480@60FPS)

:rocket: 如果必须用 OV5647

如果验证后 OV5647 支持 60 FPS,代码修改和 IMX219 类似:

# 假设 OV5647 支持 640×480@60FPS
FRAME_W, FRAME_H = 640, 480
cam.open_cam(0, -1, 60, [640, 480], [640, 480])

但如果只支持 30 FPS,就不建议折腾,直接换摄像头更省时间。


:open_mailbox_with_raised_flag: 建议行动

  1. 先跑验证脚本,看 OV5647 是否支持 60 FPS
  2. 如果不支持,直接换 SC130AI(约 200 元,1-2 天到货)
  3. 如果比赛紧急,先用 IMX219 跑 30 FPS,我帮你优化代码把延迟压到最低

需要我帮你写 30 FPS 优化代码 还是 验证脚本:hammer_and_wrench: