//TCP 连接建立成功
//发送数据
//远端收到数据
//收到数据
//远端关闭连接
1. 如何建立一个 TCP 连接?
AT+CIPSTART="TCP","116.228.221.51",5555
OK
CONNECT OK
AT+CIPSEND
> HELLO WORLD
SEND OK
HELLO SIM900
CLOSED
2. 如何建立一个 UDP 连接?
AT+CIPSTART="UDP","116.228.221.51",6666
OK
CONNECT OK
AT+CIPSEND
> UDP TEST
SEND OK
SIM900 UDP TEST
AT+CIPCLOSE
CLOSE OK
3. 如何建立一个 TCP SERVER?
AT+CIPSERVER=1,1234
OK
SERVER OK
AT+CIFSR
211.136.131.1
AT+CIPSTATUS
OK
STATE: SERVER LISTENING
REMOTE IP: 211.136.130.1
//关闭 UDP
//查询本地 IP
//建立 TCP 服务器,监听端口号为 1234
//TCP SERVER 建立成功
//查询当前状态为 SERVER 监听状态
//远端连接进入
//开启透传模式
//关闭 SERVER 成功
//收到数据
//关闭 TCP 连接
AT+CIPSERVER=0
OK
SERVER CLOSE
HELLO SIM900
AT+CIPCLOSE
CLOSE OK
4. 如何进入透传模式?
AT+CIPMODE=1
OK
AT+CIPSTART="TCP","116.228.221.51",5555
OK
CONNECT
SIM900 CHANNEL TEST
OK
ATO
CONNECT
CLOSED
说明:透传模式支持 TCP ,UDP,TCP SERVER
5. 如何激活场景?
a.在非多连接情况下,可以使用直接使用 CIPSTART 或 CIPSERVER 激活
b.在任意情况下,都可以使用 CSTT ,CIICR,CIFSR 组合命令
//通过 DTR 或者+++退出透传模式
//通过 ATO 回到透传模式
//连接成功,进入透传模式
//收到远端数据
//远端关闭,退出透传模式
AT+CSTT
OK
AT+CIICR
OK
AT+CIPSTATUS
//激活成功
OK
STATE: IP GPRSACT
AT+CIFSR
10.79.190.47
如果激活失败
AT+CIICR
+PDP: DEACT
ERROR
AT+CIPSTATUS
OK
STATE: PDP DEACT
6. 如何释放场景?
AT+CIPSHUT
SHUT OK
//查询状态为激活成功状态
//激活失败
//查询状态为激活失败状态
//释放场景,如果有连接存在,关闭连接。
7. 多连接模式下进行 TCP 和 UDP 连接?
AT+CIPMUX=1
//开启多连接功能
OK
AT+CSTT
OK
AT+CIICR
OK
AT+CIFSR
10.76.166.72
AT+CIPSTART=0,"UDP","116.228.221.51",6666
OK
0, CONNECT OK
AT+CIPSTART=1,"TCP","116.228.221.51",5555
OK
1, CONNECT OK
AT+CIPSEND=0
> UDP TEST
0, SEND OK
AT+CIPSEND=1
> TCP SEND TEST
1, SEND OK
+RECEIVE,1,17:
SIM900 TCP TEST
+RECEIVE,0,17:
SIM900 UDP TEST
1, CLOSED
AT+CIPSTATUS
OK
STATE: IP PROCESSING
//收到连接 1 的数据,长度为 17 字节
//收到连接 0 的数据,长度为 17 字节
//连接 1 被远端关闭
//状态为 IP 连接状态
//第 1 个 0 表示连接序号,第 2 个 0 表示激活场景,默认为 0。第 3 个参数为协议类型,
第 4,5 参数为远端的 IP 和端口号。第 6 参数表示目前处于连接状态。
C: 0,0,"UDP","116.228.221.51","6666","CONNECTED"
C: 1,0,"TCP","116.228.221.51","5555","CLOSED"
C: 2,,"","","","INITIAL"
C: 3,,"","","","INITIAL"
C: 4,,"","","","INITIAL"
C: 5,,"","","","INITIAL"
C: 6,,"","","","INITIAL"
C: 7,,"","","","INITIAL"
//参数 6 表示连接已经被关闭
8. 多连接模式下进行 TCP SERVER,TCP,UDP 连接?
AT+CIPMUX=1
//开启多连接功能
OK
AT+CSTT
OK
AT+CIICR
OK
AT+CIFSR
211.136.129.129
AT+CIPSERVER=1,8888
OK
//开启 SERVER,监听 8888 端口
SERVER OK
0, REMOTE IP: 211.136.130.129 // 远端连接进分配为连接 0,允许最多 7 路连接进入
AT+CIPSTART=1,'TCP","116.228.221.51",2333
OK
1, CONNECT OK
AT+CIPSTATUS
OK
STATE: IP PROCESSING
//当多连接模式下开启 SERVER 会有该提示,第 1 参数表示 SERVER 序号,默认为 0。
第 2 参数表示激活场景,默认为 0。第 3 参数表示监听端口。第 4 参数表示处于监听状
态。
S: 0,0,"8888","LISTENING"
C: 0,0,"TCP","211.136.130.129","2020","CONNECTED"
C: 1,0,"TCP","116.228.221.51","2333","CONNECTED"
C: 2,,"","","","INITIAL"
C: 3,,"","","","INITIAL"
C: 4,,"","","","INITIAL"
C: 5,,"","","","INITIAL"
C: 6,,"","","","INITIAL"
C: 7,,"","","","INITIAL"
AT+CIPSERVER=0
//关闭 SERVER
OK
SERVER CLOSE
AT+CIPSHUT
SHUT OK
//关闭场景并断开所以连接。
9. CIPSEND 功能命令
连接后使用
AT+CIPSEND?
+CIPSEND: 1380
//当前网络获得的每次能发送的最大值为 1380 字节。在实际使用中这个值是变化的,最
大值可以到 1460.具体视实际网络而定。
OK
AT+CIPSEND=1381
//这时定长发送最大值如果大于 1380,就返回 ERROR
ERROR
AT+CIPSEND
>123….999
ERROR
//当输入的实际数据大于 1380 时返回 ERROR
10. CLPORT 功能命令
CLPORT 仅仅适应于在非多连接状态下,TCP 或 UDP 的本地端口号。当为 0 时将为连接自
动分配一个端口号,而如果设置为一个非 0 值,会将本地端口号固定在这个非 0 值。默认为
0。
AT+CLPORT?
TCP: 0
UDP: 0
OK
11. CIPCLOSE 的特殊功能
在非多连接状态下进行 TCP 连接后,使用 AT+CIPCLOSE=1 可强制断开连接,立刻返回
CLOSE OK。而默认时会和服务器进行 TCP 断开的交互,返回 CLOSE OK 较长,但是适用
于稳定的网络环境。
在多连接状态下,可以使用 AT+CIPCLOSE=,1 实现这个强制断开连接功能。
12. CIPACK 功能命令
AT+CIPACK
+CIPACK: 29, 29, 0
//第 1 个参数表示 TCP 发送了 29 字节,第 2 个参数表示远端收到了 29 个字节。第 3 个
参数表示非被远端确认的字节数。
OK
13. CIPHEAD 和 CIPSHOWTP 功能命令
AT+CIPSHOWTP=1
OK
AT+CIPHEAD=1
//显示连接协议
//显示数据头
OK
AT+CIPSTART="TCP","116.228.221.51",5555
OK
CONNECT OK
+IPD,17,TCP:SIM900 TCP TEST // 当收到数据后,显示+IPD,数据长度,协议
AT+CIPSHOWTP=0
OK
//关闭显示协议
+IPD,18:SIM900 TCP TEST2
14. CIPSRIP 功能命令
//只显示+IPD,数据长度
AT+CIPSRIP=1
//设置收到数据后显示远端 IP 和端口
OK
RECV FROM:116.228.221.51:5555
//显示远端 IP 和端口号
+IPD,18:SIM900 TCP TEST2
15. CIPQSEND 功能命令
//设置成 QSEND 模式
AT+CIPQSEND=1
OK
AT+CIPSEND
> HELLO
DATA ACCEPT:5
//5 个字节发送数据已经被 SIM900 接收,进入发送状态,客户可以继续使用 CIPSEND 发
送。但是发送成功被远端确认后不再显示 SEND OK
16. CDNSGIP 功能命令
AT+CDNSGIP="WWW.SIM.COM"
OK
+CDNSGIP: 1,"WWW.SIM.COM","58.32.231.146"
//DNS 解析成功,WWW.SIM.COM 的 IP 为 58.32.231.146
AT+CDNSGIP="abctest"
OK
+CDNSGIP: 0,11
//DNS 解析失败,失败原因为 11
17. 直接使用域名进行连接。
AT+CIPSTART="TCP","WWW.SIM.COM",80
OK
CONNECT OK