Difference between revisions of "MV Camera Application Development Guide on Rochchip/zh"

From wiki_veye
Jump to navigation Jump to search
(Created page with "English '''<big>MV系列摄像头模组在Rockchip平台的应用层使用和开发指南</big>''' === 概述 === 本文档适用于驱动已正确安装、硬件连接无...")
 
Line 3: Line 3:
 
'''<big>MV系列摄像头模组在Rockchip平台的应用层使用和开发指南</big>'''
 
'''<big>MV系列摄像头模组在Rockchip平台的应用层使用和开发指南</big>'''
  
=== 概述 ===
+
===概述===
 
本文档适用于驱动已正确安装、硬件连接无误,且相机已经正确识别的场景。
 
本文档适用于驱动已正确安装、硬件连接无误,且相机已经正确识别的场景。
  
 
本文主要达成一下目的:
 
本文主要达成一下目的:
  
* 查询已接入的 MV 系列摄像头的设备信息;
+
*查询已接入的 MV 系列摄像头的设备信息;
* 完成摄像头工作模式的设置和准备;
+
*完成摄像头工作模式的设置和准备;
* 介绍几种预览、抓图的方法;
+
*介绍几种预览、抓图的方法;
* 介绍参数配置方法;
+
*介绍参数配置方法;
* 对客户二次开发进行指引。
+
*对客户二次开发进行指引。
  
 
对于rockchip平台,无论使用哪种方法调用相机,均需完成设备探测和<code>media-ctl</code>配置格式的步骤,才可以进行后续操作。所以下面首先介绍设备探测和<code>media-ctl</code>配置。
 
对于rockchip平台,无论使用哪种方法调用相机,均需完成设备探测和<code>media-ctl</code>配置格式的步骤,才可以进行后续操作。所以下面首先介绍设备探测和<code>media-ctl</code>配置。
  
 
注意,veye_viewer客户端已经内置了设备探测和<code>media-ctl</code>配置功能。因此,在完成驱动安装和硬件连接确认之后,可以直接参考后文所述veye_viewer客户端章节预览相机图像。
 
注意,veye_viewer客户端已经内置了设备探测和<code>media-ctl</code>配置功能。因此,在完成驱动安装和硬件连接确认之后,可以直接参考后文所述veye_viewer客户端章节预览相机图像。
 +
 +
<br />
 +
 +
=== 系统状态检测 ===
 +
 +
==== 是否正确识别到了相机 ====
 +
完成系统安装后,系统上电。在Firefly板端执行以下命令来检测是否正确连接相机。
 +
 +
<code>dmesg | grep mvcam</code>
 +
 +
应当有类似下面的提示:
 +
 +
<code>mvcam 7-003b: camera is:MV-MIPI-IMX296M</code>
 +
 +
<code>mvcam 7-003b: firmware version: 0x1290133</code>
 +
 +
可以看到识别到当前的摄像机模组的型号,版本号。
 +
 +
在ROC-RK3588S-PC上,摄像机挂载在i2c-7, i2c地址是0x3b。
 +
 +
在ROC-RK3566-PC和ROC-RK3576-PC上,摄像机挂载在i2c-4。
 +
 +
* 执行如下命令检查video0设备节点
 +
 +
<code>ls /dev/video0</code>
 +
 +
可以看到
 +
 +
<code>video0</code>
 +
 +
正确识别摄像头之后,相机被识别为/dev/video0。
 +
 +
=== 设备检测并配置环境变量 ===
 +
在[https://github.com/veyeimaging/rk35xx_veye_bsp/tree/main/mv_tools_rockchip 这里],我们提供了两个脚本,可以自动检索相机的一些信息。
 +
 +
==== probe_camera_info-rk.sh ====
 +
该脚本用于探测已连接并成功注册的摄像头设备,检索设备对应的媒体设备节点、视频设备节点、子设备节点、I²C 总线及设备名称等底层信息。
 +
 +
执行后,将在当前目录生成 <code>auto_camera_index.json</code> 文件并在文件中记录检索到的信息。
 +
 +
下面是一个例子:
 +
 +
<code>$ ./probe_camera_info-rk.sh</code>
 +
 +
<code>cat auto_camera_index.json</code>
 +
 +
<code>[</code>
 +
 +
<code>  {</code>
 +
 +
<code>    "media_node": "/dev/media0",</code>
 +
 +
<code>    "video_node": "/dev/video0",</code>
 +
 +
<code>    "video_subnode": "/dev/v4l-subdev2",</code>
 +
 +
<code>    "media_entity_name": "m00_b_gxcam 7-003b",</code>
 +
 +
<code>    "i2c_bus": "7"</code>
 +
 +
<code>  }</code>
 +
 +
<code>]</code>
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 
<br />
 
<br />

Revision as of 09:32, 25 December 2025

English

MV系列摄像头模组在Rockchip平台的应用层使用和开发指南

1 概述

本文档适用于驱动已正确安装、硬件连接无误,且相机已经正确识别的场景。

本文主要达成一下目的:

  • 查询已接入的 MV 系列摄像头的设备信息;
  • 完成摄像头工作模式的设置和准备;
  • 介绍几种预览、抓图的方法;
  • 介绍参数配置方法;
  • 对客户二次开发进行指引。

对于rockchip平台,无论使用哪种方法调用相机,均需完成设备探测和media-ctl配置格式的步骤,才可以进行后续操作。所以下面首先介绍设备探测和media-ctl配置。

注意,veye_viewer客户端已经内置了设备探测和media-ctl配置功能。因此,在完成驱动安装和硬件连接确认之后,可以直接参考后文所述veye_viewer客户端章节预览相机图像。


2 系统状态检测

2.1 是否正确识别到了相机

完成系统安装后,系统上电。在Firefly板端执行以下命令来检测是否正确连接相机。

dmesg | grep mvcam

应当有类似下面的提示:

mvcam 7-003b: camera is:MV-MIPI-IMX296M

mvcam 7-003b: firmware version: 0x1290133

可以看到识别到当前的摄像机模组的型号,版本号。

在ROC-RK3588S-PC上,摄像机挂载在i2c-7, i2c地址是0x3b。

在ROC-RK3566-PC和ROC-RK3576-PC上,摄像机挂载在i2c-4。

  • 执行如下命令检查video0设备节点

ls /dev/video0

可以看到

video0

正确识别摄像头之后,相机被识别为/dev/video0。

3 设备检测并配置环境变量

这里,我们提供了两个脚本,可以自动检索相机的一些信息。

3.1 probe_camera_info-rk.sh

该脚本用于探测已连接并成功注册的摄像头设备,检索设备对应的媒体设备节点、视频设备节点、子设备节点、I²C 总线及设备名称等底层信息。

执行后,将在当前目录生成 auto_camera_index.json 文件并在文件中记录检索到的信息。

下面是一个例子:

$ ./probe_camera_info-rk.sh

cat auto_camera_index.json

[

  {

    "media_node": "/dev/media0",

    "video_node": "/dev/video0",

    "video_subnode": "/dev/v4l-subdev2",

    "media_entity_name": "m00_b_gxcam 7-003b",

    "i2c_bus": "7"

  }

]