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

From wiki_veye
Jump to navigation Jump to search
Line 16: Line 16:
 
On the Rockchip platform, regardless of the method used to access the camera, it is necessary to complete '''device detection''' and '''media-ctl configuration''' before performing any further operations. Therefore, the following sections first cover device detection and media-ctl setup.
 
On the Rockchip platform, regardless of the method used to access the camera, it is necessary to complete '''device detection''' and '''media-ctl configuration''' before performing any further operations. Therefore, the following sections first cover device detection and media-ctl setup.
  
=== Device Detection and Environment Configuration ===
+
===Device Detection and Environment Configuration===
 
[https://github.com/veyeimaging/rk35xx_veye_bsp/tree/main/mv_tools_rockchip/i2c_tools Here], we provide two scripts that can automatically retrieve key information about the connected camera.
 
[https://github.com/veyeimaging/rk35xx_veye_bsp/tree/main/mv_tools_rockchip/i2c_tools Here], we provide two scripts that can automatically retrieve key information about the connected camera.
  
==== probe_camera_info-rk.sh ====
+
====probe_camera_info-rk.sh====
 
This script is used to probe connected and successfully registered camera devices, retrieving underlying information such as the corresponding media device node, video device node, sub-device node, I²C bus, and device name.
 
This script is used to probe connected and successfully registered camera devices, retrieving underlying information such as the corresponding media device node, video device node, sub-device node, I²C bus, and device name.
  
Line 84: Line 84:
 
|Used as the underlying communication channel for camera parameter configuration, e.g., by the <code>mv_mipi_i2c.sh</code> script
 
|Used as the underlying communication channel for camera parameter configuration, e.g., by the <code>mv_mipi_i2c.sh</code> script
 
|}
 
|}
 +
The media device node, video device node, sub-device node, I²C bus, and device name used in the following sections can all be replaced with the corresponding information obtained from the JSON file generated by this probe script.
 +
 +
==== mv_probe.sh ====
 +
The <code>mv_probe.sh</code> script can configure environment variables with key information for a specific camera, including the I²C bus number, camera model, resolution (width and height), and frame rate. This simplifies subsequent use of <code>media-ctl</code> for format configuration.
 +
 +
The usage method is:
 +
 +
<code>$ source ./mv_probe.sh <i2c_bus></code>
 +
 +
Example:
 +
 +
<code>$ source ./mv_probe.sh 7</code>
 +
 +
<code>Found veye_mvcam camera on i2c-7.</code>
 +
 +
<code>Setenv I2C_BUS = 7</code>
 +
 +
<code>Setenv CAMERAMODEL = MV-MIPI-AR0234M</code>
 +
 +
<code>Setenv FPS = 60</code>
 +
 +
<code>Setenv WIDTH = 1920</code>
 +
 +
<code>Setenv HEIGHT = 1200</code>
 +
 +
You can verify the environment variable output using:
 +
 +
<code>echo $CAMERAMODEL</code>
 +
 +
Note that these environment variables are only valid for the current session.
 +
 +
'''Important Notes:'''
 +
 +
* This script requires the <code>mvcam</code> driver version '''1.1.06 or later'''.
 +
* If your driver version is '''earlier than 1.1.06''' or you need to use different width, height, or frame rate values, refer to the camera module manual and manually configure the following environment variables. Otherwise, subsequent programs may not function correctly.
 +
 +
Example:
 +
 +
<code>export WIDTH=1920</code>
 +
 +
<code>export HEIGHT=1200</code>
 +
 +
<code>export FPS=30</code>
 +
 +
 +
 +
 +
 +
<br />

Revision as of 11:01, 26 December 2025

查看中文

Application Layer Usage and Development Guide for MV/RAW Series Camera Modules on the Rockchip Platform

1 Overview

This document applies to scenarios where the camera hardware is correctly connected, the driver is properly installed, and the MV/RAW series camera has been successfully recognized.

The main objectives of this guide are to:

  • Query the device information of the connected MV/RAW series camera
  • Configure and prepare the camera operating modes
  • Introduce several methods for previewing and capturing images
  • Explain camera parameter configuration
  • Provide guidance for customer-specific development

On the Rockchip platform, regardless of the method used to access the camera, it is necessary to complete device detection and media-ctl configuration before performing any further operations. Therefore, the following sections first cover device detection and media-ctl setup.

2 Device Detection and Environment Configuration

Here, we provide two scripts that can automatically retrieve key information about the connected camera.

2.1 probe_camera_info-rk.sh

This script is used to probe connected and successfully registered camera devices, retrieving underlying information such as the corresponding media device node, video device node, sub-device node, I²C bus, and device name.

After execution, an auto_camera_index.json file will be generated in the current directory, containing the retrieved information.

Example usage:

$ ./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_mvcam 7-003b",

    "i2c_bus": "7"

  }

]

Each {} block represents a single camera. If the board supports multiple camera modules, multiple {} blocks will be present in the file.

Explanation of Camera Information:

Camera Information
Field Name Purpose Usage
media_node Media device node Used to access the device within the media-controller framework Used when configuring resolution and format via the media-ctl command
video_node Video capture device node Standard V4L2 video device Used with v4l2-ctl or customer applications to capture images
video_subnode V4L2 sub-device node Used for configuring certain camera parameters Accessed via v4l2-ctl commands
media_entity_name Media entity name Describes the device, e.g., "m00_b_mvcam 7-003b" Used when setting resolution and format with media-ctl
i2c_bus I²C bus Indicates the I²C bus to which the device is connected Used as the underlying communication channel for camera parameter configuration, e.g., by the mv_mipi_i2c.sh script

The media device node, video device node, sub-device node, I²C bus, and device name used in the following sections can all be replaced with the corresponding information obtained from the JSON file generated by this probe script.

2.2 mv_probe.sh

The mv_probe.sh script can configure environment variables with key information for a specific camera, including the I²C bus number, camera model, resolution (width and height), and frame rate. This simplifies subsequent use of media-ctl for format configuration.

The usage method is:

$ source ./mv_probe.sh <i2c_bus>

Example:

$ source ./mv_probe.sh 7

Found veye_mvcam camera on i2c-7.

Setenv I2C_BUS = 7

Setenv CAMERAMODEL = MV-MIPI-AR0234M

Setenv FPS = 60

Setenv WIDTH = 1920

Setenv HEIGHT = 1200

You can verify the environment variable output using:

echo $CAMERAMODEL

Note that these environment variables are only valid for the current session.

Important Notes:

  • This script requires the mvcam driver version 1.1.06 or later.
  • If your driver version is earlier than 1.1.06 or you need to use different width, height, or frame rate values, refer to the camera module manual and manually configure the following environment variables. Otherwise, subsequent programs may not function correctly.

Example:

export WIDTH=1920

export HEIGHT=1200

export FPS=30