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. Hibernate的查询,二级缓存,连接池

    Hibernate的查询,二级缓存,连接池 1.Hibernate查询数据 Hibernate中的查询方法有5中: 1.1.Get/Load主键查询 使用get或者load方法来查询,两者之间的区别在 ...

  2. git搜索--grep

    1. 查找某个关键字(比如函数名): $ git grep xmmap config.c: contents = xmmap(NULL, contents_sz, PROT_READ, ); git- ...

  3. Java编译成功,用java 运行class时出现错误解决方法

    java -classpath class file's address; filename

  4. Storm官方帮助手册翻译(下)

    使用其他语言编写Bolt Bolt可以使用任意语言编写.用另外一种语言编写Bolt来作为子进程运行.Storm会在标准输入输出的基础上使用Json来与子进程通信.通信协议之需要一个100行的适配器库, ...

  5. find the closest sum to a target value

    problem: given an array of integers including positive and negative, a target value. find 2 numbers ...

  6. Apache开启gzip压缩传输

    修改Apache配置文件 第一步,添加两个模块 LoadModule deflate_module modules/mod_deflate.so LoadModule headers_module m ...

  7. QML中的ExclusiveGroup

    Exclusive这个单词在高中应该都学过,是互斥的意思.如果你没有上过或者还没有上到高中,那你非常棒,计算机领域的大师很多都是这么起步的. ExclusiveGroup顾名思义就是互斥分组,效果很明 ...

  8. 安装sysbench遇到找不到库文件的问题

    export LD_LIBRARY_PATH=/usr/mysql/lib./configure --prefix=/usr/local/sysbench --with-mysql-includes= ...

  9. Java学习笔记之类和对象

    1.类是对象的抽象,对象是类的实例. 2.一个.java 文件,只能有一个公有类. 3.Java的默认访问权限是:default,即不加任何访问修饰符,该权限设置只能在同一包访问.   当前类 同一包 ...

  10. 扩展方法where方法查询不到数据,不会抛异常,也不是返回的null

    如题,“扩展方法where方法查询不到数据,不会抛异常,也不是返回的null”,示例代码如下: Product类: public class Product { private string name ...