如何禁用GSM Modem未经请求的短信到达消息?

问题描述 投票:0回答:2

我想处理来自我的GSM调制解调器的短信(SIM900,但也有其他几个),但没有+ CMTI通知。

代码将在外观中运行并执行各种命令,其中之一是检查消息是否到达然后对其采取行动。

目前,如果调制解调器接收到短信,它会输出+ CMTI消息到达缓冲区中的某个位置。

禁用这种方法是更好的方法,还是应该解析结构?

gsm at-command
2个回答
2
投票

处理接收和处理SMS消息的两种方式都有利弊。

1)存储在SIM卡上

这个选项有几个缺点。您必须从SIM卡中提取SMS消息,这一方面需要花费时间。另一方面,它会降低SIM卡本身的性能。根据您收到的SMS数量,这可能会导致SIM卡停止工作,又无法进行读写操作。

2)处理未经请求的

这里的缺点是你必须永久连接到调制解调器并收集消息。因此,如果存在USB连接问题,则可能会丢失消息。有办法解决这个问题,例如通过配置调制解调器,以便您手动确认收到的SMS消息(AT + NACK)。这意味着移动运营商网络将在稍后的时间点重新发送消息。

当您拥有来自不同制造商的调制解调器时,对于未经请求的消息,配置有时会有点棘手。如果你选择这条路线,请留意那里。通过AT + CNMI(参数因制造商/型号而异)您可以配置调制解调器处理未经请求的消息的方式。这还涉及当没有“主机”连接到调制解调器等时调制解调器如何处理消息...我真的建议找到调制解调器的AT命令手册,看看那里有什么可能。

总结一下,我个人推荐未经请求的方法,因为它更方便处理消息而不是访问SIM卡来获取和删除收到的消息。


2
投票

请跑

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

此命令使所有SMS通知静音

© www.soinside.com 2019 - 2024. All rights reserved.