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
:短信内容
应用场景
在没有服务器的情况下,使用短信通讯可以降低服务器租赁费用。在一些防盗系统、液位控制系统和台风预警系统中,短信报警是一种较为实惠的解决方案。
至此,中文短信和英文短信的编辑与发送方法已介绍完毕。
热门推荐
如何准确区分毛茸茸与毛绒绒
组织文化是什么?如何构建积极健康的组织文化?
哪些企业有成功的企业文化建设案例可供分析?
过错责任原则举证是怎样的
8.2万个岗位让老乡“就”在襄阳
闺蜜海南自由行每日预算全解析:吃喝玩乐住全方位攻略
消费者均衡的两个条件公式:理论及其在现实中的应用
自制打击乐器木鱼(打击乐器木鱼的敲打方法)
用户界面设计中如何实现视觉一致性
如何合法减少租房税负?有哪些可行的方法?
魏黄初七年造铜弩机:古代的战争“黑科技”
治好你的拖延症!學會 6 大做法,擺脫「最後一刻」魔咒
做幽门杆菌检查前需要注意什么
素肉的营养:一场植物与健康的邂逅
全国首个!南海法院与中国法研携手打造AI调解“助手”上线
各个国家出入境现金携带规定,违规将面临巨额罚款或监禁!
甲状腺神药「优甲乐」咋个吃才最科学?
过去二十年上海人口迁移:市中心人口占比从42.24%降至25.67%
有朋自远方来,不亦乐乎?——《论语十章》原文、译文及赏析
人寿险包括哪些险种和保险种类
当人民群众吃不起地沟油时,我们见证了创新的力量
如何用软件测试手机屏幕
全运会乒乓球团体资格赛签位出炉:王楚钦抽到下下签,孙颖莎同组无强敌
脉搏快是什么原因
平均每天7亿!《哪吒2》连续9天登顶,上演现实版神话!
客户管理成熟度评估模型:助力企业提升客户管理水平
水仙花能用土栽培吗
德育、智育和体育:教育的三大支柱
这事儿|美国阿波罗登月真假争议再现舆论场,中国科协曾多次辟谣
2025年身份证照片拍摄着装指南