当前位置:   article > 正文

通过WiFi控制智能小车机器人制作过程详解_wifi智能小车怎么安装

wifi智能小车怎么安装
之前发的作品都是基于蓝牙控制的智能小车机器人,由于蓝牙的传输范围比较小,所以控制距离的局限性比较大,并且通过蓝牙传输视频会明显出现卡屏的现象。 

而通过WiFi方式控制智能小车机器人能达到100米左右的控制距离,并且在视频传输方面远远优于蓝牙传输方式,因此这次在原有的智能小车的基础上,将蓝牙控制方式改为WiFi控制。 

这是WiFi小车的视频: 

   

下面简单地介绍一下WiFi控制智能小车机器人的制作过程: 

首先是智能小车不变,51单片机中的下位机程序也不改,(这些东西的制作可以参看我之前的日志)不过为了方便安装路由器,各位可以自己在小车上再加上一层,这样就有空间安放路由器了。 

接下来是原理说明: 

其实通过WiFi控制智能小车机器人没有想象中那么复杂,它的原理就是:找一台能刷Linux的无线路由器,将其操作系统刷成OpenWrt,这是一个在路由上运行的Linux操作系统,完成这一步后,这个路由就等于成了一个Linux系统的小型电脑了。 

然后将Linux下的摄像头驱动安装到路由器上,这样路由就能把视频通过无线功能发送到电脑控制端。 

指令的发送则是通过一个PHP网页,这个PHP网页是运行在路由器上的,控制者通过访问路由器的地址,就能打开这个PHP网页,然后通过按键操作,这个PHP网页就能把相应的按键键值转换为指令发送到路由器的串口。 

在路由器中,串口就是TTL线接口,所以只需要将路由器的TTL线接到单片机上对应的串口上,就可以向单片机发送指令了。 

   

需要的材料如下: 

1、可以刷OpenWrt的无线路由一台,一般选择大亚DB120系列的,这种路由猫内部有TTL线,可以作为串口发送指令。 

2、摄像头采用芯片为301的摄像头,这种摄像头比较老,目前很难找到,建议到旧货市场看看。 

3、上位机软件:我的WiFi上位机软件(其实就是运行在路由上的PhP网页和其他一些驱动)采用的是爱果联盟乔帮主写的一个wifirobot控制端程序,但是该程序是配套论坛中商业化量产的WiFi机器人的,所以需要对源代码进行一些修改,稍后将介绍。 

制作步骤: 

1、刷路由,具体怎么刷比较繁琐,这里就不一一介绍了,直接百度"无线路由/猫刷OpenWrt"即可,不过刷机有风险,希望大家在买路由的时候直接让店家刷好就行了。需要刷的OpenWrt版本号为2.6,网上有这个版本系统的固件下载,如果需要重装的时候直接用这个固件重刷就行了。 

2、刷完路由之后,安装爱果论坛乔帮主的wifirobot控制端程序,安装过程请到这个地址查看:http://www.igee.cn/read.php?tid=436 

但是在改TTL波特率这一步,不能直接改成链接中所说的115200,这个波特率是论坛中成品小车驱动板的波特率,因为我们的51单片机小车的波特率是9600,所以在这里应改为9600 

3、下一步是接线,把51单片机RXD和路由器的TXD相接,TXD和路由器的RXD相接,地线接在一块,但是要注意了,这里我测量得出路由器TTL电平为3.3左右,51单片机引脚为4.5左右,所以在这两对脚之间都串上一个1K电阻。  

大亚路由器的TTL引脚定义如下图: 

111.jpg 

4、摄像头的连接,把301摄像头的USB插口查到路由器后面的USB接口,如果是双USB的路由器,则要接到下面的那个接口。 

5、最后是程序 

在我这个智能小车的下位机程序中,采用发送字符的方式进行指令传输,所以得需要改改乔帮主的PHP源代码。乔帮主的上位机源代码中有一个web/lib.php文件,用Winscp打开它,其中有个函数是发送数据的,如下: 


function send2ser($tts,$hex_data)//发数据
{    
    $bin_data=hex2bin($hex_data);
    $handle = @fopen ($tts, "a+b");
    $error=fwrite($handle, $bin_data);
    fclose ($handle);
    return $error;
}
在这里,乔帮主先对原始的键值进行了处理,把它转换成了二进制格式,但这是适用于论坛中的驱动板的,所以在这里需要改改,把处理字符串的那一行代码注释掉,直接发送字符串就行。
改成: 


function send2ser($tts,$hex_data)//发数据
{    
    //$bin_data=hex2bin($hex_data);
    $handle = @fopen ($tts, "a+b");
    $error=fwrite($handle, $hex_data);
    fclose ($handle);
    return $error;


   

由于这个控制端程序是在乔帮主的的源代码基础上修改的,所以在这里就不方便把这一块的源代码公开了,有兴趣者可以自己解压乔帮主的控制端安装包查看代码。 

   

做好这些步骤后,就可以开始运行了。首先打开路由器电源,等待30秒钟左右,路由启动完毕,然后打开电脑的无线网卡,搜索路由信号并进行连接。 

连接成功后,打开智能小车上的电源。用火狐浏览器打开如下地址: 

http://192.168.1.1:81/car.php 

当然,不一定是这个地址,具体看你的路由器LAN口的设置,默认是这个。 

然后就可以出现如视频中所示的控制画面了,在控制界面的中选择"编辑"按钮,再点击"前进"按钮,将弹出设置对话框,在"按键按下发送的指令"中填入1,"按键弹起发送的指令"中填入0,再点击"后退"按钮,按下指令填入3,弹起是0;左转按钮设置为2、0,右转为4、0。然后点击"发送",即可通过W、S、A、D四个键控制小车的运动了。 

由于视频传输部分其实是不断下载一幅图片所形成的,所以必须选择火狐浏览器,使用IE的话看到的是静态图像,必须手动刷新才行。 

   

   

OK! 通过WiFi控制智能小车机器人的介绍就到这里了,希望搞这一行的新手能多动动脑筋,光等着前人帮你解决所有问题是不会有进步的。 

相关配件网上都有,比较关键而且容易出现干扰的部分是电机,建议找质量好点的店家购买:http://shop60840894.taobao.com/
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号