如何在通话期间通过GSM调制解调器发送和接收一些数据(Python和AT命令)

如何在通话期间通过GSM调制解调器发送和接收一些数据(Python和AT命令)

问题描述:

我编写了下面的Python程序来与我的D-Link DWM-156 GSM modem进行通信。该程序等待来电,并在收到提示时接收该呼叫。如何在通话期间通过GSM调制解调器发送和接收一些数据(Python和AT命令)

幸运的正常工作;)

方案:在运行过程中

import time 
import serial 

phone = serial.Serial("COM10", 115200, timeout=5) 

try: 
    time.sleep(1) 
    while(1): 
     x = phone.readline() 
     print(x) 
     if (x == b'RING\r\n'): 
      phone.write(b'ATA\r') 
      time.sleep(0.5) 

finally: 
    phone.close() 

输出:

>>> ================================ RESTART ================================ 
>>> 
b'' 
b'' 
b'' 
b'\r\n' 
b'RING\r\n' #Here, my friend (named "Jimmy",for example), called me. 
b'OK\r\n' 
b'' 
b'' 
b'' 
b'' 
b'' 

正如你看到的上面,接收来电后,立即,GSM调制解调器接受它,并从那一点到最后,我们有一个活跃的校准湖

我的问题:

是否可以发送/这个通话过程中,接收的一些数据(SMS为例)?或者至少我可以在这个通话过程中在这个通道的另一端(即吉米手机的扬声器)发出噪音? (我不想送识别的声音,噪音是不够的。尽管有一种方法来发送识别声音真是再好不过了。)

2-为什么这个程序会检测来电,但没有探测到来袭短信?往下看。当Jimmy向我的GSM调制解调器发送3条短信时,您可以看到我的程序输出(并且他在我的手机中收到了所有这些通知“已发送”的通知)。

>>> ================================ RESTART ================================ 
>>> 
b'' 
b'' 
b'' 
b'' 
b'' 
b'' 
b'' 

正如你看到的上面,我收到什么,而他送3条短信!为什么?

+0

我还是不明白你想在通话过程中发送什么样的数据?......并且你说“噪声”足够了......为了什么目的? –

+0

数据的类型无关紧要。在第一步中,我只想看看是否有可能在通话过程中收到一些数据。例如,当你使用手机给你的朋友打电话时,如果你的朋友突然按下其中一个按键(1,2 ....),你会听到一声蜂鸣声,对吧?我想收到这个嘟嘟声!什么目的?目的是编写一个处理这种命令的程序(命令后的命令。)你有没有经历过那些自动答案,对方的女人说:“按1按x,按2按y”等等?我几乎想写一个这样的程序(不完全) – Abraham

+0

@ KhalilAmmour-خليلعمورI说我想发送“噪音”,因为:** 1 - **这些命令对于我们来说并不是真正可识别的声音,只是一些数字。 ** 2 - **我不想让问题变得复杂。 – Abraham

大多数GSM调制解调器将需要一些初始化,以便它们发送传入的SMS。 我相信这就是Khalil所指的。这些是在进入你的循环之前你应该发送的一组AT命令。

我以前用一些不同的GSM调制解调器品牌成功地完成了这项工作,并记得即使有一些设备特定的细节,您需要发送的一般命令也是一样的。

快速搜索导致我:

也许你可以把它们作为一个起点。