1 前言
AT即Attention,AT指令集是从终端设备(Terminal Equipment,TE)向终端适配器(Terminal Adapter, TA)发送的。通过TA,TE发送AT指令来控制移动台的功能,与GSM等网络业务进行交互。用户可以通过AT指令进行呼叫、短信、电话本、数据业务、传真等方面的控制。
本文介绍如何使用格西烽火通信测试软件编写测试项目,进行调试和测试AT指令。
2 通信协议
2.1 术语
GSM模块
GSM模块是一个类似于手机的通讯模块,集成了手机的若干功能于一块小电路板上,它可以发送短消息,通话等,GSM模块通过使用AT指令才能控制它,模块可以与电脑RS232串口相连,也可以用单片机来进行控制。
2.2 通信接口
支持RS232串行接口。
2.3 AT指令
一般来讲,AT命令包括四种类型,如表所示。
2.3.1 AT指令语法
1)以“AT”或“at”为前缀,以结尾,方括号中的值为缺省值。
2)选配参数和必配参数必须按照规定的顺序排列,各参数间必须用逗号隔开。
举例:AT+CPWD=<fac>,<oldpwd>,<newpwd>。
3)如果某参数是字符串(比如:<number>),该字符串必须放在双引号中。
举例:“12345”、“cmnet”,双引号中的各项符号可看作是字符串。
4)命令的可选子参数或 TA 返回结果的可选部分位于方括号中。
5)不使用双引号时,字符串中各字符间的空格可忽略不计。
6)实际使用中<>和[]不必输入。
7)所有AT命令本身不区分大小写,但其参数对大小写敏感。
2.3.2 AT指令集
一、一般命令
AT+CGMI |
给出模块厂商的标识。 SONY ERICSSON |
AT+CGMM |
获得模块标识。这个命令用来得到支持的频带(GSM900,DCS1800或PCS1900)。当模块有多频带时,回应可能是不同频带的结合。 AAB-1021011-CN |
AT+CGMR |
获得改订的软件版本。 R6C005 CXC125582CHINA1 |
AT+CGSN |
获得GSM模块的IMEI(国际移动设备标识)序列号。351254004238596 |
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 |
获得能力表。(支持的功能)+GCAP: +FCLASS, +CGSM, +DS |
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 |
设定或获得到来的电话铃声的声音级别。NONE |
二、呼叫控制命令
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+CMUT |
麦克风静音控制。 |
AT+SPEAKER |
喇叭/麦克风选择。这个特殊命令用来选择喇叭和麦克风。 |
AT+ECHO |
回音取消。 |
AT+SIDET |
侧音修正。 |
AT+VIP |
初始化声音参数。 |
AT+DUI |
用附加的用户信息拨号。 |
AT+HUI |
用附加的用户信息挂机。 |
AT+RUI |
接收附加用户信息。 |
三、网络服务命令
AT+CSQ |
信号质量。+CSQ: 17,99 |
AT+COPS |
服务商选择。 |
AT+CREG |
网络注册。获得手机的注册状态。 |
AT+WOPN |
读取操作员名字。NONE |
AT+CPOL |
优先操作员列表。NONE |
四、安全命令
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 |
删除呼叫电话号码。NONE |
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 |
关闭的用户组。 |
八、数据命令
AT+CBST |
信差类型选择。 |
AT+FCLASS |
选择模式。这个命令把模块设置成数据或传真操作的特殊模式。 |
AT+CR |
服务报告控制。这个命令允许更为详细的服务报告。 |
AT+CRC |
划分的结果代码。这个命令在呼叫到来时允许更为详细的铃声指示。 |
AT+ILRR |
本地DTE-DCE速率报告。 |
AT+CRLP |
无线电通信线路协议参数。 |
AT+DOPT |
其他无线电通信线路参数。 |
AT%C |
数据压缩选择。 |
AT+DS |
是否允许V42二度数据压缩。 |
AT+DR |
是否报告V42二度数据压缩。 |
AT\N |
数据纠错选择。 |
九、传真命令
AT+FTM |
传送速率。 |
AT+FRM |
接收速率 |
AT+FTH |
用HDLC协议设置传真传送速率。 |
AT+FRH |
用HDLC协议设置传真接收速率。 |
AT+FTS |
停止特定时期的传送并等待。 |
AT+FRS |
接收沉默。 |
十、第二类传真命令
AT+FDT |
传送数据。 |
AT+FDR |
接收数据。 |
AT+FET |
传送页标点。 |
AT+FPTS |
页转换状态参数。 |
AT+FK |
终止会议。 |
AT+FBOR |
页转换字节顺序。 |
AT+FBUF |
缓冲大小报告。 |
AT+FCQ |
控制拷贝质量检验。 |
AT+FCR |
控制接收传真的能力。 |
AT+FDIS |
当前会议参数。 |
AT+FDCC |
设置DCE功能参数。 |
AT+FLID |
定义本地ID串。 |
AT+FPHCTO |
页转换超时参数。 |
十一、V24-V25命令
AT+IPR |
确定DTE速率。 |
AT+ICF |
确定DTE-DCE特征结构。 |
AT+IFC |
控制DTE-DCE本地流量。 |
AT&C |
设置DCD(数据携带检测)信号。 |
AT&D |
设置DTR(数据终端就绪)信号。 |
AT&S |
设置DST(数据设置就绪)信号。 |
ATO |
回到联机模式。 |
ATQ |
决定手机是否发送结果代码。 |
ATV |
决定DCE响应格式。 |
ATZ |
恢复为缺省设置。 |
AT&W |
保存设置。 |
AT&T |
自动测试。 |
ATE |
决定是否回显字符。 |
AT&F |
回到出厂时的设定。 |
AT&V |
显示模块设置情况。 |
ATI |
要求确认信息。这命令使GSM模块传送一行或多行特定的信息文字。 |
AT+WMUX |
数据/命令多路复用。 |
十二、特殊AT命令
AT+CCED |
电池环境描述。 |
AT+CCED |
自动RxLev指示。 |
AT+WIND |
一般指示。 |
AT+ALEA |
在ME和MSC之间的数据密码模式。 |
AT+CRYPT |
数据密码模式。 |
AT+EXPKEY |
键管理。 |
AT+CPLMN |
在PLMN上的信息。 |
AT+ADC |
模拟数字转换度量。 |
AT+CMER |
移动设备事件报告。这个命令决定是否允许在键按下时是否主动发送结果代码。 |
AT+WLPR |
读取语言偏好。 |
AT+WLPW |
写语言偏好。 |
AT+WIOR |
读取GPIO值。 |
AT+WIOW |
写GPIO值。 |
AT+WIOM |
输入/输出管理。 |
AT+WAC |
忽略命令。这个特殊命令允许忽略SMS、SS和可用的PLMN。 |
AT+WTONE |
播放旋律。 |
AT+WDTMF |
播放DTMF旋律。 |
AT+WDWL |
下载模式。 |
AT+WVR |
配置信差的声音速率。 |
AT+WDR |
配置数据速率。 |
AT+WHWV |
显示硬件的版本。 |
AT+WDOP |
显示产品的出厂日期。 |
AT+WSVG |
声音增益选择。 |
AT+WSTR |
返回指定状态的状态。 |
AT+WSCAN |
扫描。 |
AT+WRIM |
设置或返回铃声指示模式。 |
AT+W32K |
是否允许32kHz掉电方式。 |
AT+WCDM |
改变缺省旋律。 |
AT+WSSW |
显示内部软件版本。 |
AT+WCCS |
编辑或显示订制性质设置表。 |
AT+WLCK |
允许在特定的操作符上个性化ME。 |
AT+CPHS |
设置CPHS命令。 |
AT+WBCM |
电池充电管理。 |
AT+WFM |
特性管理。是否允许模块的某些特性,如带宽模式、SIM卡电压等。 |
AT+WCFM |
商业特性管理。是否允许Wavecom特殊特性。 |
AT+WMIR |
允许从当前存储的参数值创建定制的存储镜像。 |
AT+WCDP |
改变旋律的缺省播放器。 |
AT+WMBN |
设置SIM卡中的不同邮箱号码。 |
十三、SIM卡工具箱命令
AT+STSF |
配置工具箱实用程序。 |
AT+STIN |
工具箱指示。 |
AT+STGI |
获得从SIM卡发来的预期命令的信息。 |
AT+STCR |
主动提供的结果:工具箱控制反应。 |
AT+STGR |
给出响应。允许程序或用户从主菜单上选择项目,或响应某些命令。 |
3 测试项目编制
3.1 协议项编制
利用格西烽火软件的直接激励功能,根据AT指令的格式进行协议编辑。
AT指令模版
3.2 测试用例编制
测试用例(Test Case)是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。通信协议测试属于黑盒测试,可以采用黑盒测试常用的等价类划分法、边界值分析法、错误推测法、因果图法等基本方法来设计测试用例。
测试方案设计完成后,格西烽火软件能够利用编制完成的公共协议库,采用搭积木的方式,通过复制和粘贴命令即可非常快捷的创建测试用例。测试用例的组织方式通常是根据测试方案的设计层次采用树形结构分类组织。
4 应用实例
4.1 AT指令发送英文短消息
利用格西烽火软件的直接激励功能,根据AT指令发送英文短消息,选择Text模式。
AT指令发送英文短信息