1、编译openwrt系统内核使它支持usb,进入在/openwrt/trunk上执行make menuconfig

2、
1). 添加USB 相关支持
Kernel modules —> USB Support —> <*> kmod-usb-core. ##默认已经选了
Kernel modules —> USB Support —> <*> kmod-usb-ohci. ## usb1.0
Kernel modules —> USB Support —> <*> kmod-usb-uhci. ## usb1.1
Kernel modules —> USB Support —> <*> kmod-usb-storage.
Kernel modules —> USB Support —> <*> kmod-usb-storage-extras.
Kernel modules —> USB Support —> <*> kmod-usb2. ##默认已经选了 usb2.0

2). 添加SCSI支持
Kernel modules —> Block Devices —> <*>kmod-scsi-core ##默认已选

3). 添加USB 挂载
Base system —> <*>block-mount

4). 添加自动挂载工具
Utilities —> Filesystem —> <*> badblocks

5). 添加文件系统支持
Kernel modules —> Filesystems —> <*> kmod-fs-ext4 (移动硬盘EXT4格式选择)
Kernel modules —> Filesystems —> <*> kmod-fs-vfat(FAT16 / FAT32 格式 选择)
Kernel modules —> Filesystems —> <*> kmod-fs-ntfs (NTFS 格式 选择)

6). 添加UTF8 编码,CP437编码,ISO8859-1编码
Kernel modules —> Native Language Support —> <*> kmod-nls-cp437
Kernel modules —> Native Language Support —> <*> kmod-nls-iso8859-1
Kernel modules —> Native Language Support —> <*> kmod-nls-utf8
Utilities ---> <*> usbutils................................... USB devices listing utilities

3、保存退出 ,接着,在/openwrt/trunk上执行make kernel_menuconfig ( 注意不是menuconfig )
配置支持nls-cp936
File systems ---> {M} Native language support --->
<M> Codepage 437 (United States, Canada)
<M> Simplified Chinese charset (CP936, GB2312)
保存退出

4、配置openwrt支持usb摄像头
要支持摄像头,就必须配置上摄像头的驱动,因为是免驱的 USB 摄像头,因此我们必 须配置上 UVC 驱动,具体如图所示。
进入在/openwrt/trunk上执行make menuconfig
Kernel modules -->video Support -->kmod-video-core 按y键选中 -->kmod-video-uvc按y键选中

5、配置OpenWrt支持mipg-streamer软件
mipg-streamer 就是一款用于视频数据采集、视频数据格式转换、视频数据传输的软 件,服务器。因此为了让 openwrt 系统支持该软件,我们需要将它配置进去:
Multimedia --> mjpg-streamer 选中 openwrt 系统支持无线监控,按前面的方法配置好后,保存退出。

6、然后重新启动系统,连接网线,确认能上网。进入在/openwrt/trunk上执行make V=99

7、编译出固件把它烧录进开发板,烧录进去再reboot重启下开发板,然后才接上usb摄像头

8、执行mjpg_streamer -i "input_uvc.so -d /dev/video0" -o "output_http.so -w www"
其中: -i 表示指定输入,这里输入为:input_uvc.so即uvc(usb video),-d是设备 位置,我们摄像头的设备位置在:/dev/video0,
-y用于区分一般摄像头和支持MJPEG的 摄像头, -o指定输出,这里输出到 output_ http.so即http(可以理解为输出到网页上), -w 指定web服务器为www。

注:修改分辨率如:
mjpg_streamer -i "input_uvc.so -r 800*600 -d /dev/video0" -o "output_http.so 8080 -w www" //此时分辨率为800*600

9、 安装手机摄像头软件,连上开发板的地址及端口号,或者在火狐浏览器上 http://192.168.10.1:8080/?action=stream
其中192.168.10.1是开发板的 ip地址,8080是http tcp的端口,。action 表示某个动作,这里表示:stream。通过这个输入我们就可以从网页完成视频的监控了!

