目录

域格移芯 cat1模块YM310 X09 - 内嵌TCP使用说明

TCP 非透传应用

        事实上,TCP 发送方式有快发和慢发两种,由+CIPQSEND 命令来设置发送方式。区别就是:慢发每发送一笔数据需要服务器那边的确认,而快发则发送到模块就可以了,不需要服务器的确认。慢发可能会出现长时间没响应的情况,AT 通道就堵住了,所以建议采用快发模式

模块做为客户端,单链接,发送接收数据

序号 AT指令(加粗字体)/返回数据 指令解析/返回解析
1 AT+CEREG? 查询网络注册状态
+CEREG: 0,1 <n>=0,表示禁用 URC,上报<stat>=1,标识已经注册网络,而且是本地网络
2 AT+CGATT? 查看当前 GPRS 附着状态
+CGATT: 1 <state>=1,标明当前 GPRS 已经附着
3 AT+CIPMUX=0 设置为单连接模式
OK
4 AT+CIPQSEND=1 设置为快发模式(推荐使用这种模式)
OK
5 AT+CSTT 启动任务,设置 APN模块注册网络后会从网络自动获取<apn>并激活一个 PDP 上下文
OK
6 AT+CIICR 激活移动场景,获取 IP 地址
OK
7 AT+CIFSR 查询分配的 IP 地址
“010.068.027.049”(样例) 分配的 IP 地址
8 AT+CIPSTATUS 查询下链接状态
OK
STATE: IP STATUS
9 AT+CIPSTART=“TCP”,“122.51.209.56”,1000 其中:“TCP”为链接的协议类型,“122.51.209.56” 为对端服务器的 IP 地址, 1000 为对端服务器的 TCP 端口号
OK
CONNECT OK 如果链接成功,会有如此 URC 上报
10 AT+CIPSTATUS 查询下链接状态
OK
STATE: CONNECT OK 链接建立成功
11 AT+CIPSEND 发送数据(不定长度,手动发送)
>1234567890<CTRL-Z> 当出现“>“后,输入待发送的数据:0123456789。<CTRL-Z>用来结束发送数据,发送 16 进制数 0x1A即等同于发送<CTRL-Z>。
DATA ACCEPT:10 发送成功而且对端服务器收到数据
11 AT+CIPSEND=10 发送数据(确定长度)
>1234567890 当出现”>“后,输入待发送的数据:0123456789。<CTRL-Z>用来结束发送数据,发送 16 进制数 0x1A即等同于发送<CTRL-Z>。
DATA ACCEPT:10 输入数据达到 10 个字节,不用发送<CTRL-Z> 即十六进制的 1A,会自动发送
12 AT+CIPACK 每发一段数据,查询下发送状态,可以知道上笔数据服务器有没有收到
+CIPACK: 10,10,0 第一个 10,表明已经发送的数据字节数,第二个10 表示服务器收到的数据字节数,0 表示服务器尚未收到的数据字节数
13 AT+CIPATS=1,10 设置自动发送,自动发送的定时为 10S
OK
13 AT+CIPSEND 发送数据
>1234567890 发送数据(不定长度,手动发送)
DATA ACCEPT:10 10s 定时器溢出,不用发送<CTRL-Z>即十六进制的 1A,数据会自己发送
13 AT+CIPSEND=100 发送数据(确定长度),定时发送状态
>1234567890 发送数据(定长度,手动发送)
DATA ACCEPT:10 10s 定时器溢出,输入内容不必达到 100 字节,也不用发送<CTRL-Z>即十六进制的 1A,数据会自己发送
14 AT+CIPHEAD=1 设置接收数据时,有数据头,0表示关闭
+IPD,4:TEST 模块收到 SERVER 那边发来的一串字符数据:TEST
15 AT+CIPSHOWTP=1 设置接收数据时,显示数据所使用的协议,0表示关闭
+IPD,4,TCP:TEST 模块收到 SERVER 那边发来的数据:TEST。所使用的协议也会显示出来。如果是 UDP 链接,则会显示:+IPD,4,UDP:TEST
16 AT+CIPSRIP=1 设置接收数据时显示发送方的 IP 地址和端口,0表示关闭
+RECV FROM: 122.51.209.56:1000 接收服务器发来的数据,是一个字符”TEST”,长度为 4
+IPD,4:TEST
17 AT+CIPCLOSE 关闭 TCP 链接
CLOSE OK 关闭成功
18 AT+CIPSHUT 关闭移动场景
SHUT OK 关闭 成功
19 AT+CIFSR 查询当前的模块 IP
ERROR IP 地址已经没有了

