NMOE项目结题论文GPS+ARM+GSM的智能电子导游设计与实现

上传人:仙*** 文档编号:80640603 上传时间:2022-04-25 格式:DOC 页数:24 大小:3.92MB
收藏 版权申诉 举报 下载
NMOE项目结题论文GPS+ARM+GSM的智能电子导游设计与实现_第1页
第1页 / 共24页
NMOE项目结题论文GPS+ARM+GSM的智能电子导游设计与实现_第2页
第2页 / 共24页
NMOE项目结题论文GPS+ARM+GSM的智能电子导游设计与实现_第3页
第3页 / 共24页
资源描述:

《NMOE项目结题论文GPS+ARM+GSM的智能电子导游设计与实现》由会员分享,可在线阅读,更多相关《NMOE项目结题论文GPS+ARM+GSM的智能电子导游设计与实现(24页珍藏版)》请在装配图网上搜索。

1、国家大学生创新性实验计划项目结题论文中央民族大学基于GPS+ARM+GSM智能电子导游设计与实现 项目组成员: 邵燕 郑旅军 孙福成 指导教师:程卫军 职称:副教授项目编号:NMOE2008110162009年12月15日目录:一、选题背景- 3 -二、系统设计的关键问题及解决方案- 4 -1、GIS电子地图制作:- 4 -2、数据的接收及精度的提高- 8 -1)测量的误差来源- 8 -2)GPS NMEA0183接受协议- 9 -3)定位信息的提取及处理- 10 -4)改善定位精度- 11 -3、GSM数据处理- 12 -4、 GPS与GSM及地图显示部分相互整合- 14 -1系统硬件的选择

2、- 15 -2系统软件的选择- 15 -3系统整个程序流程的设计- 18 -五、研究成果- 21 -参考文献:- 22 -致谢- 23 -基于GPS+ARM+GSM智能电子导游设计与实现中央民族大学 邵燕 郑旅军 孙福成 指导教师:程卫军 职称:副教授摘要:本项目在GPS、GSM的技术基础上,制作了数据格式的中央民族大学电子地图来开发智能导游系统。选取ARM9-2410开发板和嵌入式Linux 操作系统进行设计。通过改进卡尔曼算法实现更高精度的GPS定位;通过GSM模块短信通信实现导游仪间的相互定位,将全球定位技术与第二代移动通信技术相结合很好地实现了系统功能;使用QT进行程序界面设计来实现人

3、机交互,界面着重从艺术设计的角度出发,注重人性化、智能化,界面美观大方,易于操作。关键字:GPS;ARM;GSM;电子导游一、 选题背景目前,先进的发达国家旅游业界内已经广泛采用非人工讲解的导游仪。在我国,电子导游还属于新生事物,主要体现在运用范围不够广,开发技术不够成熟。最早的电子导游使用是在广西桂林漓江开始出现,几年来国内的各著名旅游景点也逐步开始引入电子导游,但是国内的应用主要还集中在触摸式视频讲解系统和仅基于GPS定位的自动讲解系统。1 在智能化和人性化服务方面相对薄弱。电子导游在我国具有良好的发展势头,与人工导游相比,它在保护环境、避免游客之间的干扰、服务的质量稳定性、满足游客的个性

4、化需求等方面更有优势。智能型电子导游在我国具有良好的发展势头,首先与人工导游相比,它在保护环境、避免游客之间的干扰、导游服务的质量稳定性、满足游客的个性化需求等方面更有优势,智能型电子导游更能体现人性化的特点。其次,智能型电子导游在我国的市场需求将逐步变大。我国旅游资源丰富,历史悠久,文化传统别具一格。无论是自然风光、文化古迹、民族风情和革命纪念地,都有丰富多彩、引人入胜的内容;随着国内人民生活水平的提高,人们对精神生活质量的追求逐年提升,外加世界范围内旅游者对中国的兴趣逐年上升,中国将成为世界旅游业最发达的国家之一;智能电子导游在保证旅游质量的同时接纳来自世界各地的旅游者将发挥它的无可比拟的

