基于GPRS的实验室监测系统

2010-07-13 06:01于宝堃
电子设计工程 2010年2期
关键词:机系统上位命令

于宝堃,许 国,胡 瑜,张 莹

(天津科技大学 电子信息与自动化学院,天津 300222)

随着各高校办学规模日益扩大,各类实验室的数目不断增加,如何高效管理实验室成为各高校安全工作的重中之重。通用分组无线业务 GPRS(general packet radio service)[1]技术作为一种先进的通信技术可应用于实验室的管理和监测。GPRS的主要特点[2]有:1)充分利用现有的GSM网络;2)Internet实现,GPRS通过允许现有 Internet和新的GPRS网络互通,完全实现移动Internet功能;3)网络频谱效率高,分组交换意味着仅当用户正在发送或接收数据时GPRS无线资源才被使用。与将一个无线信道指定给一个移动数据用户相比,它可以同时由几个用户共享;4)网络成本不断降低;5)资费合理,用户只需按数据通信量付费即可,而无需像电路交换方式那样对整个链路占用期间付费。基于GPRS的这些特点,工业控制、城市管网等领域已广泛使用该技术进行数据传输。根据实验室管理的特点,本文应用Winbond单片机和GPRS模块组建一个基于GPRS技术的实验室监测系统。

1 系统的总体框架设计

本系统主要由现场终端系统、GPRS传输系统、上位机接收系统和移动接收系统4部分所组成,如图1所示。

图1 系统总体框架

现场终端系统主要采集实验室的温度、湿度、烟雾浓度等信息,并将这些非电信号转换成电信号传送至微控制器,微控制器处理这些信息,再通过GPRS传输系统将其传送至上位机进行显示。当室内温度或烟雾浓度高于预设报警值时,微控制器驱动报警装置产生报警信号,同时通过GPRS传输系统向移动终端系统发送警报短信,及时告知相关人员实验室的情况。工作人员可通过向现场终端系统发送短信息(SMS),了解实验室的即时温度等信息。

GPRS传输系统用于传输实验室的相关信息,本系统使用中国移动所提供的GPRS网络系统作为数据传输媒介搭建现场终端系统和上位机接收系统通信的平台。需要注意的是,在使用GPRS网络前,需先开通SIM卡的GPRS功能,这样,两个系统就可以通过TCP/IP协议进行通信。

上位机接收系统由一台PC机来实现,其主要功能是通过Internet,获得实验室的温度、湿度等即时信息,并存储和显示这些数据。移动接收系统实际上就是日常生活中的手机,利用手机工作人员可以方便地了解实验室的实时信息,及时进行相应处理。

2 系统的硬件设计

本系统的硬件部分是指现场终端系统,如图2所示。

图2 系统的硬件结构

本系统采用Winbond公司的W78E058B作为核心控制器,其内部包含32 K字节的主ROM、4 K字节的辅助 ROM和512字节片内 RAM,远远满足本系统对内存空间的要求,从而省去了外扩SRAM所需的I/O引脚。其主要功能是采集温度、湿度、烟雾浓度等信息,并通过GPRS模块传送出这些信息。当室内温度或烟雾浓度高于报警值时,则报警装置产生报警信号。

GPRS模块采用SIMCOM公司的GPRS/GSM移动通信模块SIM300z[3],它利用GPRS技术与GSM移动通信网络作为传输介质,主要为语音传输、短消息和数据业务提供无线接口。SIM300z有GPRS永久在线功能,支持EGSM900/DCS1800/PCS1900 MHz频段,支持短信Text和PDU模式。内嵌TCP/IP协议栈,可缩短本系统开发的周期,降低开发成本。利用其RS232接口实现与W78E058B的通信,保证GPRS模块及时地完成微控制器发送的AT命令。

温度传感器由DS18B20组成,DS18B20是Dallas公司生产的单总线式数字温度传感器,其温度测量范围为-55~+125℃,可编程为9~12位A/D转换精度,测温分辨率可达0.062 5℃,被测温度用符号扩展的16位数字量方式串行输出,占用微处理器的端口较少,可节省大量引线和逻辑电路。

湿度传感器采用西博臣科技有限公司生产的CHM-02/NB模块,该模块采用高分子湿敏电阻CHR-01作为敏感元件,湿度测量范围为0~100%RH,相应电压输出范围是1~3 V,且二者是线性关系,可用于测量实验室湿度值。

烟雾传感器采用嘉保公司的有线烟雾传感器,该传感器利用红外线迷宫式反射检测模式进行烟雾检测,其输出通过P3.2引脚与单片机相连。当烟雾浓度高于设定值时,以中断形式向单片机产生报警信号。

3 SIM300z模块的设置

通过 RS232向 SIM300z模块发送 AT(Attention)指令,可设置该模块的相关功能。AT指令是由Hayes公司推出的一套Modem操作指令集,现已成为事实上的标准并被广大厂商所采用,不过各个厂商之间还略有差别。下面针对SIM300z模块的指令集[4],详细介绍该模块的工作步骤。

