SIM900系列模块AT应用了解_第1页
SIM900系列模块AT应用了解_第2页
SIM900系列模块AT应用了解_第3页
SIM900系列模块AT应用了解_第4页
SIM900系列模块AT应用了解_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SIM900系列模块AT应用了解第一页,共80页。SIM900系列模块AT应用了解主要是针对SIM900系列模块AT功能进行说明,把我们常用的一些AT功能及事例分享给大家。以下介绍主要是以一般性AT介绍、SIM卡相关、网络注册、语音功能、短信操作应用、TCP/IP应用、ppp拨号、MMS、等功能,进行一一介绍说明。2第二页,共80页。SIM900系列模块AT应用了解SIM900系列与之前SIM300系列模块AT指令处理方式不同:SIM300:在同一时间内mcu同时向模块发送几条AT指令,SIM300可以进行一一处理并执行;SIM900:在同一时间只能处理mcu发送过来的一条AT指令,如果mcu同时将几条AT指令发送给模块,那么SIM900只能执行其中的一条AT指令,其它AT指令全部被丢弃。以上主要是因为平台处理机制不同。3第三页,共80页。一般性AT指令ATE、ATQ、ATV指令ATE0

//回显模式关闭。OK

//ATE1设置回显模式打开,一般客户跑程序都会将回显关闭处理,特别是TCP/IP和ppp拨号类应用。ATQ0

//设置ATQ0后每条AT执行后都会有相应返回,比如OK、sendOKok等提示信息。ATQ1

//

设置ATQ1意味模块每条AT指令执行后不会有有任何返回。ATV0

//设置ATV0,每条AT执行后返回的是数字信息,如01234等0ATV1

//设置ATV1,每条AT执行后返回的是字符信息,如okringOKconnect等模块默认ATE1

ATQ0

ATV1,客户可根据需要进行设置。4第四页,共80页。一般性AT指令AT+CFUN设置模块功能AT+CFUN=?+CFUN:(0,1,4),(0-1)//默认参数1,全部功能。OKAT+CFUN=0,AT+CFUN=1//重启模块射频,可以重新注册网络AT+CFUN=1,1IIII//软件复位模块重启标志性提示。RDYOK+CFUN:1+CPIN:READY//如果是固定波特率,模块重启也会上报这些信息。5第五页,共80页。一般性AT指令AT+IPR固定波特率SIM900系列模块所有软件版本出厂默认自适应波特率,客户初次使用使用可以根据mcu端波特率固定模块波特率。AT+IPR=?+IPR:(),(0,1200,2400,4800,9600,19200,38400,57600,115200)OKAT+IPR=115200OK如果个别客户在使用过程中mcu和模块无法正常通讯,建议客户端设计将DTR引脚开机默认置低电平,应该有很大改善,待可以正常AT通讯,使用AT+IPR固定模块波特率。6第六页,共80页。一般性AT指令AT+CMEE上报详细错误信息AT+CMEE=?+CMEE:(0-2)OKAT+CMEE=2OKAT+CSQ?+CMEERROR:operationnotallowed客户在程序设计时,可以考虑初始化加入该AT,可以根据返回的大致意思,判断AT指令是哪方面的error。7第七页,共80页。一般性AT指令IMEI号查询、修改及说明AT+GSN//查询模块IMEI号,仅仅是查询而已0280OKAT+SIMEI?//查询模块IMEI号,可通过该指令修改IMEI号,最多可修改3次。0280OKAT+SIMEI="0280"OKIMEI为TAC(6位)+FAC(2位)+SNR(6位)+SP(1位)组成。IMEI(InternationalMobileEquipmentIdentity)是国际移动设备身份码的缩写,国际移动装备辨识码,是由15位数字组成的"电子串号",它与每个模块一一对应。8第八页,共80页。一般性AT指令AT+CCID显示CCID(SIM卡背面20为数字)AT+CCID

898682604OKSIM卡背面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第九页,共80页。一般性AT指令AT+GSV、AT+GMR查询模块软件版本AT+GSVSIMCOM_LtdSIMCOM_SIM900Revision:1137B09SIM900M64_STOK或AT+GMRRevision:1137B09SIM900M64_STOK