5、优越性。但是在调研过程中我们发现,虽然电子导游能够满足游客自主游览的需求,但游客在游览过程中很容易出现和队友走散的状况,即使有手机等通讯工具,在陌生的特别是面积比较大的自然景区,游客仍然不能快而方便的找到彼此,因此项目组进行了智能电子导游的设计与实现,使得上述情况发生时双方能够通过电子导游互相定位,直观而方便的寻找到队友。同时改进电子导游的服务内容,使其更加智能化。在操作界面风格上注重人性化设计,使其更好的为旅游者服务。二、 系统设计的关键问题及解决方案1、GIS电子地图制作:项目涉及的是GIS(地理信息系统)在嵌入式设备上的应用电子地图浏览。典型的嵌入式GIS应用由嵌入式硬件系统、嵌入式操作

6、系统、和嵌入式GIS软件组成。由于嵌入式设备本身的条件限制,其数据存储和处理能力有限,在项目中我们采用MAPINFO格式的地图,对其数据进行了适当裁剪,并选择了合适的数据结构来组织裁剪后的数据,减小了数据冗余,解决了在嵌入式设备上存储大批量数据的问题1。在此基础上,以QT/Embedded为开发环境,实现了一种能运行在以嵌入式LINUX为操作系统的设备上的导航电子地图。a.生成电子地图;利用mapinfo7.0软件制作本校区电子地图,如下图1-1所示。这里要注意地图的地理坐标,因为这将涉及到后面GPS的定位能否与电子地图的坐标匹配问题,也就是精度的问题。b.电子地图数据:制作好本校的电子地图之

7、后,将其转换成MIF/MID 文件, Mapinfo 主要通过MIF、MID两个文件向外交换数据以及与其他GIS软件建立数据接口,其中MIF数据文件主要保存空间数据的图形信息,MID数据文件主要保存空间数据的属性信息。MIF由头文件和数据段组成,数据段包含mapinfo定义的点、线、面、多义线、区域、圆弧、文本、矩形、圆角矩形和椭圆等实体,具体如图1-2所示。MID文件为对应实体的属性。掌握了文件关系之后,就可以用或语言编程实现对.mif文件的读取。图1-1 mipinfo编辑软件制作民大地图 图1-2 .mif文件内容 c.地图投影和坐标转换:由于从mapinfo的MIF文件中获得的数据是位

8、于地球椭球面上的经纬度坐标,所以需要经过地图投影将经纬度坐标数据投影为平面坐标数据,才能在QT图形界面里正确绘制地图。具体原理过程如下:大地坐标转换成地图平面坐标2。以O 为圆心,长轴a 为半径做圆弧RQ ,又以O 为圆心, 短轴b 为半径做圆弧L M ,如图3 所示, KK 垂直OP 轴,设O K与OP 轴夹角为u , KT 为K 点在子午椭圆的切线,得: 图1-3则椭球圆上一点K 坐标( P , Z) 为:其中:由图1-3可得: 其中, H 为高度。地图平面坐标转换成大地坐标 。由式(2) 可得其逆变换为:地图平面坐标转换为屏幕坐标3由于地图平面坐标系和屏幕坐标系都是平面直角坐标系,它们之

9、间的差别在于坐标原点的不同,坐标轴的方向和刻度单位不同。因此,它们之间的变换只要通过比例变换、平移变换和旋转变换就可以实现。假设原坐标系的坐标值为( X , Y) ,变换后的坐标值为( sx , sy) , x 轴, y 轴的比例变换因子分别为xs , ys ;平移变换因子分别为t x , ty ,旋转角度为;则它们之间的坐标变换可用下列方程实现 :比例变换方程为:平移变换方程为:旋转变换方程为:本项目中采用高斯-克吕格投影。经过地图投影后,原来的经纬度坐标数据就转化成了平面上以米为单位的坐标数据。但是要把地图绘制在嵌入式设备的屏幕上,还需要把平面坐标数据转化为屏幕上以像素为单位的坐标数据。代

10、码实现为:首先调用translate()函数转化绘图设备坐标系统的原点(0,0)到窗口的左上角。具体实现的核心代码如下所示- r.moveTopLeft( QPoint(-r.width()/2, -r.height()/2) ); eraseRect = eraseRect.unite( mtx.map(r) ); eraseRect.moveBy( -1, -1 ); eraseRect.setSize( QSize( eraseRect.width() + 2,eraseRect.height() + 2 ) ); um.translate( pw/2, ph/2 );/ 0,0 is

