admin管理员组

文章数量:1531661

2024年3月4日发(作者:)

GPRS 说明手册

一. GPRS基础简介

1.1 简介

GPRS是通用分组无线服务技术(General Packet Radio Service)的简称,它是GSM移动电话用户可用的一种移动数据业务。GPRS可说是GSM的延续。GPRS和以往连续在频道传输的方式不同,是以封包(Packet)式来传输,因此使用者所负担的费用是以其传输资料单位计算,并非使用其整个频道,理论上较为便宜。GPRS的传输速率可提升至56甚至114Kbps。

1.2 特点

1.2.1 高速数据传输

速度10倍于GSM,可以稳定地传送大容量的高质量音频与视频文件。

1.2.2 永远在线

建立新的连接几乎无需任何时间(即无需为每次数据的访问建立呼叫连接),因而随时都可与网络保持联系。

1.2.3 仅按数据流量计费

1.3 应用范围

1. 点到点 (P2P) 服务: 连接 (IP protocols)IP网络 and X.25网络。

2. 多播(P2MP)服务 : 一点到多点的组播和多方通话。

3. 短信服务 (SMS): 发送SMS。

4. 多媒体短信(MMS): 发送携带语音和图像信息的短消息。

5. 因特网服务提供商服务: 提供互联网内容服务。

6. 邮件服务通过POP3或者IMAP协议检查阅读发送电子邮件。

7. 匿名服务: 匿名访问预定服务。

8. 未来功能: 灵活加入新的功能,例如更大容量,更多用户,新的资源和无线网络。

二. 使用流程

2.1 连接

2.1.1 在Windows XP操作系统下,运用超级终端作为Telnet的调试软件,采用AT指令作为GPRS操作指令,连接上所有配件。

2.1.2 打开超级终端,进行如下设置:

可在设备管理器中查看当前使用的通讯端口并进行设置。

波特率的设置尤为重要,每次调试之前需先认真阅读产品说明书,若波特率设置错误,则会出现乱码现象,一般为9600或者115200。其余设置不用改动。

2.1.3 调试设置

进入超级终端可输入界面后,首先进行输入格式的设置。点击“文件属性设置”,进入以下界面。

其他均为默认设置,只需对“ASCII码设置”栏进行改动。如果需要使用复制(ctrl+c)等功能键的话,可以把最上面终端键的复选框去掉,换成Windows键。

设置好后,即可在超级终端上进行指令输入了,为了测试是否设置正确,模块是否正常工作,可先输入“at”指令进行调试,如回显“OK”,则工作正常。若没有回显或显示乱码,大多

数是因为波特率设置不对造成的,需仔细检查。

2.2 测试GSM功能:

2.2.1 初始化查询

成功连接之后,一般需进行如下几项常规查询工作,以便再次检验此时模块和环境是否适合进行实验。

1. 模块自检

一般开发比较成熟的产品在连接到超级终端之后,会自动显示如下几行指令。若没有显示,也可以自行敲入指令来进行初始化。

+CFUN: 1

+CPIN: READY

Call Ready

+CFUN: 1表示系统全功能正常,可立即使用。

+CPIN: READY表示当前sim卡状态正常,无需输入PIN码进行解锁。

Call Ready表示已准备好GSM功能(即可拨打电话和发送短信,如需上网,需进一步设置)。

2. at

测试GPRS模块通讯是否正常,是否兼容AT指令。回显“OK”。

3. at+csq

如上图所示,接收信号强度rssi只要大于10即可进行正常无碍的GSM通信,如需进行稳定的数据业务传输,则理论上rssi要大于17,否则会经常掉线。一般25以上的信号强度就属于很理想的实验环境了。信道位错误率一般会显示0,即状态良好,但偶尔也会跳成99,

属于信道短暂拥塞或出错的情况,对于GPRS自身保持握手的特点来说,不影响通信,无需担心。经过初始化之后,GPRS模块即可开始正常提供服务。

短信发送(SMS)

GPRS发送短信有如下两种模式,文本模式和PDU模式。文本模式显示字母以及数字,PDU模式可显示中文。一般我们选择文本模式进行调试和实验,是“1”模式。

在这里,强调“ctrl+z”的使用。Ctrl+z是在很多通讯系统中除了回车之外,使用最多的终止符。它的ASCII码十进制数是26,十六进制数是1a(在串口输入时写做0x1a)。 在GPRS的使用中,只有发送短信需要使用到ctrl+z来终止指令。具体流程和显示效果如下:

拨打电话

最简单的指令:ATD,直接后面跟手机号即可。

