嵌入式实训方案—— 基于OpenWrt的WiFi 智能小车 目录 1、实训目的 2、实训时长和方式 3、针对人群 4、实训项目详细内容 4.1 项目背景 4.2 开发平台 4.3 系统硬件组成图 4.4 系统软件层次结构 4.5 软件实例展示 4.6 涉及到的软件技术 5、课程安排 6、实训老师简介 7、实训考核 8实训 9、实训地点 10、联系我们
1、实训目的本次嵌入式实训是为了提升学生的工程技术经验、专业技术及相关基础知识,指导学生进行基于嵌入式平台的实际项目开发设计。实训内容涵盖了基于Linux系统的核心技术知识体系,主要涉及C编程技术、工程开发中常用的数据结构及算法、存储技术、Linux核心编程技术、GUI程序开发、第三方开源代码使用、基于Linux系统移植及内核开发、软件工程、调试技术等等诸多方面,并能够完整体验软件工程化设计实现过程,参与软件生命周期中实际实施过程,适应一个大型嵌入式/物联网项目分工协作的过程。丰富、实用、深入浅出的内容,可以把学生以前学过的基础知识,加以融会贯通,让学生了解并熟悉到所学的知识在嵌入式应用、3G技术、物联网技术等方面的用途和实现。通过这次实训,学生可以了解、熟悉、掌握软件工程、规范编程、软件开发技巧、开发流程、调试技术、目前热门技术等实际开发的经验和方法,锻炼积累一定的Linux主流技术的开发经验,为就业后尽快适应工作打下一个比较好的基础。
2、实训时长和方式本次实训时间为××天,××个工作周。主要分为三个阶段,第一个阶段主要进行复习和基础知识巩固,第二个阶段学习Linux平台下的核心编程技术,第三个阶段为项目阶段,学员分组后,独立完成分配的项目,最后进行答辩。前两个阶段每天都采用理论讲解、实验锻炼的方式,使学员能够马上学以致用。项目阶段则要求学生综合利用前面学到的知识,小组成员协作完成一个实际的项目,老师进行相应的辅导。 3、针对人群实训主要针对大三、大四学生(电子信息工程、电子科学与技术、计算机科学与技术、通信工程、物联网等相关专业学生),对C/C++语言有一定掌握,对Linux系统有一定了解。 4、实训项目详细内容4.1 项目背景随着人们生活水平的提高,各种智能硬件如雨后春笋般在市面上大量涌现。常见的智能手表、智能手环等智能穿戴设备已经被越来越多的年轻人接受和追捧。还有一些新奇的智能设备也在慢慢映入人们的眼帘,比如智能助眠灯、智能水杯和无人飞行器等。在这之中,不乏一些有非常高实用价值的智能设备,比如智能机器人中的一种家用电器设备——智能扫地机。那么为什么现在会涌现出如此种类繁多的智能硬件设备呢,首先是刚才提到的人们的切实需求,其次是现在的嵌入式技术的高度发展。嵌入式技术在经过几十年的发展后,现在的发展方向是微型化、网络化和智能化,也就是说以后用到的很小的电子设备都可能具备联网的功能,具备一些自动收集并处理数据的功能。本智能小车项目正是顺应着这种发展的趋势而产生的,通过一个小型的电动车,搭载相应的电机驱动控制和舵机驱动控制板,超声波及红外传感器,加上一个摄像头和一个无线路由器组成,结构小巧,但能完成诸多功能,如自动巡迹、自动逼障、视频采集和远程手动控制行驶等。结合这些功能,小车能完成一些靠人无法完成的操作,比如在狭小的空间内进行搜索、探测,在有毒害的环境下进行勘测等等。 4.2 开发平台硬件: - Ubuntu Linux宿主机
- Arduino Uno电机及舵机控制板
- 无线WiFi路由板
软件: - GCC交叉编译工具链
- GNU Make工具
- Qt Creator集成开发环境
- Arduino集成开发环境
- SVN/git软件版本管理工具
- OpenWrt开发环境
4.3 系统硬件组成图图 4.1 硬件实物图A 图4.2硬件实物图B 智能小车的硬件主要由4驱车轮、舵机、直流电机控制及摄像头舵机控制板、无线WiFi路由板及摄像头组成。其中4驱车轮是小车行驶的组要部件,每个车轮都有一个直流电机,能够完成前进、后退、左转、右转的动作;舵机上安装摄像头,能够使摄像头水平180°范围偏转和仰俯控制;直流电机控制及摄像头舵机控制板则是控制电机和舵机的一块电路板(可以是一个普通的单片机控制板,也可以是Arduino开源硬件电路板),除了电机和舵机的驱动控制外,还可以连接红外探测器、超声波发生和接收器,完成自动巡迹和自动逼障的功能;无线WiFi路由板是进行无线WiFi连接的主体,上面运行了一个基于嵌入式Linux的OpenWrt操作系统,能够完成路由器的工作。硬件的连接情况如下图所示: 图4.3硬件连接示意图 如上图所示,四驱车轮的电机、超声波传感器,红外传感器通过连接线接到控制板上,从而通过控制板产生电机驱动信号和舵机驱动信号来控制小车的行驶和摄像头的角度。另一方面,控制板采集超声波传感器、红外传感器的信息并处理后,可以实现自动巡迹和自动避障。 路由板通过串口和控制板相连,从而路由板从网络上接收到的命令可以通过串口转发给控制板,用于手动控制小车的行驶和舵机的角度。控制板也可以通过串口将红外传感器和超声波传感器的信息发送给路由板。另外,路由板也会通过摄像头来采集图片信息。 路由板上运行视频流播放服务器,HTTP服务器,电脑、平板、手机等终端可以通过网络连接到路由板,运行视频播放的客户端,可以实时进行视频监控。另外,通过网络将控制命令发送给路由板,可以实现对小车的控制。 4.4 系统软件层次结构图4.4 系统软件层次结构 整个软件分成三个层次,分别运行在终端设备(如电脑、平板、手机),路由板和控制板上。终端设备上的程序主要用于流媒体视频流的播放,小车的控制;路由板上的程序主要运行了流媒体(视频播放)服务器,HTTP服务器和数据转发程序,提供视频播放,控制数据转发等功能。控制板上的程序则主要解析从串口上受到的数据,然后对其进行解析,然后控制小车。当模式设为自动巡迹和自动避障模式后,控制板上的程序采集传感器传回的数据,经过处理后,自动判断并控制小车的运行方向。 4.5 软件实例展示图4.5 路由器配置界面 图4.6 Android应用程序主界面 图4.7 Android应用程序控制界面 4.6 涉及到的软件技术- Linux串口编程
- Linux V4L2编程
- Linux多线程编程
- Linux网络编程
- Qt网络编程
- OpenWrt系统移植
- Arduino开发
附件:
【嵌入式】基于OpenWrt的Wifi智能小车实训方案.docx
(1.73 MB, 下载次数: 31)
|