Difference between revisions of "Matrix - CAM500B/zh"
(→连接开发板使用) |
(updated by API) |
||
(18 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | + | [[Matrix - CAM500B|English]] | |
− | + | ||
− | [[Matrix - | + | |
==介绍== | ==介绍== | ||
[[File:CAM500A.jpg|thumb|CAM500A]] | [[File:CAM500A.jpg|thumb|CAM500A]] | ||
* CAM500B是一款使用OmniVision的CMOS图像传感器OV5640设计的500万像素摄像头模块,以DVP并行信号输出,支持高达2592x1944分辨率拍照、720P@30fps录像,自动对焦、自动白平衡、自动曝光控制等功能。CAM500B采用定焦广角镜头,焦距是2.7mm,光圈值是2.8,视角是66度。 | * CAM500B是一款使用OmniVision的CMOS图像传感器OV5640设计的500万像素摄像头模块,以DVP并行信号输出,支持高达2592x1944分辨率拍照、720P@30fps录像,自动对焦、自动白平衡、自动曝光控制等功能。CAM500B采用定焦广角镜头,焦距是2.7mm,光圈值是2.8,视角是66度。 | ||
− | |||
==特性== | ==特性== | ||
Line 13: | Line 10: | ||
* 自动对焦、自动白平衡、自动曝光控制 | * 自动对焦、自动白平衡、自动曝光控制 | ||
* 24-Pin FPC接口,包括DVP并行输出信号,3.3V电源,I2C和GPIO控制信号 | * 24-Pin FPC接口,包括DVP并行输出信号,3.3V电源,I2C和GPIO控制信号 | ||
+ | * 信号电平为3.3V | ||
− | == | + | ==硬件连接== |
− | + | ===连接NanoPi M2=== | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | ===连接NanoPi | + | |
* NanoPi M2使用CAM500B摄像头。 | * NanoPi M2使用CAM500B摄像头。 | ||
[[File:CMOS-camera-NanoPi2-M2.png|frameless|500px|CMOS camera-M2]] | [[File:CMOS-camera-NanoPi2-M2.png|frameless|500px|CMOS camera-M2]] | ||
− | ===连接NanoPi | + | ===连接NanoPi 2=== |
* NanoPi 2使用CAM500B摄像头。 | * NanoPi 2使用CAM500B摄像头。 | ||
[[File:CMOS-camera-nanopi2.png|frameless|500px|CMOS camera]] | [[File:CMOS-camera-nanopi2.png|frameless|500px|CMOS camera]] | ||
− | ===连接NanoPi 2 | + | ===连接NanoPi 2 Fire=== |
*NanoPi 2 Fire使用CAM500B摄像头。 | *NanoPi 2 Fire使用CAM500B摄像头。 | ||
[[File:CMOS-camera-nanopi2 Fire.png|frameless|500px|CMOS camera01]] | [[File:CMOS-camera-nanopi2 Fire.png|frameless|500px|CMOS camera01]] | ||
− | ===连接NanoPC- | + | ===连接NanoPC-T2=== |
− | *NanoPC-T2使用CAM500B摄像头。 | + | * NanoPC-T2使用CAM500B摄像头。 |
[[File:CMOS-camera-nanopc-t2.png|frameless|500px|CMOS camera]] | [[File:CMOS-camera-nanopc-t2.png|frameless|500px|CMOS camera]] | ||
+ | |||
+ | ===连接Smart4418=== | ||
+ | * Smart4418使用CAM500B摄像头。 | ||
+ | [[File:CMOS-camera-Smart4418.png|frameless|500px|CMOS camera]] | ||
+ | |||
+ | ===连接NanoPi M3=== | ||
+ | [[File:CMOS-camera-nanopiM3.png|frameless|500px|CMOS camera-M3]] | ||
+ | |||
+ | ===连接NanoPi-T3=== | ||
+ | [[File:CMOS-camera-nanopc-t2.png|frameless|500px|CMOS camera]] | ||
+ | |||
+ | ===连接NanoPi M1=== | ||
+ | [[File:NanoPi-M1-cam500a.jpg|frameless|500px|NanoPi-M1-cam500a]] | ||
+ | |||
+ | ===连接NanoPi M1 Plus=== | ||
+ | [[File:NanoPi-M1-Plus-cam500a.jpg|frameless|500px|NanoPi-M1-Plus-cam500a]] | ||
+ | |||
+ | ===连接NanoPi NEO Air=== | ||
+ | [[File:NanoPi-AIR-cam500b.jpg|frameless|500px|NanoPi-AIR-cam500b]] | ||
+ | |||
+ | ===连接NanoPi K1 Plus=== | ||
+ | [[File:NanoPi-K1-Plus-cam500b.jpg|frameless|500px|NanoPi-k1-Plus-cam500b]] | ||
+ | |||
+ | ==连接S5P4418/S5P6818开发板使用== | ||
+ | * Android5.1系统,假设你已经接好LCD屏或者HDMI,进入系统后,直接点击“Camera”图标,即可打开摄像头进行拍照和录制视频。 | ||
+ | * Debian/Ubuntu系统集成了命令行的摄像头示例程序nanocams,登录后输入以下命令即可预览40桢然后拍照保存为指定的文件。 | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | sudo nanocams -p 1 -n 40 -c 4 -o IMG001.jpg | ||
+ | </syntaxhighlight> | ||
+ | 更详细的命令行参数可执行命令“nanocams -h”。 | ||
+ | 如果要下载源代码,运行以下命令即可获得: | ||
+ | <syntaxhighlight lang="bash"> | ||
+ | git clone https://github.com/friendlyarm/nexell_linux_platform.git | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==连接H3/H5开发板使用== | ||
+ | {{FriendlyCoreAllwinner-DVPCam/zh}} | ||
==资源下载== | ==资源下载== | ||
− | * [http://wiki. | + | * [http://wiki.friendlyelec.com/wiki/index.php/File:OV5640_datasheet.pdf Datasheet] |
− | * [http://wiki. | + | * [http://wiki.friendlyelec.com/wiki/index.php/File:CAM500A-CAM500B-Schematic.pdf CAM500A-CAM500B-Schematic.pdf] |
− | * [http://wiki. | + | * [http://wiki.friendlyelec.com/wiki/images/7/74/CAM500B_dxf.zip CAM500B_dxf.zip] |
− | + | ||
友善之臂开发的一个完全开源的CAM500A摄像头安卓APP | 友善之臂开发的一个完全开源的CAM500A摄像头安卓APP | ||
(支持预览,拍照,录像) | (支持预览,拍照,录像) | ||
* [APP source code: https://github.com/friendlyarm/android_CameraDemo] | * [APP source code: https://github.com/friendlyarm/android_CameraDemo] | ||
* [Source code for NanoPi 2:https://github.com/friendlyarm] | * [Source code for NanoPi 2:https://github.com/friendlyarm] |
Latest revision as of 07:17, 21 February 2022
Contents
1 介绍
- CAM500B是一款使用OmniVision的CMOS图像传感器OV5640设计的500万像素摄像头模块,以DVP并行信号输出,支持高达2592x1944分辨率拍照、720P@30fps录像,自动对焦、自动白平衡、自动曝光控制等功能。CAM500B采用定焦广角镜头,焦距是2.7mm,光圈值是2.8,视角是66度。
2 特性
- 500万像素拍照,720P@30fps录像
- 焦距2.7mm,光圈2.8,视角66度
- 自动对焦、自动白平衡、自动曝光控制
- 24-Pin FPC接口,包括DVP并行输出信号,3.3V电源,I2C和GPIO控制信号
- 信号电平为3.3V
3 硬件连接
3.1 连接NanoPi M2
- NanoPi M2使用CAM500B摄像头。
3.2 连接NanoPi 2
- NanoPi 2使用CAM500B摄像头。
3.3 连接NanoPi 2 Fire
- NanoPi 2 Fire使用CAM500B摄像头。
3.4 连接NanoPC-T2
- NanoPC-T2使用CAM500B摄像头。
3.5 连接Smart4418
- Smart4418使用CAM500B摄像头。
3.6 连接NanoPi M3
3.7 连接NanoPi-T3
3.8 连接NanoPi M1
3.9 连接NanoPi M1 Plus
3.10 连接NanoPi NEO Air
3.11 连接NanoPi K1 Plus
4 连接S5P4418/S5P6818开发板使用
- Android5.1系统,假设你已经接好LCD屏或者HDMI,进入系统后,直接点击“Camera”图标,即可打开摄像头进行拍照和录制视频。
- Debian/Ubuntu系统集成了命令行的摄像头示例程序nanocams,登录后输入以下命令即可预览40桢然后拍照保存为指定的文件。
sudo nanocams -p 1 -n 40 -c 4 -o IMG001.jpg
更详细的命令行参数可执行命令“nanocams -h”。 如果要下载源代码,运行以下命令即可获得:
git clone https://github.com/friendlyarm/nexell_linux_platform.git
5 连接H3/H5开发板使用
连接开发板和摄像头,然后上电启动系统,连接网络,以root用户登录终端并编译运行mjpg-streamer:
$ cd /root/C/mjpg-streamer $ make $ ./start.sh
请自行修改start.sh, 确保使用正确的/dev/videoX节点, 下列命令可以用来确定摄像头的video节点:
$ apt-get install v4l-utils $ v4l2-ctl -d /dev/video0 -D Driver Info (not using libv4l2): Driver name : sun6i-video Card type : sun6i-csi Bus info : platform:camera Driver version: 4.14.0 ...
上述信息表示/dev/video0是摄像头的设备节点。mjpg-streamer是一个开源的网络视频流服务器,在板子上成功运行mjpg-streamer后会打印下列信息:
$ ./start.sh i: Using V4L2 device.: /dev/video0 i: Desired Resolution: 1280 x 720 i: Frames Per Second.: 30 i: Format............: YUV i: JPEG Quality......: 90 o: www-folder-path...: ./www/ o: HTTP TCP port.....: 8080 o: username:password.: disabled o: commands..........: enabled
start.sh脚本里执行了下列2个命令:
export LD_LIBRARY_PATH="$(pwd)" ./mjpg_streamer -i "./input_uvc.so -d /dev/video0 -y 1 -r 1280x720 -f 30 -q 90 -n -fb 0" -o "./output_http.so -w ./www"
mjpg_streamer相关参数的含义如下:
-i: 选择输入插件,input_uvc.so表示从摄像头采集数据;
-o: 选择输出插件,output_http.so表示使用http协议传输数据;
-d: 输入插件的子参数,指定摄像头设备节点;
-y: 输入插件的子参数,指定摄像头采集数据的格式,1:yuyv, 2:yvyu, 3:uyvy 4:vyuy,如果不使用-y参数,则表示采集MJPEG格式;
-r: 输入插件的子参数,指定摄像头采集分辨率;
-f: 输入插件的子参数,指定想使用的摄像头采集fps,具体是否支持依赖于驱动;
-q: 输入插件的子参数,指定libjpeg软编码的图像质量;
-n: 输入插件的子参数, 禁止dynctrls功能;
-fb: 输入插件的子参数, 指定是否在/dev/fbX上显示采集的图像;
-w: 输出插件的子参数, 指定包含网页的目录;
成功运行start.sh脚本后,假设开发板的IP地址为192.168.1.230,在PC的浏览器中输入 192.168.1.230:8080 就能浏览摄像头采集的画面了,效果如下:
mjpg-streamer是用libjpeg对摄像头数据进行软编码,Linux-4.14内核的ROM目前并不支持视频硬编码, 但是如果使用H3板子 + Linux-3.4内核的ROM的话, 可以使用ffmpeg对摄像头数据进行硬编码,这样能大大降低CPU的占用率并提高编码速度:
$ ffmpeg -t 30 -f v4l2 -channel 0 -video_size 1280x720 -i /dev/video0 -pix_fmt nv12 -r 30 -b:v 64k -c:v cedrus264 test.mp4
默认会录制30秒的视频,输入q能终止录制。录制完成后会在当前目录生成一个名为test.mp4的视频文件,可将其拷贝到PC上进行播放验证。
6 资源下载
友善之臂开发的一个完全开源的CAM500A摄像头安卓APP (支持预览,拍照,录像)
- [APP source code: https://github.com/friendlyarm/android_CameraDemo]
- [Source code for NanoPi 2:https://github.com/friendlyarm]