相关的AT主要有:
AT+CPMS // 查询SIM卡内短消息使用状态
AT+CNMI // 新消息指示设置
AT+CMGF // 选择短消息格式
AT+CSCS // 编码设置
AT+CSCA // 查询、设置SMS服务中心号码
AT+CSMP // 设置短消息文本模式参数
AT+CMGS // 发送短消息
AT+CMGR // 读取短消息
AT+CMGD // 删除短消息
AT+CMGDA // 删除所有短消息
1. AT+CPMS 查询SIM卡内短消息使用状态
模块开始后需要执行SMS功能,请在模块注册网络同时,查询”AT+CPMS?”指令返回正
常后,在操作短信业务,避免出现“+CMS ERROR:515、517”的信息提示。
AT+CPMS?
+CPMS: "SM",23,50,"SM",23,50,"SM",23,50
OK
请定期查询SIM卡中短信息存储量,一旦SIM卡中短消息存满,将无法继续接收外部发过来的
短信。
SIM900系列模块接收到的短信存储方式:
2. AT+CNMI新消息指示设置
AT+CNMI | AT+CNMI=0,0,0,0,0 | 模块收到新消息没有任何信息上报. | |
AT+CNMI=2,1,0,0,0 默认参数 | "+CMTI:”SM”,3" | 新消息指示,表示有一条新消息存储在SIM卡第三条记录. | |
AT+CNMI=2,2,0,0,0 闪信 | +CMT:"13227700058","“,"11/ 10/04,12:59:53+32"123 | 收到”13227700058”发来的新消息:123,该新消息没有存储. | |
AT+CNMI=2,1,0,1,0 AT+CSMP= 49,167,0,241 短信回执 | +CDS:32,7,"13227700058",129,"11/10/04,13:02:28+32","11/10/04,13:02:33+32",0 | 短消息中心在“ 11/10/04,13:02:28+32”时收到了本号码发给 “13227700058 ”的消息, “13227700058 ”手机在 "11/10/04,13:02:33+32"时收到了本号码发出的短消息 |
3. AT+CMGF选择短消息格式
AT+CMGF=?
+CMGF: (0,1) // 0(默认):PDU模式
1:文本模式
OK
AT+CSCS编码设置
AT+CSCS=?
+CSCS: ("IRA","GSM","UCS2","HEX","PCCP","PCDN","8859-1")
OK // 短信相关常用主要是GSM、UCS2编码格式
TEST(UCS2)模式下发送中英文短消息,短消息直接显示在终端。
AT+CMGF=1
AT+CSCS="UCS2”
AT+CSCA? // 模块会根据SIM卡自动设置短消息中心号码,只做查询即可。
AT+CSMP=17,167,0,24 // 主要是参数4,数据编码格式
AT+CMGS="00310033003800310038003200370030003000360039",
> 4F60597D00680065006C006C006F // 将中英文字符串转为Unicode码
(CTRL-Z)
TEXT(GSM)模式下发送英文短消息,短消息直接显示在终端。
AT+CMGF=1
AT+CSCS="GSM”
AT+CSCA?
AT+CSMP=17,167,0,240
AT+CMGS="10086”
>HELLO
CTRL-Z
PDU模式下发送中英文短消息
AT+CMGF=0
OK
AT+CSCS=”UCS2”
OK
AT+CSCA?
+CSCA:"002B0038003600310033003000310030003800350031003500300030",145
OK
AT+CMGS=29
>0011000D91683118280760F90008010E00480065006C006C006F6D4B8BD5
+CMGS: 10
OK
0011000D91683118280760F90008010E00480065006C006C006F6D4B8BD5数据解析
00 // 为SCA预留
11 // FO 设置PDU类型
00 // MR 发送参考号
0D // DA 目的号码长度
91 // DA 目的号码类型
68 // DA 中国的区号
3118280760F9 // DA 目的号码编码
00 // PID 发送方式
08 // DCS 编码模式。08表示class1,18表示class0
01 // VP 有效区
0E // UDL 数据长度
00480065006C006C006F6D4B8BD5 // UD 数据内容Unicode
模块接收PDU模式解析
0891683110304105F0240D91683118280760F9000811014051740223044F60597D
08
91
683110304105F0 // SMSC地址 8613010314500,补‘F’凑成偶数个.
24 // 基本参数,无更多消息
0D // 回复地址数字个数共13个十进制数(不包括91和‘F’) ,十六进制
91
683118280760F9 // 回复地址8613818270069,补‘F’凑成偶数个
00 // 协议标识(TP-PID) 是普通GSM类型,点到点方式
08 // 用户信息编码方式(TP-DCS) UCS2编码
11014051740223 //时间戳
04 //用户信息长度,十六进制
4F60597D // 用户信息
4. AT+CMGD删除短信
SIM卡中短信请定期查询并删除。
AT+CPMS?
+CPMS: “SM”,4,50,“SM”,4,50,“SM”,4,50 // 查询SIM卡短信存储数量
OK
AT+CMGD=1 // 删除其中的某一条短信
OK
AT+CPMS?
+CPMS: "SM",3,50,"SM",3,50,"SM",3,50
OK
5. AT+CMGDA删除所有短信
AT+CPMS?
+CPMS: "SM",3,50,"SM",3,50,"SM",3,50
OK
AT+CMGF=0 // 选择PDU模式
OK
AT+CMGDA=6 // 删除所有短信
OK
AT+CPMS?
+CPMS: "SM",0,50,"SM",0,50,"SM",0,50
OK