用单片机发送PDU格式的短消息<br />1.准备<br /> <br /> 待发送内容:二进制数据 0xFF 0x00 0xA0 0x05<br /><br />2.过程<br /><br /> 采用PDU格式发送过程:<br /><br /> <br /> 组织PDU格式的二进制数据包--->转换成ASCII格式的PDU数据包-->开始发送短消息<br /> <br /> <br /> 2.1 组织PDU格式的二进制数据包<br /> 1) 配置好的电话号码存储格式: 13 10 31 25 32 2F<br /> 2) 配置好的短消息中心存储格式:13 01 01 80 50 0F<br /> 3) 数据长度为4个字节<br /> 开始组织PDU数据包<br /> a. 短消息中心<br /> <br /> 长度 短消息中心有国家编码 短信中心号码编码<br /> 08 91 68 31 10 10 08 05 F0<br /> <br /> b. 短消息类型<br /> <br /> 11 不需要状态报告 <br /> 需为31<br /> <br /> c. 信息参考<br /> <br /> 00<br /> <br /> d. 目标电话号码<br /> <br /> 长度 目标电话号码有国家编码 目标电话号码的编码<br /> 0D 91 68 31 01 13 52 23 F2<br /> 注意:此处的长度和短消息中心长度含义不同。<br /> <br /> e. 协议标识<br /> <br /> 00<br /> 对于标准情况下的下 MS-to-SC 短消息传送,只需设置 PID 为 00<br /> <br /> f. 数据编码方案<br /> <br /> 08<br /> 或者<br /> 04<br /> 均可以发送出<br /> g. 信息有效期<br /> <br /> A5<br /> <br /> 具体参考GSM 03.40 或者PDU中文的文档的计算方法<br /> <br /> h. 用户数据长度<br /> <br /> 04<br /> <br /> 以整型形式提供,表示后面用户数据段的数据长度<br /> <br /> i. 用户数据 <br /> <br /> FF 00 A0 05<br /> $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$<br /> 1.经过以上步骤组织出来的PDU数据包为<br /> a 08 91 68 31 10 10 08 05 F0<br /> b 11<br /> c 00<br /> d 0D 91 68 31 01 13 52 23 F2<br /> e 00<br /> f 08<br /> g A5<br /> h 04<br /> i FF 00 A0 05<br /> 注意:<br /> 对于组织的PDU数据包我打算先做如下规定<br /> 将abc d efg 作为配置下发到存储器中<br /> <br /> d,数据准备好后读出<br /> h,数据准备好后算出<br /> 2.2 计算出 包长度 <br /> <br /> 包长度是十进制数据格式<br /> 发送时为二进制格式<br /> 范围 15~155<br /> 其中19是指从b到i的二进制格式数据<br /> 转换成ASCII格式的PDU数据包 + 包尾0X1A<br /><br />3. 开始发送短消息(PDU数据包)<br /> <br /> AT+CMGS = 包长度<br /> <br /><br /> <br /> 收对“>”,即开始发送 PDU数据包 |
|