• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Seventeen's Space
博客园    首页    新随笔    联系   管理    订阅  订阅
AT指令介绍及用法
AT 指令
AT 即Attention,AT指令集是从终端设备(Terminal Equipment,TE)或数据终端设备 (Data Terminal Equipment,DTE)向终端适配器(Terminal Adapter, TA)或数据电路终端设备 (Data Circuit Terminal Equipment,DCE)发送的。通过TA,TE发送AT指令来控制移动台 (Mobile Station,MS)的功能,与GSM 网络业务进行交互。用户可以通过AT指令进行呼叫、短信、电话本、数据业务、传真等方面的控 制。90年代初,AT指令仅被用于Modem操作。没有控制移动电话文本消息的先例,只开发了一种叫SMS BlockMode的协议,通过终端设备 (TE)或电脑来完全控制
SMS。几年后,主要的移动电话生产厂商诺基亚、爱立信、摩托罗拉和HP共同为GSM 研制了一整套AT指令,其中就包括对SMS的控制。AT指令在此基 础上演化并被加入GSM 07.05标准以及现在的GSM07.07标准,完全标准化和比较健全的标准。如:对SMS的控制共有3种实现途径:最初的 Block Mode;基于AT指令的Text Mode;基于AT指令的PDU Mode。到现在PDU Mode已经取代BlockMode,后者逐 渐淡出。GSM 模块与计算机之间的通信协议是一些AT指令
集,AT指令是以AT作首, 字符结束的字符串,AT指令的响应数据包在 中。每个指令执行成功与否都有相应的返回。其他的一些非预期的信息(如有人拨号进来、线路无信号等),模块将有对应的一些信息提示,接收端可做相应的处理。
示例:CDMA modem DTE
AT< CR>
< LF> OK < LF>
ATTEST< CR>
< CR> ERROR < LF>
如果AT指令执行成功,“OK”字符串返回;
如果AT 指令语法错误或AT 指令执行失败,
“ERROR”字符串返回。


1.相关的GSM AT指令 
与SMS有关的GSM AT指令(from GSM07.05)如表1所示: 
表1 相关的GSM AT指令

AT 指令 
功 能 

AT+CMGC 
Send an SMS command(发出一条短消息命令) 

AT+CMGD 
Delete SMS message(删除SIM卡内存的短消息) 

AT+CMGF 
Select SMS message formate(选择短消息信息格式:0-PDU;1-文本) 

 

AT+CMGL 
List SMS message from preferred store(列出SIM卡中的短消息PDU/text: 0/ “REC UNREAD”-未读,1/“REC READ”-已读,2/“STO UNSENT”-待发,3/“STO SENT”-已发,4/ “ALL”-全部的) 

AT+CMGR 
Read SMS message(读短消息) 

AT+CMGS 
Send SMS message(发送短消息) 

AT+CMGW 
Write SMS message to memory(向SIM内存中写入待发的短消息) 

AT+CMSS 
Send SMS message from storage(从SIN|M内存中发送短消息) 

AT+CNMI 
New SMS message indications(显示新收到的短消息) 

AT+CPMS 
Preferred SMS message storage(选择短消息内存) 

AT+CSCA 
SMS service center address(短消息中心地址) 

AT+CSCB 
Select cell broadcast messages(选择蜂窝广播消息) 

AT+CSMP 
Set SMS text mode parameters(设置短消息文本模式参数) 

AT+CSMS 
Select Message Service(选择短消息服务) 


对短消息的控制共有三种模式: 
Block Mode 

基于AT命令的PDU Mode 

基于AT命令的Text Mode 

使用Block模式需要手机生产厂家提供驱动支持,目前,PDU Mode 已取代 Block Mode, Text Mode比较简单,本文重点介绍模式PDU Mode,以西门子公司的产品TC35T为例。 
2.计算机与TC35T的通信 
(1)RS232串口连接 
由于TC35T自带RS232串口线,故只需将其连接到计算机串口即可。打开超级终端,选择相应的串口,将端口参数设置为:速率—4800、奇偶校验位—无、数据位—8、停止位—1、流量控制—硬件。 
(2)连接测试 
输入“AT”然后回车,屏幕上返回“OK”表明计算机与TC35T已连接成功,TC35T能够正常工作。这时就可以测试各类AT命令。 
当测试命令“AT+CMGS=?”时,如果返回“OK”标明TC35T支持该指令。该指令的完整语法如下: 
如果此时TC35T处于PDU Mode(即“AT+CMGF?”返回“0”) 

AT+CMGS=PDU is given<^Z/ESC> 
如果短消息发送成功,则返回“OK”,并显示信息号: 
+CMGS: [,] 
如果短消息发送失败,则返回如下信息号: 
+CMS ERROR: 
如果此时TC35T处于Text Mode(即“AT+CMGF?”返回“1”) 

