Difference between revisions of "MV Camera Application Development Guide on Rochchip/zh"
(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"
}
]