如何用AT指令接收短信?

at指令接收短信

在现代通信技术中,AT指令集是一种广泛应用于调制解调器和嵌入式系统的命令语言,用于控制设备的功能,通过AT指令接收短信是移动通信模块(如GSM/GPRS模块)的常见应用之一,本文将详细介绍AT指令接收短信的基本原理、常用指令、操作流程及注意事项,帮助读者快速掌握这一技术。

at指令接收短信

AT指令基础

AT指令(ATtention指令)起源于Hayes调制解调器,后成为行业标准,指令以“AT”开头,以回车符(r)例如“AT+CMGF”用于设置短信模式,接收短信主要涉及以下指令:

  • AT+CMGF:设置短信模式(0=PDU模式,1=文本模式)。
  • AT+CMGL:列出存储的短信。
  • AT+CMGR:读取指定位置的短信。
  • AT+CMGD:删除指定位置的短信。

短信模式选择

接收短信前需选择合适的模式,PDU模式功能更强大但复杂,文本模式简单易用。

文本模式(推荐初学者使用)

AT+CMGF=1  

模块返回“OK”后,进入文本模式,短信内容可直接显示为可读字符。

PDU模式

at指令接收短信

AT+CMGF=0  

PDU模式需解析十六进制编码,支持更多功能(如中文短信),但计算复杂。

接收短信的完整流程

步骤1:列出短信列表
使用AT+CMGL指令查看所有短信,需指定列表类型(0=未读,1=已读,2=未发送,3=已发送,4=全部)。

AT+CMGL=4  

模块返回类似以下信息:

+CMGL: 1,"REC READ","+8613800138000",,"23/05/01,12:30:30+32"  
Hello, this is a test message.  
OK  

“1”为短信索引,“REC READ”表示已接收并已读。

步骤2:读取指定短信
通过AT+CMGR指令读取索引为“1”的短信:

at指令接收短信

AT+CMGR=1  
```  与`AT+CMGL`类似,但仅显示单条短信。  
**步骤3:删除短信(可选)**  
读取后可使用`AT+CMGD`删除短信,例如删除索引为“1”的短信:  

AT+CMGD=1


#### 四、常见问题及解决方法  
1. **无短信返回**  
   - 检查SIM卡是否插入正确,是否有信号。  
   - 确认短信存储位置(如手机或SIM卡),使用`AT+CPMS`指令切换存储位置。  
2. **PDU模式解析错误**  
   - 确保PDU编码格式正确,可使用在线工具解码。  
   - 检查模块是否支持当前短信编码(如UCS2或GSM)。  
#### 五、高级应用  
1. **新短信到达通知**  
   启用新短信提示功能:  

AT+CNMI=2,1


   当有新短信时,模块会主动返回`+CMTI: "SM",2`,2”为短信索引。  
2. **自动读取新短信**  
   结合`AT+CNMI`和`AT+CMGR`,可实现自动读取新短信的功能。  
#### 六、指令参考表  
| 指令          | 功能描述                     | 示例                     |  
|---------------|----------------------------|-------------------------|  
| AT+CMGF=1     | 设置文本模式                 | AT+CMGF=1               |  
| AT+CMGL=4     | 列出所有短信                 | AT+CMGL=4               |  
| AT+CMGR=1     | 读取索引为1的短信            | AT+CMGR=1               |  
| AT+CMGD=1     | 删除索引为1的短信            | AT+CMGD=1               |  
| AT+CNMI=2,1   | 启用新短信到达通知           | AT+CNMI=2,1             |  
#### 七、注意事项  
1. 指令大小写不敏感,但需以“AT”开头,回车符结尾。  
2. 不同模块的指令可能略有差异,需参考具体模块手册。  
3. 高频操作短信可能导致存储空间不足,需定期清理。  
---
### 相关问答FAQs  
**Q1: 如何区分短信的存储位置(手机或SIM卡)?**  
A1: 使用`AT+CPMS`指令查看或切换存储位置,`AT+CPMS="SM","SM","SM"`表示使用SIM卡存储,`AT+CPMS="ME","ME","ME"`表示使用模块内部存储,可通过`AT+CPMS?`查询当前存储状态。  
**Q2: PDU模式下如何解析中文短信?**  
A2: 中文短信通常采用UCS2编码(16位),需将PDU字符串按每4位转换为一个Unicode字符,PDU中的“4F60597D”对应“你好”,可使用Python等编程语言或在线工具辅助解码。

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

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

相关推荐

  • 如何登录NBU主服务器获取权限?

    操作前关键警告⚠️ 高风险操作须知:1. 擦除操作将永久销毁磁带所有数据,不可恢复2. 必须获得存储管理员授权及数据所有者书面确认3. 仅限物理磁带(LTO/AIT/DLT等),虚拟带库(VTL)不可用此方法4. 操作需在NBU管理控制台停止相关存储单元活动后执行分步操作指南步骤1:确认磁带状态vmquery……

    2025年7月25日
    12000
  • 安全信息化如何借力大数据提升防护力?

    安全信息化与大数据是当今数字化时代的重要组成部分,它们相互融合、相互促进,为各行各业的发展带来了前所未有的机遇与挑战,随着信息技术的飞速发展,数据已成为核心生产要素,而安全信息化则是保障数据价值实现的关键屏障,本文将从技术融合、应用场景、挑战与对策等方面,深入探讨安全信息化与大数据的关系及其发展趋势,技术融合……

    2025年11月27日
    11200
  • 国内BI报表工具存在哪些显著劣势?

    国内BI工具在数据分析深度、可视化美观度及生态丰富度上,相比国际产品仍有差距。

    2026年3月2日
    6600
  • 三星平板如何使用工程命令?

    三星平板的工程命令(又称工程模式或测试模式)是一组隐藏的代码和功能,主要用于硬件测试、网络诊断、系统信息查看等,通常面向开发者、维修人员或技术支持人员,普通用户一般较少使用,但了解这些命令有助于快速排查设备问题或获取深层系统信息,需要注意的是,工程命令涉及系统底层操作,误操作可能导致设备异常,建议使用前备份数据……

    2025年8月31日
    16400
  • Ubuntu进入命令行的4种方法有哪些?

    图形界面下打开终端(推荐新手)快捷键启动同时按下 Ctrl + Alt + T(所有Ubuntu版本通用),终端窗口会立即弹出,菜单栏启动点击屏幕左上角 “Activities”(或按 Win 键)搜索栏输入 “terminal” 或 “终端”点击终端图标(黑色窗口图标)打开切换到纯命令行模式(无图形界面)临时……

    2025年8月8日
    15100

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信