AT+CMGS=[,toda]text is entered<^Z/ESC> 
如果短消息发送成功,则返回“OK”,并显示信息号: 
+CMGS: [,] 
如果短消息发送失败,则返回如下信息号: 
+CMS ERROR: 
另外,由于使用的是TC35T,当有新的短消息到来时,需要TC35T产生提示,使用指令“AT+CNMI”。该指令的完整语法如下: 
AT+CNMI=[][,][,][,][,] 
如果有新的短消息来到,则TC35T将自动返回下列提示: 
+CMTI: “SM”, 
此时读出,然后用“AT+CMGR”指令即可读出短消息内容。 
3.PDU数据格式分析: 
例如,我们要将字符“Hi”字符发送到目的地“13677328099” 
PDU字符串为: 
08 91 683108701305F0 11 00 0D 91 3176378290F9 00 00 00 02 C834 
⑴08—短信息中心地址长度。指(91)+(683108701305F0)的长度。 
⑵91—短信息中心号码类型。91是TON/NPI遵守International/E.164标准,指在号码前需加‘+’号;此外还有其它数值,但91最常用。 
91—10010001 
BIT No. 
7 
6 
5 
4 
3 
2 
1 
0 

Name 
1 
数值类型 
号码鉴别 


数值类型(Type of Number):000—未知,001—国际,010—国内,111—留作扩展; 
号码鉴别(Numbering plan identification):0000—未知,0001—ISDN/电话号码(E.164/E.163),1111—留作扩展; 
⑶683108701305F0—短信息中心号码。由于位置上略有处理,实际号码应为:8613800731500(字母F是指长度减1)。这需要根据不同的地域作相应的修改。 
⑴、⑵、⑶通称短消息中心地址(Address of the SMSC)。 
⑷11—文件头字节。 
11&h=00010001&b 
BIT No. 
7 
6 
5 
4 
3 
2 
1 
0 

Name 
TP-RP 
TP-UDHI 
TP-SPR 
TP-VFP 
TP-RD 
TP-MTI 

value 
0 
0 
0 
1 
0 
0 
0 
1 


应答路径—TP-RP(TP-Reply-Path):0—不设置; 1—设置 
用户数据头标识—TP-UDHL(TP-User-Data-Header-Indicator):0—不含任何头信息; 1—含头信息 
状态报告要求—TP-SPR(TP-Status-Report-Request):0—需要报告; 1—不需要报告 
有效期格式—TP-VPF(TP-Validity-Period-Format):00—不提供(Not present); 10—整型(标准);01—预留; 11—提供8位字节的一半(Semi-Octet Represented) 
拒绝复制—TP-RD(TP-Reject-Duplicates):0—接受复制; 1—拒绝复制 
信息类型提示—TP-MTI(TP-Message-Type-Indicator):00—读出(Deliver); 01—提交(Submit) 
⑸00—信息类型(TP-Message-Reference) 
⑹0B—被叫号码长度。 
⑺91—被叫号码类型(同⑵)。 
⑻3176378290F9—被叫号码,经过了位移处理,实际号码为“13677328099”。 
⑹、⑺、⑻通称目的地址(TP-Destination-Address)。 
⑼00—协议标识TP-PID(TP-Protocol-Identifier) 
BIT No. 
7 
6 
5 
4 
3 
2 
1 
0 


Bit No.7与Bit No.6: 00—如下面定义的分配Bit No.0—Bit No.5;01—参见GSM03.40协议标识完全定义;10—预留;11—为服务中心(SC)特殊用途分配Bit No.0—Bit No.5。 
一般将这两位置为00。 
Bit No.5:0—不使用远程网络,只是短消息设备之间的协议;1—使用远程网络。 
Bit No.0—Bits No.4:00000—隐含;00001—电传;00010—group 3 telefax;00100—语音; 00101—欧洲无线信息系统(ERMES);00110—国内系统;10001—任何基于X.400的公用信息处理系统;10010—Email。 
⑽00—数据编码方案TP-DCS(TP-Data-Coding-Scheme) 
BIT No. 
7 
6 
5 
4 
3 
2 
1 
0 


Bit No.7与Bit No.6 :一般设置为00;Bit No.5:0—文本未压缩,1—文本用GSM标准压缩算法压缩;Bit No.4:0— 表示Bit No.1、Bit No.0为保留位,不含信息类型信息,1—表示Bit No.1、Bit No.0含有信息类型信息;Bit No.3与 Bit No.2:00—默认的字母表,01—8bit,10—USC2(16bit),11—预留;Bit No.1与Bit No.0:00— Class 0,01—Class 1,10—Class 2(SIM卡特定信息),11—Class 3。 
⑾00—有效期TP-VP(TP-Valid-Period) 
VP value(&h) 
相应的有效期 

