板子:君益兴的helper2416
配置内核,使能V4L,使其支持USB摄像头
kernel menuconfig
<*> Multimedia support —>
<*>Video For Linux
<*>Video capture adapters —>
<*>V4L USB devices —>
<*> USB Video Class
<*>UVC input events device support
编译,运行板子,插上摄像头,如果成功会在/dev/下生成类似命名为video0的设备
测试USB摄像头的工具
luvcview 能够显示V4L驱动的摄像头视频的工具,
(注意,编译后不一定能正常工作,我编译的会segmentfault,不知道是什么问题,后面会介绍另一个工具)
http://openports.se/graphics/luvcview
下载最新的luvcview-20070512.tar.gz
luvcview 依赖于SDL
到sdl的主页
http://www.libsdl.org/download-1.2.php
下载源码,我下的是 SDL-1.2.15.tar.gz
交叉编译SDL
tar -xvf SDL-1.2.15.tar.gz
cd SDL-1.2.15/
./configure CC=arm-linux-gcc --host=arm-linux --prefix=/usr/local/arm/arm446/ --disable-joystick --disable-cdrom --disable-esd --disable-nasm --enable-video-x11 --enable-video-fbcon
--enable-video-opengl --enable-osmesa-shared --disable-arts --without-x --enable-debug --enable-loadso --disable-video-directfb
make
make install
tar -xvf luvcview-20070512.tar.gz
cd luvcview-20070512/
修改Makefile
CC=arm-linux-gcc
CPP=arm-linux-g++
SDLLIBS = -L/usr/local/arm/arm446/lib -lSDL
SDLFLAGS = /usr/local/arm/arm446/include
make
使用frambuffer而没有x11情况下,我测试的helper2416会出现segmentfault
现在介绍另一款,依赖较少的软件
motion 是一款全命令行的摄像头监测软件
可以把捕捉到的图像保存成jpg等的格式图片
http://www.lavrsen.dk/foswiki/bin/view/Motion/WebHome
交叉编译motion
tar -xvf motion-3.2.12.tar.gz
cd motion-3.2.12/
./configure CC=arm-linux-gcc --host=arm-linux
make
在板子上直接运行./motion 就可以,估计要等一会它便会不断地在当前目录下生成图片,
便可证明摄像头驱动工作正常,作者:帅得不敢出门 程序员群:31843264