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 设置语句 OV9281 dtoverlay=ov9281,cam0 dtoverlay=ov9281,cam1 IMX290/IMX327 dtoverlay=imx290,clock-frequency=37125000,cam0 dtoverlay=imx290,clock-frequency=37125000,cam1 IMX378 dtoverlay=imx378,cam0 dtoverlay=imx378,cam1 IMX219 dtoverlay=imx219,cam0 dtoverlay=imx219,cam1 IMX477 dtoverlay=imx477,cam0 dtoverlay=imx477,cam1 IMX296 dtoverlay=imx296,cam0 dtoverlay=imx296,cam1 IMX708 dtoverlay=imx708,cam0 dtoverlay=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