HuanHuan BIAN YuDuo WANG
微地震(矿震或微震),作为一个小的地震事件,通常定义为矿道附近压力场岩石破裂或岩体变化所引起的地震事件。基于发射学和地震学的微震监测技术隶属地球物理探测技术,该技术核心在于通过观测、分析微震事件来监测生产和地下状态的变化过程和结果。下面给出基本方法:首先,传感器按照特定规则放置在井中或地表来接收来自背景或诱发微震事件的生产活动信号;然后通过反演这些微震事件进行微震源定位和计算一些其他参数;最后使用这些参数来控制或者指导生产。
与蓝牙技术相似,Zigbee技术是新兴的短距离、低速率的无线网技术。此技术已被广泛应用于短距离局域网的传感器控制。其显著优点是应用简单、工作频率灵活、低功耗、低成本,以及高可靠性、自组网和自修复功能。近年随着科技的发展,Zigbee已深深地融入到传感器技术、数据采集、信息处理和无线传感器网络技术中。
基于分组交换的通用无线分组业务(以下简称GPRS)网络是一种高效的数据传输网络。GPRS的基本功能是在移动终端和因特网路由器间传输数据包。通俗地说,GPRS是一种基于现有GSM(全球移动通讯系统——译注)基础上的高速数据处理服务。此方法就是以 “分组”形式传输数据到用户设备。理论传输速度最高可达171.2kbit/s。除高速传输外,GPRS还有永久在线、按流量计费等优势。
如果在恶劣环境中(如偏远山区的矿井、采油井等)采用传统现场总线通讯模式,由于条件限制架线及利于维护的前后接线费用将大大提高。GPRS无线通讯技术是很好的远程数据传输解决方案,因为在此技术的帮助下远程通讯系统的建立可以没有线路的限制,由不利环境因素(例如在偏远山区、气候变化等等)引起的线路问题很容易得到解决,并且投资大大减少。同时此方法可以节省大量的人力和物力资源。
图1 远程数据获取原理
按照实际需求,整个系统由几个前端节点构成。作为示例这里给出仅考虑一个数据采集模块到终端节点的解决方案。整个设计包括用无线传感器网络将数据从远端节点传送到Zigbee中心节点和微震信号通过GPRS网络被传送到计算机监控中心[1]。
前端数据采集工作方式如下:首先,由中心节点创建Zigbee网络,之后网络等待终端节点的加入。当终端节点接通电源后,其将会自动寻找存在于本地的Zigbee网络,发现本地网络之后,终端节点发送其物理地址到中心节点,于是在中心节点和终端节点之间的通信连接便建立起来。在本文解决方案中采用最近推出的集成电路CC2530作为中心节点的核心。CC2530通过串口将中心节点数据发送到GPRS模块,由GPRS负责进行TCP(传输控制协议——译注)/IP协议转换并将数据转发到GPRS基站,然后数据再被发送到服务GPRS支持节点(或者叫做SGSN)。SGSN与GPRS的网关支持节点(GGSN)进行通讯,数据在GGSN内被处理,然后发送到因特网。连接到因特网的数据采集服务器最后负责接收返回的数据。远程数据获取的系统示意图如图1所示[2]。
GPRS和因特网之间的网络模式包括公网静态IP、动态域名解析、短信通信、专用APN线路等。在实际应用中动态域名解析模式是最常见的网络模式。在此我们采用了动态域名解析方案。在这种模式中,每次获得服务的IP可能不同,但域名服务器能在它们之间建立关联。此模式中,数据采集服务器的域名首先需要从域名服务提供商那里申请,然后域名被写入GPRS模块中。访问因特网时,数据采集服务器连接到DNS服务器,向DNS服务器报告当前获取的动态IP地址。接通电源后,GPRS模块连接到具有域名地址模式的DNS,DNS即可自动找出服务器的公网动态IP。这样,两端即可相互通信[3]。
图2 系统结构图
微震信号无线采集和远程数据传输接口电路的结构原理图如图2所示。终端节点由微震信号传感器、电源、CCS2530射频芯片和PCB天线构成。微震信号传感器用于收集由微震产生的声波信号,电源为终端节点工作提供能源。因为终端节点的功耗非常低,所以可采用纽扣电池供电。CC2530射频芯片通过A/D转换器采集数据,按照Zigbee协议经由PCB天线实现数据的无线收发,完成微震信号的存储和处理过程。
无线通讯接口电路由PCB天线、电源、CC2530射频芯片、GPRS模块(MG323)、SIM卡构成。由于内嵌了TCP/IP协议,此GPRS模块能够很容易实现与连接在因特网上的计算机通信。电源为CC2530射频芯片和GPRS模块(MG323)提供能源。SIM卡需要开通GPRS的无线通信服务,这样它才可以注册到GPRS网络。
天线负责通过射频载波信号传输数据。传感器数据通过天线传送到基站,然后基站传输数据到网络,最后全部信息汇集到计算机的监控系统。
终端节点是收集信息的站点。在终端节点中,完成传感器的数据采集和传输工作,通过矿井中的微震事件可以监测生产活动。
CC2530是一种真正的支持2.4GHz、IEEE 802.15.4、Zigbee和RF4CE应用的片上系统(缩写为SoC)解决方案。CC2530支持主流2.4GHz直接序列扩频(缩写为DSSS)射频传输接口,含有一个工业标准的增强型8051微控制器,同时有系统内可编程闪存、8KB RAM和一些其他强大功能。CC2530有多种工作模式,非常适合于超低功耗需求的系统。
图3 终端节点示意图
图4 中心节点示意图
终端节点的原理图如图3所示。
图5 程序流程图
对信息采集系统来说中心节点即是命令中心,它负责接收数据、上传数据到上位机以及执行上位机发给中心节点的控制命令。
中心节点的GPRS模块是无线通讯模块MG323。
此模块嵌入了TCP/IP协议,支持4个工作频段:GSM850/900/1800/1900MHz,4 种 编 码 方 案:CS-1,CS-2,CS-3,CS-4以及多个链路。
中心节点的示意图如图4所示[4]。
在一特定频率,来自终端节点的信息被中心节点的CC2530芯片接收并通过MG323天线转发出去。程序流程图如图5所示。
MG323模块支持标准AT命令接口。AT指令规定,所有AT命令以字符 “AT”开始,每一命令行仅有一条AT指令。MG323提供了一个通用异步接收/发射(缩写为UART)外部接口,CC2530通过这个接口发送AT指令完成与MG323的通信过程。
接通电源后,无线接口模块需要首先初始化GPRS模块。在初始化过程中,首先检测GPRS模块工作是否正常:AT指令“AT”通过串口被发送到 MG323,检测通过MG323即返回 “OK”;然后检测SIM卡是否工作正常:发送AT指令 “AT+GSM”;最后配置APN参数:一组AT指令如 “AT+CGDCONT=1”、 “IP”、“CMET”等通过串口发送到MG323,从而完成GPRS模块的初始化。
初始化后下一步就是连接GPRS模块到网络。在这个过程中,首先查询GPRS信号的强度:通过串口发送AT指令 “AT+CSQ”到GPRS模块,如果信号足够好,即可完成移动网络的注册。注册移动网络的相应指令是 “AT+CGREG?”或者 “AT+CGEG?”:指令 “AT+CGREG?”用于注册本地网络,指令 “AT+CGEG?”用于注册漫游网络。第二步是初始化TCP/IP,相应AT指令如下:“AT%ETCPIP= “USER”,“GPRS””:USER和GPRS在此分别代表用户名和密码,两者都可由用户按照需求设置。接下来要做的是选择并解析域名、连接主机、发送AT指令AT%DNSR=“域名”,最后连接到因特网。相应指令如下: “AT%IPOPEN=“TCP”,“DEST_IP”, “DEST_PORT””。在这些指令中,TCP表示TCP通讯模式,DEST_IP和DEST_PORT分别表示IP地址和端口号。
图6 GPRS模块配置流程图
至此,完成了GPRS连接到网络的过程。GPRS模块配置流程图如图6所示。
在GPRS连接无线网络后,它就可以与TCP/IP网络通讯。GPRS模块发送的数据帧模式为 “AT%IPSEND= “DATA””:这里 “AT%IPSEND=”是开始 TCP/IP传输命令的起始字符串,DATA是要被发送的数据。GPRS模块接收的数据帧格式是“%IP-ATA:<LEN>, “DATA””:这里“%IP-DATA:”是接收的数据帧头,LEN字段表示接收到的字节数,占两个字节,“DATA”是接收到的数据。
远程监控服务器的主要功能是接收和发送来自数据传输中心的命令和数据。PC监控系统的软件结构采用基于Socket通信机制TCP/IP协议导向的C/S结构,程序使用微软公司的Visual Studio 2008软件平台环境下的C#编程实现。
Socket接口是一种TCP/IP网络应用程序接口(API)。使用Socket接口实现网络通讯分4步:首先是建立一个Socket接口;第二是按照需求配置Socket,即连接Socket到远程主机或为Socket指定一本地协议端口;第三是按需求通过Socket发送或接收数据;最后是关闭Socket。
部分Socket配置和连接程序如下:
IPAddress ServerIP=IPAdress.Parse(“192.18.16.186”);//设置服务器的IP地址。
IPEndPoint Server=new IPEndPoint(ServerIP,8866);//建立服务网络端点。
Socket Sock=new Socket(Address-Family.InterNetwork,SocketType.Stream,ProtocolType.Tcp)//建 立一个接口。
Sock.Bind(Server);//将接口和服务绑定。
Sock.Listen(8);//开始监听,连接队列长度为8。
Socket connectsock=sock.Accept();//等待和发送连接请求的接口通讯。
接下来是对两个指令的参数描述。
第一 个 是 “public int Send(byte []buffer,int size,SocketFlag socketFlags)”.它的参数如下: “buffer”代表被传送的数据;“size”代表被传输数据量的大小;“socketFlags”值按位结合,给出Socket通信时用到的一些常数值。此命令的返回值是发送到Socket的字节数。
另一个是 “public int Receive(byte []buffer,int size,SocketFlage socketFlags)”。下面给出它的参数描述: “buffer”表示接收数据存储位置; “size”代表接收到数据量的大小;“socketFlags”按位结合,给出Socket通信时用到的一些常数值。此命令的返回值是Socket接收到的字节数[6]。
在移动通讯行业中,GPRS技术被广泛应用,但在煤矿的工业应用中还不常见。本文实现了基于GPRS与Zigbee技术的微震信号的无线数据采集和网络传输系统,工作人员可通过计算机终端节点实现远程实时监控。此系统在矿井微震研究和应用中具有非常重要的意义。此外,该解决方案也可用于其他领域无线模式的数据采集和传输中。
[1]Xiang-Dang Du,Miao Li And Ji-Hong Zhang,Design of remote wireless monitoring experimental system based on Zigbee and GPRS technique,Experimental Technology and Management,Vol.27,2010,pp.76-79.
[2]Shuai Chen,Xian-Xin Li,Ji-Xue Liu,Application of GPRS in remote communication system of the wireless sensor network,Piezoelectric and A-cousto-Optic,Vol.31,Issue 2,2009,pp.210-212.
[3]Liang Zhao,Feng Li,Application of GPRS wireless network in remote data acquisition,Computer Engineering and Design,No.9,2005.
[4]Chao-Qing Li,SCM principles and interface technique,3rdedition,Beijing University of Aeronautics and Astronautics 2005.
[5]Wei Peng,Microcontroller C programming language training 100case:simulation based on 8051+proteus,Electronic Industry Press,Beijing,2009.
[6]Karli Watson,Christian Nagel,C#entry-classic,5thedition,Tsinghua University Press,Beijing 2010.