AT指令短信格式具体是怎样的?

AT指令发送短信格式是嵌入式开发、物联网设备通信以及传统调制解调器操作中的核心知识点,它通过特定的指令集控制设备完成短信的创建、编辑、发送及管理等功能,以下从基础概念、指令分类、操作流程及注意事项等方面展开说明,帮助读者全面掌握其应用方法。

at指令发送短信格式

AT指令基础与短信相关核心指令

AT指令(Attention指令)是调制解调器与终端设备通信的标准化语言,每条指令以“AT”开头,以回车符(r)结束,设备返回响应信息以确认指令执行状态,在短信功能中,需重点掌握以下核心指令:

初始化与模式设置

  • AT:测试指令,用于验证设备连接是否正常,响应“OK”表示设备就绪。
  • AT+CMGF:设置短信模式。
    • 参数:0PDU模式,需手动编码短信内容与号码);1(文本模式,支持直接发送ASCII字符,推荐初学者使用)。
    • 示例:AT+CMGF=1r(切换至文本模式,响应“OK”)。

短信发送指令

  • AT+CMGS:发送短信核心指令,需指定目标号码与短信内容。
    • 格式:AT+CMGS="手机号码"r后以Ctrl+Z(ASCII码26)结束发送。
    • 示例:
      AT+CMGS="13800138000"r  
      Hello, this is a test message.  
      (按下Ctrl+Z)  
    • 响应:设备返回“+CMGS: x”(x为短信序号)及“OK”表示发送成功。

短信管理指令

  • AT+CMGL:列出已存储短信。
    • 参数:0(未读)、1(已读)、2(未发送)、4(全部)。
    • 示例:AT+CMGL=1r(列出已读短信,返回短信列表)。
  • AT+CMGD:删除短信。
    • 格式:AT+CMGD=短信索引,0(删除单条);AT+CMGD=1,4(删除从索引1开始的所有短信)。

短信发送完整操作流程(以文本模式为例)

设备初始化

首先通过串口工具连接调制解调器,发送AT测试指令,确认设备响应正常,若未响应,需检查波特率(常见9600/115200)、数据位、停止位等串口参数是否匹配。

切换至短信模式

为确保指令兼容性,建议优先使用文本模式:

AT+CMGF=1r  

若需发送中文等非ASCII字符,需确保设备支持UTF-8编码,或切换至PDU模式(需对短信内容进行Unicode编码)。

at指令发送短信格式

输入发送指令

输入目标手机号码(需包含国家代码,如中国为+86):

AT+CMGS="+8613800138000"r  

等待设备返回“>”提示符后,输入短信内容。

确认并发送 后,按下Ctrl+Z(或串口工具中的“发送结束符”按钮),设备开始发送短信,并返回状态信息。

异常处理

若返回“ERROR”,需检查:

  • 手机号码格式是否正确(如缺少“+”或国家代码); 是否包含非法字符(如PDU模式下的编码错误);
  • 设备是否欠费或信号异常。

PDU模式与文本模式对比

特性 文本模式 PDU模式
易用性 高,直接输入ASCII字符,无需编码 低,需手动编码短信内容、号码及协议头
支持字符 ASCII字符(英文、数字、符号),部分设备支持中文 支持所有Unicode字符(中文、 Emoji等)
适用场景 简单英文短信、初学者开发 多语言短信、复杂协议(如短信 concatenation)
编码示例 AT+CMGS="123456"rHellor(Ctrl+Z) 需将“Hello”转换为Unicode编码(0048000…),拼接SMSC号码、目标号码等

注意事项

  1. 串口参数配置:确保波特率、数据位(8位)、停止位(1位)、校验位(无校验)与设备一致,否则指令可能无法识别。
  2. 短信长度限制:单条短信长度通常为140字节(文本模式)或160字符(GSM 7-bit编码),超长短信需自动拆分(需设备支持+CSMP参数设置)。
  3. SIM卡状态:发送前需确认SIM卡已正常注册网络(通过AT+CREG?查询,响应+CREG: 1表示已注册)。
  4. 指令间隔:每条AT指令发送后需等待设备响应(通常100-500ms),避免连续发送导致指令丢失。

相关问答FAQs

Q1:发送中文短信时,AT指令应如何设置?
A:若设备支持中文,可直接在文本模式下发送,但需确保串口工具编码格式为UTF-8,且短信内容长度不超过70字符(Unicode编码下,1汉字=2字节),若出现乱码,可切换至PDU模式,将中文内容转换为Unicode编码(如“你好”转换为“0048000E00A0”),再拼接PDU串发送。

at指令发送短信格式

Q2:为什么发送短信后设备返回“+CMS ERROR: 30”?
A:错误码“30”通常表示“短信存储空间不足”,可通过AT+CMGL=4查询短信存储状态,或使用AT+CMGD删除旧短信释放空间,若SIM卡未插入、欠费或信号弱,也可能导致类似错误,需逐一排查硬件与网络状态。

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

(0)
酷番叔酷番叔
上一篇 2025年12月13日 20:01
下一篇 2025年12月13日 20:25

相关推荐

  • 3ds Max怎样快速退出移动操作?

    在3ds Max中退出移动命令,最快捷的方法是: ,1. **在视口空白处单击鼠标右键**。 ,2. 按下键盘上的 **Esc 键**。 ,3. 点击工具栏上的 **选择对象** 工具(箭头图标)或按快捷键 **Q**。

    2025年6月13日
    10900
  • 如何快速进入不同系统的命令行界面?

    Windows系统方法1:命令提示符(CMD)快捷启动按下 Win + R 打开“运行”窗口,输入 cmd 后按回车,即可打开命令提示符,搜索启动点击任务栏搜索框(或按 Win + S),输入“cmd”,选择“命令提示符”,管理员模式(需权限)右键点击“开始”按钮,选择“终端(管理员)”或“命令提示符(管理员……

    2025年6月21日
    11400
  • UG NX 4.0命令键如何自定义设置?

    命令键(快捷键/工具条)的自定义是提升NX操作效率的核心功能,以下为两种主流设置方法的详细操作流程:自定义工具栏按钮进入定制模式右键单击菜单栏或工具栏空白区域 → 选择 【定制…】或通过菜单路径: 【工具】→【定制】命令添加流程在弹出的”定制”对话框中,切换至 【命令】选项卡左侧”类别”窗口选择目标功能组……

    2025年8月8日
    8700
  • 安全性最高的数据库是哪家?

    在当今数字化时代,数据已成为企业的核心资产,数据库作为数据存储与管理的关键系统,其安全性直接关系到企业的生存与发展,所谓“安全性最高的数据库”,并非指某一特定产品,而是指在设计架构、访问控制、加密技术、审计机制等方面具备全方位防护能力,并能根据不同场景灵活调整安全策略的数据库系统,本文将从核心安全特性、主流数据……

    2025年11月28日
    4800
  • 怎么在命令行运行sql

    命令行运行SQL,可使用数据库客户端工具如MySQL的mysql

    2025年8月15日
    8600

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信