Difference between revisions of "VEYE CS Camera on Firfly Boards/zh"
Line 119: | Line 119: | ||
==== yavta示例 ==== | ==== yavta示例 ==== | ||
+ | <code>git clone <nowiki>https://github.com/veyeimaging/yavta.git</nowiki></code> | ||
+ | |||
+ | <code>cd yavta;make</code> | ||
+ | |||
+ | <code>./yavta -c1 -Fuyvy-1920x1080.yuv --skip 0 -f UYVY -s 1920x1080 /dev/video0</code> | ||
==== gstreamer应用范例 ==== | ==== gstreamer应用范例 ==== | ||
+ | 我们提供了几个gstreamer例程,实现了预览,抓拍,录像等功能。详见github上的[https://github.com/veyeimaging/rk356x_firefly/tree/main/linux/samples samples]目录。 | ||
==== OpenCV的导入 ==== | ==== OpenCV的导入 ==== | ||
+ | 首先安装OpenCV: | ||
+ | |||
+ | <code>sudo apt install python3-opencv</code> | ||
+ | |||
+ | 我们提供了几个将摄像头数据导入opencv的例程。详见github上的[https://github.com/veyeimaging/rk356x_firefly/tree/main/linux/samples samples]目录。 | ||
+ | |||
+ | 此外,Firefly的这个[https://wiki.t-firefly.com/zh_CN/Firefly-Linux-Guide/demo_OpenCV_support.html 页面]也有一定的参考价值。 | ||
=== i2c脚本使用说明 === | === i2c脚本使用说明 === |
Revision as of 13:54, 22 November 2022
怎样在Firefly的RK35XX板子上使用VEYE和CS系列摄像机(Ubuntu系统)
1 概述
VEYE系列和CS系列相机是我们推出的视频流模式MIPI摄像机。本文以Firefly的ROC-RK3566-PC主板为例,介绍怎样将VEYE和CS系列摄像机接入RK3566/RK3568/RK3588系统。
1.1 支持的摄像机模组
系列 | 型号 | 状态 |
---|---|---|
VEYE系列 | VEYE-MIPI-IMX327S | 完成 |
VEYE系列 | VEYE-MIPI-IMX462 | 完成 |
VEYE系列 | VEYE-MIPI-IMX385 | 完成 |
2 硬件准备及安装
VEYE系列和CS系列相机提供了兼容树莓派的15Pin端子,需要使用一个ADP-Tfirefly转接板转接到ROC-RK3566-PC主板上。
2.1 摄像机与ADP-Tfirefly的连接
二者使用1.0mm间距*15P的FFC异面线连接,注意接触面向外。
2.2 ADP-Tfirefly与主板的连接
二者使用0.5mm间距*30P的FFC同面线连接,注意接触面向内。
2.3 整体连接图
3 github库介绍
https://github.com/veyeimaging/rk356x_firefly
包括以下主要内容:
- driver和dts源码
- i2c通信工具集
- 应用层demo
此外,在releases中,提供了编译好的linux内核安装包。
4 更新Firefly主板的Ubuntu系统
4.1 概述
本章节描述怎样更新RK35xx系统以支持我们的摄像头模组。
对于一部分的版本,我们提供了deb安装包,可以直接安装。未提供安装包的版本,需要参考后面的章节,从驱动源码进行编译。
尽管我们现在以Ubuntu系统为例进行介绍,其他linux发行版也可以参考本文。
4.2 烧写Firefly官方标准系统
参考Firefly文档,烧写标准系统。
4.3 使用编译好的debain安装包
在RK35xx板子上,执行:
wget https://github.com/veyeimaging/rk356x_firefly/releases/latest/download/rk356x_firefly.tar.gz
tar -xavf rk356x_firefly.tar.gz
cd cd rk356x_firefly/released_images/ROC-RK3566-PC/ubuntu/
sudo dpkg -i linux-image-4.19.232_4.19.232-21_arm64.deb
如果版本不匹配,需要从源代码进行编译。
5 系统状态检测
完成系统安装后,在Firefly板端执行以下命令来检测是否正确连接摄像头。
- VEYE-MIPI-XXX
dmesg | grep veye
应当有类似如下提示:
veyecam2m 4-003b: camera id is veyecam2m
veyecam2m 4-003b: sensor is IMX327
- 执行如下命令检查video0设备节点
ls /dev/video0
可以看到
video0
正确识别摄像头之后,MIPI-CSI2接口的摄像头挂载到i2c-4,识别为/dev/video0。
6 应用范例
6.1 v4l2-ctl
6.1.1 安装v4l2-utils
sudo apt-get install v4l-utils
6.1.2 列出相机支持的数据格式
v4l2-ctl --list-formats-ext
6.1.3 抓取图片
v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=UYVY --stream-mmap --stream-count=1 --stream-to=uyvy-1920x1080.yuv
v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat='NV12' --stream-mmap --stream-count=100 --stream-to=nv12-1920x1080.yuv
播放图片
ffplay -f rawvideo -video_size 1920x1080 -pix_fmt nv12 nv12-1920x1080.yuv
6.1.4 查看帧率
v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=UYVY --stream-mmap --stream-count=-1 --stream-to=/dev/null
6.2 yavta示例
git clone https://github.com/veyeimaging/yavta.git
cd yavta;make
./yavta -c1 -Fuyvy-1920x1080.yuv --skip 0 -f UYVY -s 1920x1080 /dev/video0
6.3 gstreamer应用范例
我们提供了几个gstreamer例程,实现了预览,抓拍,录像等功能。详见github上的samples目录。
6.4 OpenCV的导入
首先安装OpenCV:
sudo apt install python3-opencv
我们提供了几个将摄像头数据导入opencv的例程。详见github上的samples目录。
此外,Firefly的这个页面也有一定的参考价值。
7 i2c脚本使用说明
8 从源码编译驱动和dtb
9 参考资料
- ROC-RK3566-PC 手册
https://wiki.t-firefly.com/zh_CN/ROC-RK3566-PC/
- Firefly Linux 开发指南
https://wiki.t-firefly.com/zh_CN/Firefly-Linux-Guide/index.html
10 本文修改记录
- 2022-10-22
发布第一个版本。