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

楼主 |
发表于 2011-8-13 18:27:25
|
只看该作者
[绿葱头DIY]之大亚db120-wg路由器之挂摄像头
本帖最后由 绿葱头 于 2011-8-13 18:33 编辑
! `8 K2 K) n" m) G6 C& p
. z5 q6 Q, m! l! g4 n+ q$ ^' Y俺比较担心这个是不是太geek了,毕竟不是专业论坛,实在没有一些大牛把技术文章写成对口相声的能力,听俺讲故事的都说是良好的催眠剂(小女可以证明 )。看到部分同学对这个还比较感兴趣,俺就继续唠叨唠叨……
a/ b' m( ]9 f W; a在正文之前讲点注意事项:. J% m( H% v7 x! N# I
1、刷新openwrt官方控件的注意,第一次启动需要telnelt 192.168.1.1(换lan4以外的口),这个时候是不需要密码的,进去以后passwd修改密码后才可以ssh登陆。
1 b+ ^' Q9 Z' `0 j+ {2、注意写入FLASH。一个是一些软件的默认写入路径是FLASH里,要知道FLASH空间就16M,很容易就写满了。另一个是安装软件后重新启动一下,这样可以正确写入FLASH,避免因为FLASH效验错误无法启动(如果FLASH效验错误需要重新刷ROM)。
- L3 v/ n" {- T/ L* e- M' i4 a开始正文的分割线……3 X4 f! ^; Q0 O& Y( n6 b
折腾1、挂摄像头
2 |4 u- E4 i8 {) K \目前openwrt的摄像头安装似乎靠运气,网上的教程大多使用中星微(不知道为什么好多地方都写中微星)301摄像头做例子,我手头上只有一个廉价的良田免驱摄像头,VID ID是1e4e:0100,google到的第一条信息就是linux UVC驱动官网,可以看出使用的是鈺創芯片,使用UVC驱动成功。
) _* D1 `4 D* \/ R* ~- opkg install kmod-nls-base #后续安装需要& R7 e9 P; Z; K [, w, m; Z' }% @
- opkg install kmod-usb-core#后续安装需要5 d9 m, T# h. M1 P- C
- opkg install kmod-usb-ohci #ohci USB控制器,据说一般BCM都是这个: Z2 M6 n1 ]5 C) j( e" n; {
- opkg install kmod-usb2#这个摄像头是支持USB2.0的
6 d) c8 p% u9 ^, h; g2 ~* o& U$ j - opkg install libusb#后续安装需要
. a" o& [" u6 {3 C0 y - opkg install zlib#后续安装需要3 s& x4 `8 b3 C, o) K
- opkg install usbutils#lsusb命令,很有用的工具
) {$ e* A/ z+ s& v: f" K# { - reboot;exit#重新启动后lsusb才有信息
复制代码 lsusb, X9 i6 v) I' [5 T: k1 f
输出为:% c; Q1 h+ |1 z% Z0 j" p S, y: a
- Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub9 l5 R Q4 m. l
- Bus 001 Device 002: ID 1e4e:0100
6 g* c. I* x( { - Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
复制代码 可以看出来已经摄像头已经接上,由于数据库的关系没有认出芯片。
! ^, N. Z% ^" }8 d/ `- opkg install kmod-input-core#后续安装需要# ~0 Y7 I, k% m* N, j# ]
- opkg install kmod-i2c-core#后续安装需要4 U! E1 R. ~7 d; D+ M
- opkg install kmod-video-uvc#真正驱动
复制代码 这个时候应该出现/dev/video0了,dmesg输出:9 y4 [: z+ T) |
- Linux video capture interface: v2.00
7 j" e/ O; N0 w A - uvcvideo: Found UVC 1.00 device USB2.0 Camera (1e4e:0100)
# y/ Y5 x8 e: I5 f1 f7 y - uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling work.
3 ]7 J+ L4 f7 k5 L1 Y! ` - input: USB2.0 Camera as /devices/platform/bcm63xx_ehci.0/usb1/1-2/1-2:1.0/input0
复制代码 cat /dev/video0
9 Z; i: c8 D% X3 `+ V6 {4 t3 a2 \cat: read error: No such device
2 U: |- O& i1 r开始cat /dev/video0 无图像输出,以为没有成功,查了N多资料,才知道有的摄像头就是这样的,可能是我的摄像头不支持mjpeg格式读取。; \4 `+ n6 v7 t) G3 B2 K: I
安装mjpg-streamer
) f" c& s# B6 G- l5 P7 K! Q- opkg install librt#后续安装需要
0 F( Y! G! k; e - opkg install libpthread#后续安装需要6 @+ D: N0 s% ?1 `6 I |
- opkg install libjpeg#后续安装需要
( A( l n( m- S/ s7 x# L* z - opkg install mjpg-streamer
复制代码 启动mjpg_streamer0 ]7 t5 x# A4 j2 M3 j9 n" c
- mjpg_streamer -i "input_uvc.so -r 352x288" -o "output_http.so -w /tmp/webcam"
复制代码 失败的同学注意了:3 q i( O4 ?* R8 t5 Q9 ?
mjpg_streamer默认使用的是mjpeg格式读取摄像头,而部分摄像头采用的是YUV格式(我的就是这种),如果使用不支持mjpge的摄像头需要加--yuv参数:/ Y6 i' K g3 n1 b) X) h
- mjpg_streamer -i "input_uvc.so --yuv -r 352x288" -o "output_http.so -w /tmp/webcam"
复制代码
6 |4 W9 Z; y) h& d) {血淋淋的经验啊 ,试了palantir很多次没有成功就是这个原因,而且palantir似乎没有调节的选项。
0 H) N0 W+ Z5 s9 v; C3 }/ _为了安全起见也可以-c username:password 加上用户名、密码。
5 @* R- [; E: I这个时候用firefox浏览器(据说IE不支持)输入网址:http://192.168.1.1:8080/?action=stream应该可以看到图像了 预告,俺下次课讲的内容是挂GPS。8 x+ A3 ~& k: n' C2 T6 Y s
没有反应?都睡着了吧 。
' v* }( e9 O- A k7 i$ B5 K; C |
评分
-
查看全部评分
|