- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于QT嵌入式Linux智能加油站信息发布系统设计与实现
基于QT嵌入式Linux智能加油站信息发布系统设计与实现
摘要:在国内外油价跌宕起伏的大环境下,利用嵌入式软件开发技术能够实时地掌握各加油站的信息进行研究,对帮助人们在这个信息异常丰富的时代快速有效地获取有用信息起到重要的意义。为各加油站如何提高各自的运营效率以及经济利益提供了一种解决问题的思路。
关键词:Linux;嵌入式;QT;信息发布;智能加油站
中图分类号:TP319文献标识码:A文章编号:1672-7800(2012)010-0089-03
基金项目:苏州工业园区服务外包职业学院重点课题(ky-xjz101)
作者简介:陶文寅(1986-),男,硕士,苏州工业园区服务外包职业学院信息技术系工程师,研究方向为嵌入式系统开发。
0引言
本系统利用部署在加油站进口和出口的红外传感器记录该加油站当前车辆的等待数量,并通过油站管理员的操作和GPS模块记录下当前加油站各种汽油的价格和该加油站的地理位置,最终把这些信息进过特殊的组合与拼接,发送至服务器为后续的应用厂商提供数据支持。下面就对本系统的设计与实现进行详细的阐述。
1加油站终端的环境配置
本系统的硬件架构采用三星公司基于ARM11内核的S3C6410X作为核心芯片,同时配备一个128MB的NANDFlash和2个USB接口用于帮助存储操作系统和数据,以及连接无线网卡,另外还配有2个E18-D50NK红外传感器,用于响应加油站车辆数目的修改,如图1。此外,基于此硬件的操作系统采用嵌入式Linux2.6.21操作系统,文件系统使用适用于NandFlash的Cramfs+Yaffs2,因此,本设计的主要工作是在此硬件架构上利用QT完成整个系统的设计,本节主要介绍QT/Embedded是如何移植到本系统中。
1.1QT/Embedded简介
QT是由挪威Trolltech公司开发的一款跨平台的图形库,通过QT开发的应用程序特点是可以移植到任意的平台上,不论是Windows、Linux,甚至Mac都只需要重新编译即可使用,而不需要修改任何代码。而QT/Embedded是QT的嵌入式版本,它拥有和QT完全一样的API,开发人员只需要在PC上完成大部分开发和调试工作后,重新编译为嵌入版本即可在嵌入式设备中展现出和PC上完全一样的效果。
1.2QT/Embedded的移植
本系统采用触摸屏的方式进行交互,因此,在移植QT/Embedded之前需要先编译触摸屏的库文件,使后续的QT/Embedded能够支持触摸屏设备,本系统的触摸屏库采用tslib-1.4.tar,当编译完成后会在指定的安装目录下生成lib、bin以及etc3个文件夹。
当编译完触摸屏后,接下来就是移植QT/Embedded到嵌入式终端上,QT的移植采用QT/Embedded源码中提供的Configure工具,该工具能够帮助我们配置出适合当前硬件的图形库。Configure的参数有很多,-qt-mouse-tslib参数制定了本系统支持的触摸屏设备,在配置完成后,通过make和makeinstall即可编译和安装。
在QT/Embedded安装完成后,就可以把前面触摸屏编译出的文件全部拷贝到QT的对应目录中,最后通过NFS目录把修图形库复制到嵌入式终端并配置环境变量就完成了移植。
2加油站终端的系统设计
本系统设计的目的主要有两点:第一,当油站管理员修改油价信息时可以实时发送至服务器;第二,当有汽车进入和离开加油站时,系统会自动为当前汽车数量增加或者减少,使用用例图来描述这一问题,如图2。从中可以看出本系统共分为3个模块:
(1)加油站的信息模块。供顾客在加油站时查看各种油价的信息,以及油站管理员修改油价。
(2)加油站的车辆计数模块。实时响应车辆进出,并把结果通过计算得到当前加油站的车辆等待数目,并反映在油价信息模块上。
(3)加油站信息发送模块。该模块是本系统的核心模块,利用本模块可以把加油站信息中的当前油价,以及当前车辆的等待数这些数据打包,然后通过网络发送至服务器,供后端的应用程序使用。
通过对图2的分析可知,用户所有的操作都是在信息模块上进行操作,同时通过多线程技术完成与服务器的实时沟通和实时响应车辆数目的变化。最终本系统类图设计如图3。
其中,最为重要的类有5个,说明如下:
(1)CMyPlanGUI。加油站终端的核心,在该类中通过CPostThread线程类完成加油站信息的发送,此外,通过CXmlAnalysis类完成对加油站数据的读取和保存,最后通过CInfoCar类来响应车辆进出加油站时的车辆数目。
(2)CXmlAnalysis。在本系统中,由于数据量并不是很
文档评论(0)