usb免驱动摄像头实验的更多相关文章

  1. Ubuntu系统下安装免驱动摄像头

    最近想玩一下视频系列的深度学习模型,便网上淘了一个linux下免驱动的摄像头,直接插上usb接口就行,但是一般还不能直接使用,下面将简单说一下如何使用摄像头: 在你的ternimal下输入以下命令: ...

  2. 利用mass storage class 做免驱动usb设备.

    当需要使用usb bulk传输,想让设备像串口通讯那样和PC主机通信, 通常需要自己做一个PC端的驱动,比较麻烦. 为避免在pc上编写usb设备驱动的麻烦,可以将设备做成mass storage 类的 ...

  3. 嵌入式Linux驱动学习之路(二十)USB设备驱动

    USB在接入系统的时候,以0的设备ID和主机通信,然后由主机为其分配新的ID. 在主机端,D+和D-都是下拉接地的.而设备端的D-接上拉时,表明此设备为高速设备:12M/s. D+接上拉时则是全速设备 ...

  4. USB鼠标按键驱动

    现象:把USB设备接到PC 1. 右下角弹出"发现android phone" 2. 跳出一个对话框,提示你安装驱动程序 问1. 既然还没有"驱动程序",为何能 ...

  5. linux usb总线驱动(一)

    目录 linux usb总线驱动框架 USB 介绍 传输类型 控制器接口 2440接口 基本流程 alloc_dev choose_address hub_port_init usb_get_devi ...

  6. USB设备驱动_WDS

    1. usb_alloc_dev中的 bus_type 中指定了匹配函数,和uevent中的环境参数. ====>不同的bus_type的匹配函数可能是不同的,uevent的环境变量参数也可能是 ...

  7. Linux USB驱动学习总结(二)---- USB设备驱动

    USB 设备驱动: 一.USB 描述符:(存在于USB 的E2PROM里面) 1.  设备描述符:struct usb_device_descriptor 2.  配置描述符:struct usb_c ...

  8. USB设备驱动总结

    现象:把USB设备接到PC        (韦老师总结) 1. 右下角弹出"发现android phone" 2. 跳出一个对话框,提示你安装驱动程序 问1. 既然还没有" ...

  9. 学习Linux下s3c2440的USB鼠标驱动笔记

    1.ARM-Linux下USB驱动程序开发1.1.1.linux下USB配置:*********(MassStorage:存储设备)********************************** ...

随机推荐

  1. git(工作区,暂存区,管理修改,撤销修改,删除文件)

    工作区和暂存区 984次阅读 Git和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念. 先来看名词解释. 工作区(Working Directory) 就是你在电脑里能看到的目录,比如我的l ...

  2. spring security 3中的10个典型用法小结

    spring security 3比较庞大,但功能很强,下面小结下spring security 3中值得 注意的10个典型用法 1)多个authentication-provide可以同时使用 &l ...

  3. viewpager处理(二):设置当前item时,让viewpager不出现滑动动画

    我们在使用viewpager.setCurrentItem(position);的时候,viewpager出现滑动动画,如何去掉这个动画呢? 可以用viewpager.setCurrentItem(p ...

  4. 缩放系列(二):所有子控件也随着缩放、手势缩放、多点触控layout

    下面是一个功能强大的改造的例子: 可以实现以下需求: 1.两个手指进行缩放布局 2.所有子控件也随着缩放, 3.子控件该有的功能不能丢失(像button有可被点击的功能,缩放后不能丢失该功能) 运行效 ...

  5. 使用SQL Server 2000索引视图提高性能

    什么是索引视图? 许多年来,Microsoft? SQL Server? 一直都提供创建虚拟表(称为视图)的功能.在过去,这些视图主要有两种用途: 提供安全机制,将用户限制在一个或多个基表中的数据的某 ...

  6. jsp 页面取值

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  7. mongodb常见问题

    1.count统计结果错误 这是由于分布式集群正在迁移数据,它导致count结果值错误,需要使用aggregate pipeline来得到正确统计结果,例如: db.collection.aggreg ...

  8. CSS box-flex属性

    http://www.zhangxinxu.com/wordpress/2010/12/css-box-flex属性,然后弹性盒子模型简介/ http://www.zhangxinxu.com/wor ...

  9. libevent在windows下使用步骤详解

    一 环境 官方下载地址:http://libevent.org/版本:libevent-2.0.22-stable 二 编译静态库 1 解压把上面下载到libevent-2.0.22-stable.t ...

  10. 关于项目刚才还能运行的,重启Myeclipse就不能运行(报错)的解决方法

    这个是以为内存不足引起的,就是打开MyEclipse的时候,因为内存不足,没有加载完整的项目,这个时候需要重启电脑,即可解决问题.