11、center um = mtx * um;p.setWorldMatrix( um );在QT图形界面的图形绘制: 图形的绘制包括点、线等的绘制,绘制工作都是在类Show中的paintEvent(QpaintEvent*)函数中完成的。 主要代码如下:Class MyMap:public QWidget Protected:Void paintEvent(QpaintEvent*);Void MyMap:paintEvent(QpaintEvent*0Qpainter p(this);Qpen pen(QColor(2,142,188),3);p.setPen(pen);p.drawPloyl

12、ine(draw);d.电子地图的缩放和漫游电子地图数据结构选用矢量结构,这样在地图缩放显示时,原图的各个部分成比例的缩放。以坐标变换和地图的显示为基础,地图的缩放和漫游就比较容易实现。地图缩放只需在将平面坐标转化为屏幕坐标时,将转化比例再乘上一个缩放因子K;同样,地图漫游只需在坐标转化时,加上或减去一个漫游常数scale.即可实现放大和缩小效果。但是在实际实现时,每一次地图刷新都要重绘一次地图,使得系统处理速度骤降,不能很好的工作,因此,项目在实际中采用栅格形式和实时绘制结合的方案,地图主体以栅格显示为主,关键点的数据采用读取.mif文件中的信息来绘制。这样,系统处理的速度得到了很大的提高,

13、而美中不足是在放大缩小时图像边缘会有细小模糊出现,但完全不影响整体效果。2、数据的接收及精度的提高1)测量的误差来源在卫星信号的收发过程中, 以及对信号的传播时间计算方面都不可避免的带来误差, 引起定位误差的因素有很多, 大致可以分成以下几类。设备误差首先, 虽然卫星上装了精确度很高的原子钟, 但是原子钟还是存在误差, 卫星轨道本身虽然很高但是收到地球大气层的影响要产生漂移, 其次接收器本身时钟也存在误差和噪声, 这些都影响定位的精确度,但这些不是主要的。大气层的干扰GPS 通过电波发送定时信号, 当GPS 信号经过电离层(Ionosphere)上一些带电性的粒子及对流层(Tropospher

14、e)上的水汽时, 信号便产生迟滞延时的现象。这些延时不可能提前预知, 因为受到天气的影响, 另外还受到大气环境的影响, 在好的接收器中考虑了典型大气层延时的影响, 做了相应的修正, 但是不可能对大气层的变化做出实时的, 精准的数学模型, 所以大气层对定时信号的延时影响依然存在, 这也是影响定位精度的又一原因。SA( selective availability) 策略GPS 卫星传送两种频率的载波L1 (Link 1) 载波的频率为1575.42 MHZ, L2 (Link 2) 载波的频率为1227.60MHZ。这两种载波可修正电离层迟滞效应的误差, 在载波上除了状态讯息之外, 并调制了2

15、个供定时的码C/A 码(Coarse Acqusition), 频率为1.023MHZ, 仅在L1 载波上作调变, 每1023 位重复一次, 这种码制的定位精度大大超出了原来的设计, 出于美国自身及其盟国安全的考虑, 在这一码制当中加入了时钟伪码和星历伪码, 导致其定位精度在100 米左右,提供给民间和非军事同盟国使用。P 码(Precise Code), 频率为10.23MHZ, 每七天重复一次可同时采用L1 及L2 载波变, 主要提供军事用途P 码的频率大约是C/A 码的10 倍不但更为精确,也更不易被干扰。这种定位精度很高的码制只有美国军方独家使用其他因素以上前两种都可以说是固有的误差,

16、 而SA 策略则是人为的, 这个是造成GPS 定位精度下降的关键因素, 本文提供的方法就能大大改善由此策略造成的精度下降。另外还有其他的因素影响精度, 比如信号的多径效应, 太空当中的一些偶发事件都会对卫星造成影响, 从而导致精度下降, 不过这些和SA略相比而言不占主要地位。2)GPS NMEA0183接受协议 全球定位位系统(Global Positioning System - GPS)是美国从本世纪70年代开始研制,历时20年,耗资200亿美元,于1994年全面建成,具有在海、陆、空进行全方位实时三维导航与定位能力的新一代卫星导航与定位系统。GPS接收机接收到的数据通过串口输入,其数据格

