AT命令发中文短信

 

1、以pdu方式发送中文短信

AT+CMGF=0  //以pdu模式发短信
AT+CMGS=19 //短信长度15+4,15是号码长度,4是短信字节数。如果要发给手机的话,那么这个短信长度就是15,是固定的,后面只要加上短信字节数就可以了。AT+CMGS这个值可以是19,也可以是20。都能发的出短信,比计算出来的数字大1是可以的,但小1或大2是不可以的。
0891683108501705F011000D91683107157624F0000000044E2D6587   //向我的手机发送“中文”俩字

下面剖析这个数字串:
0891  683108501705F0  1100 0D 91 683110937414F2 0 00000 044E2D6587
数字串被分为九个部分:

0891是第一个部分 (1)08—短信息中心地址长度。指(91)+(683108701305F0)的长度除以2。
                            (2)91—短信息中心号码类型。91是TON/NPI遵守International/E.164标准,指在号码前需加‘+’号;此外       

                            还有其它数值,但91最常用。一般都用91。


683108501705F0  是第二个部分:你用哪个号码发短信,它就是哪个号码的短信息中心号码:例如我用的手机号码是   

                             13967120374,它是浙江的号码,短信息中心号为:+8613800571500。去掉+号,所剩的部分位数为奇 

                             数,所以在末尾补F,变为8613800571500F,然后将每两位互换得到:683108501705F0。第二步完成了。
1100是第三部分:11文件头字节。一般为固定数值,就是11。00—信息类型(TP-Message-Reference),这个一般也是固定值。

0D是第三部分:  它是被叫号码的长度。手机号码前面加上86一般都是13位。例如:8613705167420。如果不加86就是0B。如         

                        果要写成0D的话,那么后面的接收号码要写成这个样子的:683107157624F0。如果要写成0B的话,就将前面        

                        的68去掉,写成:3107157624F0。

91是第四部分:  一般为固定数值,只号码类型,手机都是91,小灵通为81。

683107157624F0第五部分:这就是手机号码后面补个F,然后每两位互换的结果。原号码为:8613705167420。

0  00000 :  Bit No.5:0—不使用远程网络,只是短消息设备之间的协议;1—使用远程网络。
Bit No.0—Bits No.4:00000—隐含;00001—电传;00010—group 3 telefax;00100—语音;00101—欧  洲无 线 信息系统(ERMES);00110—国内系统;10001—任何基于X.400的公用信息处理系统;10010—Email。
这里面貌似没有0 0801这种组合哦,但是我查了一下,网上也有用的,我也用了,也是可以发出去信息的,而且       

挺好用,信息发送失败的次数反而少了。

044E2D6587:这个是数据串的部分,04是指数据串的字节数。4E2D6587是指“中文”俩字的usc2编码,这个编码我不懂,是从        

                       网上找的。

                      总结下就三步:AT+CMGF=0  //以pdu模式发短信

                                           OK

                                          AT+CMGS=19

                                          OK

                                         >0891683108501705F011000D91683107157624F0000000044E2D6587

                                         >CTRL Z

                                        待会返回+CMGS: 224  (224是短信索引号,大于0的值)

                                                      OK

                                        此时短信发送成功

     中心号码换成自己的,目的号码换成你要发送的那个人的手机号码,以上试验是可用的

                                     
                                          

2.以 text方式发送中文短信

AT+CSMP=17,167,0,8  //这个是您的GSM MODEM必须作的设置:

OK
AT+CMGF=1  //  设置以text模式

OK
AT+CMGS="13013947412";   //写接收号码

> 4E2D6587        // 这个“中文”的usc2码
>                      //此处写ctrl z

+CMGS: 234     //这个是返回的值,没返回error,就说明发送成功了

OK

 

 

我的卡发送PDU方式发送短信的时候老发不出去,text模式发送中文特别的稳定

            

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值