SIM900 系列模块常用 AT 流程

  • 1807 浏览

imikay

2017/05/18 发布于 教程&DIY 分类

SIM900 系列模块常用 AT 流程

SIM900 

文字内容
1. SIM900 系列模块常用 AT 流程                                                    
2.   SIM900 系列模块 AT 应用了解 主要是针对 SIM900 系列模块 AT 功能进行说明,把 我们常用的一些 AT 功能及事例分享给大家。 以下介绍主要是以一般性 AT 介绍、 SIM 卡相关、网 络注册、语音功能、短信操作应用、 TCP/IP 应用、 ppp 拨号、 MMS 、 FTP&HTTP 等功能,进行一一介 绍说明。 2
3.   SIM900 系列模块 AT 应用了解 SIM900 系列与之前 SIM300 系列模块 AT 指令处理方式不同: SIM300 :在同一时间内 mcu 同时向模块发送几条 AT 指令, SIM300 可以 进行一一处理并执行; SIM900 :在同一时间只能处理 mcu 发送过来的一条 AT 指令,如果 mcu 同时将几条 AT 指令发送给模块,那么 SIM900 只能执行其中的 一条 AT 指令,其它 AT 指令全部被丢弃。 以上主要是因为平台处理机制不同。 3
4. 一般性 AT 指令 ATE 、 ATQ 、 ATV 指令 ATE0                                     //  回显模式关闭。 OK                                        // ATE1 设置回显模式打开,一般客户跑程序都会将回显关闭处 理,特别是 TCP/IP 和 ppp 拨号类应用。 ATQ0                                    //  设置 ATQ0 后每条 AT 执行后都会有相应返回,比如 OK 、 send  OK                                           ok 等提示信息。 ATQ1                                    //   设置 ATQ1 意味模块每条 AT 指令执行后不会有有任何返回 。 ATV0                                    //  设置 ATV0 ,每条 AT 执行后返回的是数字信息,如 0 1 2 3 4 等 0 ATV1                                    //  设置 ATV1 ,每条 AT 执行后返回的是字符信息,如 ok ring   OK                                           connect 等 模块默认 ATE1  ATQ0  ATV1 ,客户可根据需要进行设置。 4
5. 一般性 AT 指令 AT+CFUN 设置模块功能 AT+CFUN=? +CFUN:'>CFUN: (0,1,4),(0­1)                       //  默认参数 1 ,全部功能。 OK AT+CFUN=0 , AT+CFUN=1      // 重启模块射频,可以重新注册网络 AT+CFUN=1,1                                 IIII?                     // 软件复位模块重启标志性提示,波特率为 115200 时才会出现。 RDY OK +CFUN:'>CFUN: 1 +CPIN: READY                      //  如果是固定波特率,模块重启也会上报这些信息 。 5
6. 一般性 AT 指令 AT+IPR 固定波特率 SIM900 系列模块所有软件版本出厂默认自适应波特率,客户初次使用使用可以根据 mcu 端 波 特率固定模块波特率。 AT+IPR=? +IPR: (),(0,1200,2400,4800,9600,19200,38400,57600,115200) OK AT+IPR=115200 OK 如果个别客户在使用过程中 mcu 和模块无法正常通讯,建议客户端设计将 DTR 引脚开机默 认 置低电平,应该有很大改善,待可以正常 AT 通讯,使用 AT+IPR 固定模块波特率。 6
7. 一般性 AT 指令 AT+CMEE 上报详细错误信息 AT+CMEE=? +CMEE: (0­2) OK AT+CMEE=2 OK AT+CSQ? +CME ERROR: operation not allowed 客户在程序设计时,可以考虑初始化加入该 AT ,可以根据返回的大致意思,判断 AT 指令是 哪方面的 error 。 7
8. 一般性 AT 指令 IMEI 号查询、修改及说明 • AT+GSN                       //  查询模块 IMEI 号,仅仅是查询而已       012207000080280       OK • AT+SIMEI?                  //  查询模块 IMEI 号,可通过该指令修改 IMEI 号,最多可修改 3 次。       012207000080280       OK • AT+SIMEI="012207000080280"       OK IMEI 为 TAC(6 位 )+ FAC(2 位 )+ SNR(6 位 )+SP(1 位 ) 组成。 IMEI(International Mobile Equipment Identity) 是国际移动设备身份码的缩写,国际移动装备 辨识码,是由 15 位数字组成的 " 电子串号 " ,它与每个模块一一对应。 8
9. 一般性 AT 指令 AT+CCID 显示 CCID(SIM 卡背面 20 为数字 ) • AT+CCID      89860081090772182604      OK SIM 卡背面 20 为数字所代表的含义 ( 不过目前市面上 SIM 卡号段繁多,目前也无法对应起来 , 仅供参考 ) : 前 6 位: 898600 中国移动; 898601 中国联通 第 7 位:业务接入号,对应于 134 ~ 139 中的 4 、 5 、 6 、 7 、 8 、 9 ; 第 8 位: SIM 卡的功能位:一般为 0 ,现在的预付费 SIM 卡为 1 ; 第 9 、 10 位:各省的编码; 第 11 、 12 位:年号; 第 13 位:供应商代码; 第 14—19 位:用户识别码; 第 20 位:校验位。 9
10. 一般性 AT 指令 AT+GSV 、 AT+GMR 查询模块软件版本 AT+GSV SIMCOM_Ltd SIMCOM_SIM900 Revision:1137B09SIM900M64_ST'>Revision:1137B09SIM900M64_ST OK 或 AT+GMR Revision:1137B09SIM900M64_ST'>Revision:1137B09SIM900M64_ST OK 10
11. 一般性 AT 指令 Call Ready         //  意味着模块初始化已经完成,可以进行语音类功能操作,如 ATD 拨号。 AT+CPIN 输入 pin 码 AT+CLCK 设置 pin 码,取消 pin 码 AT+CLCK=“SC”,1,“1234“                    //  设置 pin 码,一般建议不要随意设置 SIM 的 PIN 码 OK AT+CPIN? +CPIN: SIM PIN                             OK AT+CPIN="1234“                                  OK 注意: SIM 卡设置 pin 后,如果 3 次输入 pin 码失败,需要输入 puk 码, puk 输入 10 次无效 SIM 卡 无效,只能重新补卡。 AT+CLCK=“SC”,0,“1234“                      //  取消 pin 码设置。 OK 11
12. 一般性 AT 指令 AT+CSQ 信号质量查询 AT+CSQ                                       //  模块开机后注册网络前,请先查询改指令。 +CSQ: 23,0                                  //  参数 1 : RSSI ,参数 2 : ber OK 设置 CSQ 为 URC 自动操作如下: AT+EXUNSOL=“SQ”,1                //  该参数一般建议设备比较固定的应用,如车载、跟踪器、 OK                                                   手持设备等,在动态过程中小区切换、网络覆盖强弱等 因素, CSQ 值将不停上报,可能会影响客户的判断。 +CSQN:'>CSQN:'>CSQN:'>CSQN: 12,0 +CSQN:'>CSQN:'>CSQN:'>CSQN: 14,0 +CSQN:'>CSQN:'>CSQN:'>CSQN: 16,0 首先说误码率 (ber) ,其范围 0 ~ 7 ,待机状态下如果查询 CSQ 也存在误码率,只能说客户 的产 品射频干扰太大;一般只有在拨打电话瞬间才会有较高的误码率。 12
13. 一般性 AT 指令 AT+CSQ 信号质量查询 然后大致说一下 ATC 文档中关于 AT+CSQ 中 RSSI 值和实网场强对应关系:      0               小于等于 ­115dBm                  1               ­111dBm                  2 ~ 30       ­110 ~ ­54dBm                  31             大于等于 ­52dBm                  99             未知参数 RSSI 值与实网场强的关系: (RxLev+3)/2=RSSI                       //  其中 RxLev 为接收电平(实网场强) 如查询 RSSI 是 31 ,通过计算 RxLev 值为 59 , 59­110=­51dBm 如查询 RSSI 是 1 ,通过计算 RxLev 值为 ­1 , ­1­110=­111dBm 以上,反过来通过 RxLev 就可以获取模块 AT+CSQ 中 RSSI 值。 13
14. 一般性 AT 指令 AT+CENG 开启或关闭工程模式 AT+CENG=1,1              //  开启工程模式 OK AT+CENG?                   //  获取工程模式信息 +CENG: 1,1 +CENG:0,"0723,32,99,460,01,30,0e93,10,64,144f,255" +CENG:1,"0111,41,17,c3e9,460,01,144f" +CENG:2,"0725,25,30,0e95,460,01,144f" +CENG:3,"0714,25,20,0625,460,01,144f" +CENG:4,"0119,24,30,c3e8,460,01,144f" +CENG:5,"0736,13,30,0e94,460,01,144f" +CENG:6,"0709,13,09,9c74,460,01,88c" OK AT+CENG=2,1               //  开启工程模式并自动上报 14
15. 一般性 AT 指令 AT+CENG 开启或关闭工程模式 +CENG:0,"0723,32,99,460,01,30,0e93,10,64,144f,255“ 当前服务 小区号 0 0723 > 32 99 460 01 30 0e93 10 64 144f 255 其中我们需要了解的: < rxl>— 接收电平(场强) — 移动国家码 — 移动网络嘛 — 小区号 — 位置区号码 15
16. 一般性 AT 指令 AT*CELLLOCK 锁频点 AT*CELLLOCK=?                      *CELLLOCK: (0­1)[,(0­4),[(0­124;128­251;512­885;975­1023),[(0­124;128­251;512­885;975­ 1023),[(0­124;128­251;512­885;975­1023).. OK AT*CELLLOCK=1,4,124,251,512,885          //  该功能仅适合客户设备使用在固定场所,且客 户了解网络频点分布,否则随便设置可能会导 OK                                                                   致模块无法注册网络。 AT*CELLLOCK=0                                         //  取消锁频功能 16
17. 一般性 AT 指令 AT+CBAND 读取和设置模块频段 AT+CBAND=? +CBAND:  (PGSM_MODE,DCS_MODE,PCS_MODE,EGSM_DCS_MODE,GSM850_PCS_MODE,ALL _BAND) OK PGSM_MODE 等同于 EGSM_MODE=900 DCS_MODE=1800 PCS_MODE=1900 EGSM_DCS_MODE=900/1800 GSM850_PCS_MODE=850/1900 17
18. 一般性 AT 指令 AT+CBAND 读取和设置模块频段 AT+CBAND? +CBAND: EGSM_MODE,ALL_BAND OK SIM900 系列模块默认设置 all_band ,客户不需要设置就可以自动选择频段。 SIM900A/900S 模块硬件上只支持 900/1800 频段,所以客户 (POS 应用 ) 使用时候可以设置 900+1800 组合频段,也可以改善有些区域设备找网、附着 GPRS 网络时间慢问题。 AT+CBAND="EGSM_DCS_MODE" OK 18
19. 一般性 AT 指令 AT+CREG 网络注册信息 AT+CREG=1                        //  开启显示网络注册,当模块注册网络、掉网会有 URC 上报信息。 OK +CREG:'>CREG:'>CREG:'>CREG: 1,1                          //  模块是否注册网络,主要看第二个参数,返回 1 或 5 表示注册网 络,其它 2 3 4 则表示模块未注册网络。 AT+CREG=2                        //  设置自动上报,当模块注册网络、掉网、小区切换均有 URC 上 OK                                           报信息。 +CREG:'>CREG:'>CREG:'>CREG: 2,1,“144F”,“C3E9“  //  参数 3 : lac ,参数 4 : cellid 注意: 若查询返回 +CREG:'>CREG:'>CREG:'>CREG: 0,5 ,则表示 SIM 卡处于漫游状态。目前国内移动或联通的 SIM 卡,在中国大陆地区使用不会显示漫游状态,主要是因为同一个运营商的 SIM 卡在其运 营商覆盖的网络环境下,不会因为区域不同显示漫游状态。 19
20. 一般性 AT 指令 AT+CREG 网络注册信息 IIII????                              //  模块开机 RDY                                          +CFUN: 1                                  +CPIN: READY                         +CREG:'>CREG:'>CREG:'>CREG: 0                                //  模块开机初始未注册网络 +CREG:'>CREG:'>CREG:'>CREG: 2                                //  寻找运营商注册网络 +CREG:'>CREG:'>CREG:'>CREG: 1,“144F”,“C3E9”        //  注册网络 +CGREG:'>CGREG: 0 Call Ready                                +CGREG:'>CGREG: 1,“144F”,“C3E9”      //  附着 GPRS 网络 20
21. 一般性 AT 指令 AT+CREG 网络注册信息 目前 SIM900 系列模块开机注册网络时间有很大改善,基本是 10 秒以内完成网络注册。 21
22. 一般性 AT 指令 AT+CGATT 附着和分离 GPRS 业务 AT+CGATT?                //  查询模块是否附着 GPRS 网络 +CGATT:'>CGATT: 1 OK 模块开机后首先查询模块是否附着 GPRS 网络,不要主动设置 AT+CGATT=1 ,除非待机状 态 下主动上报 +CGATT:'>CGATT: 0 ,此时可以设置 AT+CGATT=1 ,否则不要设置。 在一些特殊的情况,比如模块从无信号的状态进入有信号的状态(穿过隧道),有可能会出现 无法附着 GPRS 网络的情况,此时建议用 AT+CFUN 来重启射频。 22
23. 一般性 AT 指令 模块开机后应该执行下面初始化流程 AT                             //  测试串口通讯是否正常 OK                     AT+CPIN?                 //  查询是否检测到 SIM 卡 +CPIN: READY OK AT+CSQ                    //  查询信号质量 +CSQ: 18,0 OK AT+CREG?               //  查询模块是否注册网络 +CREG: 0,1 OK AT+CGATT?             //  查询模块是否 GPRS +CGATT: 1 OK 以上全部正常在进行其它功能操作。 23
24. SMS 应用相关 SMS 应用,主要是文本模式下发送中英文短信、 PDU 模式中英文短信。 相关的 AT 主要有: AT+CPMS                      //  查询 SIM 卡内短消息使用状态 AT+CNMI                       //  新消息指示设置 AT+CMGF                      //  选择短消息格式 AT+CSCS                      //  编码设置 AT+CSCA                      //  查询、设置 SMS 服务中心号码 AT+CSMP                      //  设置短消息文本模式参数 AT+CMGS                      //  发送短消息 AT+CMGR                     //  读取短消息 AT+CMGD                      //  删除短消息 AT+CMGDA                   //  删除所有短消息 24
25. SMS 应用相关 AT+CPMS  查询 SIM 卡内短消息使用状态 模块开始后需要执行 SMS 功能,请在模块注册网络同时,查询” AT+CPMS ?” 指令返回正 常后,在操作短信业务,避免出现“ +CMS ERROR : 515 、 517” 的信息提示。 AT+CPMS? +CPMS: "SM",23,50,"SM",23,50,"SM",23,50 OK 请定期查询 SIM 卡中短信息存储量,一旦 SIM 卡中短消息存满,将无法继续接收外部发过来 的 短信。 SIM900 系列模块接收到的短信存储方式: 1. 默认存储在 SIM 卡中; 2. 接收信息直接打印到串口,客户 mcu 来处理。 25
26. SMS 应用相关 AT+CNMI 新消息指示设置 AT+CNMI=0,0,0,0,0 模块收到新消息没有任何信 息上报 . AT+CNMI=2,1,0,0,0 "+CMTI:”SM”,3"  新消息指示 , 表示有一条新消 息存储在 SIM 卡第三条记录 . 默认参数 AT+CNMI=2,2,0,0,0 +CMT:"13227700058","“,"11/ 收到” 13227700058” 发来的 AT+CNMI 闪信 新消息 :123, 该新消息没有存 10/04,12:59:53+32"123 储. +CDS:32,7,"13227700058",1 短消息中心在“ AT+CNMI=2,1,0,1,0 29,"11/10/04,13:02:28+32"," 11/10/04,13:02:28+32” 时收 11/10/04,13:02:33+32",0 到了本号码发给 AT+CSMP=            49,167,0,241 “13227700058 ” 的消息, 短信回执 “13227700058 ” 手机在 "11/10/04,13:02:33+32" 时收 到了本号码发出的短消息 26
27. SMS 应用相关 AT+CMGF 选择短消息格式 AT+CMGF=? +CMGF: (0,1)                             // 0( 默认 ) : PDU 模式                                                       1 :文本模式 OK AT+CSCS 编码设置 AT+CSCS=? +CSCS: ("IRA","GSM","UCS2","HEX","PCCP","PCDN","8859­1") OK                                              //  短信相关常用主要是 GSM 、 UCS2 编码格式 27
28. SMS 应用相关 TEST(UCS2) 模式下发送中英文短消息,短消息直接显示在终端。 AT+CMGF=1 AT+CSCS="UCS2” AT+CSCA?                      //  模块会根据 SIM 卡自动设置短消息中心号码,只做查询即可。 AT+CSMP=17,167,0,24  //  主要是参数 4 ,数据编码格式 AT+CMGS="00310033003800310038003200370030003000360039", > 4F60597D00680065006C006C006F                                 //  将中英文字符串转为 Unicode 码 (CTRL­Z) 28
29. SMS 应用相关 TEST(UCS2) 模式下发送中英文短息,短消息储存至 SIM 卡中。 AT+CMGF=1 AT+CSCS="UCS2” AT+CSCA?                       AT+CSMP=17,167,0,25  AT+CMGS="00310033003800310038003200370030003000360039", >4F60597D00680065006C006C006F (CTRL­Z) 29
30. SMS 应用相关 TEXT(GSM) 为为为为为为为为为为,短消息直接显示在终端。 AT+CMGF=1 AT+CSCS="GSM” AT+CSCA ? AT+CSMP=17,167,0,240  AT+CMGS="10086” >HELLO CTRL­Z 30
31. SMS 应用相关 TEXT(GSM) 为为为为为为为为为为,短消息储存至 SIM 卡中。 AT+CMGF=1 AT+CSCS="GSM” AT+CSCA ? AT+CSMP=17,167,0,241  AT+CMGS=”10086” >HELLO CTRL­Z 31
32. SMS 应用相关 PDU 模式下发送中英文短消息 AT+CMGF=0 OK AT+CSCS=”UCS2” OK AT+CSCA ? +CSCA:"002B0038003600310033003000310030003800350031003500300030",1 45 OK AT+CMGS=29 >0011000D91683118280760F90008010E00480065006C006C006F6D4B8BD5 +CMGS: 10 OK 32
33. SMS 应用相关 0011000D91683118280760F90008010E00480065006C006C006F6D4B8BD5 数据解析 00                               //  为 SCA 预留 11                               // FO  设置 PDU 类型 00                               // MR  发送参考号 0D                              // DA  目的号码长度 91                               // DA  目的号码类型 68                               // DA  中国的区号 3118280760F9           // DA  目的号码编码 00                               // PID  发送方式 08                               // DCS  编码模式。 08 表示 class1,18 表示 class0 01                               // VP  有效区 0E                              // UDL  数据长度 00480065006C006C006F6D4B8BD5       // UD  数据内容 Unicode 33
34. SMS 应用相关 模块接收 PDU 模式解析 0891683110304105F0240D91683118280760F9000811014051740223044F60597D 08 91 683110304105F0           // SMSC 地址  8613010314500 ,补‘ F’ 凑成偶数个 .  24                                   //  基本参数,无更多消息 0D                                  //  回复地址数字个数共 13 个十进制数 ( 不包括 91 和‘ F’)  ,十六进制 91 683118280760F9           //  回复地址 8613818270069 ,补‘ F’ 凑成偶数个 00                                   //  协议标识 (TP­PID)  是普通 GSM 类型,点到点方式 08                                   //  用户信息编码方式 (TP­DCS) UCS2 编码 11014051740223           // 时间戳 04                                   // 用户信息长度,十六进制 4F60597D                      //  用户信息 34
35. SMS 应用相关 AT+CMGD 删除短信 SIM 卡中短信请定期查询并删除。 AT+CPMS? +CPMS:'>CPMS: “SM”,4,50,“SM”,4,50,“SM”,4,50         //  查询 SIM 卡短信存储数量 OK AT+CMGD=1                                                   //  删除其中的某一条短信 OK AT+CPMS? +CPMS:'>CPMS: "SM",3,50,"SM",3,50,"SM",3,50 OK 35
36. SMS 应用相关 AT+CMGDA 删除所有短信 AT+CPMS? +CPMS:'>CPMS: "SM",3,50,"SM",3,50,"SM",3,50 OK AT+CMGF=0                           //  选择 PDU 模式 OK AT+CMGDA=6                        //  删除所有短信 OK AT+CPMS? +CPMS:'>CPMS: "SM",0,50,"SM",0,50,"SM",0,50 OK 36
37. 语音功能应用相关 紧急呼叫操作 每个国家区域的紧急号码不同,客户可通过 AT 指令设置需要的号码,最多可以设置 11 个。 AT+CEMNL=? +CEMNL: (0­1),(1­11),("0"­"999")... OK AT+CEMNL=1,3,“112”,“000”,“911”            //  设置紧急号码 OK ATD112;                                                    //  紧急拨号模块可以不识别 SIM 卡,但是查询 CSQ OK                                                                 必需是正常的,否则无法拨打成功。 AT+CLCC +CLCC: 1,0,3,0,0,"112",129,"” OK ATH OK 37
38. 语音功能应用相关 AT+CPAS 查询通话状态 通过该指令可以查询模块通话状态 +CPAS:'>CPAS:'>CPAS:'>CPAS:'>CPAS:'>CPAS:'>CPAS:'>CPAS: 0                  //  待机状态 +CPAS:'>CPAS:'>CPAS:'>CPAS:'>CPAS:'>CPAS:'>CPAS:'>CPAS: 2                  //  为 SIM 卡状态 +CPAS:'>CPAS:'>CPAS:'>CPAS:'>CPAS:'>CPAS:'>CPAS:'>CPAS: 3                  //  来电振铃过程中,未接起状态 +CPAS:'>CPAS:'>CPAS:'>CPAS:'>CPAS:'>CPAS:'>CPAS:'>CPAS: 4                  //  来电振铃 ATA 接通后状态 ATD 拨号对方振铃、接起状态 多方通话 ATD 拨号,接通后输入 AT+CHLD=2 将此通电话挂起状态 SIM900 系列模块 AT+CPAS 状态只是在 CS 域时,才会根据功能做出状态提示, PS 域下不 会改 变状态。 38
39. 语音功能应用相关 AT+CLCC 查询呼叫列表 AT+CLCC=1                                             //  振铃、接起、挂断、无应答等都会有提示信息。 RING +CLCC:'>CLCC:'>CLCC:'>CLCC:'>CLCC:'>CLCC:'>CLCC:'>CLCC: 1,1,6,0,0,“13818270069”,161,“”  //  对方拨打电话,模块端无应答,对方主动挂断。 NO CARRIER ATD10010; OK +CLCC:'>CLCC:'>CLCC:'>CLCC:'>CLCC:'>CLCC:'>CLCC:'>CLCC: 1,0,3,0,0,“10010”,129,““              // ATD 拨号过程中,振铃状态。 +CLCC:'>CLCC:'>CLCC:'>CLCC:'>CLCC:'>CLCC:'>CLCC:'>CLCC: 1,0,0,0,0,“10010”,129,““              // ATD 拨号对方接通状态 ATH OK +CLCC:'>CLCC:'>CLCC:'>CLCC:'>CLCC:'>CLCC:'>CLCC:'>CLCC: 1,0,6,0,0,“10010”,129,““              //  通话挂断后状态 通常客户会直接 AT+CLCC 查询呼叫列表状态。 39
40. 语音功能应用相关 AT+CLIP 设置指示来电号码 AT+CLIP=1                                        //  开启 OK RING +CLIP: "13818270069",161,"",,"",0 AT+COLP 设置被叫号码显示 AT+COLP=1                                      //  开启 OK ATD13818270069; +COLP: "13818270069",129,"","" OK 40
41. 语音功能应用相关 发送 DTMF 音及按键音时间间隔 ATD13818270069; +COLP: "13818270069",129,"","" OK AT+VTS=“1,2,3,4,5”                     //  发送按键音,每个按键音的时间基本都是小于 300ms 。 OK AT+VTD? +VTD: 10                                      //  按键音时间间隔,默认 10(10*100ms) OK AT+VTS="1,2,3,4,5" OK AT+VTD=5                                    //  改变按键音间隔时间 OK AT+VTS="1,2,3,4,5" OK ATH OK 41
42. 语音功能应用相关 AT+CHFA 切换音频通道 目前 SIM900 系列模块支持 0 ~ 3 通道 4 个参数 0 — 对应主通道 (SIM900/900A) 1 — 对应辅助通道 (SIM900B/900S/900D) 2 — 主通道做免提 3 — 辅助通道做免提 AT+SIDET 改变侧音增益等级 AT+SIDET=? +SIDET: (0,2),(0­16)               //  改变侧音增益需要设置两个参数。 OK AT+SIDET=0,0 OK 42
43. 语音功能应用相关 AT+CLVL 接收器音量等级设置 +CLVL: (0­100)               //  范围 0 ~ 100 AT+CLVL=60 如果某些客户将音量等级设置到 100 ,感觉音量还不够,可以使用 AT+CUDG 调节数字增益 。 前提是设备不会产生啸叫。 AT+AUDG 调节数字增益 AT+AUDG=? +AUDG: Organ:(0,2),direction:(0­1),gain:(0­0x7fff) OK AT+AUDG=0,1,5000 43
44. 语音功能应用相关 AT+AUDG 调节数字增益 < Organ >   语音通道                   0   手持通道(主通道)                   1   耳机通道(辅助通道)                   2   免提通道(主通道做免提)                   3   免提通道(辅助通道做免提)   上下行链路选择 0   设置麦克风数字增益,即上行数字增益 1   设置受话器 / 扬声器数字增益,即下行数字增益    数字增益等级 gain 值设置时是十进制,查询时是十六进制。通话中修改 gain 值实时起效,掉电 可 以保存。对应十进制范围 0 ~ 32767 44
45. 语音功能应用相关 对于 SIM900 系列模块,调节音频通话质量,请将以下几条 AT 放在一起调试效果较好。 以 SIM900A 模块主通道做免提为例: AT+CHFA=2                   //  选择主通道做免提 AT+CLVL=60                  //  调节 spk 增益等级 AT+AUDG=2,1,1000       //  一般是不需要这条指令的,除非 AT+CLVL=100 客户还是感觉声 音 轻,同时也没有啸叫现象,可以考虑使用这条指令。 AT+CMIC=2,8                 //  调节 mic 增益 AT+SIDET=2,0                //  调节侧音 AT+ECHO=2,7,5,1          //  调节回音参数 45
46. 数据业务应用 TCP/IP 、 UDP/IP 应用相关 AT+CSTT            //  设置 APN AT+CIICR            //  激活移动场景 AT+CIFSR           //  获得本地 IP 在建立 TCP/IP 连接前,建议先依次执行这 3 条 AT 指令,然后在 AT+CIPSTART 。 AT+CSTT=”cmnet” 设置前,请先确 GPRS 网络已经附着,否则会返回 error 提示。 国内移动、联通公网卡 APN 设置: 移动 cmnet 、 cmwap( 主要是彩信设置 wap) 联通 uninet 、 3gnet 其它专网卡 ( 电力、烟草、铁路 ) 会有专网卡,或者国外某些运营商 SIM 卡,可能需要设置 AT+CSTT=”APN”,”user name”,”password” 46
47. 数据业务应用 TCP/IP 、 UDP/IP 应用相关 AT+CIICR 激活移动场景 这里需要说明一下,模块开机后会自动附着 GPRS 网络,只要 SIM 卡有 GPRS 业务,真正应用 必需要激活移动场景 (PPP 拨号过程中得 PDP 上下文激活 ) ,获得本地 IP 才可以应用数据业务。 AT+CSTT            // APN 任意设置都可以返回 ok AT+CIICR           //  激活移动场景模块超时设置 40s ,如果 40s 还没有激活成功,模块端会自动 上报 +PDP:DEACT 。如果前面 CSQ 、 CREG 、 CGATT 、 AT+CSTT 状态都 是正常的,移动场景激活失败,那肯定是网络侧原因所致。当然 CSQ 值过 低,比如 10 以下,移动场景激活成功概率较低。 如果移动场景激活失败,执行 AT+CIPSHUT( 关闭移动场景 ) ,模块设置超时时间 20s 。 AT+CIFSR          //  获得本地 IP 地址 47
48. 数据业务应用 TCP/IP 、 UDP/IP 应用相关 AT+CIPSTART 建立 TCP(UDP)/IP 连接 如果客户在 +CGATT: 1 之后直接执行 AT+CIPSTART=“TCP”,“116.236.221.75”,7015 操作, 可 能返回 connect ok 的时间会相对较长一些。因为在 AT+CIPSTART 过程中,也会执行 AT+CSTT 、 AT+CIICR 、 AT+CIFSR3 个过程,所以客户端可以根据具体情形选择。前提是 APN 的设置一定要正确。 ALREADY CONNECT         //  如果执行 AT+CIPSTART 后返回这个信息,说明模块已经建立                                                TCP/IP 连接。 48
49. 数据业务应用 TCP/IP 、 UDP/IP 应用相关 AT+CIPCLOSE 关闭 TCP(UDP) 连接 AT+CIPCLOSE=0         //  慢关 fin 2 分钟左右 AT+CIPCLOSE=1         //  快关 rst 100ms 左右 AT+CIPSHUT 关闭移动场景 模块设置超时 20s ,一般 TCP/IP 连接异常使用 AT+CIPSHUT 后,重新执行 AT+CSTT 等重 新建 立 TCP/IP 连接,建议间隔时间 10s ,否则可能会因为移动场景关闭还没有彻底释放,导致重 新 激活移动场景失败。 49
50. 数据业务应用 TCP/IP 、 UDP/IP 应用相关 AT+CIPMUX 多 IP 连接 ( 默认单连接 ) ,多连接状态支持 8 路连接。 之前也有客户询问多连接状态安全性是否有保障,其实多连接与单连接一样,模块作为 clien 与 server 端连接,中间网络侧的安全性是无法保障的,一般网络侧都是有路由的。 AT+CIPMUX 指令设置只有在 IP INITIAL 状态下才可以,其它状态下设置不允许。 AT+CIICR OK AT+CIPMUX=1 ERROR AT+CIPSTATUS OK STATE: IP INITIAL AT+CIPMUX=1 OK 50
51. 数据业务应用 TCP/IP 、 UDP/IP 应用相关 AT+CIPSERVER 模块设置为服务器 首先,国内运营商不支持点对点业务,所以即便模块设置 server 之后,两个模块之间也不能建 立 TCP/IP 连接。目前只有国外一些运营商和国内一些专网卡才支持点对点业务,比如国内电 力、烟草、铁路上的专网卡。 模块做 server 操作如下: AT+CSTT OK AT+CIICR OK AT+CIFSR                                     //  获取动态 IP 地址。如果是专网卡,这个 IP 地址每次都是 10.91.138.185                                    固定不变的, PPP 拨号也是如此。 AT+CIPSERVER=1,"2020" OK SERVER OK 51
52. 数据业务应用 TCP/IP 、 UDP/IP 应用相关 AT+CIPCSGP 设置 CSD 或 GPRS 连接模式 CSD  属于 CS 域, GPRS 属于 PS 域。 早期只有 GSM 网络,没有 GPRS ,所以只能进行语音业务,运营商开通了 CSD 功能,两个终 端建立 CSD 呼叫后就可以进行数据传输。这种业务根据时间收费,哪怕 1 个小时之内你只传输 1 个字节,也是按照 1 个小时时间收费,成本比较高。随着 GPRS 网络覆盖, PS 域业务建立, 运营商根据客户实际传输数据大小收取费用,大大降低了成本。 目前国内移动 CSD 上网功能基本已取消了,联通没有 CSD 业务。 AT+CIPCSGP=? +CIPCSGP:'>CIPCSGP:'>CIPCSGP:'>CIPCSGP: 0­CSD,DIAL NUMBER,USER NAME,PASSWORD,RATE(0­3) +CIPCSGP:'>CIPCSGP:'>CIPCSGP:'>CIPCSGP: 1­GPRS,APN,USER NAME,PASSWORD OK AT+CIPCSGP? +CIPCSGP:'>CIPCSGP:'>CIPCSGP:'>CIPCSGP: 1,"CMNET","",""          //  默认 PS 域 OK 52
53. 数据业务应用 TCP/IP 、 UDP/IP 应用相关 AT+CIPSTATUS 查询当前连接状态 模块开机状态就是 IP INITIAL ,可以通过 AT+CIPSTATUS 查询。 如下操作会更清晰一些: +CGATT: 1                            // STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE: IP INITIAL( 初始化 ) AT+CSTT                              // STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE: IP START( 启动任务 ) AT+CIICR                             // STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE: IP GPRSACT( 接受场景配置 ) AT+CIFSR                            // STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE: IP STATUS ( 获得本地 IP) AT+CIPSTART="TCP","116.236.221.75",7015 OK CONNECT OK                     // STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE: CONNECT OK( 连接建立成功 ) AT+CIPCLOSE                    // STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE: TCP CLOSED(TCP 连接断开,移动场景还处于激活状 为 ) AT+CIPSHUT                      // STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE:'>STATE: IP INITIAL( 移动场景关闭,重新 IP 初始化 ) 53
54. 数据业务应用 TCP/IP 、 UDP/IP 应用相关 AT+CIPATS 自动发送数据 这条命令不太常用。 AT+CIPATS=1,10                   //  比如我设置 10 秒自动发送 OK AT+CIPSEND > HELLO                                //  模块将这些数据放到模块 buffer 内,等到 10 秒后自动发送。 其 实数据还是要客户 MCU 处理,只是不用你们执行 ctrl+Z 而已 。 SEND OK                                                         54
55. 数据业务应用 TCP/IP 、 UDP/IP 应用相关 AT+CIPMODE 选择 TCP/IP 应用模式 SIM900 系列模块内嵌协议栈传输模式分为透传和非透传。 AT+CIPMODE=0                 //  非透传模式,默认参数 AT+CIPMODE=1                 //  透传模式 其实简单理解就是透传状态模块处于数据态,只能进行数据传输,不能进行 AT 命令操作(此 时执行 AT 命令会被当做数据发送)。 透传模式需要硬件流控,还有就是判断模块处于数据态还是命令态,可以判断 DCD 引脚 DCD——2.8V         命令态 DCD—— 低电平     数据态                                                          55
56. 数据业务应用 TCP/IP 、 UDP/IP 应用相关 非透传:传输数据量不大,建议使用此功能。 在非透传状态下,最多可以发送 1460 字节,可以在 TCP/IP 连接状态下使用 AT+CIPSEND? 查 询。为了保证数据传输的稳定性,建议客户每次发送完数据都要等 send ok 返回后,在发送下 面的数据。 如果发送数据中包含十六进制“ 1A” ,就必须使用定长发送 (AT+CIPSEND=x) ,否则“ 1A” 以后 的 数据将会丢失。 客户也可根据发送数据时间间隔选择长连接、短连接方式: 短连接方式:执行 AT+CIPCLOSE 后,如果长时间没有进行 TCP/IP 连接,模块会上报                       +PDP:DEACT ,那客户只能执行 AT+CIPSHUT 后重新建立 TCP/IP 连接。 长连接方式: TCP/IP 连接状态下,如果较长时间内没有数据交互,建议发送心跳检测包维持 链路连接,否则也会被网络中断。                                      56
57. 数据业务应用 TCP/IP 、 UDP/IP 应用相关 非透传:传输数据量不大,建议使用此功能。 AT+CIPSTART="TCP","116.228.221.51",7015       //  建立 TCP/IP 连接 OK CONNECT OK AT+CIPSEND           > HELLO SEND OK                 AT+CIPACK             //  查询累计发送数据量 +CIPACK: 5,5,0       //  参数 1 :已发送的数据量 ( 模块端 )      参数 2 : ( 模块端 ) 已发送的数据量 server 端响应 ok       OK                              参数 3 : ( 模块端 ) 已发送的数据量 server 端未响应 ok                                 //  如果客户短连接, send ok 返回后客户可以执行 AT+CIPCLOSE 关闭 TCP/IP 连接,需要再次发送数据时候重新建立 TCP/IP 连接。                                 //  如果是长连接,建立模块与服务器之间发送心跳检测包, 3 ~ 5 分钟发 送 一次,维持 TCP/IP 连接。彻底关闭请使 AT+CIPSHUT 。                                     57
58. 数据业务应用 TCP/IP 、 UDP/IP 应用相关 透传:传输数据量较大,最好使用透传功能。 介绍透传功能前,请先了解以下两条 AT 指令 AT+IFC=2,2                                             //  默认” +IFC: 0,0” ,开启硬件流控功能设置 2,2  透传模式 RTS 和 CTS 的作用 RTS :模块的输入端,通知模块此时 MCU 是否已经准备好,低有效 CTS :模块的输出端,通知 MCU 是否可以继续传数据,低有效。模块内部的 buffer 小于 2K ,就会通知 MCU 停止发送数据。                                      58
59. 数据业务应用 TCP/IP 、 UDP/IP 应用相关 透传:传输数据量较大,最好使用透传功能。 AT+IFC=2,2                                                                  AT+CIPMODE=1                    //  设置透传模式,默认 0 。 +CIPCCFG: 5,2,1024,1                AT+CIPSTART="TCP","172.20.93.30",2020 OK CONNECT               //  模块进入数据态 …                             //  此时可以根据你们的数据情况,进行数据传输。在透传状态下,模块 完全处于数据态,模块内部 buffer 有 8k 的空间,正常情况下 CTS 引脚为 低电平,如果 buffer 内数据大于 6k ,模块 CTS 引脚置高,此时不要向                                    buffer 内传送数据,等待 CTS 引脚拉低 ( 此时 buffer 内数据小于 2k) 后在向                                    buffer 内传送数据。                                 //  需要模块从数据态切换到命令态,请使用“ +++” 注意 +++ 时序,否则会以数据形式发送。 ATO                         //  从命令态到数据态 CONNECT …                                        59
60. 数据业务应用 TCP/IP 、 UDP/IP 应用相关 域名连接 AT+CSTT=“cmnet” OK AT+CIICR OK AT+CIFSR 172.23.180.191 AT+CIPSTART=“TCP”,“www.baidu.com”,80      // SIM900 系列可以自动识别域名和 IP 。 OK CONNECT OK AT+CIPSEND=5                            //  对于客户来讲,域名连接客户必须要知道服务器端接收 > HELLO                                            报文格式,否则服务器端会很快关闭连接。 SEND OK AT+CIPSEND                                //  这时 TCP/IP 连接已经断开了。 ERROR                                      60
61. TCP 的过程 • 以 SIM900 为例 • 数据重传: 3,6,12… 一个 TCP 协议栈内的时间是 30S 。 61
62. 数据业务应用 DNS 、域名解析 AT+CSTT OK AT+CIICR OK AT+CIFSR 172.22.149.182 AT+CDNSCFG?                                   //  模块可以自动进行 DNS 解析,不需要手动设置了。 PrimaryDns: 210.22.70.3 SecondaryDns: 211.95.1.97 OK AT+CDNSGIP=“www.baidu.com”         //  域名解析 OK +CDNSGIP:'>CDNSGIP: 1,"www.baidu.com","61.135.169.105" AT+CDNSGIP="www.163.com.com" OK +CDNSGIP:'>CDNSGIP: 1,"www.163.com.com","64.30.224.112"                                      62
63. 数据业务应用 TCP/IP 、 UDP/IP 应用相关 AT+CIPUDPMODE  UDP 扩展模式 如果客户 UDP/IP 应用时候出现模块与 server 无法正常数据交互,可以设置 AT+CIPUDPMODE=1( 默认 0) 。 AT+CIPHEAD 设置模块接收数据是否显示 IP 头 默认 0. 不显示,如客户需要显示 IP 头 AT+CIPHEAD=1 即可显示。                                      63
64. AT 同步 AT+CPIN? AT+CSQ AT+CREG? AT+CGATT?                                       AT+CSTT AT+CIICR AT+CIFSR 短连接模式:发送 完数据后执行关闭 TCP/IP 连接,需要 再次发送数据在 AT+CIPSTART 。 关闭移动场景 回到初始状态 AT+CIPSTART="TCP","IP",port AT+CIPSEND AT+CIPCLOSE 长连接模式:发送完数 据后不关闭 TCP/IP 连接 若需彻底退出 关闭移动场景 定时发送心跳包,维持 链路连接 (3 ~ 5 分钟 ) AT+CIPSHUT 64
65. 数据业务应用 PPP 拨号 在 ppp 拨号前请先查询以下 AT 参数返回是否正常: AT+CSQ +CSQ: 22,0 OK AT+CREG? +CREG: 2,1,"144F","C3E9" OK AT+CGATT? +CGATT: 1 OK AT+CGDCONT=1,"IP","cmnet”               OK                                                ATD*99# 65
66. MMS 功能 SIM900 系列模块 MMS 功能需要特殊版本支持,目前 SIM900/900B 模块有 MMS 功能。 发送 MMS • 初始化 AT+CMMSINIT                                           //  进入 MMS 功能,这条指令必需执行。 在发送或接收 MMS 之前,以下参数必需配置。 AT+CMMSCURL="mmsc.monternet.com“ //  设置 MMS 中心的 URL 地址 , 不带“ http://”  AT+CMMSCID=1                                       //  设置网络参数 AT+CMMSPROTO=“10.0.0.172”,80           //  配置为 http 协议处理 MMS 并设置代理服务器 AT+CMMSSENDCFG=6,3,0,0,2,4             //  有效期默认,优先级默认,不设置发送状态报 告,不设置接收状态报告,不显示发送地址(默 认),彩信类别默认 • 66
67. MMS 功能 选择 GPRS 、设置 APN 、激活 PDP 上下文 AT+SAPBR=3,1,“Contype”,“GPRS”         //  设置 GPRS 连接 AT+SAPBR=3,1,“APN”,“cmwap“              //  设置 APN ,国内移动、联通都是 cmwap AT+SAPBR=1,1                                       //  激活 PDP 上下文,” 2,1” 查询 IP 地址 • 发送 MMS AT+CMMSEDIT=1                                   //  进入 MMS 编辑 AT+CMMSDOWN=“PIC”,27740,500000  //  下载图片,参数 2 对应实际图片大小 (1­307200) 。 AT+CMMSDOWN=“TEXT”,5,5000           //  下载文本,范围 1­15360 AT+CMMSDOWN=“TITLE”,3,5000          //  输入标题,范围 1­40 AT+CMMSRECP=“13818270069“           //  输入手机号码 AT+CMMSVIEW                                      //  查看 MMS 编辑内容 ( 删除文件 AT+CMMSDELFILE) AT+CMMSSEND                                      //  开始发送 MMS ,在发送过程中 OK 未返回前,请 不要操作其它 AT 命令。 AT+CMMSEDIT=0                                    //  退出 MMS 编码模式,同时清空 buffer 。 • 67
68. MMS 功能 接收 MMS +CMTI: "SM",26,"MMS PUSH“ AT+CMMSEDIT=0                         //  在编辑模式不能接收 MMS AT+CMMSRECV=26                     //  接收 MMS +CMMSRECV: "+8618602184656","2011­10­05,12:43:07","310032003300",27832 1,"image0.jpg",7,27740 2,"text0.txt",4,5 OK AT+CMMSREAD=1                        //  读取第一个文件 AT+CMGD=26                                //  删除 MMS AT+CMMSTERM                            //  退出 MMS 以上为 MMS 首发的基本操作,如在操作过程中遇到一些 error ,请参考 ” SIM900_MMS_AT Command Manual” 文档具体说明。 68
69. MMS 功能 目前 MMS 标准版本最多可以接收 10 个文件。如遇到有些客户需要接收手机报 (MMS 中包含 10 个以上文件 ) ,可以单独提出需要单独修改软件版本。 发送 MMS 时,也可以选择发送中文标题 ( 手机端 title 显示中文 ) ,最大的附件在 300K 左右 ,建议最好能控制在 100K 左右。 MMS 业务不同运营商 SIM 卡对应 APN 、 IP 地址不同,所有 MMS 应用前必需根据 SIM 卡运 营商 获取 APN 、 IP 地址,否则 MMS 无法正常使用。 69
70. FTP 功能 FTP 功能包括 get 、 put 及断点续传。 网络参数配置 AT+CGATT? +CGATT: 1                                              //  模块已经附着 GPRS 网络 OK AT+SAPBR=3,1,“CONTYPE”,“GPRS“     //  选择 GPRS OK AT+SAPBR=3,1,“APN”,“CMNET“            //  设置 APN OK AT+SAPBR=1,1                                       //  激活 PDP 上下文 OK AT+SAPBR=0,1                                       //  关闭 PDP 上下文 OK 70
71. FTP 功能 GET : AT+FTPCID=1 OK AT+FTPTYPE=“A“                                         //  设置传输类型 OK AT+FTPSERV=“simcom.exavault.com“         //  设置 FTP 服务器 OK AT+FTPUN=“zyf“                                           //  设置用户名 OK AT+FTPPW=“zyf“                                          //  设置密码 ( 这 3 条随便设置也会正常返回的 ) OK AT+FTPGETNAME=“123.txt“                        //  下载文件名称 OK AT+FTPGETPATH=“/“                                   //  设置下载文件路径 OK 71
72. FTP 功能 GET : AT+FTPGET= 1                        //  执行该指令后,请一直处于等待状态,不要做其它操作,以 OK                                               免返回 error 。 +FTPGET:1,1                           //  等到上报该信息后,在进行获取数据操作。 AT+FTPGET=2,1024              //  下载数据 +FTPGET:2,1024 0123456789aaaaaaaaaaaaaaaa … OK AT+FTPGET=2,1024 +FTPGET:2,0                             //  主动查询数据获取结束 OK +FTPGET:1,0                             //  模块自动上报获取数据完成 72
73. FTP 功能 PUT : AT+FTPCID=1 AT+FTPSERV="simcom.exavault.com" AT+FTPUN=“LIQ“ AT+FTPPW=“1234" AT+FTPPUTNAME="111.txt" AT+FTPPUTPATH="/" AT+FTPPUT=1                          //  执行完该指令后,不要有任何操作等待模块返回信息 OK +FTPPUT:1,1,1360'>FTPPUT:1,1,1360                    //  上报该信息后,可以上传数据,最多 1360 字节。 AT+FTPPUT=2,10                       +FTPPUT:2,10 OK                                              //  输入数据结束 +FTPPUT:1,1,1360'>FTPPUT:1,1,1360            +FTPPUT:1,0                              //  上传结束 73
74. HTTP 功能 初始化设置 AT+CGATT? +CGATT: 1 OK AT+SAPBR=3,1,"CONTYPE","GPRS"  OK AT+SAPBR=3,1,"APN","CMNET" OK AT+SAPBR=1,1   OK 74
75. HTTP 功能 GET : AT+HTTPINIT                                          OK AT+HTTPPARA="URL","www.baidu.com/img/baidu_logo.gif" OK AT+HTTPACTION=0 OK                                                          //  此时等待以下信息的返回,不要操作其它 +HTTPACTION:0,200,1489                    //  获取成功 AT+HTTPREAD                                     //  读取数据 +HTTPREAD:1489 GIF89a? ?p 蒊 …                                                           //  如果下载数据在 sscom 中无法看到 ok 返回,客户认 OK 为模块问题,请选择 hex 显示在取消即可。 AT+HTTPTERM OK 75
76. HTTP 功能 POST : AT+HTTPINIT OK AT+HTTPPARA="CID",1 OK AT+HTTPPARA="URL","116.228.221.51:7015" OK AT+HTTPDATA=10,10000 DOWNLOAD OK AT+HTTPACTION=1 OK +HTTPACTION:1,408,0 AT+HTTPTERM OK 76
77. HTTP 功能 POST : AT+HTTPINIT OK AT+HTTPPARA="CID",1 OK AT+HTTPPARA="URL","116.228.221.51:7015" OK AT+HTTPDATA=10,10000 DOWNLOAD OK AT+HTTPACTION=1 OK +HTTPACTION:1,408,0 AT+HTTPTERM OK 77
78. 获取经纬度 SIM900 模块获取经纬度信息,其原理是模块获取基站信息,然后将基站信息发送到 google map ,然后 google map 会返回对应经纬度信息。 ( 软件版本是带 MMS 的版本 ) AT+CGATT? +CGATT: 1 OK AT+SAPBR=3,1,"CONTYPE","GPRS" OK AT+SAPBR=3,1,"APN","CMNET" OK AT+SAPBR=1,1 OK AT+CIPGSMLOC=1,1 +CIPGSMLOC:'>CIPGSMLOC: 0,121.350302,31.204754,2011/10/05,14:53:17 OK AT+CIPGSMLOC=2,1 +CIPGSMLOC:'>CIPGSMLOC: 0,2011/10/05,14:53:30 OK AT+SAPBR=0,1 OK 78
79. 谢谢!    79