17、式符合NMEA0183标准,格式如下图1-4所示:图1-4NMEA0183标准语句中,字段0(GPGGA)中包含了我们所需要的所有定位信息,所以我们只取这段数据做为有用数据,其定义如下:字段0:$GPGGA,语句ID,表明该语句为Global Positioning System Fix Data(GGA)GPS定位信息字段1:UTC 时间,hhmmss.sss,时分秒格式字段2:纬度ddmm.mmmm,度分格式(前导位数不足则补0)字段3:纬度N(北纬)或S(南纬)字段4:经度dddmm.mmmm,度分格式(前导位数不足则补0)字段5:经度E(东经)或W(西经)字段6:GPS状态,0=未定位

18、,1=非差分定位,2=差分定位,3=无效PPS,6=正在估算字段7:正在使用的卫星数量(00 - 12)(前导位数不足则补0)字段8:HDOP水平精度因子(0.5 - 99.9)字段9:海拔高度(-9999.9 - 99999.9)字段10:地球椭球面相对大地水准面的高度字段11:差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空)字段12:差分站ID号0000 - 1023(前导位数不足则补0,如果不是差分定位将为空字段13:校验值3)定位信息的提取及处理GPS接收机接收到的数据以字符的形式进入串口,我们把字符“GA”作为标志符,获取经度和纬度信息,程序代码如下:(注)变量

19、buffi,buff_lati,buff_loni都是char型变量,电子地图中使用的是double型变量,所以需要把char型转变成double型,程序代码如下:4)改善定位精度GPS 单点定位系统误差改正 比较实测观测值与其真值, 可以看出, Y 坐标、X 坐标均偏大。因此,本手持式GPS 定位中存在着明显的系统误差, 而量级在10 米级, 因此需要对所使用的仪器进行误差模拟来改善系统误差对单点定位精度的影响。按式(3) 计算系统误差均值ix, iy 为控制点的观测值与其已知值之差。经系统误差改正后的结果由式( 4) 计算。4算法上改善定位精度系统使用改进的卡尔曼滤波算法来提高定位精度,5

20、针对最小二乘法和标准卡尔曼滤波的特点,通过伪距离估计出接收机的位置和钟差,避免由于滤波初值,系统噪声方差以及测量噪声方差带来的滤波发散问题。在进行卡尔曼滤波时,关键是建立数学模型、确定状态向量、建立系统方程和测量方程、确定噪声统计特性等。63、GSM数据处理 GSM 是Global System For Mobile Communication 的简称,中文名称为全球移动通信系统,是1992 年由欧洲标准化委员会统一推出的,以数字为主的第二带代移动电话系统。它采用数字通信技术、统一的网络标准,使通信质量得以保证,是全球最成熟的数字移动电话网络标准之一,用的是窄带TDMA,能提供全面的语音、文字

21、和数据业务,并提供一些诸如短消息服务、语音信箱、呼叫转移等的增值业务。7在本导游系统中,GPS定位信息交互是通过GSM网络的短信来实现的,GSM模块同样是通过串口操作。我们使用的GSM通信猫使用的是法国wavecom(微控科技)生产的模块,双波段(900/1800MHz)工作,支持通用AT 命令。AT 命令集是用于终端机(如PC 机)和调制解调器(MODEM)之间通讯控制的一组命令。AT 是ATTENTION 的缩写。所有AT 命令都是以ASCII 字符“AT”开始,并由回车符或换行符结束。我们用到的AT命令及其功能介绍如下:AT命令功能AT+IPR=9600设置波特率为B9600AT&W保存

22、设置(未保存,断电后设置将还原)AT+CMGS=”138*”发送信息AT+CMGR=1读取第一条信息AT+CMGD=1,4删除所有信息对GSM模块的操作通过串口ttyS0,打开串口后,对串口进行初始化,接着就可以进行收发信息的操作了。其流程图和代码如图1-5所示: 图1-5发送信息代码如下:接收信息代码如下:删除信息代码如下:4、 GPS与GSM及地图显示部分相互整合 在嵌入式linux下针对GPS与GSM模块分别编码,成功实现各自功能后,需要在qt界面中将二者的代码相互整合,实现信息共享和命令的互相响应,例如利用GSM模块将gps接受的当前系统的位置信息以短信形式发送到另一个导游系统上,另一

