TA的每日心情 | 奋斗 2017-5-9 09:14 |
---|
签到天数: 7 天 [LV.3]辟谷
|
6#

楼主 |
发表于 2011-8-13 18:27:25
|
只看该作者
[绿葱头DIY]之大亚db120-wg路由器之挂摄像头
本帖最后由 绿葱头 于 2011-8-13 18:33 编辑
& K: B$ _. z; y/ J' C6 C9 F. h4 e
俺比较担心这个是不是太geek了,毕竟不是专业论坛,实在没有一些大牛把技术文章写成对口相声的能力,听俺讲故事的都说是良好的催眠剂(小女可以证明 )。看到部分同学对这个还比较感兴趣,俺就继续唠叨唠叨……. Z7 R/ w0 r4 F6 G
在正文之前讲点注意事项:
# w2 o- {* g/ A+ B4 |5 f: X/ y8 T3 V( |1 p1、刷新openwrt官方控件的注意,第一次启动需要telnelt 192.168.1.1(换lan4以外的口),这个时候是不需要密码的,进去以后passwd修改密码后才可以ssh登陆。
8 O' C* X- K" ]0 n. [8 S! D2、注意写入FLASH。一个是一些软件的默认写入路径是FLASH里,要知道FLASH空间就16M,很容易就写满了。另一个是安装软件后重新启动一下,这样可以正确写入FLASH,避免因为FLASH效验错误无法启动(如果FLASH效验错误需要重新刷ROM)。) y- \5 \+ r# T: e* f. P
开始正文的分割线……
# f2 o- V5 U B: w 折腾1、挂摄像头$ Z5 v( w* {* d( L2 e+ r8 s" O1 W1 d2 j
目前openwrt的摄像头安装似乎靠运气,网上的教程大多使用中星微(不知道为什么好多地方都写中微星)301摄像头做例子,我手头上只有一个廉价的良田免驱摄像头,VID ID是1e4e:0100,google到的第一条信息就是linux UVC驱动官网,可以看出使用的是鈺創芯片,使用UVC驱动成功。9 `% j) m0 y% d5 h
- opkg install kmod-nls-base #后续安装需要2 j) P& u" l/ f3 K+ O2 ~* h
- opkg install kmod-usb-core#后续安装需要8 \$ p6 r, Q; k8 C
- opkg install kmod-usb-ohci #ohci USB控制器,据说一般BCM都是这个4 @( j6 X' X: l# N! i
- opkg install kmod-usb2#这个摄像头是支持USB2.0的
3 ^- c6 w. _9 a. A- f+ H; R# ], m - opkg install libusb#后续安装需要# K% y! J/ z: `2 d8 L( J: F
- opkg install zlib#后续安装需要
- ^" D7 ~# l2 a. N5 T1 A' V9 Y7 { } - opkg install usbutils#lsusb命令,很有用的工具9 a7 _& c8 R6 i/ v5 I1 b, w' Z( |
- reboot;exit#重新启动后lsusb才有信息
复制代码 lsusb" U" v2 W: [- O
输出为:0 I5 O$ B6 Q4 a
- Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
4 k ?$ [& A& [% t7 K5 m' a* ~/ @ - Bus 001 Device 002: ID 1e4e:0100
+ x0 h9 V) S9 w. e5 o2 A7 y - Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
复制代码 可以看出来已经摄像头已经接上,由于数据库的关系没有认出芯片。" ?# s* |) @7 x& Y* |. k% q
- opkg install kmod-input-core#后续安装需要
, u: @9 x2 U" s6 f) k i, O - opkg install kmod-i2c-core#后续安装需要2 C) S# F9 X4 W# A, ?1 k( s& t& w- W
- opkg install kmod-video-uvc#真正驱动
复制代码 这个时候应该出现/dev/video0了,dmesg输出:
% [* {) x4 ?, s G9 ^* c- Linux video capture interface: v2.00; ~3 Z( B7 n; w2 `( u" @
- uvcvideo: Found UVC 1.00 device USB2.0 Camera (1e4e:0100)3 o0 ~: O) ?: A
- uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling work.
. z( P9 F/ T2 n# B - input: USB2.0 Camera as /devices/platform/bcm63xx_ehci.0/usb1/1-2/1-2:1.0/input0
复制代码 cat /dev/video0$ f+ [) W3 I/ A+ V
cat: read error: No such device8 W+ g4 G& {" [' u! x1 b
开始cat /dev/video0 无图像输出,以为没有成功,查了N多资料,才知道有的摄像头就是这样的,可能是我的摄像头不支持mjpeg格式读取。! ?4 j0 {2 n5 G5 V
安装mjpg-streamer* y- K) b5 t7 r" u4 h. E/ Q( T
- opkg install librt#后续安装需要3 ?) {5 C* W6 i2 Y6 ~
- opkg install libpthread#后续安装需要
+ }3 T0 S" v, ?. A - opkg install libjpeg#后续安装需要
3 S* u) G7 N2 Z- v; _ j- o) D - opkg install mjpg-streamer
复制代码 启动mjpg_streamer' l5 L% M" N, K. ~# ?8 d
- mjpg_streamer -i "input_uvc.so -r 352x288" -o "output_http.so -w /tmp/webcam"
复制代码 失败的同学注意了:
3 i) ~) U; ?- l8 w! Dmjpg_streamer默认使用的是mjpeg格式读取摄像头,而部分摄像头采用的是YUV格式(我的就是这种),如果使用不支持mjpge的摄像头需要加--yuv参数:5 V1 v! M" g V
- mjpg_streamer -i "input_uvc.so --yuv -r 352x288" -o "output_http.so -w /tmp/webcam"
复制代码 " c2 ]% }" D3 g$ v0 p' O8 ^
血淋淋的经验啊 ,试了palantir很多次没有成功就是这个原因,而且palantir似乎没有调节的选项。
7 s: S E% \' w# P* ]为了安全起见也可以-c username:password 加上用户名、密码。8 `5 f& j# |! C" T
这个时候用firefox浏览器(据说IE不支持)输入网址:http://192.168.1.1:8080/?action=stream应该可以看到图像了 预告,俺下次课讲的内容是挂GPS。
. {" r3 j, t" c) m7 e5 \' q+ x没有反应?都睡着了吧 。0 Q/ n( T, H/ ]
|
评分
-
查看全部评分
|