模块做为客户端,多链接,发送接收数据

序号 AT指令(加粗字体)/返回数据 指令解析/返回解析
1 AT+CEREG? 查询网络注册状态
+CEREG: 0,1 <n>=0,表示禁用 URC,上报<stat>=1,标识已经注册网络,而且是本地网络
2 AT+CGATT? 查看当前 GPRS 附着状态
+CGATT: 1 <state>=1,标明当前 GPRS 已经附着
3 AT+CIPMUX=1 设置为多链接模式
OK
4 AT+CIPQSEND=1 设置为快发模式(推荐使用这种模式)
OK
5 AT+CSTT 启动任务,设置 APN模块注册网络后会从网络自动获取<apn>并激活一个 PDP 上下文
OK
6 AT+CIICR 激活移动场景,获取 IP 地址
OK
7 AT+CIFSR 查询分配的 IP 地址
“010.068.027.049”(样例) 分配的 IP 地址
8 AT+CIPSTART=0,“TCP”,“122.51.209.56”,1000 其中:多链接有0-5这几个通道,0为0通道ID,“TCP”为链接的协议类型,“122.51.209.56”为对端服务器的 IP 地址,1000为对端服务器的TCP 端口号
OK
0, CONNECT OK Id=0 的 TCP 链接成功建立
8 AT+CIPSTART=1,“UDP”,“122.51.209.56”,1000 其中:多链接有0-5这几个通道,1为1通道ID,“UDP”为链接的协议类型,“122.51.209.56”为对端服务器的 IP 地址,1000为对端服务器的TCP 端口号
OK
1, CONNECT OK Id=1 的 UDP 链接成功建立
9 AT+CIPSTATUS 查询下链接状态
OK
STATE: IP PROCESSING
C: 0,0,“TCP”,“122.51.209.56”,“1000”,“CONNECTED”
C: 1,0,“UDP”,“122.51.209.56”,“1000”,“CONNECTED”
C: 2,,“”,“”,“”,“INITIAL”
C: 3,,“”,“”,“”,“INITIAL”
C: 4,,“”,“”,“”,“INITIAL”
C: 5,,“”,“”,“”,“INITIAL”
10 AT+CIPSEND=1 在 UDP 链接上发送数据,不定长发送
>1234567890<CTRL-Z> 当出现“>“后,输入待发送的数据:0123456789。<CTRL-Z>用来结束发送数据,发送 16 进制数 0x1A即等同于发送<CTRL-Z>。
DATA ACCEPT:1,10 发送成功而且对端服务器收到数据
10 AT+CIPSEND=0,10 在 TCP 链接上发送数据,定长发送
>1234567890 当出现”>“后,输入待发送的数据:0123456789。<CTRL-Z>用来结束发送数据,发送 16 进制数 0x1A即等同于发送<CTRL-Z>。
DATA ACCEPT:0,10 输入数据达到 10 个字节,不用发送<CTRL-Z> 即十六进制的 1A,会自动发送
11 AT+CIPATS=1,10 设置自动发送,自动发送的定时为 10S
11 AT+CIPSEND=0 发送数据
>1234567890 发送数据(不定长度,手动发送)
DATA ACCEPT:0,10 10s 定时器溢出,不用发送<CTRL-Z>即十六进制的 1A,数据会自己发送
11 AT+CIPSEND=1,100 发送数据(确定长度),定时发送状态
>1234567890 发送数据(定长度,手动发送)
DATA ACCEPT:1,10 10s 定时器溢出,输入内容不必达到 100 字节,也不用发送<CTRL-Z>即十六进制的 1A,数据会自己发送
接收数据
+RECEIVE,0,7: 在链接 0 的 TCP 链接上收到 7 个字符的字符串:TEST123
TEST123
+RECEIVE,1,10: 在链接 1 的 UDP 链接上收到 10 个字符的字符串:TEST123456
TEST123456
12 AT+CIPCLOSE 关闭 TCP 链接
CLOSE OK 关闭成功
13 AT+CIPSHUT 关闭移动场景
SHUT OK 关闭 成功
14 AT+CIFSR 查询当前的模块 IP
ERROR IP 地址已经没有了

