AT指令集 —— EC20 4G模块短信的收发与管理(短信服务命令)

2023-10-14 18:20

本文主要是介绍AT指令集 —— EC20 4G模块短信的收发与管理(短信服务命令),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 短信服务命令
    • AT+CSMS 选择消息服务(在CDMA网络中无效)
    • AT+CMGF 讯息格式
    • AT+CSCA 服务中心地址(在CDMA网络中无效)
    • AT+CPMS 首选消息存储
    • AT+CMGL 列出短信
    • AT+CMGD Delete Message
    • AT+CMGR 读短信
    • AT+CMGS 发送短信
    • AT+CMMS发送更多消息(在CDMA网络中无效)
    • AT+CMGW 写消息到内存
    • AT+CMSS 从存储发送消息

短信服务命令

AT+CSMS 选择消息服务(在CDMA网络中无效)

该命令选择消息传递服务<service>并返回ME支持的消息类型。

  • AT+CSMS=?
    列出支持的服务

  • AT+CSMS?
    列出当前的服务类型
    Response:
    +CSMS: <service>,<mt>,<mo>,<bm>

  • AT+CSMS=<service>
    设置服务类型
    Response:
    +CSMS: <mt>,<mo>,<bm>

下面来看下这些选项都有哪些值,分别对应什么功能:
<service>(服务类型)
0 —— 3GPP TS 23.040和3GPP TS 23.041(SMS AT命令的语法与3GPP TS 27.005阶段2版本4.7.0兼容;可以支持不需要新命令语法的阶段2+功能,例如,正确路由具有新阶段的消息 2种以上的数据编码方案)。

1 —— 3GPP TS 23.040和3GPP TS 23.041(SMS AT命令的语法与3GPP TS 27.005 Phase 2+版本兼容;在相应的命令描述中提到了设置1的要求)。

<mt>(移动终止消息)
0 —— 不支持类型
1 —— 支持的类型

<mo>(移动发起的消息)
0 —— 不支持类型
1 —— 支持的类型

<bm>
0 —— 不支持类型
1 —— 支持的类型

在这里插入图片描述
我所使用的是电信卡,电信使用的就是CDMA网络.

AT+CMGF 讯息格式

该命令指定短消息的输入和输出格式。
<mode>指示与“测试”,“读取”,“写入”和“执行”命令一起使用的消息格式,以及由收到的消息导致的未经请求的结果代码。
消息的格式可以是PDU模式(使用整个TP数据单元)或文本模式(消息的标题和正文作为单独的参数给出)。 文本模式使用AT +
CSCS命令指定的参数的值来通知TA-TE界面的消息正文中使用的字符集。

  • AT+CMGF=?
    查看支持的短信格式

  • AT+CMGF?
    查看当前配置的格式

  • AT+CMGF[=<mode>]
    设置格式

<mode>
0 —— 中文短信(PDU)
1 —— 英文短信 (Text)

AT+CSCA 服务中心地址(在CDMA网络中无效)

当发送移动始发的SMS时,写入命令将更新SMSC地址。 在文本模式下,该设置由“写入命令”使用。
在PDU模式下,同一命令将使用设置,但是仅当SMSC地址的长度编码为等于零的<pdu>参数时才使用。

电信卡:
在这里插入图片描述

其他:
在这里插入图片描述

AT+CPMS 首选消息存储

该命令选择要用于读取,写入等的内存存储<mem1>,<mem2>和<mem3>。

  • AT+CPMS=?
    列出支持的<mem1>,<mem2>和<mem3>。
  • AT+CPMS?
    Response
    +CPMS: <mem1>,<used1>,<total1>,<mem2>,<used2>,<total2>,<m em3>,<used3>,<total3>
  • AT+COMS=<mem1>[,<mem2>[,<mem3>]]

<mem>
SM” —— (U)SIM message storage
ME” —— Mobile equipment message storage
MT” —— Same as “ME” storage
在这里插入图片描述

AT+CMGL 列出短信

