简介:
本文对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=5at%ipopen?
发PUD短信
两个PDU发送成功的例子
1.用15923184063给15029639发送短信”工作愉快!” at+cmgs=25 > 0891683108200305F011000D91685112059236F90008000A5DE54F5C61095FEBFF01 > +CMGS: 169 2.用15923184063给飞信号 1252015923184063发送”工作愉快!” at+cmgs=26 > 0891683108200315F0110010A121251095328104360008000A5DE54F5C61095FEBFF01 +CMGS: 1681.给手机发短信
0891683108200305F011000D91685112059236F90008000A5DE54F5C61095FEBFF01 0891683108200305F0**1100**0D91685112059236F9**000800**0A5DE54F5C61095FEBFF01 短信中心 1100 |目标号码 000800 |数据部分短信的发送:
总长度=>11000D91685112059236F90008000A5DE54F5C61095FEBFF01=>50/2=20=>at+cmgs=252.给飞信号发送短信:
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飞信号码 0891683108200315F02410A121251095328104360008314060419030232400320030003100335E7400346708003665E5002000310034003A00300039003A00310037
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 685112059236F904 用户数据长度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
0891683108200315F02410A121251095328104360008314060419030232400320030003100335E7400346708003665E5002000310034003A00300039003A00310037
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