分享

SIM300模块发送中文短信AT命令

 hxcnz 2012-11-24

SIM300模块发送中文短信AT命令

下面是在sim300模块上面发送成功的中文短信息的例子:

AT+CMGF=0        

OK 

AT+CSCA="+8613800371500"         //只需要设置一次

OK 

AT+CMGS=019          

> 0011000D91683180839330F7000801044F60597D     //发送中文“你好”

+CMGS: 64        

 

OK

    其中中文“你好”的编码占用4个字节,即4F60597D,而发送内容中的“04”即是发送内容的长度。在发送内容中,前面的“0011000D91683180839330F7000801”共15个字节,加上发送内容的4个字节“04”,即为19个字节,也就是“AT+CMGS=”后面的“019”。

如果想改变发送内容的长度,需要修改“019”、“04”和发送的内容编码,但必需满足编码字节长度加上15等于发送内容的总长度。举例如下:

at+cmgs=023

> 0011000D91683180839330F7000801084F60597D4E014E09

+CMGS: 78

 

OK

发送的中文为“你好丁三”(编码为:4F60597D4E014E09),编码长度为8个字节,加上固定的15,即为“023”。

 

 

 

具体理解前15个字节和发送内容各字节的含义,可参看下文:

 

[PDU]数据单元格式定义为:

 

以下例子 发送“你好”到 13912345678

发送数据是:你好

Unicode译码为:4F60597D //其它字符的Unicode译码可参见附件B

AT+CMGS=019 //15PDU 规约头固定长度15 字节)+4(报文长度4 个字节)

> 0011000D91683119325476F8000801044F60597D [ctrl-Z]

00 //SCA预留

11 // FO 设置PDU 类型

00 // MR 发送参考号

0D //DA 目的号码长度

91 //DA 目的号码类型

68 //DA 中国的区号

3119325476F8 //DA 目的号码编码

00 // PID 发送方式

08 //DCS 编码模式

01 //VP 有效期

PDU 中用户数据前的PDU 头的长度是15 字节

 

04 //UDL 数据长度

4F60597D //UD 数据内容Unicode 译码

 

 

ITM100_SMS APP V01.01 SIMCOM

例子中目的号码是一种内存编码方式,将每两位数据位置互换,余下最后单位的补F

如13912345678 编码为3119325476F8

用户使用PDU 模式发送中文短消息时只需按照上述例子,改变TPDU 的十进制长度、手机号码编码、报文长度和报文内容Unicode 译码即可。

设置DCS 编码模式改变短消息发送等级:

按照GSM08.38 协议约定,PDU 中的DCS 字段(Bit7…0)用于设置短消息内容的编码方式和发送等级,具体为Bit4 用于决定Bit1 和Bit0 的设置是否有效(1 为有效,0 为无效);Bit1和Bit0 均设置为0 表示短消息发送等级为0 等级,即直接发送至终端而不存放在SIM 卡;Bit3 设置为1 且Bit2 设置为0 表示短消息内容为UCS2 编码。上例中DCS 字段为08,即表示短消息内容为UCS2 编码且无发送等级;若改为18 则表示短消息内容为UCS2 编码且按0 等级发送,即直接发送至目的终端。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多