简单说一下流程。
1. WR703N刷openWRT系统(参考我之前的文章),我刷的是小标的,理论上任何一个版本都可以的。
2. 挂摄像头(参考我之前的文章)。
3. 安装必须的控制软件:
opkg update
opkg install ser2net
opkg install coreutils-stty
4. 拷贝car.htm, web2ser, wificar 3个文件到路由(参考我之前的文章)。
5. 开机启动,在putty里执行/etc/init.d/wificar enable
注意3个文件和之前不一样了,主要是改ttyS0为ttyATH0,改单字符为双字符控制,这样路由启动的时候小车就不会乱动了,另外改为支持4路舵机,控制网页支持键盘控制,WSAD控制减速电机,方向盘上下左右控制舵机1和2,Pgup&Pgdn,Home&End各控制一路舵机。由于我手头上只有1个舵机,所以只是分别测试了4个控制信号,还没有试过同时控制2个舵机,不过应该没有问题。(2011-12-22更新:用多个舵机应直接连接电源,不要用单片机的供电,否则可能有问题)
web2ser源码:
#!/usr/bin/lua
io.output("/dev/ttyATH0")
io.write(os.getenv("QUERY_STRING"))
wificar 源码:
#!/bin/sh /etc/rc.common
START=80
start() {
/usr/bin/stty -F /dev/ttyATH0 raw speed 9600
ser2net -c /etc/ser2net.conf
mjpg_streamer -b -i "input_uvc.so -r 640x480 -f 30" -o "output_http.so -p 8080 -w /www"
}stop(){
killall mjpg_streamer
killall ser2net
}
car.htm源码:
<html>
<head>
<script>
var keydown=false;
function sendSer(value){
var controlHost=document.getElementById("controlHost").value;
document.getElementById("ser").src="http://"+controlHost+"/cgi-bin/web2ser?"+value;
}
function stopMoving(){
sendSer('A0');
}
function moveForward(){
sendSer('A1');
}
function turnLeft(){
sendSer('A2');
}
function moveBack(){
sendSer('A3');
}
function turnRight(){
sendSer('A4');
}
function SteeringGear1Up(){
sendSer('B1');
}
function SteeringGear1Down(){
sendSer('B2');
}
function SteeringGear2Up(){
sendSer('B3');
}
function SteeringGear2Down(){
sendSer('B4');
}
function SteeringGear3Up(){
sendSer('B5');
}
function SteeringGear3Down(){
sendSer('B6');
}
function SteeringGear4Up(){
sendSer('B7');
}
function SteeringGear4Down(){
sendSer('B8');
}
function connectVideo(){
var videoHost=document.getElementById("videoHost").value;
docum

本文档详细介绍了如何使用WR703N路由器搭载openWRT系统,结合51单片机控制小车的全过程。步骤包括WR703N的系统刷写、摄像头挂载、安装控制软件、拷贝必要文件并配置启动脚本,以及通过网页进行遥控操作。通过修改代码实现了键盘控制减速电机和舵机的功能,并提供了完整的源码供参考。
最低0.47元/天 解锁文章
1961

被折叠的 条评论
为什么被折叠?



