基于Linux操作系统的网络应用软件开发 联系客服

发布时间 : 星期日 文章基于Linux操作系统的网络应用软件开发更新完毕开始阅读b0c8b60b905f804d2b160b4e767f5acfa1c7837f

四 系统集成及调试

(一)PPP,GPRS及WIFI简介

本文设计的应用软件可以运行于多种基于TCP/IP协议栈的网络当中,本文将数据采集终端的应用软件分别运行于GPRS, WIFI以及有线网络之上,并测试了软件的性能。由于开发板上没有无线网卡,因此,并未采用开发板接入WIFI,而是使用笔记本接入校园WIFI,另外,有线网络使用虚拟机进行测试。这两种网络接入比较方便,本文不再赘述,只在最后测试时给出数据,而GPRS网络在嵌入式数据采集终端的配置比较复 杂,这里进行详细的说明。

本文采用PPP拨号的方式接入GPRS网络,PPP是数据链路层协议,它 提供了一种互联网接入的方式,PPP包含了三个协议:LCP链路控制协议, NCP网络控制协议以及认证协议。Linux已经包含了PPP协议,用户只需要 在内核中进行配置即可。本文不会直接接触LCP和NCP,但会配置认证协 议,以方便通过GPRS网络的认证。

GPRS现今已相对成熟,是移动设备接入网络的主要手段,它能够进行 分组数据发送和接收。WIFI基于IEEE802.11标准,是用于短途无线数据传输。它具有传输速率高,带宽可调整的特点,根据使用区域不同,通信距离最大可达1 000m左右。WIFI组网成本较低,可以很方便的接入Internet,而且可通过加入无线接入点扩大WIFI的覆盖范围,因此,近几年WIFI也被广泛运用于各类数据采集系统当中。

(二)软件系统集成

上位机的软件不存在集成的问题,直接在上位机运行即可,而对于嵌入式Linux数据采集终端,需要完成相应的系统集成。首先,需要实现Linux下的PPP拨号接入GPRS网络,配置内核并编译,使其以支持PPP协议,配置单如下:

Device Drivers -?

16

Network device support-?

PPP (point-to-point protocol) support PPP support for async serial ports PPP Deflate compression PPP BSD-Compress compression

这样只是在内核中加入了PPP协议支持,而进行PPP拨号,还需要在Linux系统上移植PPP拨号程序,下载源码ppp-2.4.5并解压,进入解压后的源码目录,执行

. / cofigure

经过配置,生成了Makefile文件,这时再执行

make CC=arm-linux-gcc

用arm-linux-gcc编译源代码,完成后,会在源码目录的/chat, /pppd, /pppdump三个目录下分别生成chat, pppd, pppdump, pppstats四个可执行文件。将这三个可执行文件拷贝到开发板的/usr/sbin/下。之后需要编写配置文件,可参考源码目录中的SETUP, README.linux和script/README。

(三)软件性能测试

将上节提到的三种客户端与服务器连接,以一系列采样周期采样100组 数据,由于写入数据文件事给出了数据到达时间,因此可以查看是否发生了丢包,分别计算在不同采样周期下的丢包率,用以查看这种数据采集系统方案是否可行。理论上使用TCP不会出现丢包,但这是针对网络拥塞而导致的丢包而言的,实际中由于其他因素而导致的丢包还是存在的,尤其在无线传输时,由于无线信道本身的特点,网络拥塞已经不是造成丢包的唯一原因了,因此还是会出现丢包。测试后的结论如下:

(1)硬件差异只影响数据采集与处理的速度,不会对丢包率造成影响,因此,丢包率只反映了网络本身的特性。可以看出,有线网络的丢包率大体上就是0%,主要归功于TCP协议的传输可靠性。

(2)随着采样周期缩短,三种接入方式都出现了丢包率上升的情况,这是不可避免的,因为随着采样周期的缩短,数据发送的频率增大,数据量就随

17

着增大,出现拥塞,误码等问题的概率增大。一种可行的解决办法是当采样周期较短时,可以先将处理后的数据在终端缓存,当数据量到达一定程度时一次发送,这样就可以减轻网络上的负担,但同时带来数据报告的延迟,使得数据的实时性受到影响。

(3)WIFI与有线接入方式的丢包率基本一致,主要原因在于WIFI最终都会将基站接入有线网络,而由于WIFI的覆盖范围有限,这就使得使用WI FI接入的终端离基站的距离也比较近,这样,无线链路的长度并不大,因此,除了终端与基站一段采用了无线网络,其他网络部分仍然是有线网络,所以丢包率不会很大。

(4)GPRS接入方式的丢包率变化很大,主要因为GPRS无线传输距离较远,不可避免的会受更多外界因素的影响以及网络传输的数据量人小的影响。但所设计的软件在800ms的采样周期下运行还是可以的,虽然有将近50%的丢包率,但由于远程数据采集主要是为了周期性的获取设备的运行状态,因此,如果设备出现故障,以后的数据肯定还是问题数据,只要有问题数据出现,上位机就可以采取措施。因此,虽然有50%丢包率,但能够保证错误数据的送达也是可以的。

结论

数据采集系统在工业上有着极其重要的地位,随着工业信息化的发

展,数据采集系统也发生着突飞猛进的变化,数据采集系统数据传输的手段逐渐多元化,结合无线互联网技术的数据采集系统正在逐步形成。本文立足于数据采集系统的变化,给出新型数据采集系统软件设计的通用框架和方法,并在此基础上给出了一个通用的应用软件平台,以方便今后数据采集系统应用软件的开发,也为今后进一步的应用开发与研究提供了良好的基础。

18

参考文献

[1]向细波.基于嵌入式Linux和GPRS的无线远程监控系统研究与应用[D].上海:同济大学电子与信息工程

学院,2007.

[2] Chin E. Lin, Ying-Shing shiao, Chih-Chi Li, Sung-Huan Yang, Shun-Hua Lin, and Chun-Yi Lin. Real-Time Remote Onboard Diagnostics Using Embedded GPRS Surveillance Technology[J].IEEE Transactions on Vehicular Technology, 2007, 56(3):1108-1118.

[3] Zhao Ji-chum Sun su-fen, Yu Feng, Luan Ru-peng Zhang fei. The Design and Realization of Embedded Wireless Video monitoring System Based on GPRS[C].Wireless Communications, Networking and Mobile Computing, 2008:1-4.

[4]杨阳.基于ARM的无线监控终端的研究与实现[D].西安:国科学院国家授时中心,2011.

[5]黄德强.采用嵌入式LINUX技术与GPRS网络实现无线数据采集与传输[J].电了器件,2003, 26(2):226-228.

[6]齐凤莲,张帼英,潘伟志.基于工控机的汽车助力器监测系统设计[J].工具技术,2009, 43 (12):53-55.

[7]熊茂华,杨震伦. ARMS嵌入式系统设计与开发应用[M].北京:清华大学出版社,2007. 12. [8]李亚锋,欧文盛等.ARM嵌入式Linux系统开发从入门到精通[M].北京:清华大学出版社.2007. 8. [9] William Stallings. Operating System:Internals and Design Principles, Six Edition[M].Upper

Saddle River, New Jersey:Prentice Hall, 2008.

[10]陈小红.基于嵌入式Linux和GPRS的远程监控系统的研究[D].北京:北京邮电大学,2007.

19