10第十页,共80页。一般性AT指令CallReady//意味着模块初始化已经完成,可以进行语音类功能操作,如ATD拨号。AT+CPIN输入pin码AT+CLCK设置pin码,取消pin码AT+CLCK=“SC”,1,“1234“//设置pin码,一般建议不要随意设置SIM的PIN码OKAT+CPIN?+CPIN:SIMPINOKAT+CPIN="1234“OK注意:SIM卡设置pin后,如果3次输入pin码失败,需要输入puk码,puk输入10次无效SIM卡无效,只能重新补卡。AT+CLCK=“SC”,0,“1234“//取消pin码设置。OK

11第十一页,共80页。一般性AT指令AT+CSQ信号质量查询AT+CSQ//模块开机后注册网络前,请先查询改指令。+CSQ:23,0//参数1:RSSI,参数2:berOK设置CSQ值URC自动操作如下:AT+EXUNSOL=“SQ”,1//该参数一般建议设备比较固定的应用,如车载、跟踪器、OK手持设备等,在动态过程中小区切换、网络覆盖强弱等因素,CSQ值将不停上报,可能会影响客户的判断。+CSQN:12,0+CSQN:14,0+CSQN:16,0首先说误码率(ber),其范围0~7,待机状态下如果查询CSQ也存在误码率,只能说客户的产品射频干扰太大;一般只有在拨打电话瞬间才会有较高的误码率。12第十二页,共80页。一般性AT指令AT+CSQ信号质量查询然后大致说一下ATC文档中关于AT+CSQ中RSSI值和实网场强对应关系:<RSSI>0小于等于-115dBm1-111dBm2~30-110~-54dBm31大于等于-52dBm99未知参数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第十三页,共80页。一般性AT指令AT+CENG开启或关闭工程模式AT+CENG=1,1//开启工程模式OKAT+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"OKAT+CENG=2,1//开启工程模式并自动上报14第十四页,共80页。一般性AT指令AT+CENG开启或关闭工程模式+CENG:0,"0723,32,99,460,01,30,0e93,10,64,144f,255“其中我们需要了解的:<rxl>—接收电平(场强)<mcc>—移动国家码<mnc>—移动网络嘛<cellid>—小区号<lac>—位置区号码当前服务小区号<arfcn><rxl><rxq><mcc><mnc><bsic><cellid><lac><rla><txp><TA>00723329946001300e931064144f25515第十五页,共80页。一般性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)..OKAT*CELLLOCK=1,4,124,251,512,885//该功能仅适合客户设备使用在固定场所,且客户了解网络频点分布,否则随便设置可能会导OK致模块无法注册网络。AT*CELLLOCK=0//取消锁频功能16第十六页,共80页。一般性AT指令AT+CBAND读取和设置模块频段AT+CBAND=?+CBAND:(PGSM_MODE,DCS_MODE,PCS_MODE,EGSM_DCS_MODE,GSM850_PCS_MODE,ALL_BAND)OKPGSM_MODE等同于EGSM_MODE=900DCS_MODE=1800PCS_MODE=1900EGSM_DCS_MODE=900/1800GSM850_PCS_MODE=850/190017第十七页,共80页。一般性AT指令AT+CBAND读取和设置模块频段AT+CBAND?+CBAND:EGSM_MODE,ALL_BANDOKSIM900系列模块默认设置all_band,客户不需要设置就可以自动选择频段。SIM900A/900S模块硬件上只支持900/1800频段,所以客户(POS应用)使用时候可以设置900+1800组合频段,也可以改善有些区域设备找网、附着GPRS网络时间慢问题。AT+CBAND="EGSM_DCS_MODE"OK18第十八页,共80页。一般性AT指令AT+CREG网络注册信息AT+CREG=1//开启显示网络注册,当模块注册网络、掉网会有URC上报信息。OK+CREG:1,1//模块是否注册网络,主要看第二个参数,返回1或5表示注册网络,其它234则表示模块未注册网络。AT+CREG=2//设置自动上报,当模块注册网络、掉网、小区切换均有URC上OK报信息。+CREG:2,1,“144F”,“C3E9“//参数3:lac,参数4:cellid注意:若查询返回+CREG:0,5,则表示SIM卡处于漫游状态。目前国内移动或联通的SIM卡,在中国大陆地区使用不会显示漫游状态,主要是因为同一个运营商的SIM卡在其运营商覆盖的网络环境下,不会因为区域不同显示漫游状态。19第十九页,共80页。一般性AT指令AT+CREG网络注册信息IIII//模块开机RDY+CFUN:1+CPIN:READY+CREG:0//模块开机初始未注册网络+CREG:2//寻找运营商注册网络+CREG:1,“144F”,“C3E9”//注册网络+CGREG:0CallReady+CGREG:1,“144F”,“C3E9”//附着GPRS网络20第二十页,共80页。一般性AT指令AT+CREG网络注册信息目前SIM900系列模块开机注册网络时间有很大改善,基本是10秒以内完成网络注册。21第二十一页,共80页。一般性AT指令AT+CGATT附着和分离GPRS业务AT+CGATT?//查询模块是否附着GPRS网络+CGATT:1OK模块开机后首先查询模块是否附着GPRS网络,不要主动设置AT+CGATT=1,除非待机状态下主动上报+CGATT:0,此时可以设置AT+CGATT=1,否则不要设置。在一些特殊的情况,比如模块从无信号的状态进入有信号的状态(穿过隧道),有可能会出现无法附着GPRS网络的情况,此时建议用AT+CFUN来重启射频。

