数据正在连接服务器

正在连接服务器  时间:2021-04-14  阅读:()
SIM800系列_TCPIP_应用文档_V1.
02SmartMachineSmartDecision手册名称SIM800系列_TCPIP_应用文档版本1.
02日期2016-11-17状态发布文档控制号SIM800系列_TCPIP_应用文档_V1.
02一般事项SIMCom把本手册作为一项对客户的服务,编排紧扣客户需求,章节清晰,叙述简要,力求客户阅读后,可以通过AT命令轻松使用模块,加快开发应用和工程计划的进度.
SIMCom不承担对相关附加信息的任何独立试验,包含可能属于客户的任何信息.
而且,对一个包含SIMCom模块、较大型的电子系统而言,客户或客户的系统集成商肩负其系统验证的责任.
由于产品版本升级或其它原因,本手册内容会不定期进行更新.
除非另有约定,本手册仅作为使用指导,本手册中的所有陈述、信息和建议不构成任何明示或暗示的担保.
手册中信息修改,恕不另行通知.
版权本手册包含芯讯通无线科技(上海)有限公司的专利技术信息.
除非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本手册内容的部分或全部,并不得以任何形式传播,犯规者可被追究支付赔偿金.
对专利或者实用新型或者外观设计的版权所有,SIMCom保留一切权利.
版权所有芯讯通无线科技(上海)有限公司2016年SmartMachineSmartDecisionSIM800系列_TCPIP_应用文档_V1.
022016-11-172目录1架构.
42单链路模式52.
1非透传模式.
52.
1.
1如何建立一个TCP客户端链接.
52.
1.
2如何建立UPD客户端链接.
62.
1.
3如何创建TCP服务器链接.
72.
1.
4UDP扩展模式.
82.
2透传模式.
92.
2.
1什么是透传模式.
92.
2.
2如何配置透传模式.
92.
2.
3透传模式下如何建立链接.
92.
2.
4如何在透传模式和命令模式间切换.
102.
2.
5数据模式下如何处理来电和短信.
112.
3固定TCP/UDP客户端的本地端口号113多链路模式123.
1作为客户端.
123.
2作为TCP服务器134两个GPRS场景.
165DNS查询功能186数据发送方式196.
1固定长度发送.
196.
2定时发送.
196.
3查询可以发送的数据长度.
196.
4选择数据传输模式.
196.
5查询数据传送状态.
207数据接收相关227.
1自动接收数据.
227.
2通过AT命令接收数据.
228GPRS状态切换.
239关闭链接2510活动链接检查2511功耗与现有的链接2512错误处理25附录.
26A.
参考文档.
26B.
术语和缩写.
26SmartMachineSmartDecisionSIM800系列_TCPIP_应用文档_V1.
022016-11-173版本历史日期版本修改点描述作者2013-07-251.
00第一版张平2013-10-121.
01修改多链路模式下作为客户端的例子(章节3.
1)张平2016-11-171.
02适用范围张平适用范围本手册描述了如何通过AT命令使用内部TCPIP协议栈.
本手册适用于带TCPIP功能的SIM800系列版本.
SmartMachineSmartDecisionSIM800系列_TCPIP_应用文档_V1.
022016-11-1741架构SIM800系列模块的TCP/IP应用有两种连接模式,可以通过命令AT+CIPMUX=来设置.
当AT+CIPMUX=0时,是单链路模式;当AT+CIPMUX=1时,是多链路模式.
默认设置是单链路模式.
当在单链路模式下,SIM800系列模块可以工作在透传模式和非透传模式.
这两种传输模式下,模块可以被配置为TCP/UDP客户端或TCP服务器.
当在多链路模式下,SIM800系列模块只工作在非透传模式.
在这种模式下,模块可以作为一个绝对的TCP/UDP连接的客户端,它总共可以建立6路连接;它也可以被配置为一个TCP服务器,另外还可以配置5路TCP/UDP的客户端.
TCP/IP应用程序的结构如下图所示.
SIM800CIPMUX=1CIPMUX=0透传模式非透传模式客户端服务器端非透传模式客户端服务器端单链路模式多链路模式图1:SIM800TCP/IP结构图SmartMachineSmartDecisionSIM800系列_TCPIP_应用文档_V1.
022016-11-1752单链路模式当在单链路模式下,SIM800系列模块可以工作在透传模式和非透传模式.
可以通过命令AT+CIPMODE=用来设置,当AT+CIPMODE=0时,是非透传模式(普通模式);当AT+CIPMODE=1时,是透传模式.
默认设置是非透传模式.
如下表格"语法"列中黑色文字是输入给模块的AT命令,蓝色文字是模块返回值.
2.
1非透传模式在非透传模式下,SIM800系列模块有三种工作模式:TCP客户端,UDP客户端和TCP服务器.
2.
1.
1如何建立一个TCP客户端链接首先,在进行任何TCP/UDP相关操作之前要初始化.
当模块已经连上GSM或者GPRS网络,用户可以通过命令"AT+CREG"和"AT+CGATT"来查询GSM网络注册状态,以确认模块是否已经附着上GPRS服务.
语法说明AT+CPIN+CPIN:READYOK检查SIM卡状态AT+CSQCSQ:20,0OK检查网络信号强度AT+CREG+CREG:0,1OK检查网络注册状态AT+CGATT+CGATT:1OK检查GPRS附着状态然后,用户可以用命令组AT+CSTT,AT+CIICR和AT+CIFSR来开始一个任务并且激活无线连接.
最后,用户可以在模块和服务器之间,用AT命令(AT+CIPSTART="TCP","IPAddressofserver","portnumberofserver")来建立TCP链接.
如果链路成功建立,模块会上报响应"CONNECTOK".
现在用户可以用"AT+CIPSEND"给服务器发送数据,"AT+CIPSEND"会返回提示符">",用户在">"后输入数据.
最好按CTRL+Z(0x1a)来发送数据.
如果数据被成功发送,模块会上报"SENDOK".
如果有从服务器过来的数据,模SmartMachineSmartDecisionSIM800系列_TCPIP_应用文档_V1.
022016-11-176块会自动接收该数据并上报.
用户可以通过"AT+CIPCLOSE"命令来关闭TCP连接.
下面是TCP连接远端服务器的例子.
语法说明AT+CGATT+CGATT:1OK检查GPRS附着状态AT+CSTT="CMNET"OK开始任务,设置APN.
默认APN是"CMNET",没有用户名和密码.
可以查询当地GSM运营商来获得APNAT+CIICROK建立无线链路(GPRS或者CSD)AT+CIFSR10.
78.
245.
128获得本地IP地址AT+CIPSTART="TCP","116.
228.
221.
51","8500"OK建立TCP链接CONNECTOKTCP链接成功建立AT+CIPSEND>helloTCPserve发送数据到远端服务,CTRL+Z(0x1a)发送.
用户必须要等到">"后才输入数据,然后用CTRL+Z发送.
用户可以用命令"AT+CIPSPRT"来设置是否在字符串"AT+CIPSEND"后显示提示符">".
SENDOK数据已经发送出去并且被远端服务器成功接收,参考注释[1]helloSIM800收到远端服务器发来数据CLOSED远端服务器关闭了链接2.
1.
2如何建立UPD客户端链接建立UDP链接和上面建立TCP链接是一样的.
语法说明AT+CGATT+CGATT:1OK检查GPRS附着状态AT+CSTT="CMNET"OK开始任务,设置APNAT+CIICR建立无线链路(GPRS或者CSD)SmartMachineSmartDecisionSIM800系列_TCPIP_应用文档_V1.
022016-11-177OKAT+CIFSR10.
78.
245.
128获得本地IP地址AT+CIPSTART="UDP","116.
228.
221.
51","9600"OK建立UDP链接CONNECTOKUDP链接成功建立AT+CIPSEND>SIM800UDPtest发送数据到远端服务,CTRL+Z(0x1a)发送SENDOK数据已经发出,但不确定UDP服务器已经收到,参考注释[1]UDPtest收到远端服务器发来数据AT+CIPCLOSEOK主动关闭UDP链接CLOSEDOKUDP链接关闭注释[1]:TCP是基于链接的协议,对于TCP链接,"SENDOK"表示数据已经发送出去并且被服务器成功接收.
UDP是基于简单消息的无链接协议,对于UDP,"SENDOK"只表示数据已经发出,但不能保证已经被服务器接收.
2.
1.
3如何创建TCP服务器链接在单链路模式下,当被配置为TCP服务器后,SIM800系列模块只允许一个客户端接入.
用户可以使用命令"AT+CIPSERVER=1,""来启动服务器并且设置监听端口.
成功创建后模块上报"SERVEROK",现在TCP服务器开始监听TCP端口,然后,用户使用命令"AT+CIFSR"获取本地IP地址,这就是服务器的IP地址.
如果有客户端成功接入,远端客户端的IP地址会显示在服务器端.
服务器可以接收远端客户端的TCP数据.
用户也可以使用命令AT+CIPSEND给远端客户端发送数据.
用户可以使用"AT+CIPSERVER=0"来关闭服务器.
用户可以使用AT+CIPCLOSE关闭TCP链接.
语法说明AT+CGATT+CGATT:1OK检查GPRS附着状态AT+CIPSERVER=1,1234OK创建TCP服务器,监听端口:1234SERVEROKTCP服务器成功建立AT+CIFSR10.
78.
33.
227获得本地IP地址AT+CIPSTATUSOK查询当前网络链接状态SmartMachineSmartDecisionSIM800系列_TCPIP_应用文档_V1.
022016-11-178STATE:SERVERLISTENINGREMOTEIP:10.
78.
103.
220TCP服务器监听中远端客户端10.
78.
103.
220接入helloserver收到远端客户端的数据AT+CIPSEND>helloclient发数据给远端客户端SENDOK远端客户的收到数据AT+CIPSERVER=0OK关闭监听状态,当前链路还是激活的SERVERCLOSETCP服务器关闭helloSIM800收到远端客户端数据AT+CIPCLOSECLOSEOK关闭TCP连接2.
1.
4UDP扩展模式在UDP扩展模式下,SIM800系列模块可以接受任意IP地址和任意端口的数据,同时也能给任意IP地址和端口发送数据.
语法说明AT+CGATT+CGATT:1OK检查GPRS附着状态AT+CSTT="CMNET"OK开始任务,设置APNAT+CIICROK建立无线链路(GPRS或者CSD)AT+CIFSR10.
78.
245.
128获得本地IP地址AT+CLPORT="UDP",8888OK设置UDP端口AT+CIPSRIP=1OK显示发送方的IP地址和端口AT+CIPSTART="UDP","116.
228.
221.
51","9600"OK建立UDP链接CONNECTOKUDP链接成功建立AT+CIPUDPMODE+CIPUDPMODE:1,"116.
228.
221.
51",9600OK查询UDP模式状态RECVFROM:116.
228.
221.
51:9600+IPD,5:test1收到116.
228.
221.
51:9600发来的数据SmartMachineSmartDecisionSIM800系列_TCPIP_应用文档_V1.
022016-11-179RECVFROM:116.
228.
221.
51:1234+IPD,5:test2收到116.
228.
221.
51:1234发来的数据RECVFROM:10.
78.
103.
220:5678+IPD,5:test3收到10.
78.
103.
220:5678发来的数据AT+CIPSEND>Hello9600SENDOK使用"AT+CIPSEND"发送数据给116.
228.
221.
51:9600AT+CIPUDPMODE=2,"211.
136.
131.
65",4500OK重新设置UDP的IP地址和端口,更改CIPSEND的目标地址AT+CIPUDPMODE+CIPUDPMODE:1,"211.
136.
131.
65",4500OKUDP的目的地址已经更新AT+CIPSEND>Hello4500SENDOK发送数据给211.
136.
131.
65:45002.
2透传模式2.
2.
1什么是透传模式SIM800系列模块透传模式是一种建立在TCP/IP应用任务下的特殊的数据模式,用来接收和发送数据.
一旦透传模式下的链接被建立,模块就处于数据模式,所有从串口收到的数据将被打包,然后发送.
同样,所有从远端收到的数据被直接送到串口.
透传模式下,所有AT命令不可用.
我们提供了在命令模式和透传模式间切换的方法.
一旦切换到了命令模式,所有的AT命令又可以被使用了.
注意:流控默认是关的.
要使用透传模式,最好打开硬件流控,设置命令是AT+IFC=2,2.
2.
2.
2如何配置透传模式当设置AT+CIPMODE=1时,开启透传模式.
在透传模式下,AT+CIPCCFG用来配置透传模式,该命令有7个参数:NmRetry,WaitTm,SendSz,Esc,Rxmode,RxSize,Rxtimer.
NmRetry用来设置一个IP包的重传次数.
WaitTm发送数据的时间间隔,单位是200ms.
SendSz每次发送数据的字节数.
Esc是否开启转义序列,默认开启.
Rxmode往串口输出数据的时候是否设置时间间隔,默认不设置.
RxSize每次输出数据的长度,默认值是1460.
Rxtimer往串口写数据的时间间隔.
2.
2.
3透传模式下如何建立链接透传模式只能在单路链接下建立,在透传模式下,SIM800也能工作在3种模式:TCPSmartMachineSmartDecisionSIM800系列_TCPIP_应用文档_V1.
022016-11-1710客户端,UDP客户端和TCP服务器.
一旦链路建立,串口会上报"CONNECT",模块处于数据模式,同时,DCD被拉低.
下面是TCP客户端创建的例子.
语法说明AT+CGATT+CGATT:1OK检查GPRS附着状态AT+CIPMODE=1OK设置链接模式为透传模式AT+CSTT="CMNET"OK开始任务,设置APN,参考注释[1]AT+CIICROK建立无线链路(GPRS或者CSD)AT+CIFSR10.
78.
245.
128获得本地IP地址AT+CIPSTART="TCP","116.
228.
221.
51","8500"OK建立TCP链路CONNECT成功建立链接,进入数据模式.
.
.
.
.
.
输入数据到串口,没有回显,所以看不到输入数据OK通过拉高DTR或者"+++"退出数据模式ATOCONNECT重新切回到数据模式SIM800channeltest收到远端服务器数据CLOSED远端服务器断开,退出数据模式2.
2.
4如何在透传模式和命令模式间切换通过下面的方法可以在透传模式和命令模式间自由切换.
(1)如果AT+CIPCCFG的第四个参数是1,那么支持通过转义序列退出透传模式.
默认的转义序列是+++,要正确使用该序列,必须保证该序列前有1000ms空闲,在该序列之后有1000ms的空闲.
还需要注意的是,每个+之间的间隔不要超过1000ms,否则它有可能被当做TCP/IP数据.
(2)可以使用串口的DTR脚.
要使用这个方法,首先要设置AT&D1,DTR脚至少接地1秒然后拉高.
这个方法可以从数据模式切换到命令模式.
上报字串"OK"表示模块当前处于命令模式.
(3)对于TCP客户端链接,如果远端服务器断开了链接,模块会自动切换到命令模式.
(4)对于TCP服务器链接,如果远端客户端断开了链接,模块也会自动切换到命令模式.
(5)在数据传输中,如果模块的PDP场景被去激活(+PDPDEACT),模块也会自动切换到命令模式.
如果当前链接是激活的,ATO命令可以从命令模式切换回数据模式,字符串"CONNECT"会再次上报.
SmartMachineSmartDecisionSIM800系列_TCPIP_应用文档_V1.
022016-11-17112.
2.
5数据模式下如何处理来电和短信数据模式下,如果有来电,串口的RING脚会一直拉低,直到挂断或者接通电话;而来短信的时候,RING脚会有120ms长的低电平.
要处理来电或者短信,模块首先要进入命令模式(用DTR或者+++),然后模块会得到正常的URC上报.
语法说明RING来电响铃+CMTI:"SM",10有新短信这时候就可以处理电话或者读短信了.
2.
3固定TCP/UDP客户端的本地端口号通常,如果SIM800系列模块作为客户端和远端服务建立TCP/UDP链接,当AT+CLPORT=0的时候,应用程序会自动分配一个本地端口号.
如果AT+CLPORT设为非零值,本地端口号就会被固定成这个值.
该命令的默认值是0.
需要注意的是,该命令仅当模块为客户端的时候有效.
SmartMachineSmartDecisionSIM800系列_TCPIP_应用文档_V1.
022016-11-17123多链路模式在多链路模式下,SIM800系列模块仅支持非透传模式.
因此,在多链路模式下,命令AT+CIPMODE是无效的.
多链路模式下,模块可以作为TCP/UDP客户端或者TCP服务器.
作为客户端的时候,总共可以建立6路链接,包括TCP和UDP.
作为TCP服务器的时候,允许远端客户端接入.
同时它还可以建立TCP/UDP链接到远端服务器.
这时候,共可以建立5路链接,TCP服务器也会占一路链接.
3.
1作为客户端作为客户端,SIM800系列模块建立TCP/UDP链接到远端服务器,目前共支持6路链接.
AT命令"AT+CIPSTART=,,,"用来建立链接.
一旦链接建立成功,",CONNECTOK"字串会上报.
然后用户就可以使用命令AT+CIPSNED=发送数据到第路链接.
用户必须要等到提示符">"后再开始写入数据,并且用CTRL+Z(0x1a)来发送数据.
如果发送成功,",SENDOK"字串会上报.
用户可以使用命令AT+CIPCLOSE=来关闭第路链接.
用户也可以用AT+CIPSHUT来关闭所有链接.
语法说明AT+CGATT+CGATT:1OK检查GPRS附着状态AT+CIPMUX=1OK设置多链路模式AT+CSTT="CMNET"OK开始任务,设置APNAT+CIICROK建立无线链路(GPRS或者CSD)AT+CIFSR10.
78.
245.
128获得本地IP地址AT+CIPSTART=0,"TCP","116.
228.
221.
51","8500"OK0,CONNECTOK在第0路建立TCP链接AT+CIPSTART=1,"UDP","116.
228.
221.
51","9600"OK1,CONNECTOK在第1路建立UDP链接AT+CIPSEND=0第0路发送数据SmartMachineSmartDecisionSIM800系列_TCPIP_应用文档_V1.
022016-11-1713>TCPtest0,SENDOKAT+CIPSEND=1>UDPtest1,SENDOK第1路发送数据+RECEIVE,0,17:SIM800TCPtest第0路收到数据,长度是17+RECEIVE,1,17:SIM800UDPtest第1路收到数据,长度是170,CLOSED第1路链接被远端关闭AT+CIPSTATUSOKSTATE:IPPROCESSINGC:0,0,"TCP","116.
228.
221.
51","8500","CLOSED"C:1,0,"UDP","116.
228.
221.
51","9600","CONNECTED"C:2,INITIAL"C:3,INITIAL"C:4,INITIAL"C:5,INITIAL"查询当前链接状态3.
2作为TCP服务器被配置为TCP服务器后,SIM800系列模块允许远端客户端接入.
同时,它也可以建立TCP/UDP链接到远端服务器.
配置TCP服务器之前,必须要先执行命令组"AT+CSTT,AT+CIICR,AT+CIFSR"来激活PDP场景并获取本地IP地址.
然后用户就可以用命令"AT+CIPSERVER=1,"来启动服务器.
如果服务器启动成功,会上报"SERVEROK"字串,现在模块开始监听TCP端口了.
如果有客户端成功接入,远端客户端的IP地址和链接序号会在服务器端显示,这时候,服务器就可以接收远端客户端的数据.
用户也可以使用命令AT+CIPSEND=发送数据到第路远端客户.
同时,用户还可以使用命令"AT+CIPSTART=,,,"和其他远端服务器建立链接,命令"AT+CIPSERVER=0"用来关闭TCP服务器.
命令AT+CIPCLOSE=用来关闭第路链接,使用AT+CIPSHUT关闭所有链接.
语法说明AT+CGATT检查GPRS附着状态SmartMachineSmartDecisionSIM800系列_TCPIP_应用文档_V1.
022016-11-1714+CGATT:1OKAT+CIPMUX=1OK设置多链路模式AT+CSTT="CMNET"OK开始任务,设置APNAT+CIICROK建立无线链路(GPRS或者CSD)AT+CIFSR10.
76.
40.
73获得本地IP地址AT+CIPSERVER=1,8888OKSERVEROK建立TCP服务器,监听端口:88880,REMOTEIP:10.
76.
40.
73远端客户端接入,分配第0路链接+RECEIVE,0,39:SIM800multiconnectionTCPservertest收到远端客户数据,长度39AT+CIPSEND=0>helloclient0,SENDOK发送数据给远端客户端AT+CIPSTART=1,"TCP","116.
228.
221.
51","8500"OK1,CONNECTOK在第1路建立TCP链接AT+CIPSTART=2,"UDP","116.
228.
221.
51","9600"OK2,CONNECTOK在第2路建立UDP链接AT+CIPSEND=1>datafromconnection11,SENDOK第1路发送数据给远端服务器+RECEIVE,1,20:datatoconnection1收到远端服务器TCP数据AT+CIPCLOSE=22,CLOSEOK关闭第2路UDP链接AT+CIPSTATUSOKSTATE:IPPROCESSING查询当前链接状态SmartMachineSmartDecisionSIM800系列_TCPIP_应用文档_V1.
022016-11-1715S:0,0,"8888","LISTENING"C:0,0,"TCP","10.
76.
40.
73","2020","CONNECTED"C:1,0,"TCP","116.
228.
221.
51","8500","CONNECTED"C:2,0,"UDP","116.
228.
221.
51","9600","CLOSED"C:3,INITIAL"C:4,INITIAL"C:5,INITIAL"TCP服务器正在监听端口有一个客户端接入TCP链路已连接UDP链路已关闭AT+CIPSERVER=0OKSERVERCLOSE关闭TCP服务器监听AT+CIPSHUTSHUTOK去激活PDP上下文,关闭所有链接SmartMachineSmartDecisionSIM800系列_TCPIP_应用文档_V1.
022016-11-17164两个GPRS场景SIM800系列模块支持同时使用两个不同APN,即两个不同GPRS场景进行数据链接.
该模式必须在多路链接模式下进行.
操作时客户首先在场景1下正常激活GPRS场景1,进行数据链接;当需要使用场景2时,使用AT+CIPSGTXT=1切换为场景2,之后正常激活GPRS场景2,并进行数据链接.
语法说明AT+CGATT+CGATT:1OK检查GPRS附着状态AT+CIPMUX=1OK设置多链路模式AT+CSTT="CMNET"OK开始任务,设置APNAT+CIICROK建立无线链路(GPRS或者CSD)AT+CIFSR10.
126.
186.
232获得本地IP地址AT+CIPSTART=0,"TCP","116.
236.
221.
75",5555OK0,CONNECTOK链路0建立在CMNET激活的场景上AT+CIPSGTXT=1OK切换到场景2AT+CSTT="CMWAP"OK使用CMWAP进行激活AT+CIICROK建立无线链路(GPRS或者CSD)AT+CIFSR10.
204.
70.
11获得本地IP地址AT+CIPSTART=1,"TCP","116.
236.
221.
75",5555OK1,CONNECTOK链路1建立在CMWAP激活的场景上+RECEIVE,0,15:Helloworld000同正常多链接模式,可以同时接收两路链接的数据+RECEIVE,1,15:Helloworld111SmartMachineSmartDecisionSIM800系列_TCPIP_应用文档_V1.
022016-11-1717AT+CIPSEND=0>test00,SENDOK同正常多链接模式,可以同时发送两路链接的数据AT+CIPSEND=1>test21,SENDOKAT+CIPCLOSE=00,CLOSEOK同正常多链接模式,可以关闭任意数据链接AT+CIPSTATUSOKSTATE:IPPROCESSINGC:0,0,"TCP","116.
236.
221.
75","5555","CLOSED"C:1,1,"TCP","116.
236.
221.
75","5555","CONNECTED"C:2,INITIAL"C:3,INITIAL"C:4,INITIAL"C:5,INITIAL"C:6,INITIAL"C:7,INITIAL"链路0被关闭链路1依然连接AT+CIPSHUTSHUTOK关闭GPRS场景2,此时场景1依然属于激活状态AT+CIPSGTXT=0OK切换到场景1AT+CIPSHUTSHUTOK关闭GPRS场景1SmartMachineSmartDecisionSIM800系列_TCPIP_应用文档_V1.
022016-11-17185DNS查询功能SIM800系列模块支持DNS自动解析.
所以用户可以直接使用命令"AT+CIPSTART=,,"来建立TCP/UDP链接,而不需要知道远端的IP地址.
用户也可以使用命令AT+CDNSGIP=来查询所给域名的IP地址.
语法说明AT+CGATT+CGATT:1OK检查GPRS附着状态AT+CSTT="CMNET"OK开始任务,设置APNAT+CIICROK建立无线链路(GPRS或者CSD)AT+CIFSR10.
126.
186.
232获得本地IP地址AT+CDNSGIP=www.
baidu.
comOK查询www.
baidu.
com的IP地址+CDNSGIP:1,"www.
baidu.
com","119.
75.
218.
77","119.
75.
217.
56"成功解析"www.
baidu.
com的IP地址,有两个AT+CDNSGIP="abctest"OK查询"abctest"的IP地址+CDNSGIP:0,8解析失败,原因是8,参考AT文档AT+CIPSTART="TCP","WWW.
SIM.
COM",80OKCONNECTOK建立TCP链接AT+CIPSNED>DNStestSENDOK发送数据SmartMachineSmartDecisionSIM800系列_TCPIP_应用文档_V1.
022016-11-17196数据发送方式SIM800系列模块有三种方法来发送数据:变长数据的发送,定长数据的发送和定时发送.
用户可以通过命令AT+CIPACK用来查询当前链接的数据传送状态.
6.
1固定长度发送用户通过命令"AT+CIPSEND="设置发送数据的长度,然后在提示符">"后输入数据.
当输入数据长度等于"LENGTH"时,数据会自动开始发送.
用户不需要发送CTRL+Z(0x1a).
在多路链接模式下,该命令的格式是:"AT+CIPSEND=,".
6.
2定时发送还有另外一种自动发送数据的方法,首先,通过命令"AT+CIPATS=,"设置自动发送时间.
,然后用命令"AT+CIPSEND"("AT+CIPSEND="在多路模式下)并在提示符">"后输入数据.
刚才设的定时器到的时候,数据将会被自动发送.
6.
3查询可以发送的数据长度用户可用命令"AT+CIPSEND"查询当前可以发送的最大数据长度,这个最大长度不是固定的,它依赖于时实际网络,最大数据长度的最大值是1460字节.
在多路链接模式下,该命令"AT+CIPSEND"会返回所有活动状态链接的最大发送数据长度.
语法说明AT+CIPSEND+CIPSEND:1460OK发送数据最大长度是1460AT+CIPSEND=1461ERROR发送数据长度超出最大值AT+CIPSEND>123….
999ERROR输入数据超出最大值6.
4选择数据传输模式SIM800支持快速发送模式.
当命令AT+CIPQSEND=0,表示目前处于普通模式.
在该模式下,用户用AT+CIPSEND发送数据后,如果服务器接收到数据,它会给模块发响应消息然后模块会上报"SENDOK".
当命令AT+CIPQSEND=1,表示目前处于快速发送模式.
当用命令AT+CIPSEND发送数据后,模块会上报"DATAACCEPT"而不是"SENDOK",这此情况下,用户可以继续用命令AT+CIPSEND来发送数据.
单链路模式下:语法说明SmartMachineSmartDecisionSIM800系列_TCPIP_应用文档_V1.
022016-11-1720AT+CIPQSEND=1OK允许快速发送模式AT+CIPSEND>helloDATAACCEPT:5数据已经进入发送队列,但不确定是否被接收多链路模式下:语法说明AT+CIPSTART=0,"TCP","116.
236.
221.
75",5107OK0,CONNECTOK链路0建立TCP连接AT+CIPQSEND=1OK允许快速发送模式AT+CIPSEND=0>1234567890DATAACCEPT:0,10数据已经进入发送队列,但不确定是否被接收6.
5查询数据传送状态命令AT+CIPACK用来查询当前链接的数据传送状态.
单链路模式下,命令AT+CIPACK会返回+CIPACK:,,.
第一个参数是已经发送的数据量,第二个参数是服务器已经成功确认的发送数据,第三个参数是还没被服务器确认的发送数据.
只要链接还是激活的,用户就可以知道给服务器发了多少数据,有多少数据是服务器确认已经收到的.
语法说明AT+CIPQSEND=1OK允许快速发送模式AT+CIPSTART="TCP","116.
236.
221.
75",5107OKCONNECTOK建立TCP连接AT+CIPSTATUSOKSTATE:CONNECTOK查询链路状态AT+CIPSEND>012345678912DATAACCEPT:12SmartMachineSmartDecisionSIM800系列_TCPIP_应用文档_V1.
022016-11-1721AT+CIPACK+CIPACK:12,12,0OK查询数据发送状态已发12个,服务器确认收到12个在多链路模式下,正确的命令是AT+CIPACK=.
是链路序号.
语法说明AT+CIPSTATUSOKSTATE:IPPROCESSINGC:0,INITIAL"C:1,0,"TCP","116.
228.
221.
51","8500","CONNECTED"C:2,0,"UDP","116.
228.
221.
51","9600","CONNECTED"C:3,INITIAL"C:4,INITIAL"C:5,INITIAL"查询链路状态AT+CIPQSEND=1OK允许快速发送模式AT+CIPSEND=1>TCPDATAACCEPT:1,3链路1上发送数据AT+CIPACK=1+CIPACK:3,3,0OK查询链路1数据发送状态已发3个,服务器确认收到3个AT+CIPSEND=1>TCPagainDATAACCEPT:1,9链路1上发送数据AT+CIPACK=1+CIPACK:12,12,0OKAT+CIPSEND=2>UDPDATAACCEPT:2,3链路2上发送数据AT+CIPACK=2+CIPACK:3,0,3OK已发送3个数据,服务没有确认的数据是3个SmartMachineSmartDecisionSIM800系列_TCPIP_应用文档_V1.
022016-11-17227数据接收相关7.
1自动接收数据模块会自动接收远端发过来的数据.
下面几个命令可以用来获取数据头.
"AT+CIPHEAD=1"在数据前加IP头,格式:"+IPD(datalength):payload".
"AT+CIPSRIP=1"显示数据发送方信息,格式:"RECVFROM::".
"AT+CIPSHOWTP"在IP头里显示(TCP/UDP)协议,这只有在CIPHEAD=1时有效.
通过这些信息,用户很容易就可以知道数据帧的源,数据大小,协议.
这可以让用户把收到的TCP/UDP数据和AT命令区分开来.
7.
2通过AT命令接收数据用户可以通过命令"AT+CIPRXGET=1"主动读取远端发过来的TCP/UDP数据.
使用命令"AT+CIPRXGET=1"接收远端数据时,该命令必须在链接建立前发送.
如果该值设为0(如果没有设置,就是默认值),数据会直接发到终端设备上.
"AT+CIPRXGET=[,]"获得给定长度的数据.
如果在多链路模式下,还要给出链接的ID,"AT+CIPRXGET=,[,]".
语法说明AT+CIPRXGET=1OK允许手动获取数据AT+CIPSTART="TCP","116.
228.
221.
51",5555OKCONNECTOK建立TCP连接+CIPRXGET:1服务器发来数据AT+CIPRXGET=2,1460+CIPRXGET:2,11,0HELLOWORLDOK普通模式读数据,最大长度不超过1460个字节+CIPRXGET:1服务器发来数据AT+CIPRXGET=3,730+CIPRXGET:3,11,048454C4C4F20574F524C44OK16进制模式读数据,最大长度不超过730SmartMachineSmartDecisionSIM800系列_TCPIP_应用文档_V1.
022016-11-17238GPRS状态切换在单链路模式下,共有10种GPRS状态;在多链路模式下,共有8种GPRS状态.
某些AT命令执行过后,相关状态会改变.
GPRS状态切换图如下:图2:单链路模式下的GPRS状态图SmartMachineSmartDecisionSIM800系列_TCPIP_应用文档_V1.
022016-11-1724图3:多链路模式下的GPRS状态图IPINTIAL:GPRS初始化IPSTART:开始TCP/UDP会话IPCONFIG:配置PDP上下文IPGPRSACT:上下文已经激活IPSTATUS:得到本地IP地址TCP/UDPCONNECTING:正在连接服务器SERVERLISTENING:正在监听服务器端口IPPROCESSING:正在处理存在的链接CONNECTOK:成功连接上服务器TCP/UDPCLOSING:正在关闭链接TCP/UDPCLOSED:链接已经关闭(本地IP/PDP上下文仍在)PDPDEACT:PDP上下文去激活SmartMachineSmartDecisionSIM800系列_TCPIP_应用文档_V1.
022016-11-17259关闭链接用户可以使用命令AT+CIPCLOSE来关闭TCP或者UDP链接.
当上报CLOSEOK表示链接关闭成功.
在多链路模式下,链路序号要使用AT+CIPCLOSE=关闭链接.
注意:命令AT+CIPCLOSE仅关闭当前TCP/UDP链接,但PDP场景仍然激活.
当然,用户也可以用AT+CIPSHUT来关闭,这时候PDP上下文会被去激活.
10活动链接检查用户可以用命令AT+CIPSTATUS来查询当前链接状态.
透传模式下,DCD脚用来实现这一功能.
如果TCP/UDP链接存在,DCD脚被置位(拉低).
一旦链接断开,DCD脚会被设无效(拉高).
11功耗与现有的链接模块可以进入休眠模式来降低功耗,即使存在链路连接的情况下;进入休眠模式后功耗降低到只有几个毫安.
使用命令"AT+CSCLK=1"开启休眠模式.
该命令设置后,如果DTR保持高电平,并且既没有硬件中断,也没有软件中断,也没有其他空中业务发生,那么模块会进入休眠状态.
在休眠状态中,串口暂停接收数据,这意味着AT命令不再被响应.
在有链路连接的休眠状态下远端有数据发过来会唤醒模块;任何其他空中业务,比如来电,短信等也能唤醒模块.
但此时AT命令仍然不被响应,如需要输入AT命令,必须先拉低DTR50ms以上(此时串口才会重新开始接收数据).
详细信息请参考HD文档.
12错误处理在TCP/UDP链接期间发生任何错误,比如TCP发送数据错误或者TCP连接中断,建议用命令AT+CIPCLOSE关闭链接然后再用命令AT+CIPSTART新建链接.
如果仍旧有错误发生,请使用命令AT+CIPSHUT关闭PDP上下文然后再重新建立链接.
如果这两种方法还是不能解决问题,建议重启模块.
SmartMachineSmartDecisionSIM800系列_TCPIP_应用文档_V1.
022016-11-1726附录A.
参考文档编号文档名称备注[1]SIM800SeriesATCommandManualB.
术语和缩写术语描述TCP传输控制协定UDP用户数据报协议APN接入点名称GPRS通用分组无线业务PDP分组数据协议DNS域名系统SmartMachineSmartDecisionSIM800系列_TCPIP_应用文档_V1.
022016-11-1727联系我们:芯讯通无线科技(上海)有限公司地址:上海市金钟路633号晨讯科技大楼A楼邮编:200335电话:+862132523300传真:+862132523020网址:www.
simcomm2m.
com

