




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 毕业设计(论文)题 目:学 生: 指导老师: 系 别: 专 业: 班 级: 学 号: 年 月 日目录摘要1Abstract21 项目背景31.1项目背景及目的31.2 GPS定位导航系统的现状31.3 项目研究的目的和方法31.3.1 项目的研究目的31.3.2 开发方法及步骤42开发平台介绍62.1系统平台环境62.1.1硬件平台62.1.2软件平台62.2相关技术62.2.1 Qt的Graphics View架构62.2.2 RS232串口外接LEA-5的GPS模块73系统需求分析83.1功能需求概述83.1.1系统开机模块83.1.2 定位导航模块83.1.3 电子图书模块93.1.4
2、 电子相册模块93.1.5 系统设置模块93.2系统数据流图103.2.1 分层数据流图104系统功能设计124.1概述124.2系统框架124.3系统功能结构135数据库的分析设计145.1系统ER图145.2实体属性图145.3数据库逻辑结构设计156系统详细设计166.1模块设计实现166.1.1系统关键类的类图设计166.1.2 GPS数据流向的时序图设计176.1.3定位数据的解析176.1.4地图数据显示的设计186.1.5定位功能的设计196.1.5导航路径的设计206.1.6电子图书的功能设计226.1.7电子相册功能的设计236.2界面设计246.2.1系统主界面246.2.
3、2定位导航模块界面256.2.3电子图书模块界面266.2.4电子相册模块界面276.2.5串口设置界面277展望298总结30致谢语30参考文献:31附录1 GPS设备数据解析关键代码附录2 导航路径迪杰斯特拉算法II基于Qt的GPS定位导航系统的设计与实现摘要GPS系统是一个使用GPS定位卫星,可以在全球范围内进行定位、导航等多项功能的系统,它作为一种新的生产力和先进的测量方式,已经融入社会发展的各个领域。本文论述的GPS定位导航系统主要在Linux系统上的Qt4.7.0开发平台下进行设计、实现,使用C+作为编程语言,Sqlite3数据库存储MIF地图信息,RS232串口外接LEA-5的G
4、PS模块作为通讯模块等开发技术。该系统的定位导航功能模块通过加载地图数据信息,并做相应的处理后,能够为用户提供地图的显示、缩放、拖拽等浏览操作。在这基础上,提供了用户所处位置的实时定位功能、起点和终点间的最短路线的导航功能。另外,系统为用户提供了一些基础娱乐功能,例如图片的浏览、自动播放功能,本地电子图书的阅读、标签收藏功能等。关键词:GPS;定位;导航The design and implementation of GPS Navigation Systems which based on QtAbstractGPS is use of GPS satellite, which on a g
5、lobal scale for positioning, navigation, and so many functions of the system. It as a new productivity and an advanced method of measurement has been integrated into the application field of social development. This paper discusses the GPS Navigation System that has been developed by Qt4.7.0 on Linu
6、x system platform development, which using C+ programming language, Sqlite3 database technology to store MIF map data information, and RS232 serial port external LEA - 5 development technology such as GPS module as the communication module. The system by loading the corresponding map data files, tha
7、t can provide users with the map scale and browse the operation such as drag and drop, real-time positioning function of the users location, the shortest route between the start and end of navigation and so on. The system can provide users with some basic function of entertainment, such as browse im
8、ages or automatic playback of images, read the local electronic books, etc.Key words:GPS; location; navigation21 项目背景1.1项目背景及目的GPS是一个使用GPS定位卫星,能够在全球范围内进行定位、导航等多种功能的系统,生活中常见的应用有运输物品的追踪、交通工具行驶路线的监控、对指定设备进行远程的指挥操作等。作为一种新的生产力、新的管理方式和先进的测量工具,GPS相关产品已经融入社会发展的各应用领域。目前,社会经济正稳健发展,中国国内企业的管理意识也正逐步不断在加强,通过运用GPS
9、平台来实现对管理目标的有效管理的趋势也开始成为主流。例如大部分地方客运,物流等行业都配备了GPS定位系统来实现有序管理、提高工作效率和生产效益。本文所提出的GPS定位导航系统正是基于这样的项目背景和社会需求而研制开发的,并且该GPS定位导航系统能够被进一步移植到多种平台设备上,成为人们工作、出行的有益工具。1.2 GPS定位导航系统的现状在中国,GPS定位导航系统的相关设备产品经过了多年时间的市场培育,相关技术的研发和实现已经接近成熟,并不断完善,其相关产业正稳健发展和壮大。如今,社会经济的发展已经进入了道路交通运输行业应用的一个快速发展时期,同时,由中国自助研制、发射、建立的北斗卫星导航定位
10、系统等技术和产品也为我国的GPS定位导航产业的发展提供了一个良好的基础条件以及更加广阔的市场空间。现在,市场上的绝大多数GPS定位导航系统都已能够为用户提供地图查询、路线查询及导航、多媒体娱乐等多项人性化的功能和服务。1.3 项目研究的目的和方法1.3.1 项目的研究目的本课题的GPS定位导航系统的设计和开发,通过对MIF文件所提供的地图信息数据的分析、转换等,实现对大量经纬度数值的访问和地图界面的绘制1,并采用RS232串口外接LEA-5的GPS模块作为通讯模块,对通讯模块的数据进行解析和处理,实现定位和导航功能。GPS定位导航系统能够在不同的平台上运行,可用于进一步学习研究,或移植到移动设
11、备上,其丰富的功能和简易的操作方式,能够成为人们出行时的贴身实用帮手。同时,该系统的设计和开发要求自己能够对专业整体知识的系统化应用,比如对数据库的大量地图数据进行访问读取,需要分析设计出合理的系统框架和可行的优化算法;为实现系统多任务处理,需要采用多线程开发技术等,相关软件开发技术的应用有助于让自身的能力与企业的实际需求更加接近。1.3.2 开发方法及步骤1.3.2.1 需求分析功能需求:GPS定位导航系统的主要核心功能是地图的显示、常用浏览操作,为用户提供实时定位显示信息,并且能够安照用户设定的始发点和终点来查询出一条行驶线路。此外,为进一步完善和丰富系统的功能,可以增加一些娱乐休闲功能,
12、如阅读功能、相册功能等,从而使用户获得更好地使用体验,和接近用户的实际需求。性能需求:为实现定位导航功能,需要系统在运行时能够显示地图信息,而地图由大量的经纬度等原始数据组成,原始数据在界面上的显示需要经过读取、坐标转换、图元绘制2等一些复杂的过程,因此,为了使用户能够正常、流畅的浏览地图信息,在系统的开发时,需要分析和实现一定的地图优化算法,提高地图显示的效率。另外,在实时定位时,GPS设备会不停地返回卫星定位数据,如何对这些数据进行解析以及读取的速度也将影响到系统运行的稳定性3。1.3.2.2 可行性分析经济可行性分析:如今,经济全球化正不断深入、扩大,中国的社会处于和谐阶段,国民经济也处
13、于稳健发展的时期,人们的生活质量正在不断地提高,物质生活和精神生活也不断地丰富着。GPS相关产品在车辆、物流、交通等行业的应用越来越多,因此,在中国,GPS定位导航产品有着巨大的市场潜力。本课题所开发的GPS导航系统,可移植到ARM开发板,进一步实现为可移动的GPS导航设备,具备一定的市场价值和经济效益。技术可行性分析:该项目在Linux系统的Qt4.7.0上开发,采用Sqlite3数据库技术4、RS232串口通讯编程5、MIF地图信息分析等,本人已具备相关知识的掌握和一定的项目开发经验,通过对功能需求的正确分析、设计系统架构、系统关键类类图、系统关键时序图、导航时序图等,做好项目开发各阶段的
14、工作,并努力解决所遇到的问题和总结经验。法律可行性分析:该项目的相关设计、编码工作由本人独立实现、完成,保证做到不抄袭、不拷贝、不造成侵权。1.3.2.3数据库设计与实现根据业务功能需求、信息需求、和处理需求,确定该系统所采用的数据结构、相关数据操作。建立ER 图,进行数据库设计,采用Sqlite3数据库技术,建立本系统使用的数据库。1.3.2.4 系统实现本课题的GPS定位导航系统是基于Linux下的Qt环境,采用C+编程语言所开发实现的。采用Qt的视图框架来实现界面的显示、操作事件响应和处理,MIF文件来提供原始的地图经纬度数据信息,为提高系统的显示、操作性能和运行时的稳定性,采用SQLi
15、te3数据库来存储经过转换处理后的地图数据信息。另外,在定位功能中,需要借助GPS设备来为系统提供用户的所处地点的经纬度信息,并结合Qt的视图框架技术,在实现该功能。为丰富和完善系统功能,需要使用Qt库所提供的类或函数,例如电子图书的实现。为在满足功能性需求的基础上,达到一定的性能需求,要求系统采用多线程开发技术来实现。1.3.2.5 测试与维护对GPS定位导航系统的功能进行测试、维护,从而保证系统的可用性、可靠性、安全性等。2开发平台介绍2.1系统平台环境2.1.1硬件平台该GPS定位导航系统的开发硬件平台为Intel(R) Core(TM)i5-2450M CPU 2.50GHz处理器、4
16、.00GB的RAM内存、500GB硬盘。通讯模块为RS232串口外接LEA-5的GPS模块。2.1.2软件平台软件平台,指的是信息系统开发、系统运行时所需要的一个集成软件环境,设计和选择高效率、实用性好、简便操作的软件平台,对于一个信息系统的开发来说,有着重要的作用。本系统的开发的软件平台具体为Fedora9(内核版本2.6.25-14.fc9.i686)操作系统、GCC-4.3.0-8.i386编译环境6、Qt4.7.0开发平台、SQLite3 3.5.6数据库。2.2相关技术2.2.1 Qt的Graphics View架构Graphics View框架为开发人员提供了模型视图结构的图形管理
17、方法,它能够简单、高效地对大量的图元进行管理。支持碰撞检测、坐标转换和图元组等多种方便的功能。Graphics View框架可以很好地支持事件传播的处理操作,其图元可以处理的事件有鼠标操作产生的事件、键盘输入产生的事件等,使得图元在其对应的场景中有着良好、精准的交互能力。另外,采用BSP实现了快速查找图元的方式,使得应用程序在运行时可以实时、流畅地显示出大场景的界面信息。Graphics View框架主要有以下主要组成部分:一、场景,作为图元对象的一个容器,它提供了一个快速的函数接口来管理大量的图元,包括传播事件到每个图元、管理图元的当前状态等。开发人员可以通过调用QgraphicsScene
18、:addItem()这个接口函数将所需要的图元添加到一个指定的场景中,另外,也可以调用相关Find()函数来快速获取所需要的一个指定图元。二、视图,主要作用是用来显示一定范围的场景上的图元信息,也称为视口。开发人员可以将多个视口连接到同一个场景,实现更丰富的显示功能。另外,视口部件也提供了滚动条的浏览功能来显示一个大场景的内容。三、图元,是场景中图形Items的一个基类。Graphics View框架提供了的一写常见的形状的Items有矩形、椭圆、文本等。同时,图元也支持鼠标点击事件、滚轮事件、碰撞检测等。2.2.2 RS232串口外接LEA-5的GPS模块RS-2327被广泛地运用在计算机的
19、串行接口外设的连接上,它是一种关于串行数据通信的接口标准之一。常见的串行通信设置主要有波特率、奇偶校验和停止位等。波特率,指每秒钟发送多少比特的数据。奇偶校验,可以用来检查数据的正确性,包括奇校验和偶校验。没有使用奇偶校验的时候,被发送的数据不会被修改,而使用奇偶校验时,是通过改变每一发送字节来实现校验的。停止位,这一个数据位可以帮助接收信号端的硬件重同步,发送过程中,是在每个字节传输后被发送出去的。流量控制,指的是进行数据通信的双方,需要相互发送的一个握手信号,或者是进行数据的完整性检测时所需要制定一些设置信息。3系统需求分析3.1功能需求概述功能需求主要定义了一个软件系统或组件的功能,同时
20、,也指一个系统所需要向用户提供的哪些功能和服务。为了方便设计、开发,以及让整个系统有一个较为清晰、合理的框架,经验逐步的分析,设计,将该系统分为以下几个主要模块:系统开机模块、定位导航模块、电子图书模块、电子相册模块、系统设置模块。各个模块的详细功能介绍在以下几个图表中列出并做一个简要、具体的描述。3.1.1系统开机模块表3.1.1-1 系统开机模块的功能需求概要模块名功能类别子功能开机系统开机系统开机过程中显示运行环境的硬件基本信息,显示GPS模块串口初始化的基本信息。3.1.2 定位导航模块表3.1.2-1 定位导航模块的功能需求概要模块名功能类别子功能定位导航界面正确加载地图信息并在界面
21、上显示,用户可以对地图进行放大、缩小、平移、查找等操作。定位点击定位按钮,能够在地图上显示当前的位置,且初始显示在界面中心。导航在地图上选择一个起始位置点和结束位置点,能够正确计算出起始点和结束点之间的最短行走路径,并用不同的颜色在显示界面上标示出来。3.1.3 电子图书模块表3.1.3-1 电子图书模块的功能需求概要模块名功能类别子功能电子书打开/关闭文件能够查看并打开本地文件,在界面上显示文件内容。关闭被打开的文件后,自动清空缓存数据,并且界面显示为初始状态。打开/关闭书签能够为最近打开的本地文件创建一个书签,通过打开书签快捷查看文件。关闭书签后,界面恢复初始状态。字体能够支持显示字体的更
22、改,包括字体类型、字体大小。颜色能够支持字体和背景颜色的更改,更换后实时更新界面显示。3.1.4 电子相册模块表3.1.4-1 电子相册模块的功能需求概要模块名功能类别子功能电子相册打开图片能够查看并打开本地图片文件,在界面上显示并添加到相册。删除图片能够实现图片的删除。自动播放实现相册内的图片按一定时间进行自动播放显示。浏览下一张、上一张的浏览查看,同时能够循环查看。3.1.5 系统设置模块表3.1.5-1 设置模块的功能需求概要模块名功能类别子功能系统设置设置串口设置GPS模块使用的串口的具体配置,包括串口号、波特率、停止位、数据位等。关机关闭GPS定位导航系统,系统正常退出。返回返回系统
23、主界面。3.2系统数据流图3.2.1 分层数据流图图3.2.1-1 GPS定位导航系统顶层数据流图图3.2.1-2 GPS定位导航系统0层数据流图图3.2.1-3 GPS定位导航系统1层数据流图图3.2.1-4 GPS定位导航系统2层数据流图4系统功能设计4.1概述通过对GPS定位导航基本业务流程的调查了解,以及对系统的功能需求的分析后,接下来所需要做的就是本系统概要设计。4.2系统框架系统构架,指的是对软件开发过程中,已经分析好的哪些需求的技术实现架构、作好规划等的一个工具,之后,开发人员在所规划好的步骤下去完成指定的系统开发任务。图4.2-1 GPS定位导航系统的系统框架图4.3系统功能结
24、构图4.3-1 GPS定位导航系统的系统功能结构图5数据库的分析设计5.1系统ER图概念模型的设计,指是将现实世界当中的和系统开发相关的一些信息进行一定的抽象后,对信息进行建模,它是开发人员在设计数据库时可以使用的一个有效工具。本系统的E-R图表现了系统中各个实体之间的联系:图5.1-1 GPS定位导航系统E-R图5.2实体属性图图5.2-1 实体属性图5.3数据库逻辑结构设计表5.3-1 地图地点表序号字段名数据类型是否主键是否外键描述1idINTEGER是否编号,唯一标识2xNUMERIC(9)否否X坐标3yNUMERIC(9)否否Y坐标4nameVARCHAR(100)否否名称5kind
25、VARCHAR(4)否否类型6addrVARCHAR(100)否否地址7telVARCHAR(15)否否电话表5.3-2 河流表序号字段名数据类型是否主键是否外键描述1idINTEGER是否编号,唯一标识2vertexINTEGER否否顶点个数3xNUMERIC(9)否否X坐标4yNUMERIC(9)否否Y坐标5mapIDVARCHAR(6)否否地图ID表5.3-3市区道路表序号字段名数据类型是否主键是否外键描述1idINTEGER是否编号,唯一标识2vertexINTEGER否否顶点个数3xNUMERIC(9)否否X坐标4yNUMERIC(9)否否Y坐标5nameVARCHAR(40)否否名
26、称6kindVARCHAR(23)否否类型7widthINTEGER否否宽度表5.3-4电子相册图片表序号字段名数据类型是否主键是否外键描述1idINTEGER是否编号,唯一标识2filepathVARCHAR(64)否否图片路径6系统详细设计6.1模块设计实现6.1.1系统关键类的类图设计图6.1.1-1系统关键类类图6.1.2 GPS数据流向的时序图设计图6.1.2-1 GPS数据流向时序图6.1.3定位数据的解析该系统所采用的RS232串口外接LEA-5的GPS设备在接通电源,配置正确,并且能够正常接受卫星信息后,会按照一定的时间间隔返回卫星定位数据。系统读取到数据后,对原始数据进行解析
27、,主要解析得到定位点的经纬度坐标,然后转换为场景坐标系上的坐标,最后将坐标值赋给定位图元,在界面上更新图元的显示,经过这样的处理过程来实现基本的GPS定位功能。GPS数据格式为:$信息类型,x,x,x,x,x,x,x,x,x,x,x,x,x,以$作为数据开头,紧接着信息类型,后面是数据,以逗号分隔开。数据的信息类型主要有以下几种:可见卫星的信息、地理定位的信息、推荐最小定位的信息、地面速度的信息、GPS定位的信息、当前卫星的信息。本系统主要解析和使用的信息类型是GPS定位的信息。6.1.3.1 GPGGA GPS定位数据数据各字段含义为:$GPGGA8,M,M,*xx6.1.3.2主要解析内容
28、1.时间,该时间是世界时间,需要把它转换成北京时间,转换方法是在这个时间基础上加8个小时;2.定位状态,GPS设备在接收到有效的数据之前,这个字段取值为V,其后的其他数据的值都为空;设备接收到有效的数据之后,这个字段的取值变成A,其后字段也有各自对应的数据值;3.纬度,系统要将这个数据值进一步转换为用度分秒所表示的格式;4.南北纬,取值N(北纬)或S(南纬);5.经度,解析方式和纬度一样;6.东西经,取值E(东经)或W(西经);7.速率,数据要转换成千米/时的表示格式;8.航向,偏离正北的一个角度;9.日期,可直接使用;6.1.4地图数据显示的设计在系统的设计实现过程中,为了提高MIF数据的读
29、取效率,采用SQLite3数据库技术建立地图数据库,数据库存储的是从MIF文件读取到的经纬度等信息,并将原始的经纬度数值进一步转换为场景坐标系上的坐标值信息,从而可使系统在运行时加载地图数据后,即可用于界面的绘制。另外,由于地图数据量大,通过分次按一定范围读取数据的方式,来减少每次读取时所需要处理的数据量,以便进一步提高地图界面的绘制效率。地图数据显示的流程图如图6.1.4-1所示。图6.1.4-1 地图数据显示的流程图6.1.5定位功能的设计本系统在开启定位功能后,会按一定的时间间隔对从GPS设备读取到原始定位数据进行解析和转换,并结合图元的绘制和更新等操作来完成基本定位功能。实时定位功能中
30、,需要系统按一定的时间间隔对数据进行解析,同时需要系统进行界面的正常绘制以及进行其他操作,即系统需要同时处理不同的任务,所以在GPS设备原始数据的解析中,采用线程来实现,而主线程用于界面的绘制和一些正常的界面操作等,从而避免在定位时出现界面绘制产生停顿或死机的现象。定位功能的实现的流程图如图6.1.5-1所示。图6.1.5-1定位流程图6.1.5导航路径的设计GPS定位导航系统的定位导航模块中的导航路径的实现主要采用迪杰斯特拉算法,算法的主要思想如下:一个向量D,这个向量的每个分量Di用来表示从起始点S到每个终点E的长度大小。例如Di等于2,则2是从点S到点i的路径的相对最小长度值。向量D的初
31、始状态为,如果从S到Ei有弧,则Di为此条弧的一个权值,反之D为。因此,长度为Dj等于minD|EiV的路径是从点S出发的一条最短路径(S,Ej)。如果下一条弧的权值是次小的最短路径的终点是点Ek,则路径是(S,Sk),或(S,Sj,Sk),长度是从S到Sk的弧上的权值大小,或者是Dj和从Sj到Sk的弧上的所有权值之和。算法描述见附录2,导航路径的绘制流程如图6.1.5-1所示。图6.1.5-1 导航路线流程图主要实现算法步骤描述为:1、假设起点A(x1, y1),终点B(x2, y2),根据坐标系,可以得到max_X = x2,min_X = x1,max_Y = y2,min_Y = y1
32、。 2、根据max_X,min_X,max_Y,min_Y去查询数据库,将该范围内的道路图元添加进容器。 3、起点到容器中第i条道路的两个端点的距离分别为min0和min1,设置最小的值min为min0,min1中较小的,一直遍历,找出最小的第i条道路。 4、同理,找出离终点最近的第i条道路。 5、根据容器中的道路,创建图。最大顶点数等于容器的大小。将道路i放入数组ary,并算出顶点间的权值,这里的权值为道路L1的端点1,到道路L2的端点2的长度。 6、用迪杰斯特拉算法,计算出最短距离7、设Fi=1表示求得顶点pos至i的最短路径。 8、Fj初始化为未知最短路径状态。 9、和点pos有连线的顶
33、点加上权值Dj。 10、路径数组Pj初始化为0。 11、Dpos = 0说明点pos无到自身的路径,Ppos = -1为自身无前驱顶点,Fpos = 1则表示不需要求路径。 12、开始循环,每次求得pos到顶点v的最短路径,将目前找到的最近的顶点置为1,如果找到更短的路径,则修改Di和Pi。 13、根据路径数组,将组成最短距离的道路依次创建为图元,并添加到场景中,由视图显示出来。6.1.6电子图书的功能设计该系统的采用QTextEdit窗口控件来实现eBook模块中本地电子图书的浏览阅读功能,它可以支持多信息文本格式的查看或者编辑,并且在处理大文档方面和快速响应用户的输入操作都进行了一定程度的
34、优化。文本内容可以通过使用QTextEdit:setText()函数接口来更新显示,主要处理是将已经存在的文本删除后,再用传递给接口调用的文本信息来更新。图6.1.6-1电子图书流程图6.1.7电子相册功能的设计系统的电子相册主要采用QtGraphicsView框架的场景、视图、图元来实现该功能,一张图片即一个图元,通过更换重新加载图元来显示不同的图片信息,并结合Qt定时器来实现图片的自动播放功能,定时器超时返回后,图片ID自增,重新打开加载图片文件进行图片的绘制和显示。图6.1.7-1电子相册自动播放流程图6.2界面设计6.2.1系统主界面在系统开机过程中,会显示当前系统运行环境的一些硬件信
35、息,例如CPU的型号、内存的大小等。显示GPS模块串口初始化的基本信息,包括使用串口号、波特率、停止位等。该界面的显示时间大约为3秒左右,系统初始化完成后,此界面自动关闭,并显示系统主界面等待用户操作。如图6.2.1-1所示:图6.2.1-1系统开机界面GPS定位导航系统的系统主界面上提供了定位导航(Map)、设置(Setup)、电子图书(eBook)、电子相册(Album)这四个功能模块的按钮,通过操作按钮可进入相应的功能界面,并且在各个模块界面中都提供了返回系统主界面的一个返回按钮。系统启动成功后,程序将停留在此界面等待用户进行选择操作,此界面不会自动关闭。如图6.2.1-2所示:图6.2
36、.1-2系统主界面6.2.2定位导航模块界面定位导航模块是系统的主要功能模块。界面上显示地图信息、视图坐标、场景坐标、经纬度坐标、定位状态、GPS设备信号状态、当前系统时间、地图浏览放大和缩小按钮以及该模块子菜单按钮等信息。如图6.2.2-1所示:图6.2.2-1 定位导航模块主界面定位导航模块子菜单中包括地图上下左右平移按钮、导航按钮、定位按钮、返回定位导航模块的主界面按钮以及返回系统主界面按钮。其中,第一次点击导航按钮后,即可在地图界面上通过双击选择导航的起点和终点,选择后再次点击导航按钮,系统将进行导航路径的规划,成功查找后将在界面显示。第一次点击定位按钮后,系统根据GPS设备所返回的数
37、据进行解析,解析成功后将在界面上显示实时定位图标。如图6.2.2-2所示:图6.3.2-2 定位导航模块子菜单6.2.3电子图书模块界面电子图书(eBook)模块主界面包括打开本地文件按钮、关闭文件按钮、打开书签按钮、保存为书签按钮、设置字体大小按钮、设置字体颜色按钮、设置背景颜色按钮、返回系统主界面按钮等。成功打开文件后,文件内容将在界面上显示,并且可以通过界面上的滑条进行文本的完整浏览阅读。如图6.2.3-1所示。图6.2.3-1 eBook模块界面6.2.4电子相册模块界面电子相册(Album)模块界面包括打开本地图片按钮、删除图片按钮、自动播放按钮、前一张和后一张按钮、返回系统主界面按
38、钮以及图片显示内容。如图6.3.4-1所示:图6.2.4-1 Album模块界面6.2.5串口设置界面串口设置界面的主要功能是对设置系统接收解析GPS设备时所需要使用的串口号、波特率、数据位等串口配置信息。相关的配置信息将会被写入一个配置文件,系统在下一次启动时将会直接使用配置文件提供的配置信息。如图6.2.5-1所示:图6.2.5-1串口设置界面7展望社会经济和科技力量在不断的发展、壮大,GPS相关技术已经达到一定的成熟水平,其相关产品的应用领域也在不断拓展和更新。社会发展已经逐步进入了道路交通运输行业应用的一个快速发展的时期,中国自助进行研制、发射、建立的北斗卫星导航定位系统等技术和产品的
39、出现,为我国的GPS定位导航产业的发展提供了一个良好的基础条件以及更加广阔的市场空间。随着北斗导航系统在我国的民用范围的实际应用的不断扩大,将会有更多的导航产品的生产商出现,并投入到基于北斗导航系统的终端设备的研制和开发中。本课题所开发的GPS定位导航系统,已经具备基本的定位、导航功能,并且具备电子图书、电子相册等娱乐功能,对其进行更全面的、更专业的研究开发完善之后,可通过更改编译环境,最后移植到ARM开发板,结合更多的相关硬件,进一步实现为可移动的GPS导航设备,这将使得该系统具备一定的市场价值和经济效益。8总结软件设计和开发是一个精细漫长的过程,经过这几个月以来的学习和实践,我终于按计划和
40、老师的要求完成了GPS定位导航系统的全部设计和实现,并且使该系统能够达到一定的可实际应用的阶段。GPS定位导航系统的设计与实现,在整个过程中自己学习和收获了许多。例如,在Linux平台上的设计开发,使自己从仅会基本命令操作提升到具备一定的项目开发经验。通过自己搭建编辑Qt开发平台到学习研究Makefile编写,最后到项目实战,对Linux的应用有了更全面的掌握,同时了解到在Windows系统和Linux系统上开发项目的不同之处以及各自的一些优缺点。Graphics View框架和Qt信号和槽的实际项目应用,使自己的编程能力从面向过程的程序开发到面向对象的程序开发有了更好地积累、能力的提高。Qt
41、开发平台具备了良好封装机制、较高的模块化程度,良好的可重用性等,让开发人员可以更方便、更好地进行软件开发。例如,使用信号和槽的安全类型来替换先前的回调函数方式,可以使编码的实现过程更加简易。对GPS设备的数据的解析和实现定位功能,让自己积累了一些硬件操作经验,也感觉到这些硬件设备对自己来说不再那么陌生,不再仅仅只是一个物理设备,对其内部工作方式有了一定的了解,也能够采用GPS设备来实现一些实际的应用功能,使自己所设计开发出来的软件程序有了更多的功能扩展和实际价值。致谢语此次毕业设计的开发实现和本论文的撰写过程中,遇到不少困难和存在的问题,。参考文献:1 蔡志明.精通QT4编程. 北京:电子工业
42、出版社,2008.1.2 索林.24小时学通qt编程. 北京:人民邮电出版社,2000.10.3 林锐,韩永泉.高质量程序设计指南. 北京:电子工业出版社,2007.5.4 周鹏.嵌入式Linux基础教程. 北京:人民邮电出版社,2012.5.5 马修 斯通斯.Linux程序设计. 北京:人民邮电出版社,2010.6.6 韦东山.嵌入式Linux应用开发完全手册. 北京:人民邮电出版社,2008.8.7 裘宗燕.C+程序设计语言. 北京:机械工业4出版社,2010.3.8 成洁,卢紫毅.Linux窗口程序设计(Qt4精彩实例分析). 北京:清华大学出版社,2008.11.9 Robert Lo
43、ve, OReilly .Linux System Programming and Edition.10 Richard L Halterman. Fundamentals of Programming C+.附录1 GPS设备数据解析关键代码int CPositionThread:ThreadRun(void) fd_set RdSet; / 监听只读fd集合 fd_set AllSet; FD_ZERO(&RdSet); / 集合清空 FD_ZERO(&AllSet); FD_SET(m_Fd, &AllSet); timeval tv; int sig = 0; int maxFd =
44、m_Fd; bool isFirst = true; char buf1024 = 0; QString str; QStringList list; while ( 1 ) / 监听循环 RdSet = AllSet; tv.tv_sec = 3; / 超时等待时间 tv.tv_usec = 0; if ( m_Form-m_isExit ) break; int ret = select(maxFd + 1, &RdSet, NULL, NULL, &tv); if ( ret 0 & sig 0 ) / 超时返回,且信号值未为零 sig -= 10; QString strSig = QString:number(sig); m_Form-m_pSigLab-setText(strSig); / 设置地图窗口信号控件 if ( !m_Form-m_isPosition ) isFirst = true; if ( FD_ISSET(m_Fd, &RdSet) ) memset(buf, 0, 1024); int nread = read(m_Fd, buf, 1024); if ( nread 0 & m_Form-m_isPosition ) /读数据且为定位状态 str.clear(); str
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年异常产褥期妇女的护理试题
- 2025年公务车辆运行维护与管理协议书规范文本
- 2025年同性伴侣分手协议书范例
- 2025年双方共筑项目合作协议
- 企业文化对法律责任意识的影响
- 运营管理的保障性住房安全隐患排查整治情况报告范本
- 理赔业务风险培训效果评估互动性风险基础知识点归纳
- 商法基础知识点归纳
- 软组织生物力学实验数据处理基础知识点归纳
- 农业科技创新对全球粮食安全的贡献
- 三级医师查房制度课件
- 老年人神经健康讲座内容摘要
- 燃用重质渣油的铝合金熔炼炉能耗测试与分析
- 内蒙古工业大学计算机网络试卷A-2023年(含答案)
- 申请提取住房公积金个人授权、承诺书(样表)
- 小动物外科手术学-浙江大学中国大学mooc课后章节答案期末考试题库2023年
- (全册完整16份)北师大版五年级下册100道口算题大全
- 化妆品生产工艺及流程图
- 提高住院患者临床路径占比PDCA
- 麻醉药品和精神药品培训试题
- 小学五年级语文关联词语复习题带答案
评论
0/150
提交评论