22第二十二页,共80页。一般性AT指令模块开机后应该执行下面初始化流程AT//测试串口通讯是否正常OKAT+CPIN?//查询是否检测到SIM卡+CPIN:READYOKAT+CSQ//查询信号质量+CSQ:18,0OKAT+CREG?//查询模块是否注册网络+CREG:0,1OKAT+CGATT?//查询模块是否GPRS+CGATT:1OK以上全部正常在进行其它功能操作。23第二十三页,共80页。

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第二十四页,共80页。

SMS应用相关AT+CPMS查询SIM卡内短消息使用状态模块开始后需要执行SMS功能,请在模块注册网络同时,查询”AT+CPMS?”指令返回正常后,在操作短信业务,避免出现“+CMSERROR:515、517”的信息提示。AT+CPMS?+CPMS:"SM",23,50,"SM",23,50,"SM",23,50OK请定期查询SIM卡中短信息存储量,一旦SIM卡中短消息存满,将无法继续接收外部发过来的短信。SIM900系列模块接收到的短信存储方式:默认存储在SIM卡中;接收信息直接打印到串口,客户mcu来处理。25第二十五页,共80页。

SMS应用相关AT+CNMI新消息指示设置AT+CNMIAT+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:"","“,"11/10/04,12:59:53+32"123收到””发来的新消息:123,该新消息没有存储.AT+CNMI=2,1,0,1,0AT+CSMP=49,167,0,241短信回执+CDS:32,7,"",129,"11/10/04,13:02:28+32","11/10/04,13:02:33+32",0短消息中心在“11/10/04,13:02:28+32”时收到了本号码发给“”的消息,“”手机在"11/10/04,13:02:33+32"时收到了本号码发出的短消息26第二十六页,共80页。

SMS应用相关AT+CMGF选择短消息格式AT+CMGF=?+CMGF:(0,1)//0(默认):PDU模式1:文本模式OKAT+CSCS编码设置AT+CSCS=?+CSCS:("IRA","GSM","UCS2","HEX","PCCP","PCDN","8859-1")OK//短信相关常用主要是GSM、UCS2编码格式27第二十七页,共80页。

SMS应用相关TEST(UCS2)模式下发送中英文短消息,短消息直接显示在终端。AT+CMGF=1AT+CSCS="UCS2”AT+CSCA?//模块会根据SIM卡自动设置短消息中心号码,只做查询即可。AT+CSMP=17,167,0,24//主要是参数4,数据编码格式AT+CMGS="82000360039",>4F60597DC006C006F//将中英文字符串转为Unicode码(CTRL-Z)28第二十八页,共80页。

SMS应用相关TEST(UCS2)模式下发送中英文短息,短消息储存至SIM卡中。AT+CMGF=1AT+CSCS="UCS2”AT+CSCA?AT+CSMP=17,167,0,25AT+CMGS="82000360039",>4F60597DC006C006F(CTRL-Z)29第二十九页,共80页。

