AT指令如何发送短信?

AT指令发送短信

AT指令是调制解调器(Modem)与计算机通信时使用的标准命令集,广泛应用于短信发送、电话拨号等场景,通过AT指令,开发者可以控制设备完成短信的编写、发送和管理操作,本文将详细介绍AT指令发送短信的基本原理、常用指令、操作流程及注意事项。

at指令发送短信

AT指令基础与短信发送原理

AT指令以“AT”开头,后跟具体命令参数,每条指令以回车符(r)结束,短信发送主要涉及以下指令:

  1. AT+CMGF:设置短信模式。

    • AT+CMGF=0:PDU模式(需手动编码短信内容)。
    • AT+CMGF=1:文本模式(直接发送可读文本)。
  2. AT+CMGS:发送短信指令。

    • 示例:AT+CMGS="13800138000"r(输入号码后等待提示符)。
  3. AT+CMGD:删除短信。

    • 示例:AT+CMGD=1(删除索引为1的短信)。

短信发送的核心流程为:初始化Modem → 设置短信模式 → 编写内容 → 发送至目标号码 → 等待网络响应。

常用AT指令及操作步骤

以下是文本模式下发送短信的详细步骤:

  1. 初始化Modem

    at指令发送短信

    ATr  
    OK  

    若返回“OK”,表示Modem已就绪。

  2. 设置短信为文本模式

    AT+CMGF=1r  
    OK  
  3. 输入目标号码与内容

    
    AT+CMGS="13800138000"r  
    > Hello, this is a test message.  
    ```  后,按`Ctrl+Z`(或十六进制`1A`)发送。  
  4. 等待网络反馈

    +CMGS: 20  
    OK  

    “+CMGS: 20”表示短信已发送,20为短信长度。

PDU模式与文本模式对比

模式 优点 缺点 适用场景
文本模式 指令简单,无需编码 不支持中文等非ASCII字符 纯英文短信、调试场景
PDU模式 支持多语言,功能全面 需手动编码,指令复杂 国际短信、中文短信发送

PDU模式示例(发送“Hello”至“13800138000”):

AT+CMGS=23r  
> 0011000A913180013800000F80008A1B2C3D4E5F6  
+CMGS: 23  
OK  

常见问题与解决方法

  1. 发送失败,返回“ERROR”

    at指令发送短信

    • 检查SIM卡是否插好、信号是否稳定。
    • 确认短信中心号码(AT+CSCS)是否正确。
  2. 中文乱码

    切换至PDU模式,或使用UTF-8编码(AT+CSCS=”GSM”)。

相关问答FAQs

Q1:如何批量发送短信?
A1:可通过循环调用AT+CMGS指令实现,但需注意设备发送频率限制(如每秒1条),避免被运营商拦截,示例代码(Python):

import serial  
def send_sms(phone, message):  
    ser = serial.Serial('/dev/ttyUSB0', 9600)  
    ser.write(b'AT+CMGF=1r')  
    ser.write(f'AT+CMGS="{phone}"r'.encode())  
    ser.write(f'{message}x1a'.encode())  
    ser.close()  

Q2:如何查询已发送短信?
A2:使用AT+CMGL指令列出短信,参数可选“4”(已发送)、“0”(未读)等,示例:

AT+CMGL="4"r  
+CMGL: 1,"REC READ","+8613800138000",,"23/05/01,12:00:00+32"  
Test message  
OK  

通过合理运用AT指令,可高效实现短信发送功能,适用于物联网设备、报警系统等场景,实际操作中需结合硬件手册调整参数,确保兼容性与稳定性。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/71330.html

(0)
酷番叔酷番叔
上一篇 2025年12月13日 22:04
下一篇 2025年12月13日 22:13

相关推荐

  • AutoCAD三维实体如何抽取几何信息?

    在AutoCAD三维设计中,抽实体指从现有三维模型提取特定几何信息,如提取表面、边界、截面或曲线等,用于后续设计或分析。

    2025年7月24日
    12100
  • Node.js不当退出如何避免资源残留?

    退出Node REPL交互环境当在终端输入node进入REPL(交互式解释器)后,可通过以下方式退出:快捷键组合Ctrl + C 按两次(第一次中断当前输入,第二次退出)Ctrl + D 按一次(Unix/Linux/macOS通用,Windows部分终端支持)REPL专属命令直接输入 .exit 后回车,立即……

    2025年7月8日
    11200
  • BAT命令是什么?

    基础操作:创建与运行BAT文件创建文件新建文本文件,将后缀.txt改为.bat(如自动备份.bat),右键选择“编辑”即可用记事本编写命令,运行文件双击BAT文件直接执行,按Win+R输入cmd打开命令提示符,拖入BAT文件回车运行,10个常用BAT命令及示例显示信息:echoecho 正在清理系统垃圾…p……

    2025年8月7日
    10700
  • fping命令怎么用?参数与实例详解

    fping是一个基于ICMP的快速网络探测工具,主要用于批量检测主机的存活状态,相比传统的ping命令,fping支持并行发送探测包、自定义超时和间隔时间,并能高效处理大量主机,因此在网络监控、批量主机管理和自动化运维中应用广泛,下面详细介绍fping命令的使用方法,包括安装、常用参数、具体场景示例及注意事项……

    2025年8月22日
    14000
  • 国内CDN加速商业化,市场前景如何?挑战与机遇并存?

    市场前景广阔,需求持续增长,虽面临同质化竞争,但边缘计算转型带来新机遇,挑战与机遇并存。

    2026年2月27日
    2600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信