TA的每日心情 | 开心 2018-10-12 13:33 |
---|
签到天数: 183 天 连续签到: 3 天 [LV.7]常住居民III
|
手头上有一个罗技的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,查看到如下信息:
到这儿我们就 可以确定两点,我的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上运行,可以看到获得如下图片:
C270本来是高清自动对焦的,不过好像这个图片比较模糊,还要继续看看如何优化,好了,现在可以获取照片了,剩下的就是移植opencv,进行图片处理了。还要继续努力。
|
|