SMS应用相关TEXT(GSM)模式下发送英文短消息,短消息直接显示在终端。AT+CMGF=1AT+CSCS="GSM”AT+CSCA?AT+CSMP=17,167,0,240AT+CMGS="10086”>HELLOCTRL-Z30第三十页,共80页。

SMS应用相关TEXT(GSM)模式下发送英文短消息,短消息储存至SIM卡中。AT+CMGF=1AT+CSCS="GSM”AT+CSCA?AT+CSMP=17,167,0,241AT+CMGS=”10086”>HELLOCTRL-Z31第三十一页,共80页。

SMS应用相关PDU模式下发送中英文短消息AT+CMGF=0OKAT+CSCS=”UCS2”OKAT+CSCA?+CSCA:"002B11500030",145OKAT+CMGS=29>0011000D91683118280760F90008010EC006C006F6D4B8BD5+CMGS:10OK32第三十二页,共80页。

SMS应用相关0011000D91683118280760F90008010EC006C006F6D4B8BD5数据解析00//为SCA预留11//FO设置PDU类型00//MR发送参考号0D//DA目的号码长度91//DA目的号码类型68//DA中国的区号3118280760F9//DA目的号码编码00//PID发送方式08//DCS编码模式。08表示class1,18表示class001//VP有效区0E//UDL数据长度C006C006F6D4B8BD5//UD数据内容Unicode33第三十三页,共80页。

SMS应用相关模块接收PDU模式解析04105F0240D91683118280760F91740223044F60597D0891683110304105F0//SMSC地址

86,补‘F’凑成偶数个.24//基本参数,无更多消息0D//回复地址数字个数共13个十进制数(不包括91和‘F’),十六进制91683118280760F9//回复地址86,补‘F’凑成偶数个00//协议标识(TP-PID)

是普通GSM类型,点到点方式08//用户信息编码方式(TP-DCS)

UCS2编码

113//时间戳

04//用户信息长度,十六进制4F60597D//用户信息34第三十四页,共80页。

SMS应用相关AT+CMGD删除短信SIM卡中短信请定期查询并删除。AT+CPMS?+CPMS:“SM”,4,50,“SM”,4,50,“SM”,4,50//查询SIM卡短信存储数量OKAT+CMGD=1//删除其中的某一条短信OKAT+CPMS?+CPMS:"SM",3,50,"SM",3,50,"SM",3,50OK35第三十五页,共80页。

SMS应用相关AT+CMGDA删除所有短信AT+CPMS?+CPMS:"SM",3,50,"SM",3,50,"SM",3,50OKAT+CMGF=0//选择PDU模式OKAT+CMGDA=6//删除所有短信OKAT+CPMS?+CPMS:"SM",0,50,"SM",0,50,"SM",0,50OK36第三十六页,共80页。语音功能应用相关紧急呼叫操作每个国家区域的紧急号码不同,客户可通过AT指令设置需要的号码,最多可以设置11个。AT+CEMNL=?+CEMNL:(0-1),(1-11),("0"-"999")...OKAT+CEMNL=1,3,“112”,“000”,“911”//设置紧急号码OKATD112;//紧急拨号模块可以不识别SIM卡,但是查询CSQOK必需是正常的,否则无法拨打成功。AT+CLCC+CLCC:1,0,3,0,0,"112",129,"”OKATHOK37第三十七页,共80页。语音功能应用相关AT+CPAS查询通话状态通过该指令可以查询模块通话状态+CPAS:0//待机状态+CPAS:2//无SIM卡状态+CPAS:3//来电振铃过程中,未接起状态+CPAS:4//来电振铃ATA接通后状态

