ME310之AT指令总结:发送[文本|PDU],[普通|飞信]短信,发送GPRS数据,读取短信分析
简介:
本文对ME310之AT指令总结:发送[文本|PDU],[普通|飞信]短信,读取短信分析,发送GPRS数据作最后的总结:
---初始化
AT
ATE1
AT+CPIN?
AT%SLEEP=0
AT+CREG=1
AT+CREG?
AT+CSQ
AT+CGREG=1
at+cgatt=1
AT+CGATT?
AT+CNMI=2,1,0,0,0
--发文本短信
at+cmgf=1 //设置短信格式为文本
at+csmp=,,,0 //设置文本格式参数
at+cmgs="10086"
at+cmgl="ALL" //查看全部短信
at+cmgr=1 //查看指定条目的短信
at+cmgd=1 //删除
---GPRS
at+cgdcont=1,"ip","cmnet"
AT%ETCPIP="",""
AT%IPOPEN="TCP","server_IP",server_Port
AT%IPOPEN="TCP","111.10.77.65",8888
AT%IPOPEN="TCP","111.10.77.154",8888
AT%IPOPEN="TCP","113.251.220.8",8080
AT%IPSEND="4154"
AT%IPCLOSE=1
AT%IPCLOSE=5
at%ipopen?
发PUD短信
两个PDU发送成功的例子
1.用15923184063给15029639发送短信”工作愉快!”
at+cmgs=25
> 0891683108200305F011000D91685112059236F90008000A5DE54F5C61095FEBFF01
>
+CMGS: 169
2.用15923184063给飞信号 1252015923184063发送”工作愉快!”
at+cmgs=26
> 0891683108200315F0110010A121251095328104360008000A5DE54F5C61095FEBFF01
+CMGS: 168
1.给手机发短信
0891683108200305F011000D91685112059236F90008000A5DE54F5C61095FEBFF01
0891683108200305F0**1100**0D91685112059236F9**000800**0A5DE54F5C61095FEBFF01
短信中心 1100 |目标号码 000800 |数据部分
短信的发送:
总长度=>11000D91685112059236F90008000A5DE54F5C61095FEBFF01=>50/2=20=>at+cmgs=25
2.给飞信号发送短信:
0891683108200315F0110010A121251095328104360008000A5DE54F5C61095FEBFF01
0891683108200315F0 **1100**10A12125109532810436**000800**0A5DE54F5C61095FEBFF01
短信中心 1100 |目标号码 000800 |数据部分
短信的发送:
总长度=>110010A121251095328104360008000A5DE54F5C61095FEBFF01=>52/2=26=>at+cmgs=26
*短信中心:
长度指示(包括了号码类型的长度)08
号码类型91
短信中心号码683108200315F0
*固定1100
*目标号码部分:
长度指示(不包括号码类型的长度)
号码类型
号码
*固定000800
*数据部分:
长度指示
原始数据(Unicode表示)
3.PUD读取短信:
3.1普通号码
0891683108200305F0040D91685112059236F9000831405032848223044F60597D
0891683108200305F0 ┃040D91 685112059236F9┃ 0008 314050328482 23 ┃044F60597D
短信中心 ┃源号码 0008 ┃时间 ┃短信内容
*短信中心:
长度指示
号码类型
短信中心号码
*源号码
用户数据长度04
源号码长度0D
号码类型91
源号码
00 协议类型
08 PDU
*时间
年月日时分秒
时区
*数据部分:
长度指示
原始数据(Unicode表示)
3.2飞信号码
0891683108200315F02410A1212510953281043600083140604190302324
00320030003100335E7400346708003665E5002000310034003A00300039003A00310037
0891683108200315F0**2410A12125109532810436**00083140604190302324*
**00320030003100335E7400346708003665E5002000310034003A00300039003A00310037
短信中心 ┃源号码 0008 ┃时间 ┃短信内容
注意与普通短信的不同点:
=>短信中心
=>源号码长度(10)
=>源号码类型(0A)
=>源号码(无86)
-----------------------------------------------------------------------------
PDU给自己发飞信比较
//用15923184063给飞信号 1252015923184063发送”工作愉快!”
at+cmgs=26
> 0891683108200315F0110010A121251095328104360008000A5DE54F5C61095FEBFF01
+CMGS: 168
//15923184063给飞信号 1252015923184063发送""土豆小姐”
AT+CMGF=0
OK
AT+CMGS=24> 0891683108200315F0110010A1212510953281043600080008571F8C465C0F59D0
+CMGS: 172OK
0891683108200315F0110010A1212510953281043600080008571F8C465C0F59D0
与
0891683108200315F0110010A121251095328104360008000A5DE54F5C61095FEBFF01
比较
只是修改了
- 最后的数据部分
- AT+CMGS=xx
----------------------------------------------------------------------------
详细的PDU读取短信内容分析:
第一部分 短信中心 0891683108200305F0
08 长度指示 91683108200305F0的长度除2, 16/2=8(10)=0×08(16).
91 短信中心号码类型 91=10010001,第1位是1,固定,001表示国际号码,0001表示ISDN/电话号码
683108200305F0 短信中心号码,去+号,加86,判断奇偶是否加F,奇偶互换.
(如果号码前面有+号,去掉“+”号→如果没有“86”,在号码前加上“86”:
86 13 80 02 30 50 0→看看现在号码的长度是否为偶数,如果不是,在号码后面加上“F”:8613800230500F→将奇数位和偶数位交换,得到结果:683108200305F0)
第二部分 源号码 040D91 685112059236F9
04 用户数据长度TP-UDL(TP-User-Data-Length),4F60597D共有8位,8/2=4=0×04.
0D 源号码长度,8615215029639的长度,13(10)=0x0D(16)
91 号码类型 91=10010001,第1位是1,固定,001表示国际号码,0001表示ISDN/电话号码
685112059236F9 源号码(发送短信方的号码),去+号,加86,判断奇偶是否加F,奇偶互换.
【注意到】从第一部分和第二部分的结构来看,很相似,
号码长度指示(包括了号码类型的长度)
号码类型
具体号码
只是第二部分多了一个发送内容的长度指示。
第三部分 时间 0008 314050328482 2304
00 协议标识 TP—PID
08 数据编码方案,08:中文编码,00为英文或数字,
314050328482 日期时间,奇偶互换,13年04月05日 23 点48分 28秒
23 时区
04 用户数据长度TP-UDL(TP-User-Data-Length),4F60597D共有8位,8/2=4=0×04.
【注意】第三部分的数据编码方案,时间,用户数据长度都是几个重要的参数。
第四部分 短信内容 4F60597D
4F60597D 是中文字符“你好”的unicode编码。
你 –> 4F60.
好–>597D.
【练习】标注下面的短信的关键点:
+CMTI: “SM”,1
at+cmgr=1
+CMGR: 0,,57
0891683108200315F02410A1212510953281043600083140604190302324
00320030003100335E7400346708003665E5002000310034003A00300039003A00310037
OK
拆分如下:
0891683108200315F0|2410A12125109532810436|00083140604190302324
|00320030003100335E7400346708003665E5002000310034003A00300039003A00310037
1.短信中心 08 91 683108200315F0 –>8613800230510F—>8613800230510
//上面的使用飞信发送的,短信中心号码为 8613800230510
//使用本地移动(重庆)主城区手机发送短信号码中心为8613800230500
2.源号码 2125109532810436—>1252015923184063.
//注意,这里的号码类型为A1=1010 0001,不再是91=1001 0001,
//从 001—国际 变化 为 010—国内
08 —>表示数据使用PDU格式发送,那么使用的是Unicode编码.
3.发送时间 314060419030—>130406140903—>13年04月06日14时09分03秒
4.短信内容
00320030003100335E7400346708003665E5002000310034003A00300039003A00310037
unicode对应的字符为:
2013年4月6日 14:09:17