PDU模式发送短信息举例

来源:互联网 发布:linux apm 鸟哥 编辑:程序博客网 时间:2024/05/06 21:54

PDU短信息发送举例

陈建波

一、           发送内容

如,要向号码为“+8615931209572”发送一条短信息(号码转换为685139219075F2),发送内容为“学峰公司”,(假设变成Unicode为“5B665CF0516C53F8”,长度是08

"学峰公司"四个字,变成汉字的Unicode码:
5B66 峰:5CF0 公:516C 司:53F8

二、           发送方法和步骤

1、  模块需要提前设置短信息格式为PDU格式

AT+CMGF=0 回车

2、  准备待发内容:

待发送内容“学峰公司”:二进制数据 0x5B, 0x66, 0x5C, 0xF0, 0x51, 0x6C, 0x53, 0xF8

3、  组织PDU格式数据包

a、    短消息中心

0891683108301105F0

其中:

08—短信息中心地址长度,指(91+683108301105F0)的长度。

91—短信息中心号码类型。

以上通称短消息中心地址(Address of the SMSC

b、    短消息类型

11 不需要状态报告(需要为31

c、    信息类型(TP-Message-Reference

00

d、    目的地址(TP-Destination-Address)(目标电话号码

0D91685139219075F2

其中:

0D—长度;91—目标电话号码有国家编码;685139219075F2—目标电话号码的编码

e、    协议标识TP-PIDTP-Protocol-Identifier

00

f、    数据编码方案TP-DCSTP-Data-Coding-Scheme

08

08或者04(选8bit,此时最大只能传送 140 个字符)均可以发送出,但“04”不能手机显示

g、    信息有效期TP-VPTP-Valid-Period

A5

具体参考GSM 03.40 或者PDU中文的文档的计算方法

h、    用户数据长度TP-UDLTP-User-Data-Length

08

以整型形式提供,表示后面用户数据段的数据长度

i、    用户数据

5B665CF0516C53F8

j、    结尾符

1A <ctrl+z>

4、  计算包长度:

 

包长度是十进制数据格式,发送时为二进制格式范围 15~155其中24是指从b到i的二进制格数据转换成ASCII格式的PDU数据包 + 包尾0X1A

AT+CMGS= YYY [CR] ;其中 YYY 即为包长度TPDU的十进制长度。

TPDU 中用户数据前的PDU规约头的长度是15字节(包含用户数据长度一个字节)。

5、  组好的PDU数据包:

手机不可显示“学峰公司”,为乱码

0891683108301105F011000D91685139219075F20004A5085B665CF0516C53F8

手机可显示“学峰公司”

0891683108301105F011000D91685139219075F20008A5085B665CF0516C53F8

手机可显示“学峰公司”

0891683108301105F011000D91685139219075F2000801085B665CF0516C53F8

手机可显示“节日快乐”

0891683108301105F011000D91685139219075F200080108828265E55FEB4E50

6、  发送:

发:AT+CMGS=23回车

收:>

发:0891683108301105F011000D91685139219075F20004A5085B665CF0516C53F8

收:+CMGS: 7

 

OK

7、  发送数据“68686802FD0CFC”

发:AT+CMGS=22回车

收:>

发:0891683108301105F011000D91685139219075F20004A50768686802FD0CFC

收:+CMGS: 6

      

OK

           串口助手:

AT+CMGS=22

      

> 0891683108301105F011000D91685139219075F20004A50768686802FD0CFC

+CMGS: 6

      

OK

 

                                                 

原创粉丝点击