ATD拨号对方振铃、接起状态多方通话ATD拨号,接通后输入AT+CHLD=2将此通电话挂起状态SIM900系列模块AT+CPAS状态只是在CS域时,才会根据功能做出状态提示,PS域下不会改变状态。38第三十八页,共80页。语音功能应用相关AT+CLCC查询呼叫列表AT+CLCC=1//振铃、接起、挂断、无应答等都会有提示信息。RING+CLCC:1,1,6,0,0,“”,161,“”//对方拨打电话,模块端无应答,对方主动挂断。NOCARRIERATD10010;OK+CLCC:1,0,3,0,0,“10010”,129,““//ATD拨号过程中,振铃状态。+CLCC:1,0,0,0,0,“10010”,129,““//ATD拨号对方接通状态ATHOK+CLCC:1,0,6,0,0,“10010”,129,““//通话挂断后状态通常客户会直接AT+CLCC查询呼叫列表状态。39第三十九页,共80页。语音功能应用相关AT+CLIP设置指示来电号码AT+CLIP=1//开启OKRING+CLIP:"",161,"",,"",0AT+COLP设置被叫号码显示AT+COLP=1//开启OKATD;+COLP:"",129,"",""OK40第四十页,共80页。语音功能应用相关发送DTMF音及按键音时间间隔ATD;+COLP:"",129,"",""OKAT+VTS=“1,2,3,4,5”//发送按键音,每个按键音的时间基本都是小于300ms。OKAT+VTD?+VTD:10//按键音时间间隔,默认10(10*100ms)OKAT+VTS="1,2,3,4,5"OKAT+VTD=5//改变按键音间隔时间OKAT+VTS="1,2,3,4,5"OKATHOK41第四十一页,共80页。语音功能应用相关AT+CHFA切换音频通道目前SIM900系列模块支持0~3通道4个参数0—对应主通道(SIM900/900A)1—对应辅助通道(SIM900B/900S/900D)2—主通道做免提3—辅助通道做免提AT+SIDET改变侧音增益等级AT+SIDET=?+SIDET:(0,2),(0-16)//改变侧音增益需要设置两个参数。OKAT+SIDET=0,0OK42第四十二页,共80页。语音功能应用相关AT+CLVL接收器音量等级设置+CLVL:(0-100)//范围0~100AT+CLVL=60如果某些客户将音量等级设置到100,感觉音量还不够,可以使用AT+CUDG调节数字增益。前提是设备不会产生啸叫。AT+AUDG调节数字增益AT+AUDG=?+AUDG:Organ:(0,2),direction:(0-1),gain:(0-0x7fff)OKAT+AUDG=0,1,500043第四十三页,共80页。语音功能应用相关AT+AUDG调节数字增益<Organ>

语音通道0手持通道(主通道)1耳机通道(辅助通道)2免提通道(主通道做免提)3免提通道(辅助通道做免提)<direction>上下行链路选择

0设置麦克风数字增益,即上行数字增益

1设置受话器/扬声器数字增益,即下行数字增益<gain>

数字增益等级

gain值设置时是十进制,查询时是十六进制。通话中修改gain值实时起效,掉电可以保存。对应十进制范围0~3276744第四十四页,共80页。语音功能应用相关对于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第四十五页,共80页。数据业务应用TCP/IP、UDP/IP应用相关AT+CSTT//设置APNAT+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”,”username”,”password”46第四十六页,共80页。数据业务应用TCP/IP、UDP/IP应用相关AT+CIICR激活移动场景这里需要说明一下,模块开机后会自动附着GPRS网络,只要SIM卡有GPRS业务,真正应用必需要激活移动场景(PPP拨号过程中得PDP上下文激活),获得本地IP才可以应用数据业务。AT+CSTT//APN任意设置都可以返回okAT+CIICR//激活移动场景模块超时设置40s,如果40s还没有激活成功,模块端会自动上报+PDP:DEACT。如果前面CSQ、CREG、CGATT、AT+CSTT状态都是正常的,移动场景激活失败,那肯定是网络侧原因所致。当然CSQ值过低,比如10以下,移动场景激活成功概率较低。如果移动场景激活失败,执行AT+CIPSHUT(关闭移动场景),模块设置超时时间20s。AT+CIFSR//获得本地IP地址47第四十七页,共80页。数据业务应用TCP/IP、UDP/IP应用相关AT+CIPSTART建立TCP(UDP)/IP连接如果客户在+CGATT:1之后直接执行AT+CIPSTART=“TCP”,“5”,7015操作,可能返回connectok的时间会相对较长一些。因为在AT+CIPSTART过程中,也会执行AT+CSTT、AT+CIICR、AT+CIFSR3个过程,所以客户端可以根据具体情形选择。前提是APN的设置一定要正确。ALREADYCONNECT//如果执行AT+CIPSTART后返回这个信息,说明模块已经建立TCP/IP连接。48第四十八页,共80页。数据业务应用TCP/IP、UDP/IP应用相关AT+CIPCLOSE关闭TCP(UDP)连接AT+CIPCLOSE=0//慢关fin2分钟左右AT+CIPCLOSE=1//快关rst100ms左右AT+CIPSHUT关闭移动场景模块设置超时20s,一般TCP/IP连接异常使用AT+CIPSHUT后,重新执行AT+CSTT等重新建立TCP/IP连接,建议间隔时间10s,否则可能会因为移动场景关闭还没有彻底释放,导致重新激活移动场景失败。49第四十九页,共80页。数据业务应用TCP/IP、UDP/IP应用相关AT+CIPMUX多IP连接(默认单连接),多连接状态支持8路连接。之前也有客户询问多连接状态安全性是否有保障,其实多连接与单连接一样,模块作为clien与server端连接,中间网络侧的安全性是无法保障的,一般网络侧都是有路由的。AT+CIPMUX指令设置只有在IPINITIAL状态下才可以,其它状态下设置不允许。AT+CIICROKAT+CIPMUX=1ERRORAT+CIPSTATUSOKSTATE:IPINITIALAT+CIPMUX=1OK50第五十页,共80页。数据业务应用TCP/IP、UDP/IP应用相关AT+CIPSERVER模块设置为服务器首先,国内运营商不支持点对点业务,所以即便模块设置server之后,两个模块之间也不能建立TCP/IP连接。目前只有国外一些运营商和国内一些专网卡才支持点对点业务,比如国内电力、烟草、铁路上的专网卡。模块做server操作如下:AT+CSTTOKAT+CIICROKAT+CIFSR

