通过GSM A7672s模块拨打电话并播放其中的音频文件

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

我正在开发一个项目,这就是我的目标 - 当检测到某些情况时,我们拨打一个号码,并在通话中播放音频来提醒用户。我不太确定如何用 AT 命令实现这一点。

我尝试过的:

  1. 我首先尝试传输文件。成功。但我无法播放并测试它,因为我没有可以连接的扬声器。
AT+FSCD=C:                      \\ Changing to C dir
AT+CFTRANRX="c:/r1.amr",255     \\ Transfer to r1.amr
-- hex of r1.amr --
  1. 拨打电话
ATD*\number\*                      \\ Making a call to the number;
AT+CDTAM=1                         \\ Setting mode to 'Remote path'
AT+CCMXPLAY="c:/r1.amr",1,255      \\ Playing the audio file
ATH                                \\ Hang up call 

我的疑问: 我是使用 AT 命令和 GSM 的新手,所以请澄清以下内容:

  1. 我根本不知道是否应该使用 CDTAM。看到是关于 TTS 的。但即使我尝试没有它也不会成功。 (另外 AT+CTTS=? 返回 ERROR 所以我猜我的模块没有此功能)
  2. 播放音频文件时的“远程路径”和“本地路径”是什么?
  3. 我的命令顺序正确吗?
  4. 如果我想实现我的目标,正确的命令及其顺序应该是什么?

对此有任何帮助,我们将不胜感激。

参考资料:

  1. 手册 - https://www.ktron.in/wp-content/uploads/2023/03/A76XX-Series_AT_Command_Manual_V1.06-4.pdf
  2. 类似的问题 - https://stackoverflow.com/questions/56909155/gsm-sim800c-text-to-speech-audio-stream/60994232#60994232
gsm at-command gsmcomm
1个回答
0
投票

我也有同样的问题。 SIM7600 AT命令文档似乎暗示声音文件必须位于“E:/”中,但我的SIM7600G没有“E:”盘。如果我指定“C:/blah.wav”,PLAY 命令不会返回错误,但它也不会播放任何内容。虽然我的芯片确实有 TTS,但说它很糟糕也是一种恭维。所以我打算做的是使用 espeak 生成一些音频,它确实做到了,而且我认为我正确上传了文件。我编写了一个小 C 程序来打开 /dev/ttyUSB3 (在我的例子中),然后写入该文件的二进制内容(一次 8k)。它在芯片上创建了一个大小合适的文件,但它有点像黑洞。您提到使用十六进制,但是当我尝试使用“file.txt”3 手动输入 414243 时,它按字面意思创建了一个包含“414”而不是我想要的“ABC”的文件。我确实发现,如果我尝试播放文件,然后尝试 TTS 某些内容,TTS 不起作用。另外 espeak 生成一个 16 位 22kHz 文件,然后我使用 sox 将其修剪到 16 位 8kHz,但这也不起作用。那么你有进步吗?

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