分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
1、绪论
SMS提供了在GSM移动站台(MS)与一个短消息实体(SME)之间通过服务中心(SC)传送短消息的方法
SMS提供了在GSM移动站台(MS)与一个短消息实体(SME)之间通过服务中心(SC)传送短消息的方法
。SC提供了在MS与SME之间消息传送的相互联系和转播的功能。
SMS采用存储转发模式,短消息被发送出去之后,不是直接地发送给接收方,而是先存储在SMS(
短消息服务中心),然后再由SMC将其转发给接收方。如果接收方当时关机或不在服务区内,SMC
会自动保存该短消息,排队并尝试再次发送给接收方。
点到点短消息服务包含两个基本服务:
Þ SM MT(点到点短消息移动接收)
Þ SM MO(点到点短消息移动发送)
Þ SM MT(点到点短消息移动接收)
Þ SM MO(点到点短消息移动发送)
通过 SM MT 或 SM MO 方法传送的文本消息包含 140 个八位位组(最大 160 个拉丁字母字符、
70个双字节字符)。
本文仅仅给出了简单地一些AT指令及SMS PDU模式的描述。更多的详细资料,请参看下列标准:
GSM 03.04
GSM 03.38
GSM 03.41
GSM 07.05
GSM 07.07
2、缩写词
缩写 全称 说明
MS: Mobile-Station 移动站台
负责系统交换管理,控制来自或发往其他电话或数据系统的
缩写 全称 说明
MS: Mobile-Station 移动站台
负责系统交换管理,控制来自或发往其他电话或数据系统的
通信
SME: Short-Message-Entity 短消息实体
负责接收和发送短消息。可以位于固话系统、移动基站或
SME: Short-Message-Entity 短消息实体
负责接收和发送短消息。可以位于固话系统、移动基站或
其他服务中心内
SMSC: Short Message Service Center 短消息服务中心
负责在移动基站和SME之间中继、存储或转发短消息
PDUs: Protocol Data Units 协议数据单元
PDU Type: Protocol Data Unit Type 协议数据单元类型
MR: Message Reference 消息参考
OA: Originator Adress 发送方地址
DA: Destination Adress 接收方地址
PID: Protocol Identifier 协议标识
DCS: Data Coding Scheme 数据编码方案
SCTS: Service Center Time Stamp 服务中心的时间戳
VP: Validity Period 消息有效期
UDL: User Data Length 用户数据长度
UD: User Data 用户数据
RP: Reply Path 应答路径
UDHI: User Data Header Indicator 用户数据头标识
SRI: Status Report Indication 状态报告指示
SRR: Status Report Request 请示状态报告
VPF: Validity Period Format 有效期格式
MMS: More Messages to Send 有更多的信息需要发送
RD: Reject Duplicate 拒绝复本
MTI: Message Type Indicator 消息类型指示
ME: Mobile Equipment 移动设备
TE: Terminal Equipment 终端设备
SIM: Subscriber Identity Modul
SC: Service-Center 服务中心
SCA: Service Center Address 服务中心地址
SM MT: Short Message Mobile Terminated Point-to-Point 点到点短消息移动接收
SM MO: Short Message Mobile Originaed Point-to-Point 点到点短消息移动发送
SMSC: Short Message Service Center 短消息服务中心
负责在移动基站和SME之间中继、存储或转发短消息
PDUs: Protocol Data Units 协议数据单元
PDU Type: Protocol Data Unit Type 协议数据单元类型
MR: Message Reference 消息参考
OA: Originator Adress 发送方地址
DA: Destination Adress 接收方地址
PID: Protocol Identifier 协议标识
DCS: Data Coding Scheme 数据编码方案
SCTS: Service Center Time Stamp 服务中心的时间戳
VP: Validity Period 消息有效期
UDL: User Data Length 用户数据长度
UD: User Data 用户数据
RP: Reply Path 应答路径
UDHI: User Data Header Indicator 用户数据头标识
SRI: Status Report Indication 状态报告指示
SRR: Status Report Request 请示状态报告
VPF: Validity Period Format 有效期格式
MMS: More Messages to Send 有更多的信息需要发送
RD: Reject Duplicate 拒绝复本
MTI: Message Type Indicator 消息类型指示
ME: Mobile Equipment 移动设备
TE: Terminal Equipment 终端设备
SIM: Subscriber Identity Modul
SC: Service-Center 服务中心
SCA: Service Center Address 服务中心地址
SM MT: Short Message Mobile Terminated Point-to-Point 点到点短消息移动接收
SM MO: Short Message Mobile Originaed Point-to-Point 点到点短消息移动发送
3、设置指令
3.1 服务中心号码 (+CSCA)
服务中心(SC)负责转播和存储转发SME和MS之间的短消息。如果MS支持SMS-MO(短消息服务移动
3.1 服务中心号码 (+CSCA)
服务中心(SC)负责转播和存储转发SME和MS之间的短消息。如果MS支持SMS-MO(短消息服务移动
发送),为了使用SMS,必须在MS中设置SMSC(短消息服务中心,SCA)。
使用指令 “AT+CSCA?” 可以查看存储在SIM卡中的当前服务中心地址。
使用AT指令 “AT+CSCA=<SCA>[,<TOSCA>]” 加入短消息服务号码。
句法:
输入 执行 注释
AT+CSCA? <CR> 查询当前服务中心地址(SCA)设置(从SIM卡中读取)
响应
+CSCA: “<SCA>”
AT+CSCA? <CR> 查询当前服务中心地址(SCA)设置(从SIM卡中读取)
响应
+CSCA: “<SCA>”
OK
AT+CSCA=“<SCA>” <CR> 定义服务中心地址(SCA) (存储到SIM卡)
AT+CSCA=“<SCA>” <CR> 定义服务中心地址(SCA) (存储到SIM卡)
参数:
<SCA> 服务中心地址(字符型)
<TOSCA> 服务中心地址的类型设置(编码方式)
<TOSCA> 服务中心地址的类型设置(编码方式)
示例:
AT+CSCA=“+8613800250500” <CR> 以国际号格式定义服务中心地址(SCA)
AT+CSCA=“+13800250500” <CR> 以国内号格式定义服务中心地址(SCA)
AT+CSCA=“+13800250500” <CR> 以国内号格式定义服务中心地址(SCA)
注意:
Þ 为了避免漫游时出现问题,推荐国际号码格式存储所有地址(以“+”和国家代码开头
)。
Þ 向你本地的网络提供商询问正确的短消息服务中心号码
Þ SC地址是SMS的一部分!当任何一个SMS被存储到SIM卡上时,SC地址也同时该SMS中。
3.2 选择消息服务 (+CSMS)
这个指令用于选择消息服务。
这个指令用于选择消息服务。
句法:
输入 执行 注释
AT+CSMS? <CR> 返回当前的服务类型及ME支持的信息
AT+CSMS=? <CR> 返回所有支持的服务类型
AT+CSMS=<SERVICE> <CR> 选择消息服务
响应
+ CSMS: <SERVICE>,<MT>,<MO>,<BM>
AT+CSMS? <CR> 返回当前的服务类型及ME支持的信息
AT+CSMS=? <CR> 返回所有支持的服务类型
AT+CSMS=<SERVICE> <CR> 选择消息服务
响应
+ CSMS: <SERVICE>,<MT>,<MO>,<BM>
OK
参数:
<SERVICE> 消息服务
<MT> 接收短消息
<MO> 发送短消息
<BM> 接收小区广播消息
<MT> 接收短消息
<MO> 发送短消息
<BM> 接收小区广播消息
示例:
读取指令
输入 执行 注释
AT+CSMS? <CR> 返回当前的服务类型及ME支持的信息
响应
+ CSMS: 0,1,1,1
AT+CSMS? <CR> 返回当前的服务类型及ME支持的信息
响应
+ CSMS: 0,1,1,1
OK
指令返回当前的消息服务和移动设备支持的服务选项
指令返回当前的消息服务和移动设备支持的服务选项
设置指令
输入 执行 注释
AT+CSMS=1 <CR> 设置支持的消息类型
响应
+ CSMS: 0,1,1,1
AT+CSMS=1 <CR> 设置支持的消息类型
响应
+ CSMS: 0,1,1,1
OK
返回移动设备支持的服务选项
返回移动设备支持的服务选项
参数:
参数 值 描述
<SERVICE> 0 SMS AT 指令的句法兼容 GSM Phase 2
1 SMS AT 指令的句法兼容 GSM Phase 2+
2...127 保留
128 厂商自定义
<MT>,<MO>,<BM> 0 不支持
1 支持
<SERVICE> 0 SMS AT 指令的句法兼容 GSM Phase 2
1 SMS AT 指令的句法兼容 GSM Phase 2+
2...127 保留
128 厂商自定义
<MT>,<MO>,<BM> 0 不支持
1 支持
3.3 选择消息格式 (+CMGF)
这个指令用于选择短消息格式。它的参数指示发送、列取、读取和写入的消息所使用的格式。
这个指令用于选择短消息格式。它的参数指示发送、列取、读取和写入的消息所使用的格式。
句法:
输入 执行 注释
AT+CMGF? <CR> 返回当前的SMS格式
AT+CMGF =? <CR> 返回所有支持的SMS格式
AT+CMGF=<MODE> <CR> 选择SMS格式
响应
OK
AT+CMGF? <CR> 返回当前的SMS格式
AT+CMGF =? <CR> 返回所有支持的SMS格式
AT+CMGF=<MODE> <CR> 选择SMS格式
响应
OK
支持的值:
<MODE> 含义
0 PDU模式(默认的)
1 Text模式
0 PDU模式(默认的)
1 Text模式
示例:
读取指令
输入
执行
注释
AT+CMGF?
<CR>
返回当前的SMS格式
响应
+ CMGF: 0
执行
注释
AT+CMGF?
<CR>
返回当前的SMS格式
响应
+ CMGF: 0
OK
返回当前的SMS格式
返回当前的SMS格式
设置指令
输入
执行
注释
AT+CMGF=1
<CR>
设置SMS类型为Text
执行
注释
AT+CMGF=1
<CR>
设置SMS类型为Text
4、SMS文本模式
略
略
5、SMS PDU模式
一个完整的SMS消息所包含的所有报头信息被以二进制字符串格式传送。这个二进制串由十六进
一个完整的SMS消息所包含的所有报头信息被以二进制字符串格式传送。这个二进制串由十六进
制格式的IA5 字符组合而成。
使用AT指令”AT+CMGF=0”切换到协议数据模式,之后所有的SMS输入与显示将以PDU格式执行。
5.1 发送方SMS-Submit (Mobile Originated)
SMS-SUBMIT的意思就是GSM-Molbile传送一条SMS到服务中心。
SMS-SUBMIT的意思就是GSM-Molbile传送一条SMS到服务中心。
5.1.1 向SIM卡存储区写入一条SMS (+CMGW)
执行指令”AT+CMGW”用于存储一条消息在SIM卡的存储区中。命令返回消息被存储的索引号。
执行指令”AT+CMGW”用于存储一条消息在SIM卡的存储区中。命令返回消息被存储的索引号。
句法:
输入
执行
注释
AT+CMGW=<LENGTH>[,<STAT>]
<CR>
> <PDU>
执行
注释
AT+CMGW=<LENGTH>[,<STAT>]
<CR>
> <PDU>
*)
<CTRL-Z>/<ESC>
<CTRL-Z>/<ESC>
**)
响应
+CMGW: <INDEX>
响应
+CMGW: <INDEX>
OK
如果命令正确执行,返回消息存储位置的索引号
如果命令正确执行,返回消息存储位置的索引号
参数:
<LENGTH>
给定的TP层数据单元的八位位组代码数目(不包含服务中心地址的八位位组数目)
<STAT>
除存储未发送的状态之外的状态值
给定的TP层数据单元的八位位组代码数目(不包含服务中心地址的八位位组数目)
<STAT>
除存储未发送的状态之外的状态值
在PDU模式下该值为整型(默认值为0)
在文本模式下该值为字符型(默认值为”REC UNREAD”)
<PDU>
PDU数据
<INDEX>
存储位置
<PDU>
PDU数据
<INDEX>
存储位置
支持的值:
<STAT>
含义
0 “REC UNREAD”
已接收未读的消息(例如新消息)
1 “REC READ”
已接收已读的消息
2 “STO UNSENT”
已存储未发送的消息
3 “STO SENT”
已存储已发送的消息
4 “ALL”
所有的消息(仅适用于 +CMGL命令)
含义
0 “REC UNREAD”
已接收未读的消息(例如新消息)
1 “REC READ”
已接收已读的消息
2 “STO UNSENT”
已存储未发送的消息
3 “STO SENT”
已存储已发送的消息
4 “ALL”
所有的消息(仅适用于 +CMGL命令)
注:
*) 符号”>”是的移动终端设置返回而产生的
**) <CTRL>+<Z>执行命令;<ESC>不保存/发送、直接退出执行
5.1.2 发送SIM卡存储区中的一条SMS (+CMSS)
AT指令”AT+CMSS=<INDEX>[,<DA>[,<TODA>]]”将SIM卡消息存储区中<INDEX>索引位置的消息发
AT指令”AT+CMSS=<INDEX>[,<DA>[,<TODA>]]”将SIM卡消息存储区中<INDEX>索引位置的消息发
送到网络中(SMS-SUBMIT)。如果指定新的接收地址<DA>,它将代替原消息中存储的接收地址。
如果消息传送成功,消息参考值<MR>将返回到终端设备(TE)。通常(当+CSMS<SERVICE>值为1
,并且网络支持时),同时返回服务中心时间戳<SCTS>。
句法:
输入
执行
注释
AT+CMSS=<INDEX>
<CR>
响应
+CMSS: <MR>[,<SCTS>]
执行
注释
AT+CMSS=<INDEX>
<CR>
响应
+CMSS: <MR>[,<SCTS>]
OK
参数:
<INDEX>
SIM卡内存位置索引
<MR>
消息参考
<SCTS>
服务中心时间戳
SIM卡内存位置索引
<MR>
消息参考
<SCTS>
服务中心时间戳
示例:
输入
执行
注释
AT+CMSS=1
<CR>
SIM卡中存储位置1的消息将被发送到服务中心
响应
+CMSS: 255
执行
注释
AT+CMSS=1
<CR>
SIM卡中存储位置1的消息将被发送到服务中心
响应
+CMSS: 255
OK
SMS被发送到服务中心,消息参考为255
SMS被发送到服务中心,消息参考为255
5.1.3 直接从终端设置发送SMS (+CMGS)
这个指令用于从一个终端向网络中发送消息(SMS-SUBMIT),而不会在SIM卡中保存所发送的SMS
这个指令用于从一个终端向网络中发送消息(SMS-SUBMIT),而不会在SIM卡中保存所发送的SMS
消息。
如果消息传送成功,消息参考值<MR>将返回到终端设备(TE)。通常(当+CSMS<SERVICE>值为1
,并且网络支持时),同时返回服务中心时间戳<SCTS>。
句法:
输入
执行
注释
AT+CMGS=<LENGTH>
<CR>
转换SMS输入模式,SMS将会被以“未发送”状态保存。命令后所跟的PDU字串的长度必须在这个
执行
注释
AT+CMGS=<LENGTH>
<CR>
转换SMS输入模式,SMS将会被以“未发送”状态保存。命令后所跟的PDU字串的长度必须在这个
命令中指定。
> <PDU>
> <PDU>
*)
<CTRL-Z>/<ESC>
<CTRL-Z>/<ESC>