第十五课--MiroWRT 网络摄像头
本节教程主要介绍如何在microWRT上添加USB摄像头,使用一款iSight苹果摄像头,玩家也可以根据自己的需要使用其他UVC免驱摄像头。 具体摄像头的型号,可以查看openwrt官网获得详细信息。
固件配置为了支持USB摄像头,我们需要对openwrt的源码进行配置,添加USB和UVC相关的模块。 固件里至少要包括下面的两个摄像头相关的内核模块: kmod-video-core, kmod-video-uvc以及mjpeg-streamer软件。其中的配置选项主要在下面的配置列表里。不同的openwrt版本,可能位置有所不同,请玩家注意。 Device Drivers ---> <*> Multimedia support ---> <*> Video For Linux Video capture adapters ---> V4L USB devices ---> <*> USB Video Class (UVC) UVC input events device support 除此之外还要添加对isight摄像头专门的模块,如下: Device DRivers ---> USB Support ---> <*> iSight firmware loading support 我们也提供了一个已经编译好驱动的固件,玩家可以直接下载使用,此固件不带uboot,玩家可以通过uboot将其烧写到microWRT上。 USB Camera Firmware 文件:USB Camera Firmware 测试将摄像头接在microWRT上,在串口终端会有如下信息打印出来。 root@microWrt:/# root@microWrt:/# [ 392.310000] usb 1-1.2: new high-speed USB device number 3 using ehci-platform [ 392.460000] usb 1-1.2: New USB device found, idVendor=05ac, idProduct=8502 [ 392.460000] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 392.470000] usb 1-1.2: Product: Built-in iSight [ 392.470000] usb 1-1.2: Manufacturer: Apple Inc. [ 392.550000] uvcvideo: Found UVC 1.00 device Built-in iSight (05ac:8502) [ 392.570000] input: Built-in iSight as /devices/101c0000.ehci/usb1/1-1/1-1.2/1-1.2:1.0/input/input0 这就说明USB摄像头已经成功加载。同时在/dev目录下会生成设备vdieo0. mjpeg-streamer 的执行程序在/etc/init.d 目录,进到该目录下后,运行如下命令: mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 640x480 -f 20" -o "output_http.so -p 8080 -w /www/webcam" 会有如下输出: root@microWrt:/etc/init.d# mjpg_streamer -i "input_uvc.so -d /dev/video0 -r 640x 480 -f 20" -o "output_http.so -p 8080 -w /www/webcam" MJPG Streamer Version: svn rev: Unversioned directory i: Using V4L2 device.: /dev/video0 i: Desired Resolution: 640 x 480 i: Frames Per Second.: 20 i: Format............: JPEG i: TV-Norm...........: DEFAULT o: www-folder-path...: /www/webcam/ o: HTTP TCP port.....: 8080 o: username:password.: disabled o: commands..........: enabled 正常完成了mjpeg-streamer的执行后,就可以用浏览器(最好是firefox或者chrome)访问路由器的8080端口,查看摄像头的图像。命令如下: 192.168.1.1:8080/?action=stream 若想实现远程监控,可以在路由器上配置一下花生壳之类的动态域名服务,就能在外网通过域名访问路由器。 |