基于Linux操作系统的网络应用软件开发_第1页
基于Linux操作系统的网络应用软件开发_第2页
基于Linux操作系统的网络应用软件开发_第3页
基于Linux操作系统的网络应用软件开发_第4页
基于Linux操作系统的网络应用软件开发_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

封 面基于 Linux 操作系统的网络应用软件开发1目录一 绪论 .3(一)课题研究背景 .3二 系统总体方案设计 .3(一)系统硬件组成 .4(二)系统软件总体方案设计 .4三 应用程序设计 .6(一)Qt 简介 .6(二)嵌入式 Linux 数据采集终端应用软件设计 .9(三)上位机应用软件设计 .15四 系统集成及调试 .16(一)PPP,GPRS 及 WIFI 简介 .16(二)软件系统集成 .16(三)软件性能测试 .17结论 .18参考文献 .182摘要数据采集系统被广泛应用于大型关键设备的运行状态监测。随着工业化的发展,大型关键设备的的地理分布更加分散,其运行状态监测更加困难,因而迫切需要基于无线互连网技术的远程数据采集系统。为此,论文基于嵌入式 Linux 平台对无线远程数据采集系统软件进行了设计,并在软件设计的过程中提出了一些数据采集系统的软件设计方法及框架。论文首先分析了无线远程数据采集系统的结构,并提出了无线远程数据采集系统软件设计的总体方案;然后,按照总体方案的要求,完成了嵌入式 Linux 无线远程数据采集终端操作系统层的软件设计。论文试探了一种嵌入式 Linux 系统级软件开发的通用方法。完成了对嵌入式 Linux 无线远程数据采集终端以及上位机应用软件的设计,该软件完成了无线远程数据采集系统应当具备的基本功能,并兼顾了软件的通用性,为无线远程数据采集系统的应用软件开发提供了一种设计模型。关键词:嵌入式;Linux;ARA9;数据采集系统;CPRS.3一 绪论(一)课题研究背景近几年我国工业的迅速发展对工业设备运行状况的监控提出了更高的要求。监控系统不仅需要运行于工况良好的环境下,更要对距离较远,运行环境恶劣,数据采集点较为分散以及无人值守的设备进行监控,如对风电,水利等领域的设备进行监控。采用传统的方式对这些情况下设备运行状况进行监控,会导致人力及物力资源的极大消耗,并且很难取得好的效果。针对上述情况,目前国内外主要采用嵌入式系统结合无线通信的方式来构建无线远程数据采集系统 1。这使得监测点只要在无线网络所能覆盖的范围之内,都可以实现数据的采集与传输。过去在无线数据采集方面采用的通信方式主要有广域网,无线电台,无线集群,GSM 短信等,这些通信技术成熟,但也存在着一定的局限性。而目前采用的较新的无线通信方式包括 CDMA, GPRS 以及 WIFI 等,这些通信方式具有优良的数据传输速率,价格适中,已快速取代了传统的无线数据采集所采用的通信手段。另外,除了基于某一种无线通信方式的数据采集系统外,随着嵌入式及物联网技术的不断发展,逐步出现了更加复杂的数据采集网络,在这种数据采集网络中,混合了广域网,GPRS, WIFI 等多种通信方式,以实现数据的远程高4速传输。在实际应用中,位于数据采集网络中的各数据采集终端利用最适宜其工况的通信方式接入 Internet,并将数据上传给服务器,同时接受服务器的控制 2。本文围绕无线远程监测系统的软件设计而展开,试图找到能够满足多种通信方式的通用软件设计方法并搭建较为通用的软件平台,以满足多种具体应用环境的需要。二 系统总体方案设计为了方便进行软件设计,首先应当从用户的角度分析软件所要具备的功能,从宏观上给出软件的整体架构,这样才能保证软件设计工作有序进行,同时可以方便对软件进行维护和升级。(一)系统硬件组成本文的嵌入式 Linux 无线远程数据采集系统硬件结构如图 2-1 所示。应 用 程 序TCP/UDPIPPPPTQ2440GPRS网 络 Internet应 用 程 序TCP/UDPIPPPP上 位 机图 2-1 系统结构图嵌入式 Linux 数据采集终端使用天嵌科技的 TQ2440 开发板,这个开发板具备了丰富的外围设备,使用三星的 S3C2440 ARM9 芯片作为 CPU,该芯片是现在嵌入式系统采用的主流芯片之一。数据传输通道通过 GPRS 接入Internet 实现 3。5(二)系统软件总体方案设计本节详细说明系统各部分的软件组成。总体来看,软件的设计主要是为了更好的控制硬件并完成用户的需要,图 2-2 给出了硬件,内核和应用程序之间的关系。硬 件应 用 程 序系 统 调 用 接 口内 核 空 间内 核 子 系 统设 备 驱 动 程 序图 2-2 硬件,内核和应用程序的关系1. 嵌入式 Linux 数据采集终端软件方案设计嵌入式 Linux 数据采集终端的软件根据其与硬件相关的程度由深到浅主要分为引导加载程序,Linux 内核及应用软件。引导加载程序是 CPU 上电后开始运行的第一段代码,这段代码初始化硬件设备,建立内存映射表,为操作系统内核运行提供合适的软硬件环境。ARM 平台上常用的引导加载程序有 vivi 和 u-boot 等,由于引导加载程序与硬件相关,目前硬件开发商一般都会提供相应的应到加载程序,本文采6用天嵌科技提供的已移植好的 u-boot 作为引导加载程序 4。Linux 系统内核构建的是否成功直接关系到嵌入式 Linux 系统能否正常运行,因此,内核的构建在软件设计中占据着重要的地位。内核的构建主要包括 Linux 内核移植,文件系统构建和 Linux 设备驱动程序移植及开发。Linux 内核移植应当着重考虑系统要求提供哪些功能,加入全部的内核功能,虽然可以保证系统更好的运行,适应各种应用场合的需要,但是它将使得内核变大,运行时占用内存空间增大,运行速度减慢;而加入的内核功能不全,很显然系统将无法满足需要。因此,对内核进行移植,必须清楚自己的系统需要哪些功能,并配置内核提供相应的功能。最好的方法是全面浏览内核配置单,针对每一项内核提供的功能考虑系统是否需要,从而进行取舍 5。设备驱动程序关系到系统的硬件能否正常工作,它是内核的重要组成部分。如果对于某个硬件资源,内核已经提供了它的驱动程序,直接对该驱动程序进行移植即可。对于其他一些硬件资源,若内核并未提供驱动程序,则需要自行编写。对设备驱动程序的移植与编写都应该遵循 Linux 驱动程序接口以及设备模型的规定,只有这样才能被内核识别。 2. 数据传输通道软件方案设计所谓数据传输通道软件功能,指的是如何使数据传输通道两端的软件实现数据传输。针对本文使用的 GPRS 网络,就是软件如何使嵌入式终端通过 PPP 拨号连入 GPRS 网络。由于刚构建的 Linux 操作系统只能完成操作系统最基本的功能,而其它功能的实现还需要移植相应的应用程序到嵌入式 Linux 操作系统当中 6。对于 PPP 拨号,需要将 ppp 拨号程序移植到操作系统当中。3. 上位机软件方案设计上位机软件相比嵌入式数据采集终端要简单很多。上位机安装 Windows XP 操作系统,已经具备了所有运行条件,只要为其编写相应的服务器程序即可。由于本文旨在设计一个方便多种应用环境使用的软件模型,应当7考虑所设计的程序的通用性。上位机被设计为一个并发服务器。服务器应用程序的主要功能有:接受客户端的连接,获取客户端传来的数据并写入文件,分析数据并显示出错数据,向客户端发送命令,查询客户端运行状态等。除了接受客户端连接是属于主线程的任务,其他工作则都是隶属于某个客户端对应的线程的 7。因此,有多少客户端连接在服务器上,服务器程序就有多少个线程在运行。三 应用程序设计(一) Qt 简介本节则重点介绍 Qt 的图形界面设计方法以及 Qt 所采用的通信机制,这些设计方法以及通信机制将伴随应用程序开发的整个过程。1 Qt 图形界面设计方法Qt 图形界面的设计方法主要有两种:利用 Qt Creator 通过代码设计及利用 Qt Designe:进行可视化设计。两种方法各有利弊,Qt Creator 使图形界面设计具有更强的可控性,使用户更方便的完成相应的设计;而 Qt Designer 为用户提供了更加快捷的图形界面设计方法,但无法对控件的全部特性进行操控。由于两种方式各有利弊,却又互相包含,本文采用两种方法相结合的方式进行设计,首先采用 Qt Designer 对图形界面做出设计,然后利用代码对其详细特性进行设定。2 Qt 通信机制Qt 的通信机制常用的主要有两种43: 信一号和槽以及事件。下面对两种机制进行说明。信号和槽机制是 Qt 编程的基础,可以说只要使用Qt 进行编程,就不可避免的要使用信号和槽机制。它可以把互不相关的对象联系起来,实现了面向对象设计中对消息传递及响应的要求。槽是一个普通的函数,可以对其直接调用,也可将其与一个信号连接8起来,用于对信号进行响应。通过下面的方式,将一个槽和信号关联起来:connect(sender, SIGNAL(signal), receiver, SLOT(slot);其中的信号 signal 和槽 slots 在代码中由 Qt 的伪关键字 signals 和 slots来标识。事件是由 Qt 窗口系统或者 Qt 自身产生的。一般情况下利用Qt 进行编程不需要关注事件,因为 Qt 库中自带的控件已经将其转化为了信号,但当我们需要自定义控件,事件就变得非常有用了。在 Qt中所有事件类都是 QEevent 类的子类,而事件就是对应事件类的一个实例。当一个事件发生时如图 3-1 所示,Qt 首先调用QApplication:notify()发送一个事件,该事件被发送给 qApp 对象,该对象是一个应用程序中唯一一个 QApplication 类的对象,如果在该对象中注册了对应事件的事件过滤器,则事件一首先被发送到 qApp 对象的 eventFil

温馨提示

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

评论

0/150

提交评论