如何将收到的短信存储在 GSM 模块内存(SM 或 ME)中?

How to store receiving SMS in GSM Module memory (SM or ME)?

我正在使用 AI Thinker A7 GSM/GPRS/GPS Module demo v7.1.

我正在尝试通过AI-Thinker串口工具V1.2.3.0收发短信

此模块可以正常拨打和接听电话、发送和接收短信。他们工作得很好。

问题是它没有在内存中存储短信?

我做了很多事情让它工作,但没有任何进展。

例如,我的 AT 命令及其响应在这里,

AT+CPMS=?

+CPMS: ("ME","SM"),("ME","SM"),("ME","SM")

AT+CPMS="SM"

+CPMS: 0,35,0,35,0,25

AT+CPMS="ME"

+CPMS: 0,25,0,35,0,25

我试过像这样的 CNMI 设置,

AT+CNMI=1,1,0,0,0

OK

在这些之后,我发送了消息,然后尝试通过AT+CPMS和AT+CMGL查看,但是没有存储消息。

然后我尝试了

AT +CNMI = 2,1,0,0,0

OK

相同

AT +CNMI = 2,2,0,0,0

OK

类似

AT +CNMI = 0,1,0,0,0

OK

但是,我还是没有成功将消息存储在内存中。

请帮忙,如果我需要做任何其他设置或者我的命令错误或者我的模块不支持存储短信(我非常怀疑它有显示的内存空间SM可以存25条,ME可以存35条)??

如果我对你的问题的理解正确,你正在尝试读取收到的短信但无法列出它们。

嗯,您需要了解您的 GSM 模块默认情况下不存储任何传入的 SMS。你必须命令你的 GSM 模块来存储它。正如你提到的,你非常接近命令。你需要这样命令它:

AT+CPMS=mem1,mem2,mem3

AT+CPMS="SM","SM","SM"

根据文档,您可以提及三个内存作为不同操作的参数,例如:

mem1(在本例中为 SM)- 从中读取和删除消息的内存

mem2(在此示例中为 SM;但也可能是 ME)- 进行写入和发送操作的内存

mem3(在此示例中为 SM;但也可能是 ME)- 首选存储接收消息的内存

现在您的 GSM 模块会将所有传入的消息存储到 SIM 卡中,您将能够使用 AT+CMGL=ALL 列出所有消息

这种方式对我有用。