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

相关文章

nginx启动命令和默认配置文件的使用

《nginx启动命令和默认配置文件的使用》:本文主要介绍nginx启动命令和默认配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录常见命令nginx.conf配置文件location匹配规则图片服务器总结常见命令# 默认配置文件启动./nginx

一文深入详解Python的secrets模块

《一文深入详解Python的secrets模块》在构建涉及用户身份认证、权限管理、加密通信等系统时,开发者最不能忽视的一个问题就是“安全性”,Python在3.6版本中引入了专门面向安全用途的secr... 目录引言一、背景与动机:为什么需要 secrets 模块?二、secrets 模块的核心功能1. 基

基于Python实现一个Windows Tree命令工具

《基于Python实现一个WindowsTree命令工具》今天想要在Windows平台的CMD命令终端窗口中使用像Linux下的tree命令,打印一下目录结构层级树,然而还真有tree命令,但是发现... 目录引言实现代码使用说明可用选项示例用法功能特点添加到环境变量方法一:创建批处理文件并添加到PATH1

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

SpringBoot服务获取Pod当前IP的两种方案

《SpringBoot服务获取Pod当前IP的两种方案》在Kubernetes集群中,SpringBoot服务获取Pod当前IP的方案主要有两种,通过环境变量注入或通过Java代码动态获取网络接口IP... 目录方案一:通过 Kubernetes Downward API 注入环境变量原理步骤方案二:通过

Java -jar命令如何运行外部依赖JAR包

《Java-jar命令如何运行外部依赖JAR包》在Java应用部署中,java-jar命令是启动可执行JAR包的标准方式,但当应用需要依赖外部JAR文件时,直接使用java-jar会面临类加载困... 目录引言:外部依赖JAR的必要性一、问题本质:类加载机制的限制1. Java -jar的默认行为2. 类加

git stash命令基本用法详解

《gitstash命令基本用法详解》gitstash是Git中一个非常有用的命令,它可以临时保存当前工作区的修改,让你可以切换到其他分支或者处理其他任务,而不需要提交这些还未完成的修改,这篇文章主要... 目录一、基本用法1. 保存当前修改(包括暂存区和工作区的内容)2. 查看保存了哪些 stash3. 恢

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

Python中bisect_left 函数实现高效插入与有序列表管理

《Python中bisect_left函数实现高效插入与有序列表管理》Python的bisect_left函数通过二分查找高效定位有序列表插入位置,与bisect_right的区别在于处理重复元素时... 目录一、bisect_left 基本介绍1.1 函数定义1.2 核心功能二、bisect_left 与

java -jar命令运行 jar包时运行外部依赖jar包的场景分析

《java-jar命令运行jar包时运行外部依赖jar包的场景分析》:本文主要介绍java-jar命令运行jar包时运行外部依赖jar包的场景分析,本文给大家介绍的非常详细,对大家的学习或工作... 目录Java -jar命令运行 jar包时如何运行外部依赖jar包场景:解决:方法一、启动参数添加: -Xb