有人来电
1、接电话,然后自己挂电话
RING
有人来电时终端会收到RING
ATA
在终端输入ATA回车键,接电话
OK
接电话成功,终端收到OK
ATH
在终端输入ATH回车键,挂电话
OK
挂电话成功,终端收到OK
2、直接挂电话
RING
有人来电时终端会收到RING
ATH
在终端输入ATH回车键,挂电话
OK
挂电话成功,终端收到OK
3、接电话,然后被对方挂电话
RING
有人来电时终端会收到RING
ATA
在终端输入ATA回车键,接电话
OK
接电话成功,终端收到OK
NO CARRIER
对方挂电话,终端收到NO
CARRIER
打电话
1、
拨号,先被接听,然后被挂断
ATD15980111121;
在终端输入ATD15980111121;回车键,表示拨打这个号码,语音通信是最后的分号是必须的
OK
拨号成功,终端接受到OK
NO CARRIER
对方挂断,终端接收到NO
CARRIER
2、
拨号,然后直接被对方挂断
ATD15980111121;
在终端输入ATD15980111121; 回车键
NO CARRIER
对方挂断,终端接收到NO
CARRIER
3、
拨号,对方关机
ATD15980111121;
在终端输入ATD15980111121; 回车键
NO CARRIER
对方关机,终端接收到NO
CARRIER
发送文本格式的英文短息
AT
在终端输入AT回车键,测试连接是否正常
OK
连接正常,终端接收到OK
AT+CMGF=1在终端输入AT+CMGF=1回车键,设置为Text模式
OK设置成功,终端接收到OK
AT+CSCS=GSM
在终端输入AT+CSCS=GSM回车键,设置为GSM字符集
OK
设置成功,终端接收到OK
AT+CMGS=15980111121
AT+CMGS=15980111121回车键向,向15980111121发
>
HELLO设置成功终端收到>,再输入发送内容HELLO
其中为ctrl+z,结尾不要回车键
OK
接收文本格式的英文短息
1、
列举未读短信息
AT
在终端输入AT回车键,测试连接是否正常
OK
连接正常,终端接收到OK
AT+CMGF=1
在终端输入AT+CMGF=1回车键,设置为Text模式
OK
设置成功,终端接收到OK
AT+CSCS=GSM
在终端输入AT+CSCS=GSM回车键,设置为GSM字符集
OK
设置成功,终端接收到OK
AT+CMGL="REC
UNREAD"
在终端输入AT+CMGL="REC
UNREAD"回车键,列举未读短息
+CMGL: 8,"REC
UNREAD","+8615980111121",,"
10/10/03,16:12:44+32"
123456
终端接收到短息的内容
OK
列举成功,终端接收到OK
2、
读取第几条短息
AT
在终端输入AT回车键,测试连接是否正常
OK
连接正常,终端接收到OK
AT+CMGF=1
在终端输入AT+CMGF=1回车键,设置为Text模式
OK
设置成功,终端接收到OK
AT+CSCS=GSM
在终端输入AT+CSCS=GSM回车键,设置为GSM字符集
OK
设置成功,终端接收到OK
AT+CMGR=8
在终端输入AT+CMGR=8回车键,读取第8条短息
+CMGR: "REC
READ","+8615980111121",,"10/10/03,16:12:44+32"
123456
终端接收到短息的内容
3、
接到短息的时候就去读取
AT
在终端输入AT回车键,测试连接是否正常
OK
连接正常,终端接收到OK
AT+CMGF=1
在终端输入AT+CMGF=1回车键,设置为Text模式
OK
设置成功,终端接收到OK
AT+CSCS=GSM在终端输入AT+CSCS=GSM回车键,设置为GSM字符集
OK
设置成功,终端接收到OK
AT+CNMI=1,1,0,2,1
在终端输入AT+CNMI=1,1,0,2,1回车键,表示
1直接发送到TE(终端设备)
1如果接收到的SMS存储在ME,则返回+CMTI:,
0小区广播不通知
2如果新的状态报告存储到ME,则返回:+CDSI:,
1清除TA
缓冲区中的结果码
OK设置成功,终端接收到OK
+CMTI: "SM",9
当收到短息时,终端接收到+CMTI:
"SM",9
AT+CMGR=9
在终端输入AT+CMGR=9回车键,读取第9条短息
+CMGR: "REC
UNREAD","+8615980111121",,"10/10/03,16:35:22+32"
1111
终端接收到短息的内容
OK接受成功,终端接收到OK
发中文PDU短息
本文以一个实例来解说AT指令发送PDU短信的全过程,假如我要发送下面的信息:
接收号码:+8615980111121
短信内容:工作愉快!
短信中心号码:+8613800591500
1、短信中心号码处理:用字符串
addr 表示
a、将短信息中心号码去掉+号,看看长度是否为偶数,如果不是,最后添加F即 addr
= "+8613800591500" => addr =
"8613800591500F"
b、
将奇数位和偶数位交换。
=> addr =
"683108501905F0"
c、
将短信息中心号码前面加上字符91,91是国际化的意思
=> addr =
"91683108501905F0"
d、
算出 addr
长度,结果除2,格式化成2位的16进制字符串,16 / 2 =
8 => "08"
=> addr =
"0891683108501905F0"
2、手机号码处理:用字符串
phone
a、将手机号码去掉+号,看看长度是否为偶数,如果不是,最后添加F
即 phone =
"+8615980111121"
=> phone =
"8615980111121F"
b、将手机号码奇数位和偶数位交换。
=> phone = "685189101121F1"
3、短信息部分处理:用字符串
msg 表示
a、转字符串转换为Unicode代码,例如“工作愉快!”的unicode代码为
5DE54F5C61095FEBFF01,(转换在linux里可用iconv函数实现。)
b、将
msg 长度除2,保留两位16进制数,即 5DE54F5C61095FEBFF01 = 20 / 2 =>
"0A",再加上 msg
=> msg = "0A5DE54F5C61095FEBFF01"
4、组合
a、手机号码前加上字符串
11000D91(1100:固定,0D:手机号码的长度,不算+号,十六进制表示,91:发送到手机为91,发送到小灵通为81)即 phone =
"11000D91" + phone
=> 11000D91685189101121F1
b、手机号码后加上
000800
和刚才的短信息内容,000800也写死就可以了即 phone =
phone + "000800" + msg即11000D91685189101121F1 + 000800 +
0A5DE54F5C61095FEBFF01
=> phone =
11000D91685189101121F10008000A5DE54F5C61095FEBFF01
c、phone 长度除以2,格式化成2位的十进制数即11000D91685189101121F10008000A5DE54F5C61095FEBFF01
=> 50位
/ 2 =>
25
5、所以要发送的内容为
AT在终端输入AT回车键,测试连接是否正常
OK
连接正常,终端接收到OK
AT+CMGF=0
在终端输入AT+CMGF=1回车键,设置为Pdu模式
OK
设置成功,终端接收到OK
AT+CMGS=25
在终端输入AT+CMGS=25回车键,发送长度为25
>0891683108501905F011000D91685189101121F10008000A5DE54F5C61095FEBFF01
结尾不用回车键
OK发送成功,终端接收到OK
接收中文PDU短息
1、
读取第几条短息
AT
在终端输入AT回车键,测试连接是否正常
OK
连接正常,终端接收到OK
AT+CMGF=0
在终端输入AT+CMGF=1回车键,设置为Pdu模式
OK设置成功,终端接收到OK
AT+CSCS=GSM
在终端输入AT+CSCS=GSM回车键,设置为GSM字符集
OK
设置成功,终端接收到OK
AT+CMGR=14
在终端输入AT+CMGR=14回车键,读取第14条短息
+CMGR:
0,,22
0891683108501905F0240D91685189101121F100080101309120852302597D
终端接收到短息的内容
OK
接收成功,终端接收到OK
2、列举未读短信息
AT
在终端输入AT回车键,测试连接是否正常
OK
连接正常,终端接收到OK
AT+CMGF=0
在终端输入AT+CMGF=0回车键,设置为Pdu模式
OK设置成功,终端接收到OK
AT+CSCS=GSM
在终端输入AT+CSCS=GSM回车键,设置为GSM字符集
OK
设置成功,终端接收到OK
AT+CMGL=0在终端输入AT+CMGL="REC UNREAD"回车键,列举未读短息
AT+CMGL=0
+CMGL: 16,0,,22
0891683108501905F0240D91685189101121F100080101309101512302554A
终端接收到短息的内容
OK
接收成功,终端接收到OK
3、接到短息的时候就去读取
AT
在终端输入AT回车键,测试连接是否正常
OK
连接正常,终端接收到OK
AT+CMGF=0
在终端输入AT+CMGF=0回车键,设置为Pdu模式
OK设置成功,终端接收到OK
AT+CSCS=GSM
在终端输入AT+CSCS=GSM回车键,设置为GSM字符集
OK
设置成功,终端接收到OK
AT+CNMI=1,1,0,2,1
在终端输入AT+CNMI=1,1,0,2,1回车键,表示
1直接发送到TE(终端设备)
1如果接收到的SMS存储在ME,则返回+CMTI:,
0小区广播不通知
2如果新的状态报告存储到ME,则返回:+CDSI:,
1清除TA
缓冲区中的结果码
OK
设置成功,终端接收到OK
+CMTI: "SM",17
当收到短息时,终端接收到+CMTI:
"SM",16
AT+CMGR=17
在终端输入AT+CMGR=17回车键,读取第17条短息
+CMGR: 0,,22
0891683108501905F0240D91685189101121F10008010130913134230253D1
终端接收到短息的内容
OK接收成功,终端接收到