00 to 8F 
(VP+1)*5 分钟 

90 to A7 
12小时+(VP-143)*30分钟 

A8 to C4 
(VP-166)*1天 

C5 to FF 
(VP-192)*1 周 


⑿02—用户数据长度TP-UDL(TP-User-Data-Length) 
⒀C834—用户数据TP-UD(TP-User-Data)“Hi” 
4.短消息编码 
设需要发送的短消息内容为“Hi”,使用的GSM字符集为7位编码。首先将字符转换为7位的二进制,然后,将后面字符的位调用到前面,补齐前面的差别。例 如:H翻译成1001000,i翻译成1101001,显然H的二进制编码不足八位,那么就将i的最后一位补足到H的前面。那么就成了11001000 (C8),i剩下六位110100,前面再补两个0,变成00110100(34),于是“Hi”就变成了两个八进制数 C8 34。 
5.短消息的发送与接收案例 
鉴于TC35(T)支持TEXT格式,我们在试验中主要测试该格式。 
(1)设置短消息中心 
AT+CSCA="+8613800731500"(短消息中心); 
(2)设置短消息发送格式 
AT+CMGF=1 (1-TEXT; 0-PDU); 
(3)发送短消息(短消息内容为“test”) 
AT+CMGS="13508485560"(目的地址) 
> test ^z ; 
(4)设置短消息到达自动提示: 设置短消息到达提示当短消息被接收,将获取指令: +CMTI:"SM",INDEX(信息存储位置) 
AT+CNMI=1,1,0,0,1(); 
(5)获取短消息内容(Once more),假设INDEX=8。 
AT+CMGR=8 
返回信息如下: 
+CMGR: "REC UNREAD","+8613508485560",,"01/07/16,15:37:28+32",Once more 
6.注意事项 
(1)短消息中心一般不会改动,如果短消息中心号码改动,在使用“AT+CSCA”语句时,记住TC35要重新启动,否则TC35不能正常工作(TC35T不存在此问题)。 
(2)某些SIM卡带有密码,启动时需要输入密码。

AT指令速查表
一、一般命令

AT+CGMI
 给出模块厂商的标识。
 
AT+CGMM
 获得模块标识。这个命令用来得到支持的频带(GSM900,DCS1800或PCS1900)。当模块有多频带时,回应可能是不同频带的结合。
 
AT+CGMR
 获得改订的软件版本。
 
AT+CGSN
 获得GSM模块的IMEI(国际移动设备标识)序列号。
 
AT+CSCS
 选择TE特征设定。这个命令报告TE用的是哪个状态设定上的ME。ME于是可以转换每一个输入的或显示的字母。这个是用来发送、读取或者撰写短信。
 
AT+WPCS
 设定电话簿状态。这个特殊的命令报告通过TE电话簿所用的状态的ME。ME于是可以转换每一个输入的或者显示的字符串字母。这个用来读或者写电话簿的入口。
 
AT+CIMI
 获得IMSI。这命令用来读取或者识别SIM卡的IMSI(国际移动签署者标识)。在读取IMSI之前应该先输入PIN(如果需要PIN的话)。
 
AT+CCID
 获得SIM卡的标识。这个命令使模块读取SIM卡上的EF-CCID文件。
 
AT+GCAP
 获得能力表。(支持的功能)
 
A/ 
 重复上次命令。只有A/命令不能重复。这命令重复前一个执行的命令。
 
AT+CPOF
 关机。这个特殊的命令停止GSM软件堆栈和硬件层。命令AT+CFUN=0的功能与+CPOF相同。
 
AT+CFUN
 设定电话机能。这个命令选择移动站点的机能水平。
 
AT+CPAS
 返回移动设备的活动状态。
 
AT+CMEE
 报告移动设备的错误。这个命令决定允许或不允许用结果码“+CMEERROR:”或者“+CMSERROR:”代替简单的“ERROR”。
 
AT+CKPD
 小键盘控制。仿真ME小键盘执行命令。
 
AT+CCLK
 时钟管理。这个命令用来设置或者获得ME真实时钟的当前日期和时间。
 
AT+CALA
 警报管理。这个命令用来设定在ME中的警报日期/时间。(闹铃)
 
AT+CRMP
 铃声旋律播放。这个命令在模块的蜂鸣器上播放一段旋律。有两种旋律可用:到来语音、数据或传真呼叫旋律和到来短信声音。
 
AT+CRSL
 设定或获得到来的电话铃声的声音级别。
 

二、呼叫控制命令

ATD
 拨号命令。这个命令用来设置通话、数据或传真呼叫。
 
ATH
 挂机命令。
 
ATA
 接电话。
 
AT+CEER
 扩展错误报告。这个命令给出当上一次通话设置失败后中断通话的原因。
 