23、个导游系统利用GSM模块接受位置信息后共享给电子地图绘制程序段,将第一个系统的位置在地图上显示出来。此处主要应用了qt设计的最重要特点:信号-槽机制,这个机制可以在对象之间彼此并不了解的情况下将它们的行为联系起来,取代了老旧的开发套件所使用的粗糙的回调和消息映射。其次模块间任务的优先级别不同,GPS需要实时的不断接受信息,而GSM则只在需要的时候使用,因此要合适设计二者的运行方式,才能达到高效快捷的使用效果三、方案选择1系统硬件的选择1)本项目选择芯 片ARM9-2410 作为系统处理器,ARM9系列芯片具有高性能、廉价、耗能低等特点,目前已经成功地广泛应用于嵌入控制、消费/教育类多媒体、ds

24、p和移动式应用等领域。它的如下特点能充分的完成本项目的各项性能要求:5 级整数流水线,指令执行效率更高;提供 1.1MIPS/MHz 的哈佛结构;支持 32 位 ARM 指令集和 16 位 Thumb 指令集;支持 32 位的高速 AMBA 总线接口;全性能的 MMU ,支持 Windows CE 、 Linux 、 Palm OS 等多种主流嵌入式操作系统;支持数据 Cache 和指令 Cache ,具有更高的指令和数据处理能力。82)本项目选择GSM模块来实现系统间的相互通信。GSM是当前应用最为广泛的移动电话标准。它是目前基于时分多址技术的移动通信体制中成熟、完善、应用最广泛的一种系统,

25、而短信息服务作为GSM网络的一种基本业务,已得到越来越多的系统运营商和系统开发商的重视,基于这种业务的各种应用也蓬勃发展起来。利用GSM短信息(SMS)进行电子导游之间的通讯具有成本低、可靠性高等特点。利用GSM短信息系统进行无线通信还具有双向数据传输功能,性能稳定。3)本项目选择XW-GPS100作为GPS定位模块,它具有速度快、灵敏度高、定位精度准、智能化多径检测与抑制等优点。GPS即全球定位系统(Global Positioning System)是美国从本世纪70年代开始研制,于1994年全面建成,具有在海、陆、空进行全方位实时三维导航与定位能力的新一代卫星导航与定位系统。 全球定位系

26、统的主要特点包括全天候运行、全球覆盖、三维定速定时高精度、快速省时高效率、应用广泛多功能等等。9GPS是目前世界上运用最广泛,技术最成熟的定位技术,可充分实现本项目的定位要求。2系统软件的选择1)PC端系统的选择进行嵌入式开发,PC端系统选择一般有两种方式,一是选择双系统(LinuxWindows XP);二是选择虚拟机安装LINUX。前者的优点是运行速度快,缺点是切换系统的时候需要重新启动。后者的优点是可以任意切换系统,缺点是对硬件要求较高。为了共享资料和方便查找网络资源,本项目选择方法2,即在Windows主机上安装虚拟宿主机,作为开发环境。2)嵌入式操作系统的选择 本项目选择嵌入式Lin

27、ux作为操作系统。纯商业性的嵌入式操作系统主要有WinCE和VxWorks,开源的嵌入式操作系统有嵌入式Linux,其他的还有uC/OS-II等。经过比对几款系统之间的利弊选择了嵌入式Linux,它是按照嵌入式操作系统的要求而设计的一种小型操作系统。相对于WinCE、VxWorks等作系统,具有源码开放、易移植、模块化、资源丰富等优势;支持多线程、多进程;支持多种平台,如x86、PowerPC、ARM、MIPS 等等。10其可伸缩的结构使系统适合于从简单到复杂的各种嵌入式应用;另外它拥有有大量的开发工具,这些工具为嵌入式系统的开发提供了良好的开发环境也是我们选择linux 的主要原因之一。而与

