爱吱声

标题: [绿葱头DIY]之大亚db120-wg路由器 [打印本页]

作者: 绿葱头    时间: 2011-8-12 15:24
标题: [绿葱头DIY]之大亚db120-wg路由器
本帖最后由 绿葱头 于 2011-8-13 22:43 编辑 ) d4 R2 E/ |6 _; G% O$ a  e

. M' I$ q5 {" z  b# c8 Q鼎革同学说写技术也可以,俺就写一段技术,结果这个帖子俺写了7天,还没有写出来。因为一个跨平台编译问题,困扰了我很长时间,现在也没有解决。今天先写一个引子,希望俺星期天能解决这个问题,泪哗哗的分割线。
, J+ h5 S. W1 U( U$ k2 A
引子: u- o0 {/ U9 s
无意中看到国内服务商赠送的路由器也可以刷rom了,激动啊,向来厚道的都是国外版本,俺准备入手的某品牌手机国外版本内存512m的,国内只有256m,太欺负人了
, S0 ^& k" |# ?' ]- S* {. O  B关于openwrt可以参考百度百科$ Q, o) k5 |8 [  z/ K9 `: F
http://openwrt.org(用firefox的同学注意:官方wiki打开如果是空白,那么请使用神器mason插件,自定义wiki.openwrt.org的Accept-Language为en-US既可)- W: I. g+ T+ ?0 s* I, S5 y
http://www.openwrt.org.cn7 R6 f& d. a( e2 v2 T
其他还有恩山chinadsl
* i6 o7 I( g& t7 v2 C" x大亚db120-wg据我考证是最便宜的openwrt玩具。2 L* M7 k  L1 f
大亚db120-wg还有一个马甲是贝尔RG100-AA,只有一些细微的区别,官方ROM都是一个。) \# @6 p! a3 w, j5 l
这个可以刷openwrt的路由器可以干什么?
- X7 l* P& _  F9 @9 Q; c有人拿它自动翻墙……9 l( Q- d( d: \* Z5 d
有人拿它当网络电台……
* K* a) [9 \! ~( B有人拿它当下载机……
  _, W* G4 K) m5 W) z有人拿它当监控机、报警器……
  ^9 g- F9 @8 h; v/ B' i: V有人拿它做wifi机器人小车……
5 u' F1 @8 q) T3 y# a有人拿它当服务器……
; J9 T5 |$ q7 [% T1 _& x我买个两个加邮费¥85,便宜吧
7 M" l: g) r3 ^* o/ R2 l" e. z
# B/ n. Q9 _5 g6 f9 B6 C看卖家介绍:
硬件设计是极为强悍的:主芯片为最新的BCM6358(MIPS,芯片速度300MHZ),交换芯片为BCM5325,无线芯片为BCM4318,FLASH容量为16MB,内存容量为32MB DDR。2个USB接口、WIFI无线硬开关、WPS一键加密。
/ T5 {/ p) y: c8 P
注意:大亚db120-wg、RG100-AA后期版本硬件与前期不一致,有可能刷不了openwrt,比较成熟的是两个USB口的老版本,打开看主板上看FLASH型号以S29打头。我的就是这种。
2 V  [) D$ V* P$ o我是通过WEB刷的官方ROM(http://downloads.openwrt.org/backfire/10.03.1-rc4/brcm63xx/openwrt-RG100A_DB120-jffs2-128k-cfe.bin),参考教程http://www.openwrt.org.cn/hdwiki/index.php?doc-view-11
! \0 P( D& F9 j/ g+ C% Z俺现在搞定了摄像头、GPS,下一步准备做机器人小车。
) V6 i4 o0 P2 K* s+ V! u5 P0 _要知后事如何,请看下集挂摄像头。/ |0 F% Q# j/ u0 e0 c

作者: zealangel    时间: 2011-8-12 20:11
回复 绿葱头 的帖子
$ m# U) S9 F, s( x. ?! y6 K* y& o4 `4 r, k: x  R2 T
葱头兄准备入手的某品牌手机是不是中兴的V880?$ h0 S4 T) Y, E5 f! \' x4 r) o  E
我就是用的这个坑爹的国内版
作者: leebar    时间: 2011-8-13 02:03
我有这个无线路由,期待兄大作!
作者: 阿雷    时间: 2011-8-13 11:47
编译过dd-wrt无线路由固件的飘过。一起交流。
作者: 牌牌    时间: 2011-8-13 15:37
几年前买过一个贝尔金的工程板好像就是可以刷这个的,结果买了之后一直懒得动手,导致现在俺用的无线路由还是这个裸板,连个壳都木有。
% p0 Q% L3 B1 l4 U" w  v0 l- X2 A" d. n. ~
lz加油,好玩的话,俺也折腾下
作者: 绿葱头    时间: 2011-8-13 18:27
标题: [绿葱头DIY]之大亚db120-wg路由器之挂摄像头
本帖最后由 绿葱头 于 2011-8-13 18:33 编辑 , |) o4 y# k- G8 U* q( a9 s( X

+ |6 u3 J# ~1 H4 Y9 {俺比较担心这个是不是太geek了,毕竟不是专业论坛,实在没有一些大牛把技术文章写成对口相声的能力,听俺讲故事的都说是良好的催眠剂(小女可以证明)。看到部分同学对这个还比较感兴趣,俺就继续唠叨唠叨……' j, V! j4 [, j4 I
在正文之前讲点注意事项:4 z, b6 E/ S+ C0 v# A* p6 U' T
1、刷新openwrt官方控件的注意,第一次启动需要telnelt 192.168.1.1(换lan4以外的口),这个时候是不需要密码的,进去以后passwd修改密码后才可以ssh登陆。
# R! }3 f/ `3 K* l7 t" A( O/ M2、注意写入FLASH。一个是一些软件的默认写入路径是FLASH里,要知道FLASH空间就16M,很容易就写满了。另一个是安装软件后重新启动一下,这样可以正确写入FLASH,避免因为FLASH效验错误无法启动(如果FLASH效验错误需要重新刷ROM)。
8 s1 J0 j/ a% A" i) E开始正文的分割线……
4 x8 Q2 B7 J+ v" [$ j
折腾1、挂摄像头
4 o1 ]! S  x9 E2 j# O' A2 t目前openwrt的摄像头安装似乎靠运气,网上的教程大多使用中星微(不知道为什么好多地方都写中微星)301摄像头做例子,我手头上只有一个廉价的良田免驱摄像头,VIDID是1e4e:0100,google到的第一条信息就是linux UVC驱动官网,可以看出使用的是鈺創芯片,使用UVC驱动成功。2 x& v1 T. n( H6 U
  1. opkg install kmod-nls-base #后续安装需要3 \" \' G! y. c5 F( D6 {; x3 R3 s
  2. opkg install kmod-usb-core#后续安装需要. ?1 V  O1 y9 ~3 G, t
  3. opkg install kmod-usb-ohci #ohci USB控制器,据说一般BCM都是这个4 H0 C: Q2 k; G6 ^" T
  4. opkg install kmod-usb2#这个摄像头是支持USB2.0的+ t0 S! s; X# C) i6 E. [7 l
  5. opkg install libusb#后续安装需要5 R( J7 T" i% y5 s4 l
  6. opkg install zlib#后续安装需要6 M# Q$ S9 m9 l" s- s' R: f
  7. opkg install usbutils#lsusb命令,很有用的工具
    7 I* n! g* d7 x* b4 U( p3 i
  8. reboot;exit#重新启动后lsusb才有信息
复制代码
lsusb
. O7 ~! f( Y0 U0 s. u输出为:/ J1 z5 T! V' H& h
  1. Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub+ M! R* l6 D3 [( `$ h* [2 v" D; s* v
  2. Bus 001 Device 002: ID 1e4e:01001 }/ X6 z% L, u$ G
  3. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
复制代码
可以看出来已经摄像头已经接上,由于数据库的关系没有认出芯片。9 B: d3 ]; y: h" X3 ]$ F
  1. opkg install kmod-input-core#后续安装需要0 Q4 M0 F: I. W% r
  2. opkg install kmod-i2c-core#后续安装需要
    $ r0 c8 \3 j- s3 K5 r: h- c1 n
  3. opkg install kmod-video-uvc#真正驱动
复制代码
这个时候应该出现/dev/video0了,dmesg输出:
0 H+ h7 r# z% {9 u* Y
  1. Linux video capture interface: v2.00
      {! o$ R1 d/ F2 X& m
  2. uvcvideo: Found UVC 1.00 device USB2.0 Camera (1e4e:0100)5 [* I4 J4 `8 b# l. i
  3. uvcvideo: UVC non compliance - GET_DEF(PROBE) not supported. Enabling work.! _' z. h1 l6 w1 W, ]2 B
  4. input: USB2.0 Camera as /devices/platform/bcm63xx_ehci.0/usb1/1-2/1-2:1.0/input0
复制代码
cat /dev/video09 A: N  b7 v- a
cat: read error: No such device
/ A& e1 T9 Q! I, y# J开始cat /dev/video0 无图像输出,以为没有成功,查了N多资料,才知道有的摄像头就是这样的,可能是我的摄像头不支持mjpeg格式读取。. R' k3 B) O3 B! @# i
安装mjpg-streamer
/ H) Z0 O! v" ~; m7 i: z
  1. opkg install librt#后续安装需要% R0 _6 p7 u. ~( X' H5 k1 D8 h
  2. opkg install libpthread#后续安装需要
    1 R' Z! E8 }6 {7 d& ~) k% l- R
  3. opkg install libjpeg#后续安装需要3 `$ h1 }' p4 G' M# Y$ ?
  4. opkg install mjpg-streamer
复制代码
启动mjpg_streamer" a4 o+ H, ?- Z# R/ c
  1. mjpg_streamer -i "input_uvc.so -r 352x288" -o "output_http.so -w /tmp/webcam"
复制代码
失败的同学注意了:
7 ^, S4 W' I- fmjpg_streamer默认使用的是mjpeg格式读取摄像头,而部分摄像头采用的是YUV格式(我的就是这种),如果使用不支持mjpge的摄像头需要加--yuv参数:6 \  v3 U5 \1 `7 Z, J
  1. mjpg_streamer -i "input_uvc.so --yuv -r 352x288" -o "output_http.so -w /tmp/webcam"
复制代码

6 u! Y' O9 h: S! C6 B& F  Q血淋淋的经验啊,试了palantir很多次没有成功就是这个原因,而且palantir似乎没有调节的选项。
* B9 |- n6 q5 v7 u为了安全起见也可以-c username:password 加上用户名、密码。
3 k( A, ]4 ~! [) ]这个时候用firefox浏览器(据说IE不支持)输入网址:http://192.168.1.1:8080/?action=stream应该可以看到图像了
预告,俺下次课讲的内容是挂GPS。
6 H  ]1 j& l- @- g9 {& ]  N没有反应?都睡着了吧
" o! T8 @+ n5 j5 d) \! B% B
作者: 牌牌    时间: 2011-8-13 20:33
回复 绿葱头 的帖子
$ j7 @8 Y' i( S3 p; e$ b) T; F) z% P, ?2 h3 M& L2 r
好像回帖被回和被点评也是可以加分的* ?% x3 @. H( T) ^; a

/ ^, Z" x& Y4 u1 T6 I, w俺觉得嘛,在这个版发帖不在乎挣分,而在于让大牛认识,然后帮忙把你捞出去,当然顺便多挣点分就更好啦
作者: 绿葱头    时间: 2011-8-13 20:42
回复 牌牌 的帖子+ T% ?' }9 o& _+ a- D/ s

* f- b" y9 D- s1 @! e9 G- E9 u现在不好混啊,刚开始管理员们参与相当快,给分毫不吝啬(当初都是5分5分的,现在可好,都是2、3分),鼎导说可以写点技术的,俺就写技术去了,结果被绊倒在跨平台编译上7天,自从8.8股市大跌以后,水贴多了很多,管理员可能嫌这里太乱了,提拔也越来越严格……
作者: 鼎革    时间: 2011-8-13 20:47
回复 绿葱头 的帖子" J3 @( @) F. x( I! H( ~+ {

; v( e, r" x+ b我晕。木想到您老的技术还真是干巴巴的纯技术啊,能写点雅俗共赏的,木基础也能明白的吗?9 {3 B: N$ w2 F! \- t' T3 |
要不您就写生活,写人生,写感情,写影评。。。。,还是有很多东东可写的嘛
作者: 绿葱头    时间: 2011-8-14 01:29
回复 鼎革 的帖子3 f! v! B5 j# L: K4 o
; t) @4 H  L4 L8 w
俺写了写人生,写了写感情,您老看可还行?
# L  z5 T& j6 z& u+ _5 _突然想起马三立的《吃饺子》来了
作者: 绿葱头    时间: 2011-8-15 06:27
标题: [绿葱头DIY]之大亚db120-wg路由器之挂GPS
虽然这个帖子太geek了,不适合这里。俺还是把它写完吧。虽然虎头蛇尾一些,等过一段时间机器人车弄出来了,再续上。/ E" J- O! D; ~  x+ t4 ~
GPS receiver in OpenWrt(这个网站还有其它很多硬件的安装,可以参考)
5 `# N, ~9 N7 W [HowTo] - set date based on GPS data from serial port
0 x8 @% ^2 U8 h2 H+ O0 z需要注意的是,DB120有两个USB口,下面一个是USB1.1&2.0的,上面是USB2.0的,所以一些USB1.1的设备必须使用下面的USB口。
  1. lsusb$ r; z( j* ~& N
  2. Bus 002 Device 004: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port8 g) M4 M- Y) m6 z7 p3 C% h. Z) H* M& S( p
  3. Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub! w2 G1 {/ v% C/ h! \3 z4 e& K' }
  4. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
复制代码
可以发现USB GPS使用的是广泛的PL2303。
  1. / G2 h# K+ y9 w1 ?' a: h
  2. opkg install kmod-usb-serial- m; e: _/ q4 `% E2 M
  3. opkg install kmod-usb-serial-pl2303
复制代码
就可以安装成功了。

/ Y0 T* C: D# ^! C3 S机器人小车可以参考这个BLOG说得比较详细,再加个机械手什么的就更好玩了。
作者: 绿葱头    时间: 2011-8-15 06:29
标题: [绿葱头DIY]之大亚db120-wg路由器之智能小车
先占个位子,以后再写。
作者: 绿葱头    时间: 2011-8-15 07:53
回复 Sina 的帖子
* L  k0 \) R! R+ r9 ]2 {3 L9 C# T
( V. p+ F/ @# y9 W2 h% q: r: e无人驾驶车队这个到没有想过,路由器本身的router/switch 功能是否还在?当然存在了。车队理论上是可以的,只是需要相应的程序。WIFI下,速度要很低,这个倒不至于,只有一些简单的传输指令,蓝牙什么的都可以满足,wifi肯定可以,另外这个帖子就不要回复了(太geek了),沉下去吧,更详细的讨论可以去爱果联盟
作者: 卡里其亚    时间: 2011-8-16 17:32
别沉别沉~葱头你从淘宝买的吗?我咋没找到那么便宜的呢?有没有商家链接共享一下?




欢迎光临 爱吱声 (http://www.aswetalk.net/bbs/) Powered by Discuz! X3.2