注意:后面有个分号,一般的AT指令都是直接回车的。

最后的NO CARRIER可能是多种情况造成的返回值。

(1) 对方拒接;

(2) 信号不好;

(3) 对方不在服务区;

(4) 本机sim卡欠费;

(5) 对方正在通话中。

至此,GSM功能调试已经完成,读取短信、接听、挂断电话、查询电话本等其余指令可查询详细AT指令手册。

2.3 测试GPRS功能:

对于GPRS模块上网来说,有两种模式,一种是透明传输模式,一种是非透明传输模式。根

据不同的应用需求,选择能连续发送小包数据的透明传输模式或者一次性大数据量的非透明传输模式。

2.3.1 GPRS开通与调试

首先,我们通过AT+CGDCONT=1,"IP","CMNET"指令设置GPRS的PDP格式,用来满足移动通信用户在发送和接收分组数据时应用的协议。然后我们可以查询GPRS业务附着状态,因为AT+CGATT=1显示结果为1,所以确定GPRS业务已附着,且类型为B。

最后,用AT$MYNETCON=0,conType,GPRS指令默认服务为GPRS,该命令用于设置网络连接点、用户名、密码以及透明传输相关参数。其中APN是必须设置的选项,注意:当有通道已打开时,不允许使用该指令再对其进行设置,否则会返回错误。最后,我们可以用AT$MYTYPE?指令查询数据传输通道号和所用类型,得到$MYTYPE:

3,1。由此我们可以确定该GPRS模块已经开通GPRS服务,并找到相应传输通道和APN节点了,成功界面如下图所示:

2.3.2 非透明传输模式

首先,开启GPRS模块,等待连上网络后,输入at$mynetsrv=0,type,SOCKET指令设定传输服务参数。其中“0”为通道号,其取值范围为0至5;type为服务类型,其值为Socket或FTP,还可以是address,表示目标服务器地址/端口及传输方式;Socket为前一类型对应的值。输入at$mynetopen=0指令开启服务,如果端口设置信息遗忘,可以随时用at$mynetopen?指令查询当前IP地址以及服务端口号;最后输入at$mynetwrite=0,50指令发送数据,等到$MYNETWRITE: 0,50,0出现后,即可在后面输入需要发送的数据,如果一切操作成功,则收到$MYNETWRITE: send data success!。可以在发送完数据后,用$MYNETCLOSE: 0指令关闭“0”通道,即清空缓冲区。至此,在Socket模式下的数据发送工作已经完成。具体流程参见下图:

在非透明传输模式下,每次发送数据都需要先输入at$mynetwrite=0,50指令,然后等到系统回应后,再次发送数据,这种有回应的网络状态使得该模式传输数据非常可靠和稳定,而且每一包的大小可以设定(at$mynetwrite=0,50,修改最后的“50”为不同的数字即可),最大不超过2048K。

2.3.3 透明传输模式

对应于非透明传输模式,透明传输模式适合高速率数据传输,它一旦进入数据模式以后,就可以源源不断的发送数据,而不需要额外设置和等待回应,除非在修改通道参数时,才暂时退出数据模式进入命令模式进行修改。

首先,开启GPRS模块,等待连上网络后,输入at$mynetcon=0,APN,"cmnet" 指令设定传输服务参数。其中“0”为通道号。输入AT$MYNETCON=0,CFGT,200指令设定每包数据发送时等待的时间,取值范围为50~65535ms,再用 AT$MYNETCON=0,CFGP,1000指令设定每包的大小,取值范围为536~1460k;其次输入AT$MYNETCREATE = 2, 0, 1024,

219.245.84.4, 5001指令设定通道参数,OK回显证明通道打开成功,类似非透明传输模式。最后,输入“ATO”指令进入数据传输模式,此时无论输入任何字符或者控制键,都会被当做数据发送出去,除非连续输入“+++”才能退出这一模式。发送数据成功后会有OK回显。在发送完数据后,依旧使用$MYNETCLOSE: 0指令关闭“0”通道,即清空缓冲区。至此,在透明传输模式下的数据发送工作已经完成。具体流程参见下图:

在实验中,透明传输模式总在发送约1分钟后自动出错,至今原因未知。所以最后采用了非透明传输模式来进行稳定的数据传输。在网络模式下,会有很多随机的错误临时发生,大多数无非是信号暂时紊乱,对方端口没有打开,没有固定IP,指令输入错误(尤其是at指令后面的“$”符号,只有在上网时才用这个,一般at指令后面跟的都是“+”号或者是大小写问题),以下是常出现的错误类型,可自行对照进行排查。

本文标签: 模式指令传输发送