【发布时间】:2020-12-03 01:41:50
【问题描述】:
目前,我正在使用 simcom SIM7600G-H(使用 AT 命令集)创建语音呼叫,以通知用户一些指定的通知。我可以创建语音通话并将其挂断,但不知道如何在其中播放预先录制的音频。无论如何要执行该任务。我使用 simcom 创建语音通话的代码如下:
import serial
import time
ser = serial.Serial("COM5", 115200)
ser.flushInput()
phone_number = '09xxxxxxx'
text_message = 'test simcom 7600'
def checkStart():
while True:
ser.write(('AT\r\n').encode())
time.sleep(0.1)
if ser.inWaiting():
time.sleep(0.01)
recBuff = ser.read(ser.inWaiting())
print('try to start\r\n' + recBuff.decode() )
print(recBuff.decode())
if 'OK' in recBuff.decode():
print("ok")
recBuff = ''
return
else:
time.sleep(1)
def sendAt(command,back,timeout):
rec_buff = ''
ser.write((command+'\r\n').encode())
time.sleep(timeout)
if ser.inWaiting():
time.sleep(0.01 )
rec_buff = ser.read(ser.inWaiting())
if back not in rec_buff.decode():
print(command + ' ERROR')
print(command + ' back:\t' + rec_buff.decode())
return 0
else:
print(rec_buff.decode())
return 1
def PhoneCall(phone_number):
sendAt('ATD'+phone_number+';','OK',1)
time.sleep(20)
ser.write('AT+CHUP\r\n'.encode())
print('Call disconnected')
try:
checkStart()
PhoneCall(phone_number)
time.sleep(20)
sendAt("ATH")
except:
print("Unable to connect!")
if ser != None:
ser.close()
【问题讨论】:
-
根据AT命令指南,
AT+CPCMREG=1应该“启动usb音频功能,需要在调用start(ATDxxx;)后使用”。因此,您将能够按照in this document 的描述在 USB 音频端口(在端口枚举中描述为“Audio 9001”)上发送 PCM 数据。如果您找到将音频文件发送到该端口的方法,您应该完成您的任务。
标签: python at-command phone-call sim-card