TA的每日心情 | 奋斗 2017-5-9 09:14 |
---|
签到天数: 7 天 [LV.3]辟谷
|
6#
楼主 |
发表于 2011-8-13 18:27:25
|
只看该作者
[绿葱头DIY]之大亚db120-wg路由器之挂摄像头
本帖最后由 绿葱头 于 2011-8-13 18:33 编辑 . y0 p2 P; \) D1 B3 b( g
* D, V" O/ O8 ?) N6 C+ P: l
俺比较担心这个是不是太geek了,毕竟不是专业论坛,实在没有一些大牛把技术文章写成对口相声的能力,听俺讲故事的都说是良好的催眠剂(小女可以证明)。看到部分同学对这个还比较感兴趣,俺就继续唠叨唠叨……4 y6 |& m& [4 b: _7 {% H
在正文之前讲点注意事项: i8 t q& p) R W; D) {
1、刷新openwrt官方控件的注意,第一次启动需要telnelt 192.168.1.1(换lan4以外的口),这个时候是不需要密码的,进去以后passwd修改密码后才可以ssh登陆。7 e$ M) b9 G+ e: ]0 h ~/ V
2、注意写入FLASH。一个是一些软件的默认写入路径是FLASH里,要知道FLASH空间就16M,很容易就写满了。另一个是安装软件后重新启动一下,这样可以正确写入FLASH,避免因为FLASH效验错误无法启动(如果FLASH效验错误需要重新刷ROM)。
% W, e6 Y( {: q4 n* e/ \开始正文的分割线……
$ u! n5 W5 t; D9 U) A( K+ |( m9 b 折腾1、挂摄像头
, p0 L0 _4 U) G8 v2 n目前openwrt的摄像头安装似乎靠运气,网上的教程大多使用中星微(不知道为什么好多地方都写中微星)301摄像头做例子,我手头上只有一个廉价的良田免驱摄像头,VIDID是1e4e:0100,google到的第一条信息就是linux UVC驱动官网,可以看出使用的是鈺創芯片,使用UVC驱动成功。5 F, R6 A; V4 E/ f2 i/ D. h
- opkg install kmod-nls-base #后续安装需要
% J- D. {. G$ D1 A - opkg install kmod-usb-core#后续安装需要
- n* S" z2 }# b; |, k. z3 [ - opkg install kmod-usb-ohci #ohci USB控制器,据说一般BCM都是这个# @( u: f# Z/ M% q$ ]
- opkg install kmod-usb2#这个摄像头是支持USB2.0的, D) t0 n4 C# K/ U2 ]- k! A3 t6 P
- opkg install libusb#后续安装需要/ B0 {4 @& k2 F) A% \# F$ I3 I/ @2 s
- opkg install zlib#后续安装需要$ Q6 I9 Q. j; ], o* U( f# K
- opkg install usbutils#lsusb命令,很有用的工具
, `/ \0 _) ~/ d U8 q - reboot;exit#重新启动后lsusb才有信息
复制代码 lsusb* E8 V- H E7 C( e2 O& \, v" E
输出为:
- M' @3 ^! L. b5 x# d% f- Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
; ^& a2 C0 j& |- i9 V( k& s7 a% j - Bus 001 Device 002: ID 1e4e:0100
1 G; }+ P' \5 O! i' ~ - Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
复制代码 可以看出来已经摄像头已经接上,由于数据库的关系没有认出芯片。
" V& q. K' [" } c- opkg install kmod-input-core#后续安装需要
9 q! L/ o3 z5 S: d) o$ B - opkg install kmod-i2c-core#后续安装需要) G5 _7 y3 Q8 L* d' q3 p
- opkg install kmod-video-uvc#真正驱动
复制代码 这个时候应该出现/dev/video0了,dmesg输出:. Q4 t8 _4 n+ w' j- h- L) b
- Linux video capture interface: v2.00
' a# |4 L7 k+ A7 C - uvcvideo: Found UVC 1.00 device USB2.0 Camera (1e4e:0100)
. v/ V3 x0 @$ p. c) n - uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling work.
& k) q7 g& a* @( a/ I8 H - input: USB2.0 Camera as /devices/platform/bcm63xx_ehci.0/usb1/1-2/1-2:1.0/input0
复制代码 cat /dev/video0
. [: e7 Y n0 ^. N2 x% e: N8 i5 |cat: read error: No such device6 ]/ C; p8 {% Z4 G5 l# Z( |; h1 L- H
开始cat /dev/video0 无图像输出,以为没有成功,查了N多资料,才知道有的摄像头就是这样的,可能是我的摄像头不支持mjpeg格式读取。
+ k4 F1 E$ h' y6 X4 A/ G安装mjpg-streamer
8 V- L" I, O C) \# D4 k/ r; l7 O- opkg install librt#后续安装需要
- M! F0 O5 e' f& `5 ?, \2 H B - opkg install libpthread#后续安装需要
8 ~0 U: O1 h; Q W! y - opkg install libjpeg#后续安装需要
2 U8 a+ \6 n N8 {' e - opkg install mjpg-streamer
复制代码 启动mjpg_streamer
; q' G/ d/ N' ^9 _8 `- mjpg_streamer -i "input_uvc.so -r 352x288" -o "output_http.so -w /tmp/webcam"
复制代码 失败的同学注意了:
" J0 N4 @/ R8 f6 x! D( o) M, gmjpg_streamer默认使用的是mjpeg格式读取摄像头,而部分摄像头采用的是YUV格式(我的就是这种),如果使用不支持mjpge的摄像头需要加--yuv参数:0 Q8 \+ l! B* D3 w% n
- mjpg_streamer -i "input_uvc.so --yuv -r 352x288" -o "output_http.so -w /tmp/webcam"
复制代码 / t! e8 O- x) k4 G, z5 c
血淋淋的经验啊,试了palantir很多次没有成功就是这个原因,而且palantir似乎没有调节的选项。
: [: k3 E! J1 S+ o* W为了安全起见也可以-c username:password 加上用户名、密码。
/ [ c& y0 ? _5 B* x" Z1 K这个时候用firefox浏览器(据说IE不支持)输入网址:http://192.168.1.1:8080/?action=stream应该可以看到图像了 预告,俺下次课讲的内容是挂GPS。$ P+ T# j8 L6 ~2 @" h* H
没有反应?都睡着了吧。
6 o8 ^1 b! }3 d4 u |
评分
-
查看全部评分
|