//获取动态IP地址。如果是专网卡,这个IP地址每次都是85固定不变的,PPP拨号也是如此。AT+CIPSERVER=1,"2020"OKSERVEROK51第五十一页,共80页。数据业务应用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:0-CSD,DIALNUMBER,USERNAME,PASSWORD,RATE(0-3)+CIPCSGP:1-GPRS,APN,USERNAME,PASSWORDOKAT+CIPCSGP?+CIPCSGP:1,"CMNET","",""

//默认PS域OK52第五十二页,共80页。数据业务应用TCP/IP、UDP/IP应用相关AT+CIPSTATUS查询当前连接状态模块开机状态就是IPINITIAL,可以通过AT+CIPSTATUS查询。如下操作会更清晰一些:+CGATT:1

//STATE:IPINITIAL(初始化)AT+CSTT

//STATE:IPSTART(启动任务)AT+CIICR

//STATE:IPGPRSACT(接受场景配置)AT+CIFSR

//STATE:IPSTATUS

(获得本地IP)AT+CIPSTART="TCP","5",7015OKCONNECTOK

//STATE:CONNECTOK(连接建立成功)AT+CIPCLOSE//STATE:TCPCLOSED(TCP连接断开,移动场景还处于激活状态)AT+CIPSHUT//STATE:IPINITIAL(移动场景关闭,重新IP初始化)53第五十三页,共80页。数据业务应用TCP/IP、UDP/IP应用相关AT+CIPATS自动发送数据这条命令不太常用。AT+CIPATS=1,10

//比如我设置10秒自动发送OKAT+CIPSEND>HELLO

//模块将这些数据放到模块buffer内,等到10秒后自动发送。其实数据还是要客户MCU处理,只是不用你们执行ctrl+Z而已。SENDOK

54第五十四页,共80页。数据业务应用TCP/IP、UDP/IP应用相关AT+CIPMODE选择TCP/IP应用模式SIM900系列模块内嵌协议栈传输模式分为透传和非透传。AT+CIPMODE=0//非透传模式,默认参数AT+CIPMODE=1//透传模式其实简单理解就是透传状态模块处于数据态,只能进行数据传输,不能进行AT命令操作(此时执行AT命令会被当做数据发送)。透传模式需要硬件流控,还有就是判断模块处于数据态还是命令态,可以判断DCD引脚DCD——2.8V

命令态DCD——低电平

数据态

