首页
搜索
历史搜索
首页 > 新闻中心 > 技术应用

GPRS无线数据传输系统解决方案

2022-01-10 17:43:00| 来源:网络| | 0

        GPRS 通用无线分组业务 (General Packet Radio Service)是利用包交换的概念发展的一套无线传输方式。GPRS网络是基于现有的GSM(全球移动通信系统)网络实现的。在现有的GSM网络中需要增加一些节点,如GGSN(GPRS网关支持节点)和SGSN(GPRS服务支持节点)。SGSN的主要作用是记录移动终端的当前位置信息,并且在移动终端与GGSN之间完成移动分组数据的发送和接收。GGSN主要起网关作用,可以与多种不同的数据网络连接,如ISDN(综合业务数字网)、PSPDN(包交换公用数据网)和LAN(局域网)等。GGSN可以把GSM网中的GPRS分组数据包 进行协议转换,从而把这些分组数据包传送到远端的TCP/IP或X.25网络。

        GPRS网不但具有覆盖范围广、数据传输速度快、通信质量高、永远在线和按流量计费等优点,而且其本身就是一个分组型数据网,支持TCP/IP协议,无需经过PSTN(公用电话交换网)等网络的转接,可直接与Internet网互通。因此GPRS业务在无线上网、环境监测、交通监控、移动办公等行业中具有无可比拟的性价比优势。

        

        一、系统设计目的

        系统设计目的:客户端将数据采集器中采集到的数据,通过RS232串口发送到GPRS数据传输终端;GPRS数据传输终端将数据转换成TCP/IP包发送到GPRS网络上,再经过服务转换进入到Internet;监控中心从Internet上获取采集数据的TCP/IP包后,通过程序将采集数据的TCP/IP包还原成采集数据,从而完成了从采集现场通过GPRS和Internet传输数据到监控中心的整个通讯过。核心设计在于单片机与GPRS模块的连接和通信软件的编写。

        

        二、GPRS无线数据传输系统设计

        1、系统设计方案一

        GPRS无线数据传输系统由客户端软件、GPRS数据传输终端、GPRS网络、服务器端软件四部分组成(如图 1所示)。客户端软件通过RS232串口对GPRS数据传输终端进行收发控制,将采集数据发送到GPRS网络,再经过服务转换进入到Internet网络,服务器端软件接收通过GPRS网络上传的数据,进行处理并存储到数据库;服务器端软件采用Web页面方式。

        GPRS无线数据传输系统结构图

        图 1 系统结构图

        系统各部分的说明如下:

        (1) 客户端软件。将采集数据通过串口发送到GPRS数据传输终端。

        (2) GPRS数据传输终端。采用标准的RS232 接口,可以通过单片机,使用相应的AT命令对GPRS模块进行控制, 并连接到GPRS网络。

        (3) GPRS网络。支持TCP/IP协议,可以直接与Internet互通。

        (4) 服务器端软件。服务器端软件采用普通Internet上的主机方式;作为TCP服务器端应具有静态公网IP,开放了侦听端口,可从外部访问,其上运行TCP端口监听程序,接收来自GPRS客户端的TCP数据包,并向GPRS客户端发送回应数据。

        服务器端软件主要任务是完成对通信数据的接收、分析和存储。首先服务器端启动监听线程,监听TCP端口,接收到数据包后对获取的数据包进行分析,然后将分析后的数据存储到数据库(程序流程如图 2所示)。服务器端软件应具有以下功能:① 监听TCP端口;② 接收数据包分析数据、存储数据,发送接收应答帧;③ 显示接收到的数据。

        GPRS无线数据传输系统流程图

        图2 服务器端软件主程序流程图

        2、系统设计方案二

        GPRS无线数据传输系统由客户端软件、GPRS数据传输终端、GPRS网络、GPRS数据接收终端、服务器端软件五部分组成(如图 3所示)。客户端软件通过RS232串口对 GPRS数据传输终端进行收发控制,将采集数据发送到GPRS网络,再经过服务转换进入到Internet网络传输到GPRS数据接收终端,服务器端软件从GPRS数据接收终端读取数据并进行处理和存储到数据库。

        GPRS无线数据传输系统结构图

        图 3 系统结构图

        系统各部分的说明如下:

        (1) 客户端软件。将采集数据通过串口发送到GPRS数据传输终端。

        (2) GPRS数据传输终端。采用标准的RS232 接口,可以通过单片机,使用相应的AT命令对GPRS模块进行控制, 并连接到GPRS网络。

        (3) GPRS网络。支持TCP/IP协议,可以直接与Internet互通。

        (4) GPRS数据接收终端。GPRS数据接收终端和GPRS数据传输终端相对应,当采集数据由GPRS数据传输终端上传后,在另一端便是由GPRS数据接收终端来接收GPRS数据传输终端上传的数据。

        (5) 服务器端软件。服务器端软件采用C/S方式;通过串口接收来自GPRS数据接收终端的数据(程序流程如 图 4所示)。服务器端软件应具有以下功能:① 串口通信;② 数据分析、存储;③ 显示接收到的数据。

        服务器端软件主程序流程图

        图 4 服务器端软件主程序流程图

        三、GPRS通信系统软件设计

        系统软件采用C语言编写,在MPLAB环境下编译。由于本系统是远程管理终端的一个模块,因此在程序的编写中要遵守一定的协议,这样才能保证正确通信。程序的主体是如何控制GR47的AT命令对GR47进行初始设置和对信息数据的处理。程序总体上可以分为以下几个块:GPRS连接的初始设置、短消息的判断处理、无数据传输时的心跳处理、数据判断转发等。主程序是把这些程序块有机结合到一起,相互控制,无限循环。

        2.1连接的建立

        GPRS模块连接到Internet和GPRS网络的实现过程如下:

        (1)单片机软件控制GR47模块开机,等待此模块正常启动。

        (2)通过单片机和GR47模块连接的串口,向GR47模块写入相应的AT设置命令,进行初始化,使模块成功粘附在GPRS网络上,获得网络运行商分配的动态IP地址,与目的终端建立连接。

        2.1.1基本设置

        (1) GPRS ISP 码。

        AT+IISP1=*99***1# //全国通用

        (2) 登录用户名。

        AT+IUSRN=WAP//GPRS网络登录名

        (3) 登录密码。

        AT+IPWD=WAP// GPRS网络登录密码

        (4) MODEM 类型。

        AT+IMTYP=2 //定义GPRS MODEM

        (5) 初始化命令。

        AT+IMIS=“AT+CGDCONT=1,ip,CMNET”

        (6) 域名服务器。

        AT+IDNS1=211.136.18.171

        //DNS服务器地址,全国通用

        (7) 扩展码(XRC)。

        AT+IXRC=0

        2.1.2 SOCKET设置

        (1) 建立一个TCP通信。

        AT+ISTCP:218.66.16.173,1024

        建立SOCKET连接,218.66.16.173为应用服务中心计算机端IP地址(实际地址由实际情况决定),1024 为端口号(端口号由中心SOCKET端口监听程序设置决定)。 如果连接成功,LT8030返回I/xxx。xxx为LT8030中本次SOCKET连接的句柄号。中心监听程序会显示连接的终端IP地址。如果连接失败,LT8030返回I/ERROR(xxx)。xxx为错误代码。

        (2) 发送数据。

        AT+ISSND%:xxx,

        发送数据,xxx为句柄,为要发送的字符长度,为要发送的数据。发送成功后,在中心端可看到终端发送的数据。最多一次能够发送5K以下的数据。

        (3) 查询SOCKET状态。

        AT+ISST:xxx

        查询SOCKET状态,xxx为句柄。 LT8030返回I/。如果= 000,表示该端口连接正常;如果≥1,LT8030通过该端口从中心接收存在Buffer 里的字节数;如果<0,则SOCKET错误。

        (4) 接收数据。

        AT+ISRCV:xxx

        xxx为句柄。该指令会读取LT8030通过该句柄从中心接收到的,存在Buffer 里的数据;Buffer最大可存储30K的数据。

        (5) 关闭SOCKET通道。

        AT+ISCLS:xxx

        关闭SOCKET通道,xxx为句柄。

        2.2、数据的处理

        数据包在数据中心服务器和GPRS服务器中的传输是基于IP数据包的,但明文传送IP包不可取,因此大多选用PPP(点对点协议)进行传输,实现通过GPRS模块的数据和Internet网络的透明传输。GR47内部集成了TCP/IP协议栈,所以用户对IP协议相关的程序就不必编写,可以直接通过GR47传递数据。

        (1)模块与Internet上PC机的数据传输:要求PC机具有公网的IP地址和开放的端口以及监视传输报文的运行软件。这样,模块与Internet传输数据时,报文就会显示。在模块成功联入网络后,单片机只要将要发送的数据通过串口发给GR47,GR47就会把数据转发给相应的IP地址的PC机。

        (2)短消息数据的处理:GR47具有GSM的功能,可以与手机发送和接收短消息。短消息采用PDU格式,在程序中需要判断短消息的到来和读取短信内容,并根据内容执行相应的功能,最后把结果构造成PDU格式返回给相应的发送者。

        (3)GPRS通信心跳信息:网络连接建立后,在设定周期内无数据通信时,GPRS模块向数据服务中心发送心跳信息,数据服务中心收到心跳信息后,回应应答信号。

        (4)重要数据的存储:程序中把一些重要的常用和易变的数据如计算机服务器的IP地址、端口号、终端地址、SIM卡号等存入单片机的EEPROM中。需要时从EEPROM中读出或向EEPROM重新写入数据进行设置。

        2.3、主程序流程

        主程序流程大致如下:首先进行单片机设置变量的初始化,一般均为0;进行单片机相应配置单元的初始化,比如设定端口方向、设置中断优先级、定时器初始化等;然后由单片机控制GR47的电源,以决定是否开机;待开机成功后,查询网络是否注册成功;成功后即可建立模块与PC机服务器的连接,并进行数据传输和短消息处理;根据需要发送一定格式的心跳信息。(如图 6所示)

        主程序流程图

        图6主程序流程图

        

联系销售
销售王经理微信 销售王经理
微信公众号 微信公众号
服务热线
400-6688-400