新闻中心

EEPW首页>嵌入式系统>设计应用> 基于ARM和GPRS的远程监测终端设计

基于ARM和GPRS的远程监测终端设计

作者: 时间:2012-02-23 来源:网络 收藏

3.2.1 显示界面模块
界面显示模块:界面显示由两部分组成。一是实时显示各模块的采集数据及一定时间以内的历史数据数据;二是显示模块设置界面,通过这个界面设置串口参数、设置数据采集时间间隔、设置主机IP地址及端口号、发送AT指令、回显模块返回信息等。编写界面文件mainwindow.h和mainwindow.cpp,其中串口参数设置、网络连接和数据传输封装成相应的子函数,利用Qt的信号槽机制,当捕捉到
相应的信号便执行对应的函数。通过继承Qt中的QThread线程类来完成数据读取模块和SPI模块的功能。SPI模块接收底层数据采集模块的各种数据,显示到界面并编码通过GPRS通道传输到上位机,GPRS返回的一些重要信息业需显示到LCD界面上。
3.2.2 GPRS网络连接任务
GPRS网络连接任务主要完成通过GPRS网络建立与上位机的数据传输链路的过程。启动GTM900C后,首先,需对PPP连接所使用的物理串口进行初始化,包括确定用于PPP连接的串行端口号以及通信波特率。然后,直接使用AT指令,拨号到中国移动的GPRS节点服务器(GGSN)。使用以下几条灯指令使GTM900C进入数据通讯状态:
“AT+CGATY?”用于查询GTM900C是否已附着在中国移动的GPRS网络,GTM900C将返回当前状态;
“AT+CGATT=1”用于设置GTM900C附着于中国移动的GPRS网络,操作成功GTM900C将返回OK;
“A1,+CGDCONT=1,“IP”“CMNET””用于设置中国移动的GPRS节点服务器的名称和属性,操作成功则返回OK;
“AT%ETCPIP”用于实现PDP激活和TCP/IP的初始化,使模块进入TCP/IP功能,操作成功返回OK;
“AT%IOMODE=0.2,0”设置数据传输模式,操作成功返回OK;
“AT%IPOPEN=1,“TCP”,“115.24.116.19”,5000..1026”打开一条TCP/IP链接,选择TCP传输,115.24.116.19为上位机IP地址,5000为上位机接受程序端口号,成功与上位机连接返回CONNECT。另外模块还具有数据透传功能,数据透明传输功能将实现TCP/IP上直接数据传输,进入透传模式的AT指令是:“AT%TPS=1,1,3000,1024”,进入透传模式后模块将不会相应其它AT指令,直接通过串口写入数据便可实现与上位机之间的数据传输。以上使模块附着在GPRS网络的过程封装在gprsConnect()函数中。
PPP配置、认证通过以后,即应用程序就已经通过GTM900C成功进入了Internet网络。最后,通过变量GPRSOK=1指示GPRS拨号成功并建立数传状态。在run()程序中隔一段时间判断当前网络连接状态,若网络断开则变量GPRSOK=0,并调用gprsConnect()函数开始拨号任务重新建立数传链路。
3.2.3 SPI数据通信模块
SPI通信程序包括两部分,一是用于数据采集的单片机这边需要通过SPI发送现场数据,接收控制指令,二是主控制器需要读取数据,发送控制指令。数据采集模块使用是带有SPI接口的C8051f020单片机,SPI的数据寄存器是SHODAT。单片机和主控制器的SPI通信参数设置要一致。
在主设备这边,SPI驱动已经配置好,直接使用read(),write()等函数便可进行数据的读取与接收。在单片机这边采用中断的方式进行SPI数据的发送与接收。对于从设备C8051f021单片机来说,只有将片选线线接低电平才会启动数据传输,可利用这一点进行多字节数据传输,拉低一次便传输一个字节,这可用作与主设备之间的同步信号。主设备选一根I/O口线作为片选线,将其拉低,执行一次SPI读操作,再拉高,延时一定时间,这时从设备退出从模式,重新往SPIODAT里写新数据及其他一些处理,主设备再将片选线拉低,执行一次SPI读操作。这样便可进行多字节传输了。SPI主从设备通信流程图如图6所示。

本文引用地址://m.amcfsurvey.com/article/149578.htm

f.jpg


3.3性能测试
将编译好的界面应用程序下载到处理器中并运行,主线程为显示界面,随时可与用户进行信息,两个子线程为读SPI总线线程和串口读写线程,这3个线程同时并行运行。其中GPRS传输部分的界面如图7所示,通过这个显示界面设置串口、上位机IP地址、TCP端口和数据定时发送的时间间隔,发送文本框会显示SPI总线读取的数据值,接收文本框回显GPRS模块返回的信息。上位机用自己的PC机,通过软件soeket tool监听发送给上位机数据,实验证明终端界面应用程序工作良好,数据传输也很准确。

g.jpg



4 结论
系统的上位机接受界面可用VB编写,并建立数据库,方便分析、处理现场数据,这部分程序正在完善中。终端的数据采集部分采用模块化,可以灵活增减,终端软件可以根据不同现场用户自行计算公式处理数据,把终端设置好,在上位机通过GPRS网络便可实时现场。该检测终端结构灵活,实时性好,适用范围广,具有广泛的应用前景。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