1)模块初始化 SIM300z模块初始化主要是设置模块的相关属性,包括以下步骤:①使用AT+IPR=9 600命令,设置通信波特率为9 600 kb/s;②使用ATV1E0命令,设置模块回送的响应是字母形式的,且不含接收到的字符;③使用AT+CPIN命令,查询PIN码的当前状态为READY,即不需要输入任何密码;④使用AT+CMGF=0命令,设置消息的格式为PDU;⑤使用AT+CNMI=2,1命令,设置接收到的短信存入SIM卡中。需要注意的是,在每条指令后需加符号<CR>,以表示此条命令结束。

2)连接GPRS网络 连接GPRS网络的步骤如下:①使用AT+CSTT=“CMNET”命令启动任务并设置接入网为中国移动梦网;②使用AT+CIICR命令激活PDP移动场景;③使用AT+CIPSTART=“TCP”,“59.67.7.64”,“8080”命令,以 TCP 方式连接上位机系统的8080端口。

3)发送GPRS数据 使用AT+CIPSEND命令将实验室的数据发送至上位机。所有数据发送完毕后,可使用AT+CIPCLOSE和AT+CIPSHUT命令分别关闭此次连接和移动场景。

4 上位机系统的设计

上位机系统是整个系统的核心部分,该系统通过TCP/IP协议与现场终端系统通信。该系统能实时显示实验室的温度、湿度等信息,具有良好的用户界面,可及时向监控人员报告现场的异常情况。

由于GPRS网络的工作方式是以IP地址寻址为基础的,所以上位机系统作为数据的接收端(即服务器端),采用固定的IP地址和指定的端口号。而现场终端系统利用GPRS模块SIM300z拨号登陆中国移动的网关支持节点(GGSN),从而获得GGSN分配的动态IP地址。SIM300z获得IP后,向上位机系统请求建立通信连接,当上位机系统启动监听功能后会侦听到此请求,并会为其建立一条Socket连接,这样二者就可以进行相互通信。为了使二者能够安全、可靠地通信,采用TCP方式建立Socket连接。

采用C#语言编程[5],在Microsoft Visual Studio 2005环境下开发上位机系统。C#是微软公司开发的一种建立在.NET Framework运行框架之上的面向对象的编程语言。由于.NET Framework中存在2个支持网络编程的命名空间[6]:System.Net和System.Net.Sockets,则通过这两个命名空间中封装的类和方法就可以实现上位机系统与现场终端系统的通信。

在 System.Net.Sockets命名空间中,TcpClient类用于连接、发送和接收数据,TcpListener类则用于监听是否有传入的连接请求。这两个类是专门用于TCP协议编程的类,并且封装了底层的套接字,降低了TCP应用编程的难度。为了发送和接收网络数据流,System.Net.Sockets还提供了Network-Stream类。利用这些类,上位机系统和现场终端系统在服务器/客户机模式下进行数据通信。其通信方式如图3所示。

图3 数据通信方式

为了保证上位机和现场终端的通信正常,首先需要在上位机一侧建立TcpListener类的实例对象,以便在指定端口监控现场终端发送的连接请求。当上位机系统接收到请求后,会根据现场终端发送的连接信息创建与其相对应的Tcp-Client类的实例对象,并向现场终端发送连接已成功的确认信息。当现场终端接收到确认信号后,将实验室的温度、湿度等数据发送至上位机。所有数据发送完毕后,现场终端关闭此次连接,并在一定时间后进行下次连接。同时,上位机关闭TcpClient对象,而TcpListener对象仍存在,继续监听下一次连接请求。

5 结束语

本系统采用基于GPRS的传输方式,将现场终端和上位机进行互联,实现了无线网络和有线互联网的连接。观察系统的实际运行,该系统能实时、准确地反映实验室当前的温度、湿度等信息,遇到突发状况可通过手机短信方式及时通知相关人员,保证实验室的安全。上位机系统采用C#编程语言在.NET框架下进行开发,保证数据流的正确接收与发送。而本系统的不足之处是无法观察到实验室的实时画面,这个改进是接下来的工作。随着3G时代的到来,基于GPRS的无线网络将会得到进一步发展,其可靠度和传输速度将大大提高,基于GPRS的监测系统将得到更广泛的应用。

[1]严雪萍,成 立,韩庆福,等.基于GPRS的远程数据采集系统设计[J].微计算机信息,2008,24(12):115-117.

[2]文志成.通用分组无线业务—GPRS[M].北京:电子工业出版社,2004.

[3]SIMCOM Ltd.SIM300 hardware specification[EB/OL].2005.http://www.sim.com/wm/News/photo/200947111746.pdf.

[4]SIMCOM Ltd.SIM300 AT command set[EB/OL].2006.http://www.sim.com/wm/News/photo/200947111201.pdf.

[5]李 容.Visual C#2008开发技术详解[M].北京:电子工业出版社,2008.

[6]王文利.C#中基于流的套接字编程[J].赤峰学院学报:自然科学版,2009,25(3):134-135.

猜你喜欢
机系统上位命令
只听主人的命令
手持式触摸测试机对闸机系统的维护研究
特斯拉 风云之老阿姨上位
移防命令下达后
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
这是人民的命令
经济、可靠的自动开关机系统
以新思路促推现代农业上位
京石高速公路自助发卡机系统的设计与应用