通过AT指令发送英文短信是许多通信模块和嵌入式设备的基础功能,广泛应用于物联网(IoT)、远程监控、智能设备等领域,AT指令集是由Hayes公司提出的调制解调器命令语言,通过简单的文本命令实现对模块的控制,其中短信发送功能是核心应用之一,本文将详细介绍AT指令发送英文短信的流程、关键指令及注意事项,帮助读者快速掌握这一技能。

AT指令发送短信的基本流程
通过AT指令发送英文短信主要分为三个步骤:初始化模块、设置短信模式、发送短信,整个过程需要确保模块正确连接到SIM卡,并已注册到网络。
-
初始化模块
首先通过“AT”指令测试模块是否正常响应,若返回“OK”,则表示模块已就绪,随后,可通过“AT+CMGF=1”设置短信模式为文本模式(Text Mode),便于直接发送英文短信,在PDU模式下,短信内容需转换为十六进制编码,操作较为复杂,因此文本模式更适合英文短信的发送。 -
设置短信中心号码
短信中心号码(SMSC)由运营商提供,通常无需手动设置,模块会自动从SIM卡中读取,若需手动配置,可使用“AT+CSCA”指令,“AT+CSCA=”+8613800100500″” (以中国移动为例)。 -
发送短信
使用“AT+CMGS”指令发送短信,格式为:“AT+CMGS=”接收方手机号码””,随后输入短信内容,以Ctrl+Z(或ASCII码26)结束发送。
AT+CMGS="1234567890" Hello, this is a test message. [Ctrl+Z]模块返回“+CMGS: x”和“OK”表示发送成功,x”为短信序号。
关键AT指令解析
以下是发送英文短信时常用的AT指令及其功能说明:
| 指令 | 功能 | 示例 |
|---|---|---|
| AT | 测试模块连接 | AT → OK |
| AT+CMGF=1 | 设置短信模式为文本模式 | AT+CMGF=1 → OK |
| AT+CSCA | 设置短信中心号码 | AT+CSCA=”+8613800100500″ → OK |
| AT+CMGS | 发送短信 | AT+CMGS=”1234567890″ → > |
| AT+CMGS=长度 | 指定短信长度(可选) | AT+CMGS=20 → > |
| AT+CMGR | 读取短信 | AT+CMGR=1 → +CMGR: “REC READ”,”1234567890″ |
| AT+CMGD | 删除短信 | AT+CMGD=1 → OK |
常见问题与解决方法
-
模块无响应
检查硬件连接(串口供电、TX/RX交叉连接)、波特率设置(通常为9600)以及SIM卡是否正确插入并已激活。 -
短信发送失败
确认接收方号码格式正确(需包含国家代码,如“+86”),检查网络信号强度,并验证短信内容是否包含非法字符(如长文本需分段发送)。
相关问答FAQs
Q1: 如何通过AT指令发送中文短信?
A1: 中文短信需使用PDU模式(AT+CMGF=0),将短信内容转换为Unicode编码,并通过“AT+CMGS”指令发送十六进制数据,发送“你好”需转换为“0048000E0059”,具体编码工具可参考模块手册。
Q2: 如何批量发送短信?
A2: 可通过循环调用“AT+CMGS”指令实现批量发送,但需注意模块的发送间隔(通常1-2秒/条),避免因频率过高导致失败,可结合“AT+CMGS”的长度参数优化发送效率。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/71250.html