轮询调制解调器以获取传入数据的最佳设计是什么?

2024-01-04

我有一个 GSM 调制解调器连接到我的计算机,我想接收使用我编写的 python 程序发送到它的短信,我只是想知道轮询数据的最佳技术是什么。

我是否应该编写一个具有无限循环的程序来连续检查传入的短信,即在循环内程序发送 AT 命令并读取输入数据。或者调制解调器是否有一种方式向应用程序发出传入数据(短信)的信号。

我试图想象手机只是一个 GSM 调制解调器,当收到短信时,手机会提醒您该事件,或者手机软件是否有一个无限循环来轮询传入的数据。


我以前写过类似的东西。有一种方法可以使用 AT 命令告诉调制解调器在每次收到 SMS 时向您发出信号。

作为参考,我正在使用Maestro 100 GSM 调制解调器 http://www.maestro-wireless.com/modules/product.php在嵌入式应用程序中。

首先,您必须正确初始化调制解调器。我使用文本模式发送短信,但您可能使用不同的模式。从这些中选择你想要的。 AT+CNMI是最重要的。

AT&F0 # Restore factory defaults
ATE0  # Disable command echo
AT+CMGF=1 # Set message format to text mode
AT+CNMI=1,1,0,1,0 # Set new message indicator
AT+CPMS="SM","SM","SM" # Set preferred message storage to SIM

然后您将等待消息通知,如下所示。 (索引号不匹配,不同通知之间可能会有所不同)

+CMTI: "SM",0 # Message notification with index

当您收到该通知时,检索未读短信:

AT+CMGL="REC UNREAD"  # Retrieve unread messages

我建议您还添加一次民意调查,也许每 5 分钟左右一次,以防您错过通知。对于串行通信,您永远无法确定!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

轮询调制解调器以获取传入数据的最佳设计是什么? 的相关文章

随机推荐