Gol*_*lar 7 modem audio gsm voice huawei
我有一个华为 E160E 和一个华为 K3765“GSM”调制解调器。
问题是:如何使用这些调制解调器发送和接收音频数据,拨打或接听电话/语音电话?
根据规范(E160E、K3765)和 AT 命令,两者似乎都支持语音通话:
发行
AT^CVOICE?
Run Code Online (Sandbox Code Playgroud)
结果是
^CVOICE:0,8000,16,20
OK
Run Code Online (Sandbox Code Playgroud)
(两个调制解调器相同)。
两个调制解调器都提供 3 个 USB 端口,我将它们称为/dev/ttyUSB0
, /dev/ttyUSB1
, /dev/ttyUSB2
(假设系统中没有其他 USB 串行设备)。K3765 额外注册了一个cdc_ether
以太网设备。我正在使用 Linux。
在两者上/dev/ttyUSB0
,/dev/ttyUSB2
我都可以放置 AT 命令并接收它们的答案;另外,/dev/ttyUSB2
报告状态消息(如^RSSI:23
,^BOOT:38021325,0,0,0,77
,^SIMST:1
或^SRVST:2
)。当有人打电话时,K3765 也会默认报告(RING
) 时,,而 E160E 不会。
在两个调制解调器上,我都可以使用 拨打电话,ATD<number>;
也可以使用 接听电话ATA
。
/dev/ttyUSB1
似乎什么都不做;简单地写入这个文件不会得到任何数据,从它读取不会得到任何数据。
如何将音频数据传入和传出调制解调器?
我已经找到了这个 stackexchange 问题和Sai Chaitanya的答案以及使用ffmpeg
/的评论ffplay
。ffplay
对我来说只是停滞不前,并且代码被剪断了,我无法尝试太多(不是程序员,特别是不在C
;并且根本不知道这是否适用于我的调制解调器)。
在互联网上,除了使用大软件包(例如星号)之外,我没有找到有关如何从这些设备中实际获取音频的信息——我不想要的,问题是如何获取它工作的基本方式。
那么,音频通信如何与(那些)华为 GSM 调制解调器一起工作?
调制解调器信息:ATI
-command 的输出:
E160E:
Manufacturer: huawei
Model: E160X
Revision: 11.609.10.02.432
IMEI: 354765038021325
+GCAP: +CGSM,+DS,+ES
OK
Run Code Online (Sandbox Code Playgroud)
K3765:
Manufacturer: huawei
Model: K3765
Revision: 11.126.03.06.00
IMEI: 353142047899771
+GCAP: +CGSM,+DS,+ES
OK
Run Code Online (Sandbox Code Playgroud)
拨打或接听电话后,需要通过发出以下命令来启用串行设备上的音频输出(每次通话时)
AT^DDSETEX=<number>
Run Code Online (Sandbox Code Playgroud)
(对于我的设备,仅AT^DDSETEX=2
支持将音频传入和传出第二个串行接口,即/dev/ttyUSB1
)。
然后,读取 from/dev/ttyUSB1
会提供一些数据,写入内容会/dev/ttyUSB1
在另一端的电话上发出一些噪音。
现在,找出如何正确读取和写入音频数据,以便可以听到正确的内容,而不仅仅是噪音,就只剩下技术练习了;-)。
感谢http://lists.ofono.org/pipermail/ofono/2012-March/012551.html,我在那里有了尝试这个的想法。
归档时间: |
|
查看次数: |
3852 次 |
最近记录: |