55第五十五页,共80页。数据业务应用TCP/IP、UDP/IP应用相关非透传:传输数据量不大,建议使用此功能。在非透传状态下,最多可以发送1460字节,可以在TCP/IP连接状态下使用AT+CIPSEND?查询。为了保证数据传输的稳定性,建议客户每次发送完数据都要等sendok返回后,在发送下面的数据。如果发送数据中包含十六进制“1A”,就必须使用定长发送(AT+CIPSEND=x),否则“1A”以后的数据将会丢失。客户也可根据发送数据时间间隔选择长连接、短连接方式:短连接方式:执行AT+CIPCLOSE后,如果长时间没有进行TCP/IP连接,模块会上报+PDP:DEACT,那客户只能执行AT+CIPSHUT后重新建立TCP/IP连接。长连接方式:TCP/IP连接状态下,如果较长时间内没有数据交互,建议发送心跳检测包维持链路连接,否则也会被网络中断。

56第五十六页,共80页。数据业务应用TCP/IP、UDP/IP应用相关非透传:传输数据量不大,建议使用此功能。AT+CIPSTART="TCP","1",7015

//建立TCP/IP连接OKCONNECTOKAT+CIPSEND

>HELLOSENDOK

AT+CIPACK//查询累计发送数据量+CIPACK:5,5,0

//参数1:已发送的数据量(模块端)

参数2:(模块端)已发送的数据量server端响应ok

OK参数3:(模块端)已发送的数据量server端未响应ok

//如果客户短连接,sendok返回后客户可以执行AT+CIPCLOSE关闭

TCP/IP连接,需要再次发送数据时候重新建立TCP/IP连接。

//如果是长连接,建立模块与服务器之间发送心跳检测包,3~5分钟发送一次,维持TCP/IP连接。彻底关闭请使AT+CIPSHUT。

57第五十七页,共80页。数据业务应用TCP/IP、UDP/IP应用相关透传:传输数据量较大,最好使用透传功能。介绍透传功能前,请先了解以下两条AT指令AT+IFC=2,2//默认”+IFC:0,0”,开启硬件流控功能设置2,2透传模式RTS和CTS的作用RTS:模块的输入端,通知模块此时MCU是否已经准备好,低有效CTS:模块的输出端,通知MCU是否可以继续传数据,低有效。模块内部的buffer小于2K,就会通知MCU停止发送数据。

58第五十八页,共80页。数据业务应用TCP/IP、UDP/IP应用相关透传:传输数据量较大,最好使用透传功能。AT+IFC=2,2

AT+CIPMODE=1

//设置透传模式,默认0。+CIPCCFG:5,2,1024,1

AT+CIPSTART="TCP","0",2020OKCONNECT

//模块进入数据态…

//此时可以根据你们的数据情况,进行数据传输。在透传状态下,模块完全处于数据态,模块内部buffer有8k的空间,正常情况下CTS引脚为低电平,如果buffer内数据大于6k,模块CTS引脚置高,此时不要向buffer内传送数据,等待CTS引脚拉低(此时buffer内数据小于2k)后在向buffer内传送数据。//需要模块从数据态切换到命令态,请使用“+++”

注意+++时序,否则会以数据形式发送。ATO

//从命令态到数据态CONNECT…

59第五十九页,共80页。数据业务应用TCP/IP、UDP/IP应用相关域名连接AT+CSTT=“cmnet”OKAT+CIICROKAT+CIFSR91AT+CIPSTART=“TCP”,“”,80//SIM900系列可以自动识别域名和IP。OKCONNECTOKAT+CIPSEND=5//对于客户来讲,域名连接客户必须要知道服务器端接收>HELLO报文格式,否则服务器端会很快关闭连接。SENDOKAT+CIPSEND//这时TCP/IP连接已经断开了。ERROR

60第六十页,共80页。TCP的过程

以SIM900为例数据重传:3,6,12…一个TCP协议栈内的时间是30S。61第六十一页,共80页。数据业务应用DNS、域名解析AT+CSTTOKAT+CIICROKAT+CIFSR82AT+CDNSCFG?//模块可以自动进行DNS解析,不需要手动设置了。PrimaryDns:SecondaryDns:7OKAT+CDNSGIP=“”//域名解析OK+CDNSGIP:1,"","05"AT+CDNSGIP=""OK+CDNSGIP:1,"","12"

