第一个硬件项目¶
Copyright © Quectel Wireless Solutions Co., Ltd. 2026. All rights reserved.
本章节以Quectel Pi开发套件支持的配件IMX219 摄像头作为例子,带您快速熟悉Quectel Pi的外设调试。
用 IMX219 摄像头拍第一张照片¶
如果您没有IMX219摄像头模块,可跳过此章节。更详细使用摄像头教程:MIPI摄像头
安装摄像头¶
关闭开发板电源。
找到板上标注为 CAM0 或 CAM1 的 MIPI CSI 排线接口。
将 IMX219 摄像头的排线金手指朝下,插入接口并扣紧卡扣。
重新上电启动。
注意:排线方向不可插反,金手指面朝电路板方向(朝下)。安装和拆卸排线时务必先断电。


控制摄像头(Gnome)¶
摄像头可以拍照/录制成文件查看,也可以直接在显示屏桌面预览:
设置桌面环境变量¶
M1的Debian系统默认桌面是Gnome,复制下方命令行代码,在adb终端执行即可:
#如不在桌面上预览则不需要
#gnome桌面
export GST_V4L2_FORCE_LIBV4L2=0
export WAYLAND_DISPLAY=wayland-0
export XDG_RUNTIME_DIR=/run/user/1000
拍照¶
用 camera=0/1 来区分CSI卡槽所插入的摄像头,camera=0 代表第一个CSI 卡槽,camera=1 代表第二个 CSI 卡槽。下文命令以 camera0 为例,若接入 camera1,需修改摄像头对应节点位置。
|
|
|---|---|
camera0 |
/dev/video33 |
camera1 |
/dev/video51 |
在设备终端运行以下命令:
# 配置摄像头输出 1640×1232 的 NV12 原始数据
v4l2-ctl -d /dev/video33 --set-fmt-video=width=1640,height=1232,pixelformat=NV12
# 跳过 5 帧后,用 mmap 方式采集 1 帧,保存为 YUV 文件。
v4l2-ctl -d /dev/video33 --stream-mmap=2 --stream-skip=5 --stream-count=1 --stream-to=/tmp/raw_cam1.yuv
# 用 FFmpeg 将此原始 YUV 帧编码为 JPEG 图片
ffmpeg -f rawvideo -pix_fmt nv12 -s 1640x1232 -i /tmp/raw_cam1.yuv -frames:v 1 -q:v 2 /tmp/photo_cam1.jpg
图像文件保存在/tmp/目录下
录像¶
在设备终端运行以下命令:
# 配置摄像头输出 1640×1232 分辨率、NV12 格式的原始数据。
v4l2-ctl -d /dev/video33 --set-fmt-video=width=1640,height=1232,pixelformat=NV12
# 使用 4 个缓冲区,跳过前 10 帧,连续采集 60 帧原始 YUV 数据,保存为文件。
v4l2-ctl -d /dev/video33 --stream-mmap=4 --stream-skip=10 --stream-count=60 --stream-to=/tmp/rec_cam0.yuv
# 将原始 YUV 序列以 30fps 帧率解读,用 H.264 编码器压缩,编码预设为 fast,视频码率设为 8 Mbps,最终封装成 MP4 视频文件。
ffmpeg -f rawvideo -pix_fmt nv12 -s 1640x1232 -framerate 30 \
-i /tmp/rec_cam0.yuv -c:v h264 -preset fast -b:v 8M /tmp/rec_cam0.mp4
MP4文件保存在/tmp/目录下
如果要停止摄像头录制,请按下CTRL+C