DiyVM:50元/月起-双核,2G内存,50G硬盘,香港/日本/洛杉矶机房

DiyVM是一家比较低调的国人主机商,成立于2009年,提供VPS主机和独立服务器租用等产品,其中VPS基于XEN(HVM)架构,数据中心包括香港沙田、美国洛杉矶和日本大阪等,CN2或者直连线路,支持异地备份与自定义镜像,可提供内网IP。本月商家最高提供5折优惠码,优惠后香港沙田CN2线路VPS最低2GB内存套餐每月仅50元起。香港(CN2)VPSCPU:2cores内存:2GB硬盘:50GB/R...

TabbyCloud周年庆&七夕节活动 美國INAP 香港CN2

TabbyCloud迎来一周岁的生日啦!在这一年里,感谢您包容我们的不足和缺点,在您的理解与建议下我们也在不断改变与成长。为庆祝TabbyCloud运营一周年和七夕节,TabbyCloud推出以下活动。TabbyCloud周年庆&七夕节活动官方网站:https://tabbycloud.com/香港CN2: https://tabbycloud.com/cart.php?gid=16购买链...

易探云香港vps主机价格多少钱?香港云服务器主机租用价格

易探云香港vps主机价格多少钱?香港vps主机租用费用大体上是由配置决定的,我们选择香港vps主机租用最大的优势是免备案vps。但是,每家服务商的机房、配置、定价也不同。我们以最基础配置为标准,综合比对各大香港vps主机供应商的价格,即可选到高性能、价格适中的香港vps主机。通常1核CPU、1G内存、2Mbps独享带宽,价格在30元-120元/月。不过,易探云香港vps主机推出四个机房的优惠活动,...

正在连接服务器为你推荐
开启javascript如何启用JavaScript?苹果appstore宕机最近app store一直不能用 怎么回事啊 改dns也不能用 持续好久好久了cuteftpCuteFTP 和FlashFXP是什么软件,有什么功能,怎样使用?人人视频总部基地落户重庆渝洽会上的西部国际总部基地是做什么的?什么是支付宝支付宝是什么意思?申请支付宝账户如何申请支付宝账户补贴eset宜人贷官网宜人贷是不是骗人的温州商标注册温州注册公司在哪里注册zencart模板zen cart套用模板后,外观控制显示红色打不开,为什么?
企业虚拟主机 手机域名注册 免费二级域名申请 132邮箱 大硬盘 highfrequency 电影服务器 googleapps 韩国电信 双12活动 新站长网 刀片服务器的优势 asp免费空间申请 可外链网盘 web应用服务器 贵阳电信 深圳域名 登陆qq空间 杭州电信 双十二促销 更多