我想处理来自我的GSM调制解调器(SIM900,但还有其他几个)的短信,但没有+ CMTI通知。
代码将以外观的形式运行并执行各种命令,其中之一将是检查消息是否到达,然后对此执行操作。
当前,如果调制解调器接收到短信,则它会输出+ CMTI消息,该消息会进入缓冲区中的某处。
禁用该方法会更好吗?还是我应该解析结构?
处理接收和处理SMS消息的两种方法都有优缺点。
1)储存在SIM卡上
此选项有两个缺点。您必须从SIM卡中提取SMS消息,这一方面要花费时间。另一方面,它会使SIM卡本身降级。根据您收到的短信数量,这可能会导致SIM卡停止工作,也即不再能够执行读写操作。
2)主动处理
不利之处在于,您必须永久连接到调制解调器,并在收到消息时对其进行收集。因此,如果存在USB连接问题,则可能会丢失消息。有解决此问题的方法,例如通过配置调制解调器,以便您手动确认收到的SMS消息(AT + NACK)。这意味着移动运营商网络将在稍后的时间点重新发送消息。
如果您有来自不同制造商的调制解调器,那么对于不请自来的消息,配置有时会有些棘手。如果选择此路线,请当心。通过AT + CNMI(参数因制造商/型号而异),您可以配置调制解调器如何处理未经请求的消息。当没有“主机”连接到调制解调器等时,这也涉及调制解调器如何处理消息。我真的建议您为调制解调器找到AT命令手册,并查看那里可能发生的情况。
总而言之,我个人建议采用主动提供的方法,因为与使用SIM卡来抓取和删除收到的消息相比,处理消息要舒适得多。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句