www.alientek.com
ALIENTEK STM32 开发板
AN1415
AN1415 ATK-SIM900(A) GSM/GPRS 模块 DTMF 解码说明
本文档分为如下几部分:
1, 适用范围
2, 使用说明
1、适用范围
本文介绍了如何通过 AT 命令来使用 ATK-SIM900A 和 ATK-SIM900 的 DTMF 检测功能,由于
ATK-SIM900A 和 ATK-SIM900 的固件版本不同,可能导致部分模块不支持 DTMF 解码。因此,在
使用 DTMF 解码功能之前,请先确定 ATK-SIM900A 的固件版本,查询以及升级固件的详细步骤
请 参 考 文 档 《 ATK-SIM900(A) 模 块 升 级 说 明 _AN1413.pdf 》, 只 有 在 版 本 号 是 :
1137B01SIM900A64_ST_ENHANCE,或更高版本时才能完成以下功能。(特别注意:本文
档的 DTMF 解码教程不仅适用于 ATK-SIM900A 模块,同样也适用于 ATK-SIM900 模块,指令和
操作步骤完全兼容,这里仅以 ATK-SIM900A 为例讲解。)
2、使用说明
2.1 ATK-SIM900A 的 DTMF 指令
DTMF 检测的指令非常简单,只需要发送 AT+DDET=1 指令,返回 OK 时,代表解码功能激活。
当发送 AT+DDET=0,若返回 OK,则代表关闭了 DTMF 检测。但是需要注意的是,要在电话连接
之前发送指令 AT+DDET=1 并且返回 OK 之后,才可以在通话中进行 DTMF 检测,否则无效,可
以解码的字符有:1、2、3、4、5、6、7、8、9、0、*、#。
2.2 硬件连接
在使用 ATK-SIM900A 模块 DTMF 解码之前,请先确保硬件都已经连接好了:
1, 给 ATK-SIM900A 模块装上 SIM 卡。
2, 通过一根 USB 转 RS232 串口线连接 ATK-SIM900A 模块与电脑。
3, 请按照文档《ATK-SIM900A 模块升级说明_AN1413.pdf》的内容查询并升级 ATK-SIM900A
的固件(若已经升级固件,此步骤可以忽略)。
4, 给 ATK-SIM900A 模块上电(按 K1,蓝色电源指示灯亮)。
5, ATK-SIM900A 模块开机(长按 PWR_KEY 键开机,红色 NET_STA 指示灯闪烁)。
6, 准备一部能够正常使用的移动手机设备。
要完成本文档例程的所有功能测试,请大家务必准备好以上硬件,否则 DTMF 解码功能可
能无法实现。本节所需要用到的指令是 ATE1/ AT+CPIN?/ ATA /ATH / AT+CLIP/ AT+COLP/AT+DDET 等
六条指令。
ATE1,用于设置回显(默认开启),即模块将收到的指令完整的返回给发送设备,方便调试。
AT+CPIN?,该指令用于查询 SIM 卡的状态,主要是 PIN 码,如果该指令返回:+CPIN:READY,
则表明 SIM 卡状态正常,返回其他值,则有可能是没有 SIM 卡,请重新安装。
ATA,用于应答电话,当收到来电的时候,给模块发送:ATA,即可接听来电。
www.openedv.com 开源电子网 2014-09-13
www.alientek.com
ALIENTEK STM32 开发板
AN1415
ATH,用于挂断电话,要想结束正在进行的通话,只需给模块发送:ATH,即可挂断。
AT+CLIP,用于设置来电显示,通过发送:AT+CLIP=1,可以实现设置来电显示功能,
模块接收到来电的时候,会返回来电号码。
AT+COLP,用于设置被叫号码显示,这里我们通过发送:AT+COLP=1,开启被叫号码
AT+DDET,用于使能 DTMF 检测,通过发送 AT+DDET=1,可以实现在通话过程中的 DTMF 解
显示,当成功拨通的时候(被叫接听电话),模块会返回被叫号码。
码功能。
首先,我们需要对串口助手进行简单设置,打开:ATK-SIM900A 模块资料\3,配套软件\串
口调试助手,选择正确的 COM 口(连接到 ATK-SIM900A 模块的 COM 端口,我电脑是 COM4),
然后设置波特率为 115200,勾选发送新行(必选!即 XCOM 自动添加回车换行功能),然后先
发送 AT 到 ATK-SIM900A 模块来验证通信是否正常,如图 2.2.1 所示:
图 2.2.1 发送 AT 指令,确认连接是否正常
可以看到,模块返回 OK,说明我们的串口和模块连接是正常的。接着依次发送:ATE1,设
置回显,再发送:AT+CLIP=1,开启来电显示功能,最后发送:AT+DDET=1,开启 DTMF 解码功
能。如图 2.2.1 所示,至此,我们就开启了 SIM900A 模块的 DTMF 解码功能。
接下来可以使用移动手机设备拨打 ATK-SIM900A 模块上的手机号码。此时,模块在有来电
的时候,可以在串口助手中接收到来电号码,如:+CLIP: "13437811134",161,"",," ",0,表示当
前接入号码是:13437811134。如图 2.2.2 所示。关于拨打/接听电话的详细操作步骤,可以参考
文档:《ATK-SIM900A GSM(GPRS)模块用户手册.pdf》,
当接收到来电后,发送:ATA,即可接听来电,当我们在移动手机设备上(或者电话机)按
下不同的数字,串口助手将会返回相对应的字符,这就实现了 DTMF 解码功能,如图 2.2.2 所示:
www.openedv.com 开源电子网 2014-09-13
www.alientek.com
ALIENTEK STM32 开发板
AN1415
图 2.2.2 DTMF 解码成功
最后可以发送:ATH,来挂断电话。
至此,关于 ATK-SIM900A GSM/GPRS 模块的 DTMF 解码的操作,我们就讲完了,该功能
相对简单,但是实际用处确是很大的,可以用于各种远程控制。
广州市星翼电子科技有限公司
2014-09-13
公司网址:www.alientek.com
技术论坛:www.openedv.com
电话:020-38271790
传真:020-36773971
www.openedv.com 开源电子网 2014-09-13