28、之相匹配的实现我们选择了Qt来实现各种应与程序的人机交互,力求整个系统更加人性化和智能化。(1)QT/ Embedded 软件体系结构介绍QTE 是著名的Qt 库开发商Trolltech 公司开发的面向嵌入式系统的Qt 版本, 熟悉Linux 界面设计的人一定对QT 不会陌生, 很多人正在使用的KDE 就是基于QT 图形库开发的,QT 自身则是通过使用Xlib 来实现其图像显示功能的。由于Xlib 本身比较大, 无法适应嵌入式开发的需要,Trolltech 公司设计了新的QTE 图形库, 它在底层彻底摒弃了X lib, 仅采用framebuffer 作为底层图形接口, 而在上层依然保持原来QT

29、 的架构, 使在很多X Window 上设计的程序能非常方便的移植。11从QT 到QTE 的这个开发过程体现了软件开发中非常重要的一个思想: 软件设计一定要保持易用性和可移植性。QTE是使用C+语言设计的, 虽然牺牲了一些效率, 但在当前很多界面开发人员已经适应了MFC 的开发模式时, 使用C+无疑会更方便开发人员 。在代码设计上, Qt/Embedded 利用了C+独有的机制, 如继承、多态、模板等, 具体实现非常灵活。但其底层代码由于追求与多种系统、多种硬件的兼容, 代码补丁较多, 风格稍显混乱。2 . 软件总体架构 图1-6上图描述了QTE 软件的总体架构。QTE 共可分为三层架构:a.

30、 图形引擎和事件驱动层: 这一层通过调用和直接访问Linux 操作系统的framebuffer 和输入设备驱动实现。b. 上层图形层: 图形引擎封装了对FrameBuffer 的绘图操作, 是低级别的绘图层, 这一层抽象出对于显示设备的具体操作接口( 图形设备环境) , 如选择画刷、画线、画矩形、alpha操作等, 为上层开发和用户提供了图形的抽象层。c. 上层控件层: 这一层通过公共抽象类QWidget , 实现了用户所需的主要控件类。3 . 图形引擎层的实现这是整个系统最复杂的一部分, 也使用了很多典型的设计模式。底层图形引擎基于framebuffer , Framebuffer 是在Li

31、nux 内核架构版本2.2 以后推出的标准显示设备驱动接口。采用mmap系统调用, 可以将framebuffer 的显示缓存映射为可连续访问的一段内存储针。由于目前比较高级的ARM 体系的嵌入式CPU 中大多集成了LCD 控制模块, LCD 控制模块一般采用双DMA 控制器组成的专用DMA 通道。其中一个DMA 可以自动从一个数据结构队列中取出并装入新的参数, 直到整个队列中的DMA 操作都已完成为止。另外一个DMA 与画面缓冲区相关, 这部分由两个DMA 控制器交替执行, 并每次都自动按照预定的规则改变参数。虽然使用了双DMA, 但这两个DMA控制器的交替使用对于CPU 来说是不可见的。CP

32、U 所获得的只是由两个DMA 组成的一个“ 通道” 而已。在Qt/Embedded中, Qscreen 类为抽象出的底层显示设备基类, 其中声明了对于显示设备的基本描述和操作方式, 如打开、关闭、获得显示能力、创建GFX 操作对象等。另外一个重要的基类是QGfx类。该类抽象出对于显示设备的具体操作接口( 图形设备环境) , 如选择画刷、画线、画矩形、alpha 操作等。以上两个基类是Qt/Embedded 图形引擎的底层抽象。其中所有具体函数基本都是虚函数, Qt/Embedded 对于具体的显示设备, 如Linux的framebuffer、Qt Virtual Framebuffer 做的抽

33、象接口类全都由此继承并重载基类中的虚函数实现。下图为Qt/Embedded 中底层图形引擎实现结构。图1-7如图1-7: 对于基本的framebuffer 设备, Qt/Embedded 用QlinuxFbScreen来处理。针对具体显示硬件( 如Mach 卡、Voodoo卡) 的加速特性, Qt/Embedded 从QlinuxFbScreen 和图形设备环境模板类QgfxRaster 继承出相应子类, 并针对相应硬件重载相关虚函数。Qt/Embedded 在体系上为C/S 结构, 任何一个Qt/Embedded程序都可以作为系统中唯一的一个GUI Server 存在。当应用程序首次以系统G

