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)
酷番叔酷番叔
上一篇 1小时前
下一篇 1小时前

相关推荐

  • 现代Windows运行DOS命令?

    现代 Windows 通过命令提示符(cmd)或 PowerShell 提供对传统 DOS 命令(如 dir、cd、copy、del)的访问,这些基础命令仍用于文件管理、目录导航和简单系统维护任务。

    2025年6月20日
    8000
  • 如何用Bash脚本执行命令?

    基础命令执行方式直接执行命令在脚本中直接写入命令,按顺序执行:#!/bin/bashecho "开始执行任务"date # 输出当前日期ls -l /tmp # 列出/tmp目录内容每行一条命令,从上到下顺序执行,通过变量执行将命令存储在变量中,用或反引号调用:#!/bin/bashcurr……

    2025年8月7日
    5600
  • 安全令数据存在哪里?

    全面解析与存储位置在数字化时代,安全令已成为保护账户安全的重要工具,广泛应用于双因素认证(2FA)场景,许多用户对安全令数据的存储位置存在疑问,这直接关系到个人隐私与账户安全,本文将从安全令的类型、数据存储原理、不同平台的安全措施以及用户注意事项等方面,全面解答“安全令数据在哪”这一问题,安全令的类型与数据存储……

    2025年11月27日
    2200
  • 怎么root命令登录密码

    passwd 命令可修改 root 密码,若忘密码可通过单用户模式或

    2025年8月15日
    4200
  • 为什么命令参数是命令行核心?

    命令行的核心由命令、参数与选项构成:命令是执行操作的主体,参数指定操作对象或目标,选项(通常以-或–开头)则用于调整命令的行为细节。

    2025年7月18日
    7100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信