摄像头驱动2_虚拟驱动vivi的测试
<div id="article_content" class="article_content clearfix" style="height: 2811px; overflow: hidden;">
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-211130ba7a.css">
<link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-211130ba7a.css">
<div class="htmledit_views" id="content_views">
1、结合应用程序分析涉及到的调用
(1)如怎么得到里面的数据、怎么控制摄像头的亮度等信息。
(2)现在PC机上做实验
在ubuntu上安装一个应用程序的测试程序xawtv
安装xawtv:sudo apt-get install xawtv
apt-get主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。
如果无法上网
(3)下面不能ping通,需要加上路由(设置默认网关命令)
(4)重新安装sudo apt-get install xawtv
出现下面文件无法找到,到这个网站上确实找不到这个文件。我们用的ubuntu9.10
在这个网站创建新的sources.list
http://repogen.simplylinux.ch/
1. 选择国家
2.选择相邻的ubuntu版本
3. 选择"Ubuntu Branches"
4. 生成sources.list
5. 把得到内容替换到/etc/apt/sources.list
6. sudo apt-get update(更新完后就能安装xawtv)
sudo apt-get install xawtv (安装xawtv)
2、测试
(1)让虚拟机位于前台,接上USB摄像头。
(2)用dmesg命令查看内核打印信息,执行xawtv
出现以下内容
(3)点击右键出现以下菜单,下面左右移动可以设置亮度,
3、测试虚拟摄像头vivi(需要编译驱动程序)
(1)确实ubuntu的内核版本
执行uname -a命令(uname -a :显示系统名、节点名称、操作系统的发行版号、操作系统版本、运行系统的机器 ID 号)
Linux book-desktop 2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:04:26 UTC 2009 i686 GNU/Linux
(2) 去www.kernel.org下载同版本(相近版本)的内核
解压后把drivers/media/video目录取出
修改它的Makefile为:
KERN_DIR = /usr/src/linux-headers-2.6.31-14-generic //指定内核目录(在PC上的linux内核)
all:
make -C $(KERN_DIR) M=`pwd` modules
clean:
make -C $(KERN_DIR) M=`pwd` modules clean
rm -rf modules.order
obj-m += vivi.o //我们需要编译生成的驱动文件
obj-m += videobuf-core.o
obj-m += videobuf-vmalloc.o
obj-m += v4l2-common.o
(3) make
编译出vivi.ko
安装驱动但出现某些问题(有一些函数不知道)
用dmesg命令查看发现一大堆 函数未定义,看看这些函数在哪个文件定义
修改Makefile添加我们需要编译进去的驱动,这些是vivi.c的依赖文件
obj-m += videobuf-core.o
obj-m += videobuf-vmalloc.o
obj-m += v4l2-common.o
安装驱动,查看设备节点,/dev/video是所接的usb摄像头,/dev/vodeo1是vivi.c虚拟出来的设备节点
(4)查看xawtv的使用,默认打开的是/dev/video0,现在要打开/dev/video1,可以用-c参数,后面指定相应的设备。
使用如下 -c指定
(5)安装驱动
sudo modprobe vivi
sudo rmmod vivi
sudo insmod ./vivi.ko
(5)查看设备节点
ls /dev/video*
(6)执行命令
xawtv -c /dev/videoX
<div class="person-messagebox">
<div class="left-message"><a href="https://blog.csdn.net/qingkongyeyue">
<img src="https://profile.csdnimg.cn/9/4/3/3_qingkongyeyue" class="avatar_pic" username="qingkongyeyue">
</a></div>
<div class="middle-message">
<div class="title"><span class="tit "><a href="https://blog.csdn.net/qingkongyeyue" data-report-click="{"mod":"popu_379","ab":"new"}" target="_blank">qingkongyeyue</a></span>
<!-- 等级,level -->
<img class="identity-icon" src="https://csdnimg.cn/identity/blog7.png"> </div>
<div class="text"><span>原创文章 258</span><span>获赞 225</span><span>访问量 133万+</span></div>
</div>
<div class="right-message">
<a class="btn btn-sm attented bt-button personal-watch" data-report-click="{"mod":"popu_379","ab":"new"}">已关注</a>
<a href="https://bbs.csdn.net/topics/395529044" target="_blank" class="btn btn-sm bt-button personal-messageboard">他的留言板
</a>
</div>
</div>
</div>
</article>