|
常用AT短消息指令列表及短消息的发送和接收
1. 短消息传输
A) 设置短消息中心
AT+CSCA=“+8613800100500” 回车( 建立北京的短消息中心, 其它地区可询问当地运营商,
或拨打1860询问( 中国移动)
B) 发送短消息
发送短消息有两种模式:
第一种, 采用文本格式发送, 可设置AT+CMGF=1回车(
采用文本格式发送。)AT+CMGS=“+8613xxxxxxxxx”回车>输入短消息。Crtl+Z结束并发送。
第二种, 采用PDU格式发送, 可设置AT+CMGF=0回车( 采用PDU格式发送。)
详细步骤见下:
发送中文短信息格式: 先发送AT+CMGS= YYY [CR] ;其中YYY
为TPDU的十进制长度收到[>][SP]响应后再发送 [TPDU][ctrl-Z] [TPDU]:发送规约数据单元: TYPE
11 MR 00DA 0D91683105114501F5 ; “13501154105”PID 00 DCS F4 VP 01
UDL XX;
XX不大于8CDD;XX字节的用户数据用户数据中最后一个字节为前面XX-1个字节的按位累加和。TPDU中用户数据前的PDU规约头的长度是15字节TPDU前的服务中心地址[SCA]的长度是9字节。
下表是发送短消息“你好”的各个代码所代表的含义列表:
| 命令 |
发送 |
介绍 |
| 00 |
|
无指定短信中心号码,按CSCA 号码 |
| 1100 |
|
固定格式 |
| |
TP-DA:TP-Destination-Ad
dress
0D Address-Length |
|
| 0D |
Address-Length |
目标号码长度(13 位) |
| 91 |
Type-of-Address |
目标号码类型(国际) |
| 683105114501F5 |
Address-Value |
设置信息存储指令目标号码值
(8613501154105) |
| 00 |
TP-PID:TP-Protocol-
Identifier |
固定格式 |
| 08 |
TP-DCS:TP-Data-Codi
ng-Scheme |
08 为16 比特,最多发70 个汉字;
04 为8 比特,最多发140 个字符;
00 为7 比特,最多发160 个字符 |
| 01 |
TP-VP:TP-Validy-Period |
有效期,缺省值167(24 小 时) |
| 04 |
TP-UDL:TP-User-Data-Length |
用户数据长度(4 字符) |
2. 短消息接收:
+CMTI:“SM”,X(X表示接收短消息的SIM卡存储号码) AT+CMGR=X回车( 从X存储区读短消息)
AT+CMGD=X回车( 从X存储区删除短消息)
3. 如何获得短消息发送后的错误提示信息以及错误信息所代表的含义:
A) 如果想在出错后获得错误代码号,需将PCI 接口GSM MODEM 作如下设置:“AT+CMEE=1”。
B) 一些错误代码所代表的含义
a)发送短消息后,收到错误信息+CMSERROR512,此错误信息代表PCI接口GSMMODEM在发送短消息的同时它收到了新的短消息,发送短消息被拒绝,
需要从新发送此条信息。
b) 发送短消息后, 收到错误信息+CMS ERROR513, 有三种可能出现的错误:
i. PCI 接口GSM MODEM 与无线链路失去了连接;
ii. 在发送完短消息后的28 秒内,PCI 接口GSM MODEM 没有接到短消息中心发送来的接受确认的顺序号“+CMGS”;
iii. 在送出请求建立发送短消息的控制信道指令后的42 秒内,PCI 接口GSM MODEM
没有收到基站送来的确认。发送短消息后, 收到错误信息+CMS ERROR514, 有三种可能出现的错误:
iv. 设置的短消息中心号码是错误的;
v. 所要发送的目标号码是错误的;
vi. 所发送的短消息被短消息服务中心拒绝( 一般为目标号码不存在或目标号码被禁用)。
c)发送短消息后, 收到错误信息+CMS ERROR515: 此错误信息代表PCI 接口GSM MODEM
在初始化过程当中或在执行命令的过程当中PCI 接口GSM MODEM 又接收到了新的指令, 必须等待初始化完成或指令执行完毕。
常用AT指令详解
1. 使用“CNMI” 与“CSMP” 指令设置不通过SIM卡进行数据传输因为SIM卡只有1万到10万次读写次数和10-18条的存储空间,还涉及到SIM卡上短消息读写需要一定的时间才能完成。这些因素影响了许多应用,这些应用需要通过GSM网络进行大量的数据交换,为了保证流程的顺利进行,SIM卡要完成大量的读、写以及删除的操作,SIM卡的寿命周期很快就回达到,此外,SIM卡完成这些工作所耗费的时间比外界需求要多。为解决这些问题,有必要在终端上进性一些软件设置,是短消息不通过SIM进行读写操作。以下是如何对PCI接口GSMMODEM进行设置以完成不通过SIM卡而进行数据传输:
A).串口上的从终端来的RTS信号可用来指示数据交换时隙是否忙, 串口准备好接收数据
B).如果终端双方都可用来接收和发送短消息,在设置时双方都要设同样的命令和常数。在接收端,设命令AT+CNMI=2,2,0,0,0在发送端,设命令AT+CSMP=17,167,0,240
( 当使用PDU格式发送时, 240改成字符串DCS(F0))
C) 当程序发现短消息以前缀+CMT后跟所传送的数据这种格式时,立即将此短消息捕获并将其分发到原定的地址。
D)当发送端如果没有设置CSMP=17,167,0,240时,捕获到的短消息应有前缀+CMTI,此时用命令AT+CMGR=n读取并分发到原定的地址,随后用命令AT+CMGD=n将此短消息删除以保证SIM卡有足够多的空间。
2. 关于呼叫控制的AT指令详解:
A) 当PCI接口GSM MODEM作为被叫时, 如何设置显示主叫号码:
将AT+CLIP这一命令的值改为1, 可显示主叫号码, 即:“AT+CLIP=1”
B) 当PCI接口GSM MODEM作为被叫时, 如何确定来电为传真、数据或是话
音呼叫:将AT+CRC这一命令的值改为1, 而不能使用默认值0。
C) 当PCI接口GSM MODEM作为被叫时, 如何使其自动应答或不能自动应答:j当需要PCI接口GSM
MODEM自动应答时, 需对PCI接口GSM MODEM进行以下操作:
ATS0=<N>,N是代表PCI接口GSM MODEM震铃次数的一个整数, 即PCI接口GSM MODEM将在震铃“N”
次后自动应答;v若需要PCI接口GSM MODEM不自动应答, 需对PCI接口GSM MODEM进行以下操作:
使用ATS0=0这一命令, 即可设置为手动应答。
D) 使用AT指令建立数据呼叫详解:
首先要将PCI 接口GSM MODEM 做如下设置:
AT+IPR=9600 AT+IFC=2,2 AT+CBST=0,0,1然后向PCI接口GSM
MODEM的串口发送指令ATD<电话号码><回车>但是需要确定这一号码是一数据号码,而非传真或语音号码,而且SIM需开通数据通信这一服务。 |