导航

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: 172

OK

0891683108200315F0110010A1212510953281043600080008571F8C465C0F59D0

0891683108200315F0110010A121251095328104360008000A5DE54F5C61095FEBFF01

比较

只是修改了

  • 最后的数据部分
  • AT+CMGS=xx

image

----------------------------------------------------------------------------
详细的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

posted on 2013-04-06 17:39  淅沥枫  阅读(1448)  评论(0编辑  收藏  举报