当前位置:文档之家› GSM模块MMS命令应用指导V1.00

GSM模块MMS命令应用指导V1.00

GSM模块MMS命令应用指导

文档名GSM模块MMS命令应用指导

版本 1.00

日期2009-11-24

状态正式发布

版权:

版权所有?上海移为通信技术有限公司2009。保留一切权利。

Copyright ? Quectel Wireless Solutions Co., Ltd. 2009

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

Q u e c t e l

C o n f i d

e n t

i a l

目录内容

目录内容...........................................................................................................................................2 图索引...............................................................................................................................................3 0. 修改记录......................................................................................................................................4 1. 概要. (5)

1.1. 参考文档............................................................................................................................5 2. MCU 常规过程开发. (6)

2.1. 开机流程............................................................................................................................6 2.2. 关机方式............................................................................................................................7 2.3. AT 命令交互方式................................................................................................................7 2.4. 模块低功耗和UART 的关系.............................................................................................8 3. 彩信开发过程注意点 (9)

3.1. 运行彩信AT 命令时需要打开UART 硬件流控.................................................................9 3.2. 如何进行更加可靠的文件上传和下载............................................................................9 3.3. 激活彩信服务所在网络..................................................................................................10 3.4. 判断网络是否正常..........................................................................................................11 3.5. 发送和下载彩信过程中需要注意的一些问题.. (11)

3.5.1. 发送彩信.................................................................................................................11 3.5.2. 在彩信的发送过程中接收到新彩信通知.............................................................12 3.5.3. 在彩信的下载过程中接收到新彩信通知.............................................................12 3.6. 删除彩信..........................................................................................................................12 3.7. 彩信发送和接收流程图.. (13)

Q u e c t e l C

o n f i d e n t i a l

图索引

图 1: MCU启动模块流程图 (6)

图 2: MCU上传文件参考流程图 (10)

图 3:彩信操作总流程图 (13)

图 4:彩信发送流程图 (14)

图 5:彩信接收流程图 (15)

Q u e c t e l

C o n f i d

e n t

i a l

0. 修改记录

版本日期作者修改内容记录1.00 2009-11-24

辛健初始版本

Q u e c t e l

C o n f i d

e n t

i a l

1. 概要

该文档主要描述MCU进行彩信开发过程中需要注意的一些事项。

1.1. 参考文档

表1: 参考文档表 序号 文档名 备注

[1] Mxx ATC AT 命令集简介 [2] GSM_TCPIP_AN TCPIP 应用指导

[3] GSM_MMS_ ATC

彩信相关AT 命令简介及应用指导

[4] GSM 模块AT 命令应用指导 AT 命令操作应用指导 [5] GSM 模块使用SSCOM 工具操作

MMS 使用SSCOM 工具操作MMS 应用指导 [6] Mxx_HD 模块硬件接口指导文档

Q u e c t e l C

o n f i d e n t i a l

2. MCU 常规过程开发

本章节主要描述客户在使用模块时需了解的一些基本信息,包括模块开机流程、AT命令交互方式等。

2.1. 开机流程

模块开机是一个较复杂的过程。MCU通过编写完善的开机流程,可以使系统更加稳定。

下面,我们向客户推荐使用下面的流程图进行模块开机。

图 1: MCU启动模块流程图

Q u e c t e l C

o n f i d e n t i a l

MCU通过UART与模块相连,首先,MCU配置UART在某个固定的波特率上工作(注意:模块默认配置是打开UART硬件流控功能)。Power On 模块后, MCU通过UART给模块发送AT命令。

Quectel模块波特率默认出厂配置是自适应波特率。故上图1中,Power On模块后执行过程①②③的目的是为了使MCU同步上处于自适应波特率状态的模块。

建议客户务必执行上图1中过程④⑤。过程④“AT+IPR?”查询模块当前波特率。过程⑤中命令“AT+IPR=xxx&W”的“xxx ”表示MCU当前正在运行的固定波特率值,”&W ”表示保存设置,使模块下次启动时工作于指定的固定波特率。这样可以使系统更加稳定。

上述过程完成后,MCU开始执行“后续处理系统正常启动流程⑥”,具体参考文档“GSM 模块AT命令应用指导”中“模块开关机”章节。

关于“系统异常⑦”,具体处理方式可以和Quectel的工程师进一步沟通。

在上面的流程图中,建议MCU 在发送AT命令后等待100ms时长以接收命令返回结果, 100ms时长只是个建议参考值。事实上不同的AT命令在执行后返回结果的时间是不一样的。具体参考下节的“AT命令的交互方式”。

需要提醒是,Quectel模块出厂默认配置是工作在自适应波特率。在模块运行的过程中,客户虽然通过“AT+IPR=xxx&W”配置了固定波特率。若客户一旦重新下载了Quectel 模块的Firmware,这些配置会被恢复到出厂默认配置。

2.2. 关机方式

客户可以使用多个方式进行关机,如下:

