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

相关推荐

  • ATmel存储器有哪些关键特性与应用场景?

    Atmel存储器作为嵌入式系统领域的重要组成部分,以其高可靠性、低功耗和多样化特性广泛应用于工业控制、汽车电子、消费电子等多个场景,其产品线涵盖闪存、EEPROM、FRAM等多种类型,能够满足不同应用对数据存储的需求,Atmel存储器的技术特点Atmel存储器采用先进的制造工艺,在性能和稳定性方面表现突出,其闪……

    2025年12月16日
    4700
  • 如何通过命令行启动exe文件?详细操作步骤是怎样的?

    在Windows系统中,通过命令行启动EXE文件是日常管理和自动化任务中的常见操作,无论是系统管理员、开发者还是普通用户,掌握这一技能都能提升效率,命令行启动EXE文件的核心在于通过命令提示符(CMD)或PowerShell等工具,准确指定EXE文件的路径及所需参数,让系统按预期执行程序,下面将详细介绍不同场景……

    2025年8月24日
    11700
  • 掌握核心方法只需3步?

    在Java中执行DOS命令行操作(通常指Windows系统的命令提示符)是系统交互、自动化脚本或外部程序调用的常见需求,以下将详细说明两种核心方法(Runtime.exec()和ProcessBuilder),结合安全实践和完整示例,帮助开发者高效安全地实现功能,方法1:使用 Runtime.exec()Run……

    2025年7月29日
    8900
  • 风云无双gm命令怎么用?新手玩家操作指南详解!

    在游戏《风云无双》中,GM(Game Master)命令通常为官方测试人员或特定权限管理员设计,用于调试游戏内容、修复问题或开展活动,非授权玩家私自使用GM命令属于违规行为,可能导致账号被封禁,因此以下内容仅作技术科普,请务必在官方授权的测试环境中使用,GM命令的使用需遵循特定格式,通常以“/”、“#”或特定前……

    2025年8月30日
    9600
  • 如何设置终端窗口为40行×120列?

    图形界面调整(推荐新手)方法1:鼠标拖拽调整打开终端:Ubuntu/Debian:按 Ctrl+Alt+T 或从应用菜单搜索 “Terminal”,CentOS/RHEL:应用菜单 → 系统工具 → 终端,其他桌面环境:类似方式打开终端(如 GNOME、KDE、XFCE),调整大小:将鼠标悬停在终端窗口边缘(四……

    2025年7月17日
    9300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信