教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

基于GPRS远程无线数据采集系统设计 - 图文(9)

来源:网络收集 时间:2026-06-02
导读: 河北农业大学毕业论文 Noauth //旨示系统内核吧ppp地址加入到系统路由表中,作为默认网关 Defaultroute //ppp的连接脚本 Connect/etc/ppp/gprs-diseonneet 10.0.0.1 //指示ppd从服务器请求ip地址,通过ISP动态分配

河北农业大学毕业论文

Noauth

//旨示系统内核吧ppp地址加入到系统路由表中,作为默认网关 Defaultroute //ppp的连接脚本

Connect/etc/ppp/gprs-diseonneet 10.0.0.1

//指示ppd从服务器请求ip地址,通过ISP动态分配地址 NoiPdefault //关闭压缩 Nodeflate Novj Novjccomp

/etc/ppp/options是pppd服务的配置文件,默认情况下,启动pppd,它会根据/ete/ppp/options来配置ppp的拨号。这里,GPRS的连接脚本为/etc/ppp/gprs-connnect,其内容为: #! /bin sh Exec/sbin/ehat: TIMEOUT 5 ECHO ON

ABORT‘\\nBUSY\\r, ABORT‘\\nERROR\\r, ABORT ‘\\N noANSWER\\r, ABORT ‘\\N noCARRIER\\r, ABORT ‘\\N noDIALTONE\\r’ ABORT ‘\\Nringing\\r\\n\\\\r\\Nringing\\r’ ‘’ ‘、rAT’ TIMEOUT 6

SAY “Press CTRL-C to close the eonnection at any stage!” SAY “\\ndefining PDP context…\\n”

OK ?AT+CGDCONT=1,”IP”,”CMNET”,””,0,0? OK ?ATDT*99#;?

41

河北农业大学毕业论文

TIMEOUT 10

SAY “\\nwaiting for connect…\\n” CONNECT “”

SAY SAY

“\\nconnected.”

“\\nif the following ppp nefotiations fail,\\n” “try restarting the phone.\\n”

SAY

此脚本利用chat命令,通过串口与GPRS模块进行交互,完成拨号,配置等

工作。GPRS的断开脚本/etc/ppp/gprs-disconnect内容为:

! #/bin/sh Exec chat-V-s-S ABOUT ABOUT ABOUT SAY “” “” SAY

“BUSY” “ERROR” “NO DIALTONE”

“\\nSending break to modwm\\n”

“\\K” “+++ATH”

“\\Npdp context detached\\n”

这样,系统启动后,直接使用pppd命令,就可以实现GPRS拨号连接,如果系统没有设置迷人路由,则pppd会把建立起来的连接作为默认的路由,就可以通过GPRS无线接入互联网了。 5.2.4数据的通信过程

当GPRS模块获得IP地址后,并且已经建立了连接,就可以通过GPRS模

块进行数据通信了。

数据的发送部分,CPU只需要将发送的数据报通过RS232发送到GPRS模块,数据报的准备是由协议层的不断封装得到,由于GPRS的数据通信是基于TCP/IP协议的,所以在发送数据时,必须将数据打包封装成IP数据报的形式。因此,一个数据要发送,同时必须经过套接字发送、TCP层发送和IP层的相关发送函数。如果数据已经打包封装成IP数据报,接下来的工作就是为IP数据报封装成PPP数据报,再由RS232送往GPRS模块,从而完成数据的发送过程。

数据的接受部分,GPRS模块接收数据是不需要CPU的干预的,因为GPRS的数据接收就像是网络的数据接收一样,一旦GPRS模块接收到数据,就会通过

42

河北农业大学毕业论文

RS232向CPU传送数据,所以,对于CPU来说,数据输入的标志是RS232产生中断,或者也可以通过时钟的定时中断来查询RS232的缓冲区是否有内容来判断有无数据的输入。无论哪种方式,一旦中断发生,CPU都可以从RS232缓冲区中得到输入的数据,中断服务程序就是GPRS的数据输入的开始。

由于在Linux下的TCP/IP协议处理方法是分别在服务器端和客户机端分别创建socket程序,建立通信联系的,下面就来给出在嵌入式终端中如何实现Socket客户端以及Socket服务器程序的实现。