第一种方式,使用“AT+QPOWD=1”关机(具体可以参考“GSM模块AT命令应用指导.pdf”)。运行该关机命令后,模块返回“NORMAL POWER DOWN ”提示模块关机。模块完全被关机则需要等待一段时间(可能达8秒左右,原因是整个关机流程包含网络注销的过程)。

第二种方式,拉低“PWRKEY ”0.6~1秒进行关机(具体可以参考M10_HD_V1.00.pdf文档)。当模块出现“NORMAL POWER DOWN ”后模块关机,完全被关机需要等待一段时间(可能达8秒左右,原因是整个关机流程包含网络注销的过程)。

最后一种方式是直接拉低“EMERG_OFF ”。拉低20毫秒后模块立即关机(具体可以参考Mxx_HD文档)。这是 一种“暴力性”操作方式,使用这个方式存在一定的风险。假如系统正在写FLASH,那么这个写过程将被强制停止了。所以通常不建议客户选择该方式来操作模块关机。

2.3. AT 命令交互方式

AT命令是以交互方式运行。MCU经过串口给模块发送一个AT命令后,MCU要“等待一段时间”来“侦听”串口上是否有模块的AT命令回应,在接收到AT命令回应后,MCU才能发送下

Q u e c t e l C

o n f i d e n t i a l

一个AT命令。

MCU在发送出AT命令后需要等待多久的时间才能获取到模块对AT命令的运行结果取决于AT命令本身。如果客户运行命令“ATI”,那么MCU基本上能在几毫秒内接收到相应返回值;如果客户运行命令“AT+CGACT=1,1”去激活GPRS PDP,那么可能要等1秒甚至

更长时间后才能获取到激活成功返回的“OK ”

(RF信号弱的情况下,这个激活动作需要更多响应时间)。

2.4. 模块低功耗和UART 的关系

模块CPU运行存在两个状态:RUNING状态和SLEEPING状态(低功耗的状态)。模块出厂

默认配置是不允许进入SLEEPING状态的。客户可以设置“AT+QSCLK=1&W”使模块允许进入SLEEPING状态,注意“AT+QSCLK=1”并不是进入SLEEPING状态的唯一条件。

在设置“AT+QSCLK=1”后,客户还必须拉高UART的DTR引脚,那么模块才有可能进入SLEEPING状态。而拉低UART的DTR引脚,模块将会被唤醒,并且在拉低期间模块将不能进入SLEEPING状态。

需要注意的是,当模块处于SLEEPING状态时,MCU向模块发送的数据将不被模块接收,所以,在某些情况下,客户在发送AT命令前,可以先拉低DTR引脚(通过这个方法唤醒模块),在100毫秒后再在串口上发送命令,当命令执行完后,再拉高DTR引脚。

处于SLEEPING状态的模块,可以被Keyboard、外部中断、闹钟等唤醒,当然网络事件也会唤醒模块,如来电、来短信、GPRS下行数据等。

Q u e c t e l C

o n f i d e n t i a l

3. 彩信开发过程注意点

3.1. 运行彩信AT 命令时需要打开UART 硬件流控

MCU使用串口与模块进行彩信的AT命令控制时,必须打开UART的硬件流控功能。因为在彩信各操作中,涉及文本、图片文件的上传,这些都需要通过串口上传数据给模块,数据传输的“稳定性”必须由UART的硬件流控来支持。

3.2. 如何进行更加可靠的文件上传和下载

客户使用彩信发送或接收文本文件、图片文件、音频文件时,需要使用“AT+QFUPL ”命

令上传文件和 “AT+QFDWL ”命令下载文件。这些命令提供checksum的方法来保证数据传输的可靠性。

如客户使用“AT+QFUPL=[,]”命令来上传一个文件,当传输

结束时,模块会上报“+QFUPL:<

upload size>,”信息提示。其中表示模块接收到的数据长度。MCU可以判断一下接收到的数据是否与之前上传的数据长度相等。如果不等,那么说明模块丢数据了。

MCU在上传文件数据的过程中,可以对上传的数据每2个字节异或(XOR)一下,最后和模块报告的值进行比较。如果不等,那么说明模块接收到的数据有问题,需要重新上传文件。

举例:如果上传的文件数据长度为9,其16进制值如下: 0x23 0x13 0x65 0x B6 0x76 0x88 0xA3 0xEF 0x55

那么,checksum计算如下:

checksum = 0x2313 XOR 0x65B6 XOR 0x7688 XOR 0xA3EF XOR 0x5500

每两个数据组成一组和另一组进行异或XOR,最后一组若不满2个字节,那么用0x00进行补充。

Q u e c t e l C

o n f i d e n t i a l

图 2: MCU上传文件参考流程图

图2中,简单描述了MCU上传一个文件的参考流程。MCU需要注意的是在发送“AT+QFUPL ”命令后,MCU需等待接收到“CONNECT ”后才可以进行下一步文件数据的发送。

同理,客户使用“AT+QFDWL=”命令来下载一个文件。当传输结束时,模块会上报“+QFDWL: ,”信息,表示模块实际输出数据的字节数,MCU可以根据实际接收到字节数和进行比较。如果不等,那么说明数据有丢失。同时MCU对接收到的数据可以进行checksum运算,若运算得出的值和模块最后上报的checksum值不一致,说明接收的数据存在问题,需要重新下载。

