查看: 1968|回复: 3

[原创] RIoTboard连载十一:RIoTboard板子USB摄像头调试

[复制链接]

15

主题

4

好友

903

积分

举人

Rank: 4

  • TA的每日心情
    开心
    2016-9-29 15:49
  • 签到天数: 113 天

    [LV.6]常住居民II

    爱板会员勋章 活跃会员勋章

    发表于 2014-5-31 18:19:28 |显示全部楼层
    手头上有一个罗技的C270 USB接口的摄像头,刚好连接到RIoTboard上调试下拍照功能。了解了下linux下的USB和摄像头操作,最后发现RIoTboard里面有了OV2656等OV摄像头的驱动,是并口和mipi接口的,USB接口的摄像头从menuconfig里面来看,支持的设备不多,刚好的的C270摄像头不在里面,不过从网上查找了下发现linux下有个UVC,就是USB video class驱动,这个驱动可以支持更多的USB摄像头,于是就先看看我的摄像头是否UVC设备,插上USB摄像头查看设备信息:
    root@linaro-ubuntu-desktop:~# lsusb
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 002: ID 1a40:0101 TERMINUS TECHNOLOGY INC. USB-2.0 4-Port HUB
    Bus 002 Device 003: ID 046d:0825 Logitech, Inc. Webcam C270
    看到了系统能识别出摄像头了ID是046d:0825,能识别出罗技C270,以为可以直接使用了呢,但是并没有出现/dev/video*设备,系统默认有/dev/video0这个是ov2656驱动的,video16和video17是V4L2设备注册的,然后进一步确定C270的UVC信息,在命令行里输入:lsusb -d 046d:0825 -v | grep "14 Video" ,输出如下信息说明摄像头兼容UVC:
    root@linaro-ubuntu-desktop:~# lsusb -d 046d:0825 -v | grep "14 Video"
          bFunctionClass         14 Video
          bInterfaceClass        14 Video
          bInterfaceClass        14 Video
          bInterfaceClass        14 Video
          bInterfaceClass        14 Video
          bInterfaceClass        14 Video
          bInterfaceClass        14 Video
          bInterfaceClass        14 Video
          bInterfaceClass        14 Video
          bInterfaceClass        14 Video
          bInterfaceClass        14 Video
          bInterfaceClass        14 Video
          bInterfaceClass        14 Video
          bInterfaceClass        14 Video
    现在可以确定我的罗技C270摄像头可以兼容UVC,那就在看下UVC设备支持列表了是否支ID:046d:0825的设备,登陆:http://www.ideasonboard.org/uvc/,网址点击support devices,查看到如下信息:
    cam1.PNG

    到这儿我们就 可以确定两点,我的C270支持UVC操作,而且UVC驱动支持罗技C270摄像头,于是我们在内核配置选项中查看是否将UVC设备驱动编译进了内核,找到imx6_defconfig文件,将CONFIG_USB_VIDEO_CLASS=y设置为y,就将UVC编译进内核了,然后我们在烧写kernel,将摄像头连接好,启动系统,可以看到如下打印:
    usbcore: registered new interface driver uvcvideo
    input: UVC Camera (046d:0825) as /devices/platform/fsl-ehci.1/usb2/2-1/2-1.4/2-1.4:1.0/input/input0
    可以看到USBcore已经注册了uvcvideo接口,并且UVCcamera已经识别出了C270的设备ID,我们查看下dev下面的video设备,发现多了个Video2,明显这个就是我们摄像头设备了,然后再通过V4L2接口编写读取摄像头拍照的程序,这里就不多写了,网上很多,大家也可以自己写程序实现,还是很简单的。程序完成后在ubuntu下进行交叉编译,然后再RIoTboard上运行,可以看到获得如下图片:
    image_bmp.PNG

    C270本来是高清自动对焦的,不过好像这个图片比较模糊,还要继续看看如何优化,好了,现在可以获取照片了,剩下的就是移植opencv,进行图片处理了。还要继续努力。


    回复

    使用道具 举报

    2

    主题

    0

    好友

    798

    积分

    版主

    Rank: 7Rank: 7Rank: 7

  • TA的每日心情
    开心
    2014-6-4 09:26
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-6-4 08:44:35 |显示全部楼层
    非常细致的文章,期待楼主进一步的USB摄像头调试靓照
    回复

    使用道具 举报

    0

    主题

    0

    好友

    264

    积分

    秀才

    Rank: 3Rank: 3

  • TA的每日心情
    奋斗
    2015-10-20 20:54
  • 签到天数: 64 天

    [LV.6]常住居民II

    发表于 2014-8-22 20:44:30 |显示全部楼层
    嗯,可以试试。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /6 下一条


    手机版|爱板网 |网站地图  

    GMT+8, 2016-12-6 08:46 , Processed in 0.216403 second(s), 12 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部