最近需要开发一个基于GRPS DTU数据传输的数据中心方案,于是找了一些资料。个人觉得很有用。

 ​​GPRS DTU​​全称​​GPRS​​数据传输单元,在国内目前实际上对​​GPRS DTU​​具有更加明确的约定:​​GPRS DTU​​是专门用于将串口数据通过​GPRS 网络进行传送的​​GPRS​​无线设备。

​GPRS DTU​​的四个核心功能:

    1)内部集成TCP/IP协议栈:​​GPRS DTU​​内部封装了PPP拨号协议以及TCP/IP协议栈并且具有嵌入式操作系统,从硬件上,它可看作是嵌入式PC与无线​​GPRS MODEM​​的结合;它具备​​GPRS​​拨号上网以及TCP/IP数据通信的功能。

    2)提供串口数据双向转换功能:​​GPRS DTU​​无线传输模块提供了串行通信接口,包括RS232,RS485,RS422等都属于常用的串行通信方式,而且​​GPRS DTU​​在设计上大都将串口数据设计成“透明转换”的方式,也就是说​​GPRS DTU​​可以将串口上的原始数据转换成TCP/IP数据包进行传送,而不需要改变原有的数据通信内容。因此,​​GPRS DTU​​可以和各种使用串口通信的用户设备进行连接,而且不需要对用户设备作改动。

    3)支持自动心跳,保持永久在线:​​GPRS​​通信网络的优点之一就是支持​​GPRS​​​​无线传输模块​​设备永久在线,因此典型的​​GPRS DTU​​在设计上都支持永久在线功能,这就要求​​GPRS DTU​​包含了上电自动拨号、采用心跳包保持永久在线(当长时间没有数据通信时,移动网关将断开​​GPRS DTU​​与中心的连接,心跳包就是​​GPRS DTU​​与数据中心在连接被断开之前发送一个小数据包,以保持连接不被断开)、支持断线自动重连、自动重拨号等特点。

    4)支持参数配置,永久保存:​​GPRS DTU​​作为一种通信设备,其应用场合十分广泛。在不同的应用中,数据中心的IP地址及端口号,串口的波特率等都是不同的。因此,​​GPRS DTU​​都应支持参数配置,并且将配置好的参数保存内部的永久存储器件内(一般为FLASH或EEPROM等)。一旦上电,就自动按照设置好的参数进行工作。

二、​​GPRS DTU​​的扩展功能:

    较为专业的​​GPRS DTU​​还提供一些扩展功能,主要包括:支持数据中心域名解析、支持远程参数配置/远程固件升级、支持远程短信/电话唤醒、支持本地串口固件升级、提供短信通道、提供DTU在线/离线电平指示等。

    这些扩展功能可以增强​​无线传输模块​​系统的可靠性,以及方便用户的使用及维护。

三、​​GPRS DTU​​的工作原理:

1)在线监测系统结构:

现场采集点:

    现场采集点的用户串口设备(可以是各种仪表/PLC/单片机/PC等),通过RS232或RS485/RS422接口与​​GPRS DTU​​终端相连,用户串口设备发送的数据通过​​GPRS DTU​​终端的内部嵌入式处理器对数据进行网络协议封装后通过​​GPRS​​无线网络发送到数据中心。

监控中心:

a)公网接入方案

    ​​GPRS DTU​​的服务器采用公网方式接入Internet,如ADSL拨号/电信专线宽带上网等,申请动态域名或者公网固定IP地址;可以实现中小容量的数据采集应用。

b)专网接入方案

    ​​GPRS DTU​​的服务器采用省移动通信公司提供的DDN专线, 申请配置固定IP地址,与​​GPRS​​网络相连。由于DDN专线可提供较高的带宽,当现场采集点数量增加,中心不用扩容即可满足带宽需求,可实现大容量数据采集应用。监控中心RADIUS服务器接受到​​GPRS​​网络传来的数据后先进行AAA认证,后传送到监控中心计算机主机,通过系统软件对数据进行还原显示,并进行数据处理,这样进一步增强了系统数据通信安全性能。

四、​​GPRS DTU​​工作过程:

    ​​GPRS DTU​​上电后,首先读出内部FLASH中保存的工作参数(包括​​GPRS​​拨号参数,串口波特率,数据中心IP地址等等,事先已经配置好)。

    ​​GPRS DTU​​登陆GSM网络,然后进行GPRS PPP拨号。拨号成功后,​​GPRS DTU​​将获得一个由移动随机分配的内部IP地址(一般是10.X.X.X)。也就是说,​​GPRS DTU​​处于移动内网中,而且其内网IP地址通常是不固定的,随着每次拨号而变化。我们可以理解为​​GPRS DTU​​这时是一个移动内部局域网内的设备,通过移动网关来实现与外部Internet公网的通信。这与局域网内的电脑通过网关访问外部网络的方式相似。

    ​​DTU​​主动发起与数据中心的通信连接,并保持通信连接一直存在。由于​​GPRS DTU​​处于移动内网,而且IP地址不固定。因此,只能由​​GPRS DTU​​主动连接数据中心,而不能由数据中心主动连接​​GPRS DTU​​。这就要求数据中心具备固定的公网IP地址或固定的域名。数据中心的公网IP地址或固定的域名作为参数存储在​​GPRS DTU​​内,以便​​GPRS DTU​​一旦上电拨号成功,就可以主动连接到数据中心。

    具体地讲,​​GPRS DTU​​通过数据中心的IP地址(如果是采用中心域名的话,先通过中心域名解析出中心IP地址)以及端口号等参数,向数据中心发起TCP或UDP通信请求。在得到中心的响应后,​​GPRS DTU​​即认为与中心握手成功,然后就保持这个通信连接一直存在,如果通信连接中断,​​GPRS DTU​​将立即重新与中心握手。由于TCP/UDP通信连接已经建立,就可以进行数据双向通信了。

    对于​​GPRS DTU​​来说,只要建立了与数据中心的双向通信,完成用户串口数据与​​GPRS​​网络数据包的转换就相对简单了。一旦接收到用户的串口数据,​​GPRS DTU​​就立即把串口数据封装在一个TCP/UDP包里,发送给数据中心。反之,当​​GPRS DTU​​收到数据中心发来的TCP/UDP包时,从中取出数据内容,立即通过串口发送给用户设备。

    通过有线的数据采集中心,同时与很多个​​GPRS DTU​​进行双向通信。这是目前​​GPRS DTU​​应用系统中最为常用的方式。 

我采用的是公网通讯方案,由一个带有公网IP的服务器作为数据中心,上面运行的是自己开发的DTU数据通讯程序。