跳到主要内容

CSI

本节介绍在树莓派上如何使用 CSI 接口功能,为后续项目开发奠定基础。

注意:单个摄像头只能连接 MIPI0
注意:CSI 接口默认为禁用状态,使用前需先配置 config.txt 文件

csi 接口选择-驱动设置

  • 启用 CSI 接口(默认为禁用用状态)

  • 进入 config.txt 文件(根据你的系统版本选择对应路径)

    sudo nano /boot/config.txt            # 部分旧版本系统在这个路径
    sudo nano /boot/firmware/config.txt   # 新版系统基本都在这个路径
  • 根据使用的摄像头型号在 config.txt 中添加相应配置(以下使用 imx219 驱动的摄像头举例)

    摄像头驱动型号CAM0 设置语句CAM1 设置语句
    OV9281dtoverlay=ov9281,cam0dtoverlay=ov9281,cam1
    IMX290/IMX327dtoverlay=imx290,clock-frequency=37125000,cam0dtoverlay=imx290,clock-frequency=37125000,cam1
    IMX378dtoverlay=imx378,cam0dtoverlay=imx378,cam1
    IMX219dtoverlay=imx219,cam0dtoverlay=imx219,cam1
    IMX477dtoverlay=imx477,cam0dtoverlay=imx477,cam1
    IMX296dtoverlay=imx296,cam0dtoverlay=imx296,cam1
    IMX708dtoverlay=imx708,cam0dtoverlay=imx708,cam1
  • 若想仅使用 CSI0 (MIPI0),则添加以下指令

    dtoverlay=imx219,cam0               #CSI0 (MIPI0)
  • 若想仅使用 CSI1 (MIPI1),则添加以下指令

    dtoverlay=imx219,cam1               #CSI1 (MIPI1)
  • 若想同时使用 CSI0 (MIPI0) 和 CSI1 (MIPI1),则添加以下指令

    dtoverlay=imx219,cam0               #CSI0 (MIPI0)
    dtoverlay=imx219,cam1 #CSI1 (MIPI1)
  • 修改之后重启树莓派,就可以正常使用 CSI 接口驱动摄像头了

    sudo reboot

摄像头检测

  • 若没有启用 CSI 接口的话,先启用 CSI 接口(注意:驱动设置要和使用的摄像头一致)
  • 使用指令检测当前连接的摄像头
    rpicam-hello --list-cameras
  • 打开对应的摄像头
    rpicam-hello --camera 0 -t 0    # 打开编号为 0 的摄像头
    rpicam-hello --camera 1 -t 0 # 打开编号为 1 的摄像头
  • 如果可以识别无法启动,尝试更新系统:
    sudo rpi-update

显示实时画面

  • 若没有启用 CSI 接口的话,先启用 CSI 接口(注意:驱动设置要和使用的摄像头一致)
  • 显示摄像头画面到桌面(注意:使用 SSH 连接时,不能使用以下指令显示)
    rpicam-hello -t 0

拍照

  • 若没有启用 CSI 接口的话,先启用 CSI 接口(注意:驱动设置要和使用的摄像头一致)
  • 拍摄一张照片,并将照片存放到当前目录
    rpicam-jpeg -o test.jpg

视频录制

  • 若没有启用 CSI 接口的话,先启用 CSI 接口(注意:驱动设置要和使用的摄像头一致)
  • 录制一个 10s 的视频,并将视频存放到当前目录
    rpicam-vid -t 10s -o test.h264