AT+VTD
 给用户提供应用GSM网络发送DTMF(双音多频)双音频。这个命令用来定义双音频的长度(默认值是300毫秒)。
 
AT+VTS
 给用户提供应用GSM网络发送DTMF双音频。这个命令允许传送双音频。
 
ATDL
 重拨上次电话号码。
 
AT%Dn
 数据终端就绪(DTR)时自动拨号。
 
ATS0
 自动应答。
 
AT+CICB
 来电信差。
 
AT+CSNS
 单一编号方案。
 
AT+VGR

AT+VGT
 增益控制。这个命令应用于调节喇叭的接收增益和麦克风的传输增益。
 
AT+CMUT
 麦克风静音控制。
 
AT+SPEAKER
 喇叭/麦克风选择。这个特殊命令用来选择喇叭和麦克风。
 
AT+ECHO
 回音取消。
 
AT+SIDET
 侧音修正。
 
AT+VIP
 初始化声音参数。
 
AT+DUI
 用附加的用户信息拨号。
 
AT+HUI
 用附加的用户信息挂机。
 
AT+RUI
 接收附加用户信息。
 
三、网络服务命令

AT+CSQ
 信号质量。
 
AT+COPS
 服务商选择。
 
AT+CREG
 网络注册。获得手机的注册状态。
 
AT+WOPN
 读取操作员名字。
 
AT+CPOL
 优先操作员列表。
 

四、安全命令

AT+CPIN
 输入PIN。
 
AT+CPIN2
 输入PIN2。
 
AT+CPINC
 PIN的剩余的尝试号码。
 
AT+CLCK
 设备锁。
 
AT+CPWD
 改变密码。
 

五、电话簿命令

AT+CPBS
 选择电话簿记忆存储。
 
AT+CPBR
 读取电话簿表目。
 
AT+CPBF
 查找电话簿表目。
 
AT+CPBW
 写电话簿表目。
 
AT+CPBP
 电话簿电话查询。
 
AT+CPBN
 电话簿移动动作。这个特殊命令使电话簿中的条目前移或后移(按字母顺序)
 
AT+CNUM
 签署者号码。
 
AT+WAIP
 防止在下一次重起时初始化所有的电话簿。
 
AT+WDCP
 删除呼叫电话号码。
 
AT+CSVM
 设置语音邮件号码。
 

六、短消息命令

AT+CSMS
 选择消息服务。支持的服务有GSM-MO、SMS-MT、SMS-CB。
 
AT+CNMA
 新信息确认应答。
 
AT+CPMS
 优先信息存储。这个命令定义用来读写信息的存储区域。
 
AT+CMGF
 优先信息格式。执行格式有TEXT方式和PDU方式。
 
AT+CSAS
 保存设置。保存+CSAS和+CSMP的参数。
 
AT+CRES
 恢复设置。
 
AT+CSDH
 显示文本方式的参数。
 
AT+CNMI
 新信息指示。这个命令选择如何从网络上接收短信息。
 
AT+CMGR
 读短信。信息从+CPMS命令设定的存储器读取。
 
AT+CMGL
 列出存储的信息。
 
AT+CMGS
 发送信息。
 
AT+CMGW
 写短信息并存储。
 
AT+CMSS
 从存储器中发送信息。
 
AT+CSMP
 设置文本模式的参数。
 
AT+CMGD
 删除短信息。删除一个或多个短信息。
 
AT+CSCA
 短信服务中心地址。
 
AT+CSCB
 选择单元广播信息类型。
 
AT+WCBM
 单元广播信息标识。
 
AT+WMSC
 信息状态(是否读过、是否发送等等)修正。
 
AT+WMGO
 信息覆盖写入。
 
AT+WUSS
 不改变SMS状态。在执行+CMGR或+CMGL后仍保持UNREAD。
 

七、追加服务命令

AT+CCFC
 呼叫继续。
 
AT+CLCK
 呼叫禁止。
 
AT+CPWD
 改变追加服务密码。
 
AT+CCWA
 呼叫等待。
 
AT+CLIR
 呼叫线确认限制。
 
AT+CLIP
 呼叫线确认陈述。
 
AT+COLP
 联络线确认陈述。
 
AT+CAOC
 费用报告。
 
AT+CACM
 累计呼叫计量。
 
AT+CAMM
 累计呼叫计量最大值。
 
AT+CPUC
 单价和货币表。
 
AT+CHLD
 呼叫相关的追加服务。
 
AT+CLCC
 列出当前的呼叫。
 
AT+CSSN
 追加服务通知。
 
AT+CUSD
 无组织的追加服务数据。
 
AT+CCUG
 关闭的用户组。
posted on 2010-02-23 16:59  Seventeen  阅读(2871)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3