首先需要有一块TP-LINK WR703N 150M3G迷你无线路由器(702也可以),淘宝价格大概100左右,这个路由器购买回来后的初始的功能是将一个3G无线网卡转成WIFI和一个以太网口的网络。如下图
以下的LP-LINK WR703N 都简称为703,703出厂时烧录有一个3G网卡转无线网卡的固件,可以购买到4M和8M两种套餐,这两种的区别是4M存储空间比较少,不能安装太多程序,而且使用TTL救砖的时候也会略有不同,我这里采用的4M的703,4M和8M的配置代码是不一样的,8M的代码部分请移步到底部的附录zhao找对应代码。教程主要是使用TTL硬件烧录方法把原来的系统擦去,烧录OpenWrt操作系统,OpenWrt是 Linux 的一个发行版,主要面向路由器的开发,类似OpenWrt的操作系统还有dd-wrt和tomato。
需要准备的工具有winscp、SecureCRT、sscom、tftp、以及703N的OpenWrt固件。
OpenWrt的选择:网上的教程大多数是选择在http://archive.openwrt/snapshots/trunk/ar71xx/generic/里下载,下载的固件文件如下图,但本教程不采用该固件,固件兼容性有问题。
703的固件有两种,一个是在原系统上进行在线升级的squashfs-factory固件,另一个是使用TTL方法刷的非squashfs-sysupgrade固件。
上图是openwrt官方发布的703固件,默认不带WEB后台界面,需要自己安装LUCI才会有。然后squashfs-factory.bin是用在703原版固件的升级包, squashfs-sysupgrade.bin在网上说得不是很清楚,大概是烧写固件或者其他意外导致703成砖所使用的TTL刷机专用固件,教程中使用的不是官方原版固件,所以以上的内容仅是作为科普作用,下边才是教程的开始。
一、最简单的一步,拆除703的外壳。
二、找到TP_IN和TP_POU两个刷机口,大概在最大的那个FLASH芯片旁边,有丝印层标出,很容易找到,找两个细铜丝将这两个口引出,最好用铜丝,不要使用硬线,容易导致焊盘脱落。
三、将这两个口对应上TTL转USB模块Tx和Rx(TP_IN-Tx,TP_POU-Rx),我这里使用的是CH340模块,需要事先装好对应的驱动,这里不作另外的说明。除了TP_IN和TP_POU,还需要从703上引出一条GND和串口模块共地,最简单的方法就是从703上边那个USB口的引出,就是那两个最大的焊盘。
四,关键教程来了,之前提到我们不使用openwrt给的官方固件,是因为兼容性不好,问题太多,而且没有WEB界面,对Linux命令不熟悉的人用起来比较艰难。然后我们这里使用的是 Barrier Breaker 版本的Openwrt,网上下载链接:http://downloads.openwrt/ 选择Barrier Breaker 14.07 ,然后进入目录/ar71xx/generic/找到wr703n的squashfs-factory和squashfs-sysupgrade固件下载,我们采用的是squashfs-sysupgrade版本的固件进行刷机
五、将703用网线与电脑连接起来,如果是笔记本电脑,则需要关闭wifi,避免电脑接入了其他网络,然后打开网络和共享中心,将ip4地址设置成固定值,注意一般路由器的默认ip池的分配范围是192.168.1.x。将squashfs-sysupgrade固件放到tftp的目录里边,名字修改成短一点的,不然容易出错,比如修改成sy.bin,下边要用到这个名字。右键使用管理员权限运行tftp软件,会提示联网权限,点击允许,Current Directory设置成tftp的目录,Server interfaces设置成刚刚设置的固定ip,然后该软件就这样挂着就OK了,不过有时候Server interfaces会自己变成其他IP,需要留意。注:使用的4款软件中有三款产于国外,所以不要把这样软件放在中文路径下边。
六、打开串口软件,并将串口模块插入电脑usb口,我们使用的串口软件是sscom,然后将波特率调到128000,网上的教程说是115200,但是实际使用测试的结果是开机引导程序是128000,进入Openwrt系统后才是115200,我们现在是在引导阶段刷机,所以用128000。打开sscom串口,一定要勾选加回车换行的功能,然后在发送框里边提前输入“tpl”,这是引导程序的默认密码,一会要用到,接着给703上电,紧盯屏幕,看着串口数据输出,一旦看到Autobooting in seconds这串文字输出后马上把tpl发送出去,如果没赶上就断电再来一次。
七、然后我们需要用到5条指令来刷机,切记这5条指令不要打错,并且这5条指令是4M Flash的,8M Flash的前两条指令一样,但是后三条指令请参考附录。首先在串口软件中依次输入下边三条指令,输入一条发送一条:
setenv serverip 192.168.1.100
setenv ipaddr 192.168.1.1
tftp 0x80000000 sy.bin
这三条指令是703从tftp中 下载固件用的,下载过程tftp也会有个进度条,有挺大的传输失败几率,如果在20秒内没传完就是传输失败了,703直接断电重复之前的教程。
传输成功后会提示done,然后输入第四条指令,从这条命令开始到刷机结束不管出现什么情况都不要掉电,命令如下:
erase 0x9f020000 +0x3c0000
大概等待一分钟左右就会有完成的提示,接着输入第五条指令:
cp.b 0x80000000 0x9f020000 0x3c0000
最后看到done的时候刷机完成。重启703,保持703和电脑的网线连接,正常情况下在电脑输入192.168.1.1就可以看到Openwrt的路由器控制台了,如果看不见也没关系,后边的教程我们用命令行来解决,控制台界面的操作可以自行研究。
这个时候TTL 串口就不用了,但不急着把TTL拆除,后续如果出现问题还可能要用到TTL刷机。
八、按win+R打开运行窗口,输入cmd回车,打开dos命令窗口,输入telnet 192.168.1.1,如果提示没有找到这条指令,可能是没开启telnet服务,自行百度一下开启方法。如果进入到了Openwrt界面就可以输入passwd来设置初始密码,设置好了后就可以打开SecureCRT登陆了。
打开SecureCRT,建立连接,初始用户名为root。连接成功后会让你输入密码,把刚刚在cmd里边设置的密码输入进去,看下是否能正常连接。
打开WinSCP登陆,注意红框的选择
有关WinSCP的操作以下由文字来替代。
九、找到/etc/config文件夹中的wireless跟network文件进行修改。
wirelless文件修改内容:
config wifi-device radio0
option type mac80211
option channel 11
option hwmode 11g
option path 'platform/ar933x_wmac'
option htmode HT20
# REMOVE THIS LINE TO ENABLE WIFI:
# option disabled 1
option noscan 1
list ht_capab SHORT-GI-20
list ht_capab SHORT-GI-40
list ht_capab RX-STBC1
list ht_capab DSSS_CCK-40config wifi-iface
config wifi-iface
option device radio0
option network lan
option mode ap
option ssid OpenWrt
option encryption none
network文件修改内容:
config 'interface' 'loopback'
option 'ifname' 'lo'
option 'proto' 'static'
option 'ipaddr' '127.0.0.1'
option 'netmask' '255.0.0.0'
config 'interface' 'lan'
option 'type' 'bridge'
option 'proto' 'static'
option 'netmask' '255.255.255.0'
option 'ipaddr' '192.168.2.1' // 仅为了和上级路由IP不冲突
config 'interface' 'wan'
option 'ifname' 'eth0'
option '_orig_ifname' 'eth0'
option '_orig_bridge' 'false'
option 'proto' 'dhcp' //WAN口设为从上级路由获取IP地址,也可以设置成静态地址
回到SecureCRT,输入重启命令reboot回车。
十、将网线从703连接到路由器上边。路由器需要可以正常上网。电脑连接703的WIFI,如果跟着之前教程弄的话,703的 WIFI名字应该是“OpenWrt”,并且是没有密码的。
十一、打开SecureCRT登陆703的Openwrt系统,这时候,主机名就不再是之前的192.168.1.1了,而是192.168.2.1,刚刚在networt文件中设置的,主要是为了避免和主路由器的网关产生冲突。现在开始装摄像头驱动。
输入opkg update命令回车,等待数据包的下载,大概几分钟,可以进入到路由器的后台去看一下703的网络有没有在跑,如果没有在跑的话可能是之前没有仔细的按照教程的方法弄。
十二、把摄像头插入电脑,查看摄像头的硬件id,看下是否有“301”字眼,如果没有的话OpenWrt很可能不支持,买摄像头的时候最好买中星微3xx驱动的淘宝上价格比较便宜的比如中星微zc0301pl301,或者uvc驱动的也可以,还有个条件就是摄像头需要支持MJPEG。然后将摄像头插入703的USB口。
回到SecureCRT,开始安装摄像头驱动
opkg install kmod-video-pwc
安装符合自己摄像头型号的驱动(我的是301)
opkg install kmod-video-gspca-zc3xx
如果不是301的摄像头则安装免驱uvc镜头(并不是所有免驱的都支持)
opkg install kmod-video-uvc
安装完成驱动后需要重启一次703,然后重新连接SecureCRT,输入ls /dev,如果出现video0就说明摄像头安装成功。没成功可能是哪个步骤没有安装成功或者703没有连上网。
现在再安装WEB视频功能
opkg install mjpg-streamer
输入摄像头启动命令
mjpg_streamer -i "input_uvc.so -r 640x480 -f 30" -o "output_http.so -p 8080 -w /www"
如果是uvc免驱的摄像头则输入
mjpg_streamer -i "input_uvc.so -r 352x288 -y -f 15 -q 80" -o "output_http.so -p 8080 -w /www"
到浏览器输入703IP+:8080/?action=stream不出意外就可以看到图像了。
比如http://192.168.1.2:8080/?action=stream
然后SecureCRT需要一直保持连接才能保证图像显示,如果出现花屏现象则断开SecureCRT当前的连接状态重新连接一次就可以了,或者尝试一下输入opkg install kmod-video-pwc ,应该可以解决花屏问题,如果还是花屏那就是分辨率原因了
十三、接下来就是设置摄像头开机启动的教程了。打开SecureCRT,输入指令:
cd /etc/init.d
vim startCamera
然后会到一个类似文本编辑的界面,编辑之前先按一下按键盘’i’,需要添加的内容如下:
#!/bin/sh /etc/rcmon
# /init.d/startCamera
START=99
start()
{
mjpg_streamer -i "input_uvc.so -r 640x480 -f 30" -o "output_http.so -p 8080 -w /www"
}
编辑完成后按一下Esc按键退出编辑,然后输入:w保存文本,再输入:q回到命令行。
然后在SecureCRT中输入设置开机启动
ln -s /etc/init.d/startCamera /etc/rc.d/S95startCamera
ln -s /etc/init.d/startCamera /etc/rc.d/S99startCamera
输入下边两条命令设置shell脚本运行权限
cd /etc
chmod -R 777 init.d/startCamera
这样就可以实现开机自启动了,如果因为操作问题导致703后台的uci界面无法显示可以试试下边两个开机启动uci的指令。
/etc/init.d/uhttpd enable
/etc/init.d/uhttpd start
十四、现在连接703的wifi可以正常的访问摄像头了,但是无法通过路由器去访问,方法一是设置路由器桥接,要么把703桥接到路由上,要么把路由器桥接到703上。以下是路由器桥接到703的教程。
电脑接入路由器网络,703保持网线接入路由器的状态。浏览器输入192.168.1.1进入路由器控制台
找到WDS桥接,把WDS打开,然后可以使用向导功能,会教你如何接入,其实简单的理解就是然路由器附属到703的WIFI中,设置的过程很简单。桥接完成后,在浏览器中输入192.168.2.1则可以正常进入到Openwrt的后台,输入http://192.168.2.1:8080/?action=stream就可以看到摄像头显示了。
还有一种方法就是在OpenWrd的控制界面里,找到网络-防火墙,然后按照下图设置
把所有的网络权限都设置为接受,并添加一个新的规则,推荐使用这种方法,然后就可以通过上级路由器来访问了,访问地址是上级路由器分配的ip。
附录
ttl刷新编程器固件、fw、uboot、art
4M Flash:
刷编程器固件:
tftp 0x80000000 full.bin
erase 0x9f000000 +0x400000
cp.b 0x80000000 0x9f000000 0x400000
刷uboot:
tftp 0x80000000 uboot.bin
erase 0x9f000000 +0x20000
cp.b 0x80000000 0x9f000000 0x20000
刷fw:
tftp 0x80000000 fw.bin
erase 0x9f020000 +0x3c0000
cp.b 0x80000000 0x9f020000 0x3c0000
刷art:
tftp 0x80000000 art.bin
erase 0x9f3f0000 +0x10000
cp.b 0x80000000 0x9f3f0000 0x10000
8M Flash:
刷编程器固件:
tftp 0x80000000 full.bin
erase 0x9f000000 +0x800000
cp.b 0x80000000 0x9f000000 0x800000
刷uboot:
tftp 0x80000000 uboot.bin
erase 0x9f000000 +0x20000
cp.b 0x80000000 0x9f000000 0x20000
刷fw:
tftp 0x80000000 fw.bin
erase 0x9f020000 +0x7c0000
cp.b 0x80000000 0x9f020000 0x7c0000
刷art:
tftp 0x80000000 art.bin
erase 0x9f7f0000 +0x10000
cp.b 0x80000000 0x9f7f0000 0x10000
检查连接和dns是否正常
ping -c 1 8.8.8.8
ping -c 1 baidu
如果连接没问题进行下列步骤
opkg update
opkg install luci
/etc/init.d/uhttpd enable
/etc/init.d/uhttpd start
使用pppoe上网配置
1. uci set network.wan.proto=pppoe //设置wan口类型为pppoe
2. uci set network.wan.username=[上网帐户]
3. uci set network.wan.password=[上网密码] //这两行设置pppoe用户名和密码
挂在上级路由下面的配置
1. uci set network.wan.proto=none //关掉wan
2. uci set network.lan.gateway=[上级路由ip] //网关指向上级路由
3. uci set network.lan.dns=[上级路由ip] //dns指向上级路由 :
4. uci set dhcp.lan.ignore=1 //关掉lan的dhcp
无线网络配置
1. uci set wireless.@wifi-device[0].disabled=0 //打开无线 )
2. uci set wireless.@wifi-device[0].txpower=17 //设置功率为17dbm 太高会烧无线模块
3. uci set wireless.@wifi-device[0].channel=6 //设置无线信道为6
4. uci set wireless.@wifi-iface[0].mode=ap //设置无线模式为ap
5. uci set wireless.@wifi-iface[0].ssid=[自己设置SSID] //设置无线SSID
6. uci set wireless.@wifi-iface[0]work=lan //无线链接到lan上
7. uci set wireless.@wifi-iface[0].encryption=psk2 //设置加密为WPA2-PSK
8. uci set wireless.@wifi-iface[0].key=[密码] //设置无线密码
提交应用配置
1. uci commit //应用
2. /etc/init.d/network restart //重启网络服务
常用命令
ps 命令查看当前系统运行的进程信息
free 命令查看内存使用和swap挂载情况
ls 查看目录和文件
cd 进入退出目录
vi 查看编辑配置文件
reboot -f 重启
firstboot 恢复出厂
更多推荐
WR703N网络摄像头安装教程
发布评论