导航

使用AT指令给飞信号发短信=失败=[已经成功]

使用AT指令给飞信号发短信失败

目标:
8612 5201 5923 1840 63
6821 2510 9532 8104 36
682125109532810436

信息内容
土豆小姐
\u571f\u8c46\u5c0f\u59d0
571F 8C46 5C0F 59D0
571F8C465C0F59D0
16/2=8=>08
08571F8C465C0F59D0

0891683108200305F01000D9168212510953281043600080008571F8C465C0F59D0

1000D9168212510953281043600080008571F8C465C0F59D0

 

addr=0891683108200305F0

phone=682125109532810436
msg=08571F8C465C0F59D0

phone=11000D91+phone
phone=11000D91682125109532810436
phone=phone+000800+msg
phone=11000D9168212510953281043600080008571F8C465C0F59D0
11000D9168212510953281043600080008571F8C465C0F59D0
50/2=25

addr+phone=
0891683108200305F011000D9168212510953281043600080008571F8C465C0F59D0

2013年04月06日01时37分55秒
AT+CMGF=0
OK
AT+CMGS=25
> 0891683108200305F01000D9168212510953281043600080008571F8C465C0F59D0
ERROR
AT+CMGF=0
OK
AT+CMGS=25AT+CMGS=25
ERROR
AT+CMGS=25
> 0891683108200305F011000D9168212510953281043600080008571F8C465C0F59D0
ERROR

与发送成功的对比:

at+cmgs=25
> 0891683108200305F011000D91685112059236F90008000A5DE54F5C61095FEBFF01
+CMGS: 159

 

0891 丨683108200305F0丨11000D91丨685112059236F9丨000800丨0A丨5DE54F5C61095FEBFF01

0891丨 683108200305F0丨11000D91丨682125109532810436丨000800丨08丨571F8C465C0F59D0

那么,如果短信号码不加86呢?

0891丨 683108200305F0丨11000D91丨682125109532810436丨000800丨08丨571F8C465C0F59D0

变成

0891丨 683108200305F0丨11000D91丨2125109532810436丨000800丨08丨571F8C465C0F59D0

也就是

0891683108200305F011000D91212510953281043600080008571F8C465C0F59D0

相应指令改为

AT+CMGF=0

 

AT+CMGS=24

解雇也是错误,这是为什么?怎么解决?

AT+CMGF=0
OK
AT+CMGS=24
> 0891683108200305F011000D91212510953281043600080008571F8C465C0F59D0
ERROR

 

=====

2013年4月6日 16:25:13

at+cmgf=0
OK
at+cmgs=26
> 0891683108200315F0110010A121251095328104360008000A5DE54F5C61095FEBFF01
+CMGS: 168

OK

通过EM310_AT收到的短信分析 这篇文章的分析,可以知道飞信号码的部分参数和我们的不同.

1.目标号码不需要加86

2.号码长度也不再是0D了,而是10(16)=16位.1252015923184063=>5+11=16位.

3.号码类型不再是91,而是A1.

号码类型为A1=1010 0001,不再是91=1001 0001,

//从  001—国际  变化 为   010—国内

 

示例:

0891683108200315F0110010A121251095328104360008000A5DE54F5C61095FEBFF01

拆分成几个部分:

0891683108200315F0|1100|10A12125109532810436|000800|0A5DE54F5C61095FEBFF01

第一部分|1100|第二部分|000800|第三部分
短信中心|1100|目标号码|000800|数据部分

1.短信中心:0891683108200305F0

  • 长度指示(包括了号码类型的长度)91683108200305F0共有16/2=8=>0x08
  • 号码类型 91

            91 //主叫短信中心号码类型’91是TON/NPI遵守International/E.164标准,指在号码前需加‘+’号

9110010001 //每一位数字转换为4位二进制数,各位分别表示:

   1 固定值
001 //数值类型(Type of Number):000—未知,001—国际,010—国内,111—留作扩展;
0001//号码鉴别(Numbering plan identification):0000—未知,0001—ISDN/电话号码(E.164/E.163),1111—留作扩展;

  • 短信中心号码 683108200305F0

固定1100

2.目标号码:10A12125109532810436

  • 长度指示(不包括号码类型的长度)10
  • 号码类型A1
  • 号码(无86)12125109532810436

固定0008000

3数据部分:0A5DE54F5C61095FEBFF01

  • 长度指示0A
  • 原始数据(Unicode表示)5DE54F5C61095FEBFF01

 

at+cmgs=26 这里的26是怎么来的呢?

是110010A121251095328104360008000A5DE54F5C61095FEBFF01,也就是第一部分(短信中心)后面的长度/2

52/2=26.

最后发送的内容是:

0891683108200315F0110010A121251095328104360008000A5DE54F5C61095FEBFF01

posted on 2013-04-06 16:51  淅沥枫  阅读(2025)  评论(0编辑  收藏  举报