3.3. 激活彩信服务所在网络

在进行彩信发送和彩信接收前,需要配置彩信服务所处的APN并且激活当前网络。下面以激活中国移动网络为例。

注意:开机后,激活网络的动作仅仅只需一次就可以了(除非出现异常情况,如网络被

断开了,需要重新激活的等),不需要在每次发送彩信或接收彩信前做同样的网络激活操作。

MCU: AT+CGREG? // 查询GPRS网络是否正常 模块: +CGREG:0,1 // 模块回馈网络正常模块: OK MCU: AT+QIFGCNT=1 模块: OK

Q u e c t e l C

o n f i d e n t i a l

MCU: AT+QICSGP=1,”CMWAP” // 设置中国移动彩信服务的APN 模块: OK

MCU: AT+QIREGAPP 模块: OK

MCU: AT+QIACT // 激活这个PDP 模块: OK // 激活成功

MCU: AT+QILOCIP // 获得激活后获得的IP地址,该命令为可选操作 模块: 10.155.75.29

更进一步有关网络激活的问题可以参考文档“GSM_TCPIP_AN.pdf”中相关描述。

3.4. 判断网络是否正常

不管是彩信功能还是其它使用到GPRS网络的功能,在进行数据传输前,建议使用

“AT+CGREG? ”命令判断当前GPRS网络是否正常。有时网络可能处于无信号区,这时命令返回“+CGREG: 0,2”,表示正在搜索网络。有时可能SIM卡已经欠费,这时命令返回“+CGREG: 0,3”等。只有在命令返回“+CGREG: 0,1”时,才表示当前所处的网络正常,才能进行后面的网络操作。

当然,客户可以开启AT+CGREG命令的上报功能(AT+CGREG=2),实时监视GPRS网络状态。

假如激活的GPRS网络在失去同步时,模块会自动上报“+PDP DEACT ”给MCU,MCU需要重新激活网络。

3.5. 发送和下载彩信过程中需要注意的一些问题

3.5.1. 发送彩信

发送彩信,操作如下:

MCU: AT+QMMSEND=1 // 启动发送当前的编辑彩信

// 返回OK需等待时间可能较长,因为模块在连接彩信 代理时需要花费一些时间 模块:OK // 返回OK表示网络连接成功

// 提示彩信发送成功信息需等待时间可能比较长,因为 模块在这期间需要发送大量数据 模块:+QMMNOTIFY: 1,0,0

// 彩信发送成功提示

Q u e c t e l C

o n f i d e n t i a l

3.5.2. 在彩信的发送过程中接收到新彩信通知

彩信的发送过程中,各个阶段需等待的时间较长。在等待过程中可能会收到新彩信通知,客户在开发时需要注意,不能丢弃这些通知信息,如下:

MCU: AT+QMMSEND=1 // 启动发送当前编辑的彩信

模块: +QMMNOTIFY: 3,2,0 // 在发送彩信返回OK前收到新彩信 模块: OK // 返回OK表示网络连接成功

模块: +QMMNOTIFY: 3,3,0 // 在发送彩信过程中收到新彩信 模块: +QMMNOTIFY: 1,0,0 // 彩信发送成功提示

3.5.3. 在彩信的下载过程中接收到新彩信通知

彩信的下载过程中,各个阶段需等待的时间较长。在等待过程中可能会收到新彩信通知,

客户在开发时需要注意,不能丢弃这些通知信息,如下:

MCU: AT+QMMRECV=1,1 // 开始下载一个新彩信

模块: +QMMNOTIFY: 3,2,0 // 在下载彩信返回OK前收到新彩信 模块: OK // 返回OK表示网络连接成功

模块: +QMMNOTIFY: 3,3,0 // 在下载过程中收到新彩信 模块: +QMMNOTIFY: 2,1,0 // 彩信下载成功提示

3.6. 删除彩信

MCU在处理完接收到的彩信后,建议及时删除该彩信,从而能够及时“空出”模块的存储空间。具体的彩信删除操作可参考“AT+QMMRM”命令描述(详见:GSM_MMS_ATC文档)。

Q u e c t e l C

o n f i d e n t i a l

3.7. 彩信发送和接收流程图

本节流程图详细描述了彩信的操作过程,流程中的注意点已经在上面章节中描述,在这里不再具体描述了。

下面为彩信操作总流程图。

图 3:彩信操作总流程图

Q u e c t e l C

o n f i d e n t i a l

图 4:彩信发送流程图

Q u e c t e l C

o n f i d e n t i a l

图 5:彩信接收流程图

Q u e c t e l C

o n f i d e n t i a l

Shanghai Quectel Wireless Solutions Co., Ltd.

Room 801, Building E, No.1618, Yishan Road, Shanghai, China 201103

Tel: +86 21 5108 2965

Mail: info@https://www.doczj.com/doc/9d7236814.html,

相关主题
文本预览
相关文档 最新文档