服务器端: (l)创建一个socket;

(2)将该sockct与本机地址/端口号捆绑; (3)在监听端口上监听客户机的连接请求;

(4)当accePt捕捉到一个连接请求时,就建立连接线路并返回一个新的通信文件描述符;

(5)父进程创建一个子进程,父进程关闭通信文件描述符并继续监听端口上其他客户机的连接清求;

(6)子进程通过通信文件描述符与客户机进行通信,通信结束后终止子进程并关闭通信文件描述符。

客户机端:

(l)创建一个socket,

(2)向服务器主机及端口发出连接请求,请求成功将返回通信文件描述符; (3)调用connect函数与服务器建立连接; (4)连接成功之后与服务器进行通信; (5)通信完毕后关闭通信文件描述符。

具体的服务器端和客户机端程序的编写可参考下面的编程模型,Linux下面向连接的Socket网络编程模型如下图5.12所示:

43

河北农业大学毕业论文

5.2.5测试结果与分析

本课题所设计的ARM嵌入式终端系统,通过GPRS网络传输数据,具有较低的误码率和较高的传输效率,基本上达到了预期的效果。下图是实验结果截图:

44

河北农业大学毕业论文

实际应用之中,人们总是希望数据在通信过程中能够及时准确地传输,但是由于外界环境的干扰,以及通信系统自身的网络问题等诸多方面的因素,很容易造成数据在传输的过程中出现错误或者丢失的现象。反复的实验表明,为了提高数据传输的正确性和可靠性,本文总结了以下两点措施,大大降低了数据传输的误码率。

(l)使用较小的数据包。数据通信的过程中,一次性传输的数据包越长,传输过程中出现错误的可能性就越大。因此,我们选用较小的数据包来进行传输。多次的实验表明,拆分的数据包越小,在传送的过程中出现的错误就越小。一般情况下,传输的数据包最好不要超过IM,这样就可以保证数据无差错的传送,提高了系统的可靠性。

(2)提供心跳功能。在实际的应用中很可能会由于链路的空闲,而被服务器强制地中断,导致GPRS网络掉线。为了解决这一问题,系统提供了心跳功能,即主动地定时地向GPRS网络发送心跳数据。具体做法就是在模块上电后,启动心跳装置,按照一定的时间间隔定时地向GPRS网络发送数据包,对方收到心跳数据之后,会返回同样的数据,如果系统长时间没有收到心跳数据,则会自动重启模块,重新拨号连接。

以上的两种措施,对于改善系统的可靠性,降低传输的误码率,都有很大的帮助。经过反复的实验表明,本系统在数据的发送和接收过程中,有良好的可靠性,较低的误码率,基本上达到了预期的目标。

45

河北农业大学毕业论文

6结论和展望

本论文设计的基于ARMg的GPRS无线通信系统,通过ARMg芯片控制GPRS模块,利用移动的GPRS无线网络,实现远程的数据传输功能。该系统具有网络覆盖范围广,抗干扰能力强,通信速度快,误码率低等优点,具有良好的可靠性和稳定性。目前这种技术被广泛的应用于无线数据采集领域、远程数据监控领域等。随着移动通信技术的发展以及3G技术的实现,移动通信网的实时性和确定性都将得到极大的改善,基于AR五江和GPRS网络的数据采集系统必将会有着更为广阔的发展空间。

本论文的主要工作及创新点有以下几个方面:

(1)采用世界上广泛应用的嵌入式系统作为系统平台。文中论述了嵌入式系统的层次结构,嵌入式处理器和操作系统的选择,嵌入式系统的软硬件开发等。目前,市场上的嵌入式处理器多不胜数,嵌入式操作系统更是琳琅满目,针对实际目标需要如何选择合适的硬件与软件系统,是整个设计的基础也是非常关键的部分。本文将32位的ARMg芯片应用于数据采集的终端系统,大大提 …… 此处隐藏:2257字,全部文档内容请下载后查看。喜欢就下载吧 ……

基于GPRS远程无线数据采集系统设计 - 图文(9).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/454047.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)