读取命令将状态值<stat>的消息从首选消息存储<mem1>返回到TE。 如果消息的状态为“ REC
UNREAD”,则存储中的状态将更改为“ REC READ”。 当执行不带状态值<stat>的AT + CMGL命令时,它将报告状态为“
REC UNREAD”的SMS列表。

  • AT+CMGL=?
    列出支持的<stat>
  • AT+CMGL[=<stat>]
    Response:
    In Non-CDMA mode:
    Text模式:
    For SMS-SUBMITs and/or SMS-DELIVERs:
    +CMGL: <index>,<stat>,<oa/da>,[<alpha>],[<scts>][,<tooa/toda>,< length>]<CR><LF><data>[<CR><LF>
    +CMGL: <index>,<stat>,<da/oa>,[<alpha>],[<scts>][,<tooa/toda>,<length>]<CR><data>[…]]
    在这里插入图片描述
    在这里插入图片描述

<stat>

在文本模式下:
“ REC UNREAD” —— 收到的未读消息
“ REC READ” —— 接收到的已读信息
“ STO UNSENT” —— 存储的未发送消息
“ STO已发送” —— 存储的已发送消息
“ALL”所有消息
在PDU模式下:
0 —— 收到未读消息
1 —— 收到已读消息
2 —— 已存储的未发送消息
3 ——已存储的已发送消息
4 —— 所有消息

在这里插入图片描述
下面的gggggg就是短信内容了。(因为使用的是自己编写的串口通信程序,读buf设置过小导致接收的内容打印有问题,不过第一行是正确的,湖后面的图均已修复!!)
其他选项内容请参考EC20 datasheet,我上一篇关于AT指令的博客最后有下载方法

AT+CMGD Delete Message

该命令从首选消息存储位置删除短消息。
如果出现了且未将其设置为0,则ME将忽略并遵循规则。

  • AT+CMGD=?

  • AT+CMGD=<index>
    前面使用AT+CMGL可以列出短信列表,从而可以获取很多关于短信的信息,其中一项是index(短信编号),这个命令指删除index位置的短信

  • AT+CMGD=<index>[,<delflag>]
    忽略index的值,根据的delflag的值来做处理

<delflag>
0 —— 删除<index>中指定的消息
1 —— 删除<mem1>存储中的所有已读消息
2 —— 删除<mem1>存储中的所有已读消息以及已发送的移动原始消息
3 —— 删除<mem1>存储中的所有已读消息以及所有已发送和未发送的移动始发消息
4 —— 删除<mem1>存储中的所有消息

在这里插入图片描述

AT+CMGR 读短信

读取命令从消息存储<mem1>向TE返回位置值为<index>的SMS消息。 如果消息的状态为“ REC UNREAD”,则存储中的状态将更改为
“ REC READ”。 查看当前短信

在这里插入图片描述
可以看到,此时SIM卡有两条未读的短信,接下来就读取短信
在这里插入图片描述
可以看到,这里将index为1的短信读取并删除了。

AT+CMGS 发送短信

Write命令将一条短消息从TE发送到网络(SMS-SUBMIT)。 调用写命令后,等待提示>,然后开始写消息。 之后,输入<CTRL +
Z>表示PDU的结尾并开始发送消息。 可以通过输入字符来取消发送。 单击“确定”确认堕胎,尽管不会发送该消息。
成功发送消息后,消息参考返回给TE。 该值可用于根据未经请求的传递状态报告结果代码来标识消息。

当设置好发送何种格式的短信后,如果设置的是Text格式,则

  • AT+CMGS="13344455666"
    在收到 “ > ” 标致后开始输入短信内容,Ctrl + Z (0x1a)发送短信。

如果是中文格式的短信,则

  • AT+CMGS=25
    25是处理完中文发送的短信内容后,除开中心号以外的字符数除以2,短信内存不同,该值也会不同。同样在接收到“ > ”后就可以输入短信了,Ctrl + Z 发送。

AT+CMMS发送更多消息(在CDMA网络中无效)

该命令控制SMS中继协议链接的连续性。 如果启用了此功能(并且当前使用的网络支持该功能),则在链接保持打开状态时,可以更快地发送多条消息。

  • AT+CMMS=<n>