62第六十二页,共80页。数据业务应用TCP/IP、UDP/IP应用相关AT+CIPUDPMODEUDP扩展模式如果客户UDP/IP应用时候出现模块与server无法正常数据交互,可以设置AT+CIPUDPMODE=1(默认0)。AT+CIPHEAD设置模块接收数据是否显示IP头默认0.不显示,如客户需要显示IP头AT+CIPHEAD=1即可显示。

63第六十三页,共80页。

AT+CIPSTART="TCP","IP",portAT+CSQAT+CREG?AT+CGATT?AT同步

AT+CSTTAT+CIICRAT+CIFSRAT+CIPSENDAT+CIPCLOSEAT+CIPSHUT短连接模式:发送完数据后执行关闭TCP/IP连接,需要再次发送数据在AT+CIPSTART。长连接模式:发送完数据后不关闭TCP/IP连接定时发送心跳包,维持链路连接(3~5分钟)关闭移动场景回到初始状态若需彻底退出关闭移动场景AT+CPIN?64第六十四页,共80页。数据业务应用PPP拨号在ppp拨号前请先查询以下AT参数返回是否正常:AT+CSQ+CSQ:22,0OKAT+CREG?+CREG:2,1,"144F","C3E9"OKAT+CGATT?+CGATT:1OKAT+CGDCONT=1,"IP","cmnet”OKATD*99#65第六十五页,共80页。

MMS功能SIM900系列模块MMS功能需要特殊版本支持,目前SIM900/900B模块有MMS功能。发送MMS初始化AT+CMMSINIT//进入MMS功能,这条指令必需执行。在发送或接收MMS之前,以下参数必需配置。AT+CMMSCURL="“//设置MMS中心的URL地址,不带“http://”AT+CMMSCID=1//设置网络参数AT+CMMSPROTO=“72”,80//配置为http协议处理MMS并设置代理服务器AT+CMMSSENDCFG=6,3,0,0,2,4//有效期默认,优先级默认,不设置发送状态报告,不设置接收状态报告,不显示发送地址(默认),彩信类别默认66第六十六页,共80页。

MMS功能选择GPRS、设置APN、激活PDP上下文AT+SAPBR=3,1,“Contype”,“GPRS”//设置GPRS连接AT+SAPBR=3,1,“APN”,“cmwap“//设置APN,国内移动、联通都是cmwapAT+SAPBR=1,1//激活PDP上下文,”2,1”查询IP地址发送MMSAT+CMMSEDIT=1//进入MMS编辑AT+CMMSDOWN=“PIC”,27740,500000//下载图片,参数2对应实际图片大小(1-307200)。AT+CMMSDOWN=“TEXT”,5,5000//下载文本,范围1-15360AT+CMMSDOWN=“TITLE”,3,5000//输入标题,范围1-40AT+CMMSRECP=““//输入手机号码AT+CMMSVIEW//查看MMS编辑内容(删除文件AT+CMMSDELFILE)AT+CMMSSEND//开始发送MMS,在发送过程中OK未返回前,请不要操作其它AT命令。AT+CMMSEDIT=0//退出MMS编码模式,同时清空buffer。67第六十七页,共80页。

MMS功能接收MMS+CMTI:"SM",26,"MMSPUSH“AT+CMMSEDIT=0//在编辑模式不能接收MMSAT+CMMSRECV=26//接收MMS+CMMSRECV:"+86","2011-10-05,12:43:07","310032003300",278321,"image0.jpg",7,277402,"text0.txt",4,5OKAT+CMMSREAD=1//读取第一个文件AT+CMGD=26//删除MMSAT+CMMSTERM//退出MMS以上为MMS首发的基本操作,如在操作过程中遇到一些error,请参考”SIM900_MMS_ATCommandManual”文档具体说明。68第六十八页,共80页。

MMS功能目前MMS标准版本最多可以接收10个文件。如遇到有些客户需要接收手机报(MMS中包含10个以上文件),可以单独提出需要单独修改软件版本。发送MMS时,也可以选择发送中文标题(手机端title显示中文),最大的附件在300K左右,建议最好能控制在100K左右。MMS业务不同运营商SIM卡对应APN、IP地址不同,所有MMS应用前必需根据SIM卡运营商获取APN、IP地址,否则MMS无法正常使用。69第六十九页,共80页。

FTP功能FTP功能包括get、put及断点续传。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论