利用无线路由及智能手机控制小车运动

摘 要随着科技的进步、社会的发展,工业的管理和生产进入了自动化的时代,机器人的技术已然成为一个国家现代化水平和发展水平的一个重要标志。随着现代技术的不断发展,机器人在各个领域都发挥着重要的作用:大到国防军事,小到百姓生活,由此可以预见,研究这种智能小车以及控制这种小车的方法,将对人们的生活生产产生深远的影响。本课程设计所涉及的智能小车采用的是Zedboard主控板,主芯片用的是Zynq-7000结合可编程逻辑和高性能双核Arm处理系统于一体,利用无线路由及开发的智能手机软件控制小车运动。对ZYNQ的PL和PS部分进行编程,创建并编写IP内核。最后通过Wifi模块实现PC机,安卓手机以及智能小车之间的数据传输。用开发的智能手机软件通过Wifi精确的控制小车的前进、后退、左转、右转。
添加接口的时候,根据教程来选择相关的选项,这样就完成了前置工作。然后将IP添加到目录中,之后就能调用这个IP核了。
5、编辑IP

图4.6 编辑IP
点击上图中的IP Catalog 目录,调用刚刚创建好的IP核,选择Edit in IP Packager。
6、添加PWM输出端口

图4.7 添加PWM端口
7、封装IP

图4.8 封装IP内核
在完成之前的一系列工作之后,就要将IP核进行封装了。如上图4.8所示,依次设置封装IP的选项,待全部成功后,点击 RePackage IP,就完成了IP核的封装,之后就能直接调用这个了。
8、系统的完整架构

图4.9 系统的完整架构
在完成以上的步骤之后,最终得到了系统的完整架构。
4.3 下载程序
(1)要将程序烧到小车里,首先得安装驱动。

(2)将程序导入SDK

图4.10 启动SDK的界面
在完成PL部分程序的编写编译,配置好各参数后,将硬件工程导出,进入到SDK中,在SDK中对PS部分进行编译。
(3)将程序下载到板子中

图4.11 将程序下载到FPGA中
 *好棒文|www.hbsrm.com +Q: *351916072* 


图4.12 设置参数
在完成系统架构搭建之后,点击Run Bitstream 来生成比特流,然后将端口改为JTAG,波特率设置为9600。这样就能将程序导入到板子上。
4.4 PC机客户端的设计
利用小车的无线路由,与电脑的Wifi相连接来利用网页控制智能小车的运动是本课题的一个重要方面。在PC机界面设计过程中,结合HTML、CSS和Javascript等技术完成对界面监控程序的编写。重要用HTML描述界面的内容结构,然后配合CSS来进行排版布局,利用Jacascript实现监控界面的处理。
(1)HTML:是超文本标记语言(Hypertext Markup Language)的缩写,他是构成网页的主要工具,网页文件就是用这种语言编程而成的HTML文本文件。以.html作为扩展名。HTML文件由很多的标签和元素组成,能够把因特网中的声音、图像、视频等文件组织在一块儿,通过这些文件来显示出各种各样的页面。网页文件一般来说采用辅助软件来协助完成,也可以自己编写代码。HTML文件能支持很多平台,它能够连接数据库、接收用户的信息及请求,能在浏览器中显示出开发者想要的内容。
(2)CSS:是层叠样式表(Cascading Style Sheets)的缩写。传统的HTML对网页格式化方面做的不太好,页面不那么美观,而引入了CSS技术之后,解决了这些问题。CSS是一种标记性语言,用于控制网页样式。CSS文件和HTML是同一类纯文本文件,一般的软件都能进行编写。
(3)Javascript:是一种基于对象的、紧缩的脚本描述语言,使用它可以开发客户端的应用程序。它是和CSS一样可以直接在浏览器解析的脚本语言,在HYML页面中以语句的方式出现,浏览器可以直接嵌入在HTML的页面中的Javascript语句中来实现相应的操作。一个完整的Javascript实现由文档对象、浏览器对象和核心三大部分组成。具有简单、安全、跨平台等特点[3031]。

图4.13 通过网页控制小车的运动
图4.12是通过网页控制小车的界面。首先连接好小车,并上电。然后连接无线路由器,打开电源,待无线路由器启动完毕后,在PC机上连接Wifi,打开PC机的浏览器,输入网址:http://192.168.1.100。就会出现上图的界面,就能控制小车的运动。
4.5 Android智能手机客户端
(1)Android用户界面
用户界面UI是用户和系统之间交流的媒介,采用虚拟现实技术和用户交流是用户界面发展的必然趋势。Android用户界面采用视图树模型,视图树由View和ViewGroup构成。View类是SDK创建界面的基础。View Group是View的子类,作用是承载含多个View的显示单元,用来组织其他组件和View Group对象。
Android系统的界面控件包含定制控件和系统控件。定制控件是开发者修改或者独自开发的控件,具有针对性,用于满足用户的需求。系统控件是系统提供的用于开发过程中的一些功能控件,这些控制存在于Android系统内部。系统控件能大大的提高应用程序开发的效率,并保证应用程序界面的一致性。一般常用的系统控件包括:Text View、Image Button 、Image View 、Button、等,他们都是View类的子类。
(2)TCP Server守护进程
Android端必须通过Wifi接入到小车的无线路由器当中,才能实现对小车运动的控制。在智能小车上的Zedboard中,编写一个TCP Server 后台进程,用来接收和解析控制命令。TCP Server守护程序启动以后,绑定端口来接收控制命令。Android APP作为一个TCP Client可以连接到智能小车上来,这时,Android APP就可以发送对应的控制命令给TCP Server守护程序,然后TCP Server守护程序将命令进行解析后,通过调用PWM驱动程序实现智能小车的行驶控制。

图4.14 TCP Server 端口号
如图所示:TCP Server守护进程通过监听2001端口来接收命令、解析命令并发送命令,最终实现对小车的控制。
图4.15 TCP Server控制流程图
图4.14为TCP Server的控制图,手机通过Wifi发送指令给无线路由器。无线路由器通过这个守护进程,将其导入到后台进行命令的解析,然后再将解析好的指令发送到芯片上,完成动作。

图4.16 智能小车Android APP截图
图4.16为手机APP的截图。Android APP在连接TCP Server时,还需要进行一些设置。连接上Wifi后,设置手机软件,如IP地址、端口号等。开启小车电源,点击connect,就能用手机来控制小车的运动。



版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/1701.html

好棒文