<n>
0 —— 禁用功能
1 —— 保持启用状态,直到最新消息发送命令(AT + CMGS,AT + CMSS等)的响应与下一个发送命令之间的时间间隔超过1-5秒(确切的值取决于ME实现)为止, 然后,ME将关闭链接,并且TA开关自动回到0
2 —— 启用功能。 如果最后一条消息发送命令的响应与下一条发送命令的响应之间的时间超过1-5秒(确切的值取决于ME的实现),ME将关闭链接,但TA不会自动将切换回0。 。

AT+CMGW 写消息到内存

写入和执行命令将短消息从TE存储到内存存储器,然后返回已存储消息的存储器位置。 默认情况下,消息状态将设置为“存储的未发送”,但是参数也允许给出其他状态值。
输入文本的语法与AT + CMGS Write Command中指定的语法相同。

在这里插入图片描述

AT+CMSS 从存储发送消息

Write命令将消息存储中具有位置值的消息发送到网络。 如果为SMS-SUBMIT指定了新的收件人地址,则应使用它代替消息中存储的地址。

  • AT+CMSS=4

在这里插入图片描述
关于更多短信管理命令,请参考EC20 用户手册:
下载链接:https://pan.baidu.com/s/1M6itx4z-Sd8Xjg0WDXmbIQ
提取码:8gd6

在这里插入图片描述

这篇关于AT指令集 —— EC20 4G模块短信的收发与管理(短信服务命令)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/212290

相关文章

Python的time模块一些常用功能(各种与时间相关的函数)

《Python的time模块一些常用功能(各种与时间相关的函数)》Python的time模块提供了各种与时间相关的函数,包括获取当前时间、处理时间间隔、执行时间测量等,:本文主要介绍Python的... 目录1. 获取当前时间2. 时间格式化3. 延时执行4. 时间戳运算5. 计算代码执行时间6. 转换为指

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

Python正则表达式语法及re模块中的常用函数详解

《Python正则表达式语法及re模块中的常用函数详解》这篇文章主要给大家介绍了关于Python正则表达式语法及re模块中常用函数的相关资料,正则表达式是一种强大的字符串处理工具,可以用于匹配、切分、... 目录概念、作用和步骤语法re模块中的常用函数总结 概念、作用和步骤概念: 本身也是一个字符串,其中

Python中的getopt模块用法小结

《Python中的getopt模块用法小结》getopt.getopt()函数是Python中用于解析命令行参数的标准库函数,该函数可以从命令行中提取选项和参数,并对它们进行处理,本文详细介绍了Pyt... 目录getopt模块介绍getopt.getopt函数的介绍getopt模块的常用用法getopt模

springboot项目如何开启https服务

《springboot项目如何开启https服务》:本文主要介绍springboot项目如何开启https服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录springboot项目开启https服务1. 生成SSL证书密钥库使用keytool生成自签名证书将

HTML5中的Microdata与历史记录管理详解

《HTML5中的Microdata与历史记录管理详解》Microdata作为HTML5新增的一个特性,它允许开发者在HTML文档中添加更多的语义信息,以便于搜索引擎和浏览器更好地理解页面内容,本文将探... 目录html5中的Mijscrodata与历史记录管理背景简介html5中的Microdata使用M

Linux命令之firewalld的用法

《Linux命令之firewalld的用法》:本文主要介绍Linux命令之firewalld的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux命令之firewalld1、程序包2、启动firewalld3、配置文件4、firewalld规则定义的九大

Spring 基于XML配置 bean管理 Bean-IOC的方法

《Spring基于XML配置bean管理Bean-IOC的方法》:本文主要介绍Spring基于XML配置bean管理Bean-IOC的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一... 目录一. spring学习的核心内容二. 基于 XML 配置 bean1. 通过类型来获取 bean2. 通过

Linux之计划任务和调度命令at/cron详解

《Linux之计划任务和调度命令at/cron详解》:本文主要介绍Linux之计划任务和调度命令at/cron的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux计划任务和调度命令at/cron一、计划任务二、命令{at}介绍三、命令语法及功能 :at

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo