TA的每日心情 | 奋斗 2017-5-9 09:14 |
---|
签到天数: 7 天 [LV.3]辟谷
|
6#
楼主 |
发表于 2011-8-13 18:27:25
|
只看该作者
[绿葱头DIY]之大亚db120-wg路由器之挂摄像头
本帖最后由 绿葱头 于 2011-8-13 18:33 编辑 3 C2 X* `& a3 k. J9 ?: o
% d @5 S2 i( P5 h; x
俺比较担心这个是不是太geek了,毕竟不是专业论坛,实在没有一些大牛把技术文章写成对口相声的能力,听俺讲故事的都说是良好的催眠剂(小女可以证明)。看到部分同学对这个还比较感兴趣,俺就继续唠叨唠叨……% ]: h& T0 D. `" f% w9 V. R9 F
在正文之前讲点注意事项:: _+ [+ D8 `: |
1、刷新openwrt官方控件的注意,第一次启动需要telnelt 192.168.1.1(换lan4以外的口),这个时候是不需要密码的,进去以后passwd修改密码后才可以ssh登陆。: v2 A+ ^9 b4 ~. I2 O$ l/ O
2、注意写入FLASH。一个是一些软件的默认写入路径是FLASH里,要知道FLASH空间就16M,很容易就写满了。另一个是安装软件后重新启动一下,这样可以正确写入FLASH,避免因为FLASH效验错误无法启动(如果FLASH效验错误需要重新刷ROM)。, W1 v" h9 c4 P" I& s, s, p
开始正文的分割线……
2 j) |& h' p& G3 P9 V$ p$ ? 折腾1、挂摄像头5 K$ x1 R7 K* [2 h6 X: [; z
目前openwrt的摄像头安装似乎靠运气,网上的教程大多使用中星微(不知道为什么好多地方都写中微星)301摄像头做例子,我手头上只有一个廉价的良田免驱摄像头,VIDID是1e4e:0100,google到的第一条信息就是linux UVC驱动官网,可以看出使用的是鈺創芯片,使用UVC驱动成功。& d' `% X4 [& @1 Z( ~
- opkg install kmod-nls-base #后续安装需要
( L( A" J) p- c; C, S$ r$ Q1 z - opkg install kmod-usb-core#后续安装需要
2 Z. B" p5 e7 s8 W. G - opkg install kmod-usb-ohci #ohci USB控制器,据说一般BCM都是这个
, O7 ]4 O7 K" }# y' g x - opkg install kmod-usb2#这个摄像头是支持USB2.0的0 B" t) \7 x; B; C) V ^" X7 f/ D
- opkg install libusb#后续安装需要
- U# N( \$ Q o' r- K" y - opkg install zlib#后续安装需要
+ u. z- _# h$ b- [2 y- O% Y - opkg install usbutils#lsusb命令,很有用的工具8 _+ }9 X1 t* m( k
- reboot;exit#重新启动后lsusb才有信息
复制代码 lsusb' k, s% q' S% @" b, v1 u$ j
输出为:
9 v1 x& U, E% o' p- Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub2 e+ k& G2 P6 M+ X$ N2 _ u$ u$ u
- Bus 001 Device 002: ID 1e4e:0100
v7 m& W) G" n: ~: o* C - Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
复制代码 可以看出来已经摄像头已经接上,由于数据库的关系没有认出芯片。
6 I2 P: X6 n- V0 t9 `- opkg install kmod-input-core#后续安装需要' I- R u0 G) ?5 ]* R6 t
- opkg install kmod-i2c-core#后续安装需要4 J9 \' C- K: f( l$ ^
- opkg install kmod-video-uvc#真正驱动
复制代码 这个时候应该出现/dev/video0了,dmesg输出:
2 J, W5 `6 R* n5 {" g/ j- Linux video capture interface: v2.00
. A* P, O y: g& u0 E$ W, u6 R6 T - uvcvideo: Found UVC 1.00 device USB2.0 Camera (1e4e:0100)" [; y7 n# e6 Q( U+ O
- uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling work.
2 p# i& i! w7 W( K - input: USB2.0 Camera as /devices/platform/bcm63xx_ehci.0/usb1/1-2/1-2:1.0/input0
复制代码 cat /dev/video05 I: h% B' Q1 Q' f2 H$ ?: q/ x
cat: read error: No such device
4 ~* K6 [' |/ q3 p! m1 u开始cat /dev/video0 无图像输出,以为没有成功,查了N多资料,才知道有的摄像头就是这样的,可能是我的摄像头不支持mjpeg格式读取。) P1 R+ h. M& T- K2 i( p
安装mjpg-streamer
8 P' O# ~0 C) ?1 }4 k- opkg install librt#后续安装需要9 h9 E/ K$ B& A* I: B& O
- opkg install libpthread#后续安装需要& T7 L' `' n! w$ \' }# Z) N
- opkg install libjpeg#后续安装需要; e4 c! p% A2 {; Y X* E$ P
- opkg install mjpg-streamer
复制代码 启动mjpg_streamer
' A: M2 i2 d7 K5 M! ?- {- mjpg_streamer -i "input_uvc.so -r 352x288" -o "output_http.so -w /tmp/webcam"
复制代码 失败的同学注意了:
0 R( H" n7 e/ M U3 |1 nmjpg_streamer默认使用的是mjpeg格式读取摄像头,而部分摄像头采用的是YUV格式(我的就是这种),如果使用不支持mjpge的摄像头需要加--yuv参数:6 _5 w. l& F+ m1 a7 j
- mjpg_streamer -i "input_uvc.so --yuv -r 352x288" -o "output_http.so -w /tmp/webcam"
复制代码 4 e' _5 _8 }: @0 v' j: E6 d# ~! n
血淋淋的经验啊,试了palantir很多次没有成功就是这个原因,而且palantir似乎没有调节的选项。" l$ t% o& k5 e1 ?0 v% k" _0 n u
为了安全起见也可以-c username:password 加上用户名、密码。! a* w5 E6 V" w& e8 c2 d# G c$ B
这个时候用firefox浏览器(据说IE不支持)输入网址:http://192.168.1.1:8080/?action=stream应该可以看到图像了 预告,俺下次课讲的内容是挂GPS。
0 ]0 F* o! Q# ?/ l+ T9 @2 }* V没有反应?都睡着了吧。& N+ M8 `$ E, ]* U- N$ a
|
评分
-
查看全部评分
|