没有合适的资源?快使用搜索试试~ 我知道了~
4G模块ATK-SIM900A模块使用说明手册
需积分: 0 0 下载量 177 浏览量
2023-03-07
20:52:33
上传
评论
收藏 2.07MB PDF 举报
温馨提示
试读
46页
4G模块SIM900A模块使用指南
资源推荐
资源详情
资源评论
AN1411A ATK-SIM900A GSM/GPRS 模块使用说明
本应用文档(AN1411A)将教大家如何在 ALIENTEK 探索者 STM32F407 开发板上使用
ATK-SIM900A GSM/GPRS 模块。
本文档分为如下几部分:
1, ATK-SIM900A GSM/GPRS 模块简介
2, 硬件连接
3, 软件实现
4, 验证
1、ATK-SIM900A GSM/GPRS 模块简介
ATK-SIM900A-V15(V15 是版本号,下面简称 ATK-SIM900A)是 ALIENTEK 推出的一款高
性能工业级 GSM/GPRS 模块(开发板)。ATK-SIM900A 模块板载 SIMCOM 公司的工业级双频
GSM/GPRS 模块:SIM900A,工作频段双频:900/1800Mhz,可以低功耗实现语音、SMS(短
信、彩信)、数据和传真信息的传输。
ATK-SIM900A 模块支持 RS232 串口和 LVTTL 串口(即支持 3.3V/5V 系统),并带硬件流控
制,支持 5V~24V 的超宽工作范围,使得本模块可以非常方便的与您的产品进行连接,从而
给您的产品提供包括语音、短信和 GPRS 数据传输等功能。
1.1 模块资源简介
ATK-SIM900A 模块接口丰富,功能完善,尤其适用于需要语音/短信/GPRS 数据服务的各
种领域,其资源图如图 1.1.1 所示:
图 2.1.1 ATK-SIM900A 模块资源图
从图 1.1.1 可以看出,ATK-SIM900A 模块不但外观漂亮,而且功能齐全、接口丰富,模
块尺寸(不算天线部分)为 80mm*58mm,并带有安装孔位,非常小巧,并且利于安装,可
RS232 选择
接口
耳机座
麦克风
(MIC)座
RTC 后备
电池
ADC 和 LCD
显示接口
串口控制和
PKEY 引出接口
SP3232
SIM900A
模块
RS232
串口
锂电池
接口
MP2303
电源输入
接口
电源防反接
二极管
电源
开关
TVS
电源保护
PWM、IIC以及 GPIO
引出接口
翻盖式
SIM 卡座
电源
指示灯
PIO 和 STATUS
引出接口
SMA 天线接口
和小辣椒天线
网络状态
指示灯
SMF05C
ESD 保护
开机/关机
按键
www.alientek.com
ALIENTEK STM32开发板
AN1411A
www.openedv.com
开源电子网
2014-10-28
方便应用于各种产品设计。
ALIENTEK ATK-SIM900A 模块(开发板)板载资源如下:
◆ GSM 模块:SIM900A
◆ 1 个 RTC 后备电池
◆ 1 个麦克风接口
◆ 1 个耳机接口
◆ 1 个 RS232 选择接口
◆ 1 个 RS232 串口
◆ 1 个 锂电池接口
◆ 1 个电源输入接口
◆ 1 个电源指示灯(蓝色)
◆ 1 个电源开关
◆ 1 个翻盖式 SIM 卡座
◆ 1 个 SMA 天线接口并配套小辣椒天线
◆ 1 个开机/关机按键
◆ 1 个网络状态指示灯(红色)
◆ SIM900A 模块的所有 IO 口均用排针引出,方便使用
ATK-SIM900A 模块(开发板)采用工业级标准设计,特点包括:
板载 RS232 串口(支持硬件流控制),方便与 PC/工控机等设备连接;
板载 3.5mm 耳机和麦克风座,方便进行语音通信开发;
引出所有 SIM900A 模块的 IO 口,并对通信部分 IO 口做了兼容性设计,方便连接
3.3V/5V 单片机系统;
板载高效同步降压电路,转换效率高达 90%,支持超宽电压工作范围(5~24V),非
常适合工业应用;
板载电源防反接保护,TVS 电源保护和 SIM 卡 ESD 保护,保护功能完善;
板载 RTC 后备电池(XH414H-IV01E),无需担心掉电问题;
板载小辣椒天线,能有效提高信号接收能力;
采用国际 A 级 PCB 料,沉金工艺加工,稳定可靠;
采用全新元器件加工,纯铜镀金排针,坚固耐用;
人性化设计,各个接口都有丝印标注,使用起来一目了然;接口位置设计安排合理,
方便顺手。
PCB 尺寸为 80mm*58mm,并带有安装孔位,小巧精致;
ATK-SIM900A 模块的资源介绍,我们就介绍到这里,详细的介绍,请看《ATK-SIM900A
GSM(GPRS)模块用户手册》相关章节。
1.2 模块使用
本文档,我们将介绍大家如何通过 ALIENTEK STM32 开发板连接 ATK-SIM900A 模块,实
现:拨号测试(电话的拨打和接听)、短信测试(读短信和写短信)和 GPRS 测试(TCP 通信
和 UDP 通信)等 3 大功能,本节我们将介绍要实现这些功能所需要的相关知识。
1.2.1 AT 指令简介
AT 即 Attention,AT 指令集是从终端设备(Terminal Equipment,TE)或数据终端设备(Data
Terminal Equipment,DTE)向终端适配器(Terminal Adapter, TA)或数据电路终端设备(Data
Circuit Terminal Equipment,DCE)发送的。通过 TA,TE 发送 AT 指令来控制移动台(Mobile
Station,MS)的功能,与 GSM 网络业务进行交互。用户可以通过 AT 指令进行呼叫、短信、
www.alientek.com
ALIENTEK STM32开发板
AN1411A
www.openedv.com
开源电子网
2014-10-28
电话本、数据业务、传真等方面的控制。
AT 指令必须以"AT"或"at"开头,以回车(<CR>)结尾。模块的响应通常紧随其后,格式
为:<回车><换行><响应内容><回车><换行>。
我们通过串口调试助手 SSCOM 来测试一下,打开:ATK-SIM900A 模块配套资料\3,配
套软件\串口调试助手\ XCOM.exe,选择正确的 COM 号(连接到 ATK-SIM900A 模块的 COM
端口,我电脑是 COM2),然后设置波特率为 115200,勾选发送新行(必选!即 sscom 自动
添加回车换行功能),然后发送 AT 到 ATK-SIM900A 模块,如图 1.2.1.1 所示:
图 1.2.1.1 AT 指令测试
图 1.2.1.1 中,我们发送了 2 次 AT 指令,第一次看到有乱码,这是因为模块上电后,还
没有实现串口同步,在收到第一次数据(不一定要 AT 指令)后,模块会自动实现串口同步(即
自动识别出了通信波特率),后续通信就不会出现乱码了。因为 SIM900A 具有自动串口波特
率识别功能(识别范围:1200~115200),所以电脑(或设备)可以随便选择一个波特率(不超
过识别范围即可),来和模块进行通信,这里我们选择最快的 115200。
从图 1.2.1.1 可以看出,我们现在已经可以和 SIM900A 模块进行通信了,我们通过发送
不同的 AT 指令,就可以实现对 SIM900A 的各种控制了。
SIM900A 模块提供的 AT 命令包含符合 GSM07.05、GSM07.07 和 ITU-T Recommendation
V.25ter 的指令,以及 SIMCOM 自己开发的指令。接下来我们介绍几个常用的 AT 指令:
1, AT+CPIN?
该指令用于查询 SIM 卡的状态,主要是 PIN 码,如果该指令返回:+CPIN:READY,则表
明 SIM 卡状态正常,返回其他值,则有可能是没有 SIM 卡。
2, AT+CSQ
该指令用于查询信号质量,返回 SIM900A 模块的接收信号强度,如返回:+CSQ: 24,0,
表示信号强度是 24(最大有效值是 31)。如果信号强度过低,则要检查天线是否接好了?
3, AT+COPS?
www.alientek.com
ALIENTEK STM32开发板
AN1411A
www.openedv.com
开源电子网
2014-10-28
该指令用于查询当前运营商,该指令只有在连上网络后,才返回运营商,否则返回空,
如返回:+COPS:0,0, "CHINA MOBILE",表示当前选择的运营商是中国移动。
4, AT+CGMI
该指令用于查询模块制造商,如返回:SIMCOM_Ltd,说明 SIM900A 模块是 SIMCOM 公
司生产的。
5, AT+CGMM
该指令用于查询模块型号,如返回:SIMCOM_SIM900A,说明模块型号是 SIM900A。
6, AT+CGSN
该指令用于查询产品序列号(即 IMEI 号),每个模块的 IMEI 号都是不一样的,具有全球
唯一性,如返回:869988012018905,说明模块的产品序列号是:869988012018905。
7, AT+CNUM
该指令用于查询本机号码,必须在 SIM 卡在位的时候才可查询,如返回:+CNUM:
"","15902020353",129,7,4,则表明本机号码为:15902020353。另外,不是所有的 SIM 卡都
支持这个指令,有个别 SIM 卡无法通过此指令得到其号码。
8, ATE1
该指令用于设置回显模式(默认开启),即模块将收到的 AT 指令完整的返回给发送端,
启用该功能,有利于调试模块。如果不需要开启回显模式,则发送 ATE0 指令即可关闭(我
们的例程就需要这样),这样收到的指令将不再返回给发送端,这样方便程序控制。
以上就是我们介绍的几个常用的 AT 指令,当然还有其他一些常用的 AT 指令,比如
ATD/ATA/ATH 等,我们在后面介绍。关于 SIM900A 详细的 AT 指令介绍,请参考:ATK-SIM900A
模块配套资料\4,SIM900A 模块资料\ SIM900A_AT 命令手册_V1.05.pdf 这个文档。
发送给模块的指令,如果执行成功,则会返回对应信息和"OK",如果执行失败/指令无
效,则会返回"ERROR"。
1.2.2 拨打/接听电话
使用 ATK-SIM900A 模块可以非常方便的的进行拨打和接听电话。实现拨号和接听电话,
常用的的指令有:ATE0/ATD/ATA/ATH/AT+COLP/AT+CLIP/AT+VTS 等 6 条 AT 指令。
ATE0,用于关闭回显,在通过电脑串口调试助手调试的时候,我们发送:ATE1,开启回
显,可以方便调试,但是我们通过单片机程序控制的时候,用不到回显功能,所以发送:ATE0,
将其关闭。
ATD,用于拨打任意电话号码,格式为:ATD+号码+;,末尾的’;’一定要加上,否则不能
成功拨号,如发送:ATD10086;,即可实现拨打 10086。
ATA,用于应答电话,当收到来电的时候,给模块发送:ATA,即可接听来电。
ATH,用于挂断电话,要想结束正在进行的通话,只需给模块发送:ATH,即可挂断。
AT+COLP,用于设置被叫号码显示,这里我们通过发送:AT+COLP=1,开启被叫号码显
示,当成功拨通的时候(被叫接听电话),模块会返回被叫号码。
AT+CLIP,用于设置来电显示,通过发送:AT+CLIP=1,可以实现设置来电显示功能,模
块接收到来电的时候,会返回来电号码。
AT+VTS,产生 DTMF 音,该指令只有在通话进行中才有效,用于向对方发送 DTMF 音,
比如在拨打 10086 查询的时候,我们可以通过发送:AT+VTS=1,模拟发送按键 1。
以上就是在拨打/接听电话时经常用到的几条指令,通过这几条指令,就可以实现电话
的拨打和接听了,不过首先要保证模块成功接入到 GSM 网络,通过发送:AT+COPS?,如
果返回:+COPS: 0,0,"CHINA MOBILE",则说明模块成功连接到了 GSM 网络,可以正常使用了,
网络运营商为"CHINA MOBILE"(中国移动)。
www.alientek.com
ALIENTEK STM32开发板
AN1411A
www.openedv.com
开源电子网
2014-10-28
这些指令的使用示例可以参考《ATK-SIM900A GSM(GPRS)模块用户手册》2.3.3 节。
1.2.3 短信的读取与发送
使用 ATK-SIM900A 模块,我们可以很方便的进行中英文短信的读取与发送。短信的读取
与发送将用到的指令有:AT+CNMI/ AT+CMGF / AT+CSCS / AT+CSMP / AT+CMGR/AT+CMGS/
AT+CPMS 等 7 条 AT 指令。
AT+CNMI,用于设置新消息指示。发送:AT+CNMI=2,1,设置新消息提示,当收到新消
息,且 SIM 卡未满的时候,SIM900A 模块会通过串口输出数据,如:+CMTI: "SM",2,表示收
到接收到新消息,存储在 SIM 卡的位置 2。
AT+CMGF,用于设置短消息模式,SIM900A 支持 PDU 模式和文本(TEXT)模式等 2 种
模式,发送:AT+CMGF=1,即可设置为文本模式。
AT+CSCS,用于设置 TE 字符集,默认的为 GSM 7 位缺省字符集,在发送纯英文短信的
时候,发送:AT+CSCS="GSM",设置为缺省字符集即可。在发送中英文短信的时候,需要发
送:AT+CSCS="UCS2",设置为 16 位通用 8 字节倍数编码字符集。
AT+CSMP,用于设置短消息文本模式参数,在使用 UCS2 方式发送中文短信的时候,需
要发送:AT+CSMP=17,167,2,25,设置文本模式参数。
AT+CMGR,用于读取短信,比如发送:AT+CMGR=1,则可以读取 SIM 卡存储在位置 1
的短信。
AT+CMGS,用于发送短信,在"GSM"字符集下,最大可以发送 180 个字节的英文字符,
在"UCS2"字符集下,最大可以发送 70 个汉字(包括字符/数字)。
AT+CPMS,用于查询/设置优选消息存储器,通过发送:AT+CPMS?,可以查询当前 SIM
卡最大支持多少条短 信存 储,以及当 前存储了多少 条短 信等信息。如返回: +CPMS:
"SM",1,50,"SM",1,50,"SM",1,50,表示当前 SIM 卡最大存储 50 条信息,目前已经有 1 条存储
的信息。
以上就是短信读取与发送需要用到的一些 AT 指令,这些指令的使用示例可以参考
《ATK-SIM900A GSM(GPRS)模块用户手册》2.3.4 节。
为方便实现中英文短信的读取与发送,本文档例程采用文本模式(AT+CMGF=1)、 UCS2
编码字符集(AT+CSCS="UCS2"),这样电话号码和短信内容,全部是采用 UNICODE 编码的字
符串。在读取短信的时候,需要将模块返回的 UNICODE 编码字符串转换为 GBK/ASCII 码,以
便显示(我们的例程只支持 GBK/ASCII 编码的汉字/字符显示)。而在发送短信的时候,需要
将 GBK/ASCII 编码的电话号码和短信内容转换为 UNICODE 编码的字符串,发送给ATK-SIM900A
模块,实现中英文短信的发送。
在《 ATK-SIM900A GSM(GPRS)模块用户手册》2.3.4 节里面,我们使用了一个汉字 Unicode
互换工具的软件来实现汉字和 UNICODE 的互换,而在本文档例程里面,我们要在开发板液
晶上面显示短信内容,而液晶只支持 GBK 编码的汉字显示,所以我们需要一个 GBK/UNICODE
互换编码表,通过查表来实现 UNICDOE 和 GBK 的互换。这里我们利用 FATFS 提供的 cc936.c
里面的数组 uni2oem 来实现,不过为了节省空间,我们将该码表转换为:UNIGBK.BIN,并存
放到了外部 FLASH 芯片(这部分实现请参考《STM32 开发指南》第 46 章 汉字显示实验),
通过 ff_convert 函数,我们可以实现 UNICODE 码和 GBK 码的互换,不过都是十六进制格式
的,但是 ATK-SIM900A 模块接受的 UNCODE 编码,都是采用字符串格式的形式,所以需要做
一下字符串/十六进制格式转换。
比如汉字“好”的 GBK 编码是 0XBAC3,我们需要先将其转换为 UNCODE 编码:0X597D,
然后再转换为 UNICODE 字符串”597D”,最后再发送给 ATK-SIM900A 模块,才可以正常使用。
而相反的,我们的程序在收到模块发过来的 UNICODE 字符串”597D”后,必须先将其转换为
www.alientek.com
ALIENTEK STM32开发板
AN1411A
www.openedv.com
开源电子网
2014-10-28
剩余45页未读,继续阅读
资源评论
嵌入式知行
- 粉丝: 3248
- 资源: 34
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功