TCP透传应用

TCP透明传输

序号 AT指令/返回数据 指令解析/返回解析
1 AT+CEREG? 查询网络注册状态
+CEREG: 0,1 <n>=0,表示禁用 URC,上报<stat>=1,标识已经注册网络,而且是本地网络
2 AT+CIPMODE=1 设置 TCPIP 应用为透明传输模式
OK
3 AT+CIPSTART=“TCP”,”122.51.209.56”,1000 建立 TCP 链接,其中:“TCP”为链接的协议类型“122.51.209.56” 为对端服务器的 IP 地址1000为对端服务器的 TCP 端口号
OK
CONNECT 如果链接成功,会有如此 URC 上报
…….. 透传开始,在这里输入数据并传送,此时也可以接收服务器传来的数据
4 +++ 如果想返回 AT 命令模式,则在数据后面输入+++(该指令不要带回车)
OK OK 表示已经返回到 AT 命令模式
5 ATO ATO 用于返回数据模式
CONNECT CONNECT 表示进入透传模式
…….. 此时又可以开始传输数据
TCP ERROR:×× 或CLOSED 当传输中有协议栈错误发生时,会转入AT命令状态,并上报该错误码
6 AT+CIPSHUT 发生这种情况时,+CIPSHUT 关闭连接。如果没有错误发生,则+++返回 AT 命令状态,再+ CIPSHUT关闭连接
SHUT OK 关闭连接成功

UDP透明传输

序号 AT指令/返回数据 指令解析/返回解析
1 AT+CEREG? 查询网络注册状态
+CEREG: 0,1 <n>=0,表示禁用 URC,上报<stat>=1,标识已经注册网络,而且是本地网络
2 AT+CIPMODE=1 设置 TCPIP 应用为透明传输模式
OK
3 AT+CSTT 设置模块APN,模块注册网络后会从网络自动获取<apn>并激活一个PDP上下文(此<apn>可以通过AT+CGDCONT?来查询),所以直接输入AT+CSTT即可,模块内部会按照自动获取的<apn>来设置CSTT的APN
OK
4 AT+CIICR 激活移动场景,获取 IP 地址
OK
5 AT+CIFSR 查询分配的 IP 地址
“010.068.027.049”(样例)
6 AT+CIPSTART=“UDP”,“122.51.209.56”,1000 建立 TCP 链接,其中:“TCP”为链接的协议类型“122.51.209.56” 为对端服务器的 IP 地址1000为对端服务器的 TCP 端口号
OK
CONNECT 如果链接成功,会有如此 URC 上报
…….. 透传开始,在这里输入数据并传送,此时也可以接收服务器传来的数据
7 +++ 如果想返回 AT 命令模式,则在数据后面输入+++(该指令不要带回车)
OK OK 表示已经返回到 AT 命令模式
8 ATO ATO 用于返回数据模式
CONNECT CONNECT 表示进入透传模式
…….. 此时又可以开始传输数据
TCP ERROR:×× 或CLOSED 当传输中有协议栈错误发生时,会转入AT命令状态,并上报该错误码
9 AT+CIPSHUT 发生这种情况时,+CIPSHUT 关闭连接。如果没有错误发生,则+++返回 AT 命令状态,再+ CIPSHUT关闭连接
SHUT OK 关闭连接成功

< 回到YM310 X09资料大全