SIM900模块短信发送实战:AT命令与PDU编码解析
创作时间:
2025-01-22 06:45:33
作者:
@小白创作中心
SIM900模块短信发送实战:AT命令与PDU编码解析
SIM900模块是常用的GSM通信模块,广泛应用于物联网和嵌入式系统中。本文将详细介绍如何使用SIM900模块发送长中文短信和英文短信,通过具体实例解析短信的编辑和发送过程。
短信基本概念
Short Messaging Service(简称SMS)是最早的短消息业务,也是普及率最高的一种短消息业务。一条短信最长可以发送160个字符,即160个英文或数字字符,或70个中文字符。对于长文本的发送,有些短信业务平台支持发送长短信,用户最终会收到一条完整的长短信,但业务统计和计费会按照长短信拆分后的短信条数进行。
发送英文短信
发送英文短信的基本步骤如下:
发送AT命令,确认模块可以执行AT命令操作:
AT OK设置为Text模式:
AT+CMGF=1输入接收短信的手机号码,等待出现“>”:
AT+CMGS="1366265ABCD" > TEST\u001A注意:所有短信内容均以“Ctrl+z”结束。这里
\u001A表示转义字符“Ctrl+z”。
发送中文短信
发送中文短信需要使用PDU模式:
发送AT命令,确认模块可以执行AT命令操作:
AT OK设置为PDU模式:
AT+CMGF=0发送PDU编码的长度(三位十进制字符串表示):
AT+CMGS=017 > 0891683108501505F011000D91688152963059F8000800020033 +CMGS: 55 OK
中文短信PDU编码解析
以一个完整的中文短信为例:
0891683108501505F011000D9168316662A5CBFD000801020033
SCA部分解析
08:表示后续字符长度(16个字符)91:表示发送设备为手机683108501505F0:服务中心号码(8613800551500),其中F用于凑数使字符数量为偶数
PDU内容解析
1100:表示正常发送短信,点到点标准短信0D9168316662A5CBFD:接收手机号码(+861366265ABCD)0D:表示手机号码长度(13位)91:表示接收设备为手机68316662A5CBFD:经过字符交换的手机号码000801:TP-PID信息码00:普通GSM类型,点到点方式08:UCS2编码01:时间戳020033:用户信息02:用户信息长度(4字节)0033:实际短信内容(中文字符“1”)
编辑长中文短信
长中文短信通过将多个“数据报文”进行拼接实现:
两个数据报文的拼接示例
AT+CMGS=023
> 0891683108501505F051000D91688152963059F800080108050003FC02010031
+CMGS: 59
OK
AT+CMGS=023
> 0891683108501505F051000D91688152963059F800080108050003FC02020032
+CMGS: 60
OK
5100:表示发送带有报头的短信000801:TP-PID信息码08050003FC02010031和08050003FC02020032:用户信息08:用户信息长度05:协议头长度00:分拆短信标志03:分拆数据元素长度FC:合并标志0201和0202:数据报文序号0031和0032:实际短信内容
长短信实例
第一条短信
0891683108100005F051000D91683118216553F60008018C0500032302014E8C96F64E005B9A4F1A597D597D597D768465F665F665F695F44E0D597D597D597D768460254F1A4E8654754F604E5F4E0D898157284E006B21751F76EE8FDB665A70B954275417662F4E004E2A4E1C5F20897F62114E0D662F62117231597D4E86541754758BBE7F6E597D597D554A51765B83662F554A5475547554754F607684547562A4
0891683108100005F0:SMSC地址5100:有报头短信0D91683118216553F6:回复地址0008:TP-PID信息码8C:用户信息长度05:协议头长度00:分拆短信标志03:分拆数据元素长度23:唯一标志0201:数据报文序号4E8C96F6...:数据内容
第二条短信
0891683108100005F051000D91683118216553F60008012605000323020281EA4ECE524D5C3177617740542754755475007A007A006C0076006C006F007A
0891683108100005F0:SMSC地址5100:有报头短信0D91683118216553F6:回复地址0008:TP-PID信息码26:用户信息长度05:协议头长度00:分拆短信标志03:分拆数据元素长度23:唯一标志0202:数据报文序号81EA4ECE...:数据内容
中文短信发送实例
单条短信
AT+CMGS=017
> 0891683108501505F011000D91688152963059F8000800020033
+CMGS: 55
OK
多条短信拼接
AT+CMGS=023
> 0891683108501505F051000D91688152963059F800080108050003FC02010031
+CMGS: 59
OK
AT+CMGS=023
> 0891683108501505F051000D91688152963059F800080108050003FC02020032
+CMGS: 60
OK
接收到的中文短信解析
+CMTI:"SM",2
AT+CMGR=2
+CMGR: 0,"",52
0891683108707515F0240D91688186418379F20008416042712393232000280047003100320033003400350036003700380039003B003000314F600029
0891683108707515F0:短信息中心号码240D91688186418379F2:发送短信的手机号码000841604271239323:时间戳00280047003100320033003400350036003700380039003B003000314F600029:短信内容
应用场景
在没有服务器的情况下,使用短信通讯可以降低服务器租赁费用。在一些防盗系统、液位控制系统和台风预警系统中,短信报警是一种较为实惠的解决方案。
至此,中文短信和英文短信的编辑与发送方法已介绍完毕。
热门推荐
十大美肤食物排行榜:从内而外吃出无瑕肌肤
《蛟龙行动》:10亿投资换来的4亿票房,春节档最大票房惨案
3 天宜兰行程:探索自然美景和文化
夏日炎炎,秦皇岛蔚蓝海岸度假攻略
秦皇岛:从历史名城到现代旅游胜地
全国首座绿建三星级博物馆:山海关中国长城博物馆
黎建鹏带你打卡清远温泉
云海碱泉+黄腾峡:完美清远温泉游攻略
春节打卡威海华夏城:亲子互动新姿势!
广州越秀公园冬日打卡指南:五羊石像&中山纪念碑
济南第一庭院全新亮相:大明湖畔的古典园林之美
超然楼影像展:大明湖畔的网红打卡新选择
大明湖:千年名湖的文化传承与现代新生
威海海洋科技馆春节开放时间及预约指南
立春后的威海旅游攻略:如何穿得美又暖?
春节威海必打卡:网红景点全攻略!
朱砂的真伪辨别大揭秘!
朱砂收藏陷阱大揭秘:专家教你避坑!
橘子洲头:湘江明珠的红色浪漫与文化记忆
资本主义发展的五个阶段探究
跟着导游娜娜玩转杭蓉历史文化之旅
杭州到成都必打卡:宽窄巷子&熊猫基地
秋冬打卡攻略:西湖&锦里古街
杭州到成都八天游:打卡网红景点!
大明湖畔摄影指南:从构图到取景,专业摄影师教你拍出绝美大片
大明湖的秋天:不在江南却胜似江南的诗意画卷
大明湖夜游:穿越千年的浪漫之旅
秋游大明湖:济南必吃美食与打卡攻略
身体有恙,胯骨先觉!总是“髋关节疼痛”,可能是这 4 种疾病在求救
放射治疗的副作用是什么