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(发出一条 短消息 命令

--------------
www.sendsms.cn
--------------

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
关闭的用户组。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本设计分享的是国外开源基于MC20模块物联网GPS跟踪器原理图/PCB/demo程序。该物联网GPS跟踪器兼容Arduino的开发板,支持BT3.0,可帮助您跟踪地球上任何移动的物体。通过将GSM和GPRS以及GPS和BeiDou集成在一个板中,为物联网IoT项目提供了一体化解决方案。该物联网跟踪器主要应用于户外移动跟踪和高频客户互动和中等数据量的情况,例如共享自行车,物流位置,宠物跟踪。基于MC20模块物联网GPS跟踪器实物截图: 基于MC20模块物联网GPS跟踪器特点: 多GNSS引擎,结合GPS和北斗位置,精度更高的位置 EPO:trade_mark:技术,提供预测的扩展预测轨道,以加速TTFF,而不需要额外的服务器 基于EPO:trade_mark:数据,QuecFastFix:trade_mark:在线功能进一步降低了冷启动时的TTFF,使冷启动TTFF与热启动相当 GLP(GNSS低功耗)模式,正常模式功耗为40%,精度略低 周期模式,也可以通过控制睡眠时间来降低功耗 始终定位:trade_mark:技术,一种省电的智能算法 Easy:trade_mark:(嵌入式辅助系统)技术,用于即时定位固定的自生轨道预测,减少首次修复时间(TTFF) LOCUS:trade_mark:技术,天生的导航数据记录器解决方案,无需主机和外部闪存 AT命令:GSM 07.07,07.05和增强型AT命令 蓝牙3.0与SPP和HFP-AG 6个连接器接口 Nano SIM卡和TF卡2合1插座 Arduino IDE兼容 功率小,体积小 MC20模块特点: 超紧凑尺寸:18.7×16.0×2.1mm 多导航星座:GPS /北斗/ QZSS GNSS接收机通道:99采集/ 33个跟踪通道 强大的AGPS功能:自主AGPS EASY:trade_mark:/离线AGPS EPO:trade_mark:/在线AGPS QuecFastFix 内置LNA,更好的GNSS灵敏度(-167dBm @ Tracking):能够使用无源GNSS天线,无需任何额外的LNA 增强型GNSS功能:SDK命令/ AIC / LOCUS / GLP GSM四频段:850/900/1800 / 1900MHz 多种互联网协议:TCP / UDP / PPP / HTTP / FTP / SSL 支持语音,短信,QuecFOTATM,DSSS,OpenCPU 支持蓝牙V3.0:SPP&HFP-AG配置文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值