34、UI Server 的方式加载时, 将建立QWSServer实体。此时调用QWSServer:openDisplay () 函数创建窗体, 在QWSServer:openDisplay( ) 中对QWSDisplay: : Data 中的init ()加以调用; 根据QgfxDriverFactory 实体中的定义( QLinuxFbScreen)设置关键的Qscreen 指针qt_screen 并调用connect ()打开显示设备( dev/fb0) 。在QWSServer 中所有对于显示设备的调用都由qt_screen 发起。至此完成了Qt/Embedded 中QWSServer 的图形

35、发生引擎的创建。当系统中建立好GUI Server 后, 其它需要运行的Qt/Embedded 程序在加载后采用共享内存及有名管道的进程通信方式, 以同步访问模式获得对共享资源framebuffer设备的访问权。随着嵌入式处理器运算能力的不断提高, 对外设支持的不断丰富, 嵌入式Linux 系统的应用也逐渐增多。12QTE 延续了Qt 在桌面系统的所有功能, 丰富的API 接口和基于组件的编程模型使得嵌入式Linux 系统中的应用程序开发更加便捷。由于Qt/Embedded 本身面向高端的手持设备和移动设备, 将成为未来嵌入式系统的主要GUI。3系统整个程序流程的设计作为一个同时使用GPS和G

36、SM模块的系统,如何处理好收发信息之间的同步关系和数据交互这个问题特别重要,本项目使用是使用定时器的方式来实现功能。GPS和GSM的相关程序用C语言编写,然后与QT图形界面C+代码整合在一起,核心程序流程下图所示。主要包括系统初始化、GPS数据处理、GSM数据处理3部分。如下图1-8所示。 GPS数据处理:通过定时器动态实时地接受GPS数据,每一次从完整数据中提取出所需的基本信息如时间,经纬度等内容,然后通过定时器触发显示到界面上,考虑到人的肉眼分辨频率,数据刷新次数不易过快,同时也因为人的步行速度较慢,不需要达到车载导航时的要求,因此界面显示设置为每3秒钟刷新一次信息。GSM数据处理 主机选

37、择GSM功能,则弹出新的对话框,将当前系统的地理位置信息传送给通讯模块,以短信形式发送出去,同时,通讯模块循环以查询方式来检测是否有别人给本机发送信息,如果有,则显示提示信息后自动接收,然后在电子地图上显示出来,如果接受信息不是位置信息而是其他信息内容则报错提示然后退出子程序继续查询。GSM的短信业务SMS利用信令信道传输,它不用拨号建立连接,把要发送的信息加上目的地址和其他控制信息发到短信服务中心,经短信服务中心完成存储再转发送给目标机,这种特性适合数据远程传送。13本项目采用的是PDU Mode,采用AT命令完成短信息的读取和发送。如发送一条消息可以采用AT+CMGS命令,格式如下:AT+

38、CMGS=+系统上电后,ARM微控制器开始执行主程序。在主程序中,首先进行系统初始化,初始化的内容包括GPS模块和GSM模块的基本参数设置,然后进入主程序的数据处理部分,后文将有详细的论述,此处不展开讲解。 设置共享方手机号码弹出GSM对话框若“介绍”功能键按下每3秒触发定时器,刷新一次,显示信息到界面,绘制位置点到地图上循环提取出所需数据并进行优化处理提高精度。自动接受GPS信息系统初始化,设置串口,读入地图主界面开始提取当前位置信息若“评分”功能键按下若“GSM”功能键按下发送 点击“关闭”返回主界面弹出学校介绍对话框弹出评分系统对话框点击按钮浏览信息点击按钮进行投票统计点击“关闭”返回主

