AT指令短信猫通讯中起着重要的作用,能够通过AT指令控制手机的许多行为,包括拨叫号码、按键控制、传真、GPRS等。

AT指令基本用法:

1. 测试命令(Test Command)

在AT指令后面加上“=?”即构成测试命令。例如“AT+CSCS=?”会列举出所有支持的字符集。

2. 读取命令(Read Command)

在AT指令后面加上“?”即构成读取命令。例如“AT+CSCS?”会列举出当前设置。

3. 执行命令(Execute Command)

一般而言在AT指令后加上“=”及命令参数即可。有些命令例如AT+CMGR命令没有参数,直接就可以执行。

以WAVECOM GSM MODEM为例,其常用的AT指令集及开发参考如下:




指令名称

用法

说明

CSMS

选择信息服务

0兼容GSM07.05 Phase 2 version 4.7.0

1兼容GSM07.05 Phase 2+ version

T+CSMS=0

+CSMS: 1,1,1

AT+CSMS=1

+CSMS: 1,1,1

SMS-MO

SMS-MT

SMS-CB(小区广播)

全部支持

CNMA

新SMS收到确认

CPMS

首选的SMS存储区

SM为SIM卡区,BM为内存区,缺省为SM

AT+CPMS=?

+CPMS: (("SM","BM"),("SM"))

AT+CPMS="SM"

+CPMS: 3,25,3,25

AT+CPMS="BM"

+CPMS: 0,20,3,25

(1)为读和删的信息

(2)为写和发的信息

已用1,总共1,已用2,总共2

CMGF

设置SMS编码方式(1文本格式,0为PDU格式)

CSAS

存储CSCA与CSMP的相关信息于E2PROM

CRES

从E2PROM中恢复相关信息

CSDH

显示文本格式参数(1为显示,0为不显示)

AT+CDSH=1


+CMT: "+8613501154105",,"01/09/12,18:04:09+32",145,4,0,0,"+8613800100500",145,3

AAA


AT+CSDH=0

+CMT: "+8613501154105",,"01/09/12,18:04:48+32"

AAA

相关的信息有+CMTI,+CMT,+CDS,+CMGR,+CMGL


左边两个例子同样是发送和接收AAA为内容的SMS

CNMI

SMS的输出方式

AT+CNMI=2,2,0,0,0


+CMT: "+8613501154105",,"01/09/13,11:04:09+32"

AAA


AT+CNMI=2,1,0,0,0


+CMTI: "SM",4

其中第2位决定SMS直接输出还是保存于"SM"中


左边两个例子同样是发送和接收AAA为内容的SMS,为0则不接收

CMGR

读取存于"SM"中的信息

AT+CMGR=1

+CMGR: "REC READ", "+8613501154102",,"01/08/14,10:46:47+32"

X000E8


AT+CMGR=4

+CMGR: "REC UNREAD", "+8613501154105",,"01/09/13,11:02:06+32"

AAA


AT+CMGR=2

+CMGR: "REC READ", "+8613501154105",,"01/08/23,16:32:34+32"

DCS format error

at+cmgf=0;+cmgr=2

+CMGR: 1,,26

0891683108100005F0040D91683105114501F500081080326123432306004400460044

读取第1条

来源13501154102


读取第4条

来源13501154105


读取第2条时遇到DCS格式错误,转成PDU格式后,读出数据

来源13501154105

CMGL

信息列表,(+CMGL:索引,类型,,长度<内容>=

AT+CMGL=4

+CMGL: 1,1,,26

0891683108100005F0040D91683105114501F20000108041016474230658180C56C401

+CMGL: 2,1,,26

0891683108100005F0040D91683105114501F500081080326123432306004400460044

+CMGL: 3,1,,32

0891683108100005F0040D91683105114501F50008108032617492230C003400310032

003100320033

+CMGL: 4,1,,23

0891683108100005F0040D91683105114501F500001090311120602303C16010

类型

"REC UNREAD"  0

"REC READ"   1

"STO UNSENT"  2

"STO SENT"  3

"ALL"  4

CMGS

发送SMS,可按文本方式或PDU方式

AT+CMGF=1

OK

AT+CMGS=13501154105

> AAA<^Z>

+CMGS: 204

OK


AT+CMGF=0

OK

AT+CMGS=18

>0011000D91683105114501F500040103414141<^Z>

+CMGS: 205

OK

按文本方式发送






按PDU方式发送

CMGW

写信息到存储器

AT+CMGW="+8613501154105"

> AAA<^Z>

+CMGW: 5

OK


AT+CMGW=<lengh><CR><pdu><^Z>

按文本方式写入








按PDU方式写入

CMSS

从存储器中发送信息

AT+CMSS=5

+CMSS: 207

OK


+CMT: ,23

0891683108100005F0040D91683105114501F500001090316163932303C16010


AT+CMSS=5,+8613501154102

+CMSS: 210

OK

发送存储器中的第5条信息


收到信息


也可将第5条信息发送到指定用户

CSMP

设置文本格式参数,+CSMP:<fo><vp><pid><dcs>

AT+CSMP?


+CSMP: 1,167,0,0

其中为信息有效期,

167默认

0-143:(VP+1)*5分钟

143-167:12小时+(VP-143)*30分钟

168-196:(VP-166)*1天

197-255:(VP-192)*1周

CMGD

删除信息,AT+CMGD=<索引>

CSCA

短信息服务中心号码

at+csca?

+CSCA: "+8613800100500",145

OK

北京短信息服务中心号码

CSCB

选择小区广播信息类型

WCBM

小区广播信息标识符

WMSC

信息状态更正

WMGO

信息重写