39、界面点击“关闭”返回主界面查询是否有队友位置信息判断是否为地理信息显示提示信息,自动接收 Y绘制对方位置点到地图上返回主界面是是否等待下次查询 NYY 图1-8四、系统总体开发流程图及进度1、系统总体开发流程图,如图1-9所示。ARM9-2410开发板Bootloader的移植裁剪编译Linux2.4+Qtopia制作系统镜像文件烧录镜像文件,并能成功在开发板上运行QT环境的配置和搭建GPS模块串口通信的实现、制作电子地图应用程序的UI设计,读取地图GSM模块发送短信功能实现界面与模块之间的整合测试,调试,完成软件系统设计硬件系统设计安装交叉编译工具链图1-92、项目整体进度表及工作涉及工作量

40、本项目整体进度表如下图1-10所示,主要工作量和涉及相关知识为:系统平台搭建(硬件+软件):嵌入式系统开发,LINUX操作系统应用。GPS、GSM模块使用部分:单片机,微机接口,主要用于串口操作实现信息提取、查询,进制计算转换。 地图部分:使用MAPINFO制作电子地图, GIS导航使用,图形学系统主体部分:嵌入式应用程序GUI设计、地图坐标变换、计算经纬度减小误差。系统整体调试测试、bug修改。通过图表及文字显示,本项目基本按照申请初制定的计划进度顺利完成了项目开发。且项目内容工作内容具有一定的深度和广度。 图1-10五、 研究成果由于本项目是进行智能电子导游系统的设计与实现,侧重于实践结论

41、。因此我们的研究结果主要以系统实际效果展示为主。主要实现功能为:1. 景区地图(以学校地图为例)显示,可实现放大缩小,在地图上以蓝色小人显示出导游仪本身所在位置,可随时接受他人位置信息并在地图上以红色小人显示位置。可动态实时的每3秒钟更新一次,如图1-11。2. 在液晶屏上点击相关按钮弹出新的对话框,可以以短信形式向队友发送GPS信息,并且可以随时通过修改号码改变发送对象,如图1-12、图1-12所示。3. 系统同时还有景区信息介绍和景区主要风景浏览,还可以实现特殊景点的查找以及语音播放,如图1-14。图1-11 图1-12 图1-13 图1-14参考文献:1汪亚雷 基于嵌入式linux的Ma

42、pInFo格式地图显示 微计算机信息 20062龚义建,庄园. 一种嵌入式电子地图开发方法的研究J . 计算机与数字工程,2005 ,33 (8) :72274.3詹舒渡,张其善. GPS/ 电子地图的坐标转换算法和实现J . 北京航空航天大学学报,1996 ,22 (5) :5302534.4李德仁. 误差处理与可靠性分析北京: 测绘出版社,1992.5滕云龙 陈小平 唐应辉 提高GPS定位精度的改进卡尔曼滤波算法的研究6 程性义. 手持式GPS 定位精度研究. 中国地图出版社2003.7游敏 基于ARM的GPRS通信系统的设计 长江大学计算机8陈建春. Visual C + + 开发GIS

43、 系统开发实例剖析M . 北京:电子工业出版社,2000.9张方辉,王建群.Qt/Embedded 在嵌入式Linux上的移植J.计算机技术与发展,2006(7):64- 67.10王存健,张建正.嵌入式Linux 下Qt/Embedded的应用J.计算机技术与发展,2006(11):179- 181.11李春萍,李颉思.嵌入式Linux 中对触摸屏驱动的设计J.计算机工程与设计,2007(6):1387-1389. 12 杨祯禄, 刘兴生 基于linux的GSM通信系统的设计研究 J . 四川林勘设计, 2002, (1) 113 张宇武 导航型GPS野外使用技术问题分析 J .西部探矿工程, 2005, (8) 1 致谢本项目是在指导老师程卫军老师的悉心指导下完成,在项目进行期间,程老师从论文选题,项目难点解决,论文撰写等多方面都给予了极大的指导关心和支持。指导老师严谨的治学态度,认真的工作精神和渊博的知识令人敬佩,从老师那里学到的东西都将使我们项目组的成员受益终生,值此项目结题之际,谨向指导老师程卫军教授致以由衷地感谢和崇高的敬意。 在项目研究期间,还得到了王继业老师,孙媛老师,张新平老师以及创新中心宋志民老师的热情支持和大力帮助,在此表示真诚的感谢。最后,衷心感谢在百忙之中抽出宝贵时间对项目结题论文进行评审的各位专家。- 24 -

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!