跳转至

CIPRXGET

手动获得网络数据:AT+CIPRXGET

语法规则:

命令类型 语法 返回和说明
设置命令 单链接(AT+CIPMUX=0)时: AT+CIPRXGET=<mode>[,<len>] 打开手动获取数据功能:
AT+CIPRXGET=1(或5)
OK
设置为1后,第一次上报数据会有+CIPRXGET:1的URC上报,后面再来数据就不报了,直到AT+CIPRXGET=2或3来读取,才会再次上报。
设置为5后,每次来数据皆有上报,不管上次数据有没有读过。
收到+CIPRXGET:1输入以下命令来手动读取数据:
AT+CIPRXGET=2,<len>
+CIPRXGET:2,<cnlen>,<rlen>
……数据…..
OK
收到+CIPRXGET:1也可以16进制读取:
AT+CIPRXGET=3,<len>
+CIPRXGET:3,<cnlen>,<rlen>……数据…..
OK
查询还有多少数据未读:
AT+CIPRXGET=4
+CIPRXGET:4,<rlen>
OK
多链接(AT+CIPMUX=1)时: AT+CIPRXGET=<mode>,<n>[,<len>] 打开手动获取数据功能输入:AT+CIPRXGET=1(或5)
OK
后续来数据会有+CIPRXGET:1的URC上报
收到+CIPRXGET:1输入以下命令来手动读取数据:
AT+CIPRXGET=2,<n>,<len>
+CIPRXGET:2,<n>,<cnlen>,<rlen>
……数据…..
OK
收到+CIPRXGET:1也可以16进制读取:
AT+CIPRXGET=3,<n>,<len>
+CIPRXGET:3,<n>,<cnlen>,<rlen>
……数据…..
OK
查询还有多少数据未读:
AT+CIPRXGET=4,<n>
+CIPRXGET:4,<n>,<rlen>
OK
查询命令 AT+CIPRXGET? +CIPRXGET:<mode>
OK
测试命令 AT+CIPRXGET=? OK
URC上报 +CIPRXGET:1 单链接,设置AT+CIPRXGET=1或5后,当收到网络数据时,会有如此的URC上报,表示收到数据
+CIPRXGET:1,<n> 多链接,设置AT+CIPRXGET=1或5后,当收到网络数据时,会有如此的URC上报,表示收到数据

参数定义:

参数 定义 取值 对取值的说明
<mode> 模式 0 关闭手动获取数据功能。缺省值。
1 开启手动获取数据功能。设置为1后,第一次上报数据会有+CIPRXGET:1的URC上报,后面再来数据就不报了,直到AT+CIPRXGET=2或3来读取,才会再次上报
2 读取数据
3 读取数据(16进制)
4 还有多少数据未读
5 开启手动获取数据功能。设置为5后,每次来数据皆有上报。
<n> 多链接时的Link id 0-5 定义同+CIPSTART命令的
<len> 将要读取的数据的长度 1-1460 普通字符方式读取时
1-730 HEX方式读取时
<cnlen> 已经读取的数据 单位:字节
<rlen> 尚未读取的数据 单位:字节

举例:

命令(→)/返回(←) 实例 解释和说明
单链接时如何手动读取网络数据
AT+CIPRXGET=1 开启手动获取网络数据功能
OK
AT+CGREG? 查询当前GPRS注册状态
+CGREG: 0,1
OK
<n>=0,表示禁用URC上报<stat>=1,标识已经注册GPRS网络,而且是本地网
AT+CIPSTART="TCP","36.9.88.120",6001 连接服务器(单链接)
OK
←(URC) CONNECT OK 已经连上了
←(URC) +CIPRXGET: 1 服务器那边发数据过来了
AT+CIPRXGET=2,150 读取数据,读150个字符,以普通的字符的方式读取
+CIPRXGET: 2,10,01234567890
OK
读到了10个数据:1234567890,还有0个数据未读取
AT+CIPRXGET=4 查询下还有多少数据未读
+CIPRXGET: 4,0
OK
0个未读
←(URC) +CIPRXGET: 1 服务器那边又发数据过来了
AT+CIPRXGET=3,150 读取数据,读150个字符,以HEX的方式读取
+CIPRXGET: 3,5,048454C4C4F
OK
读到了5个数据:HELLO,还有0个数据未读取
多链接时如何手动读取网络数据
AT+CIPRXGET=1 开启手动获取网络数据功能
OK
AT+CIPMUX=1
OK
AT+CSTT 模块注册网络后会从网络自动获取<apn>并激活一个PDP上下文(此<apn>可以通过AT+CGDCONT?来查询),所以直接输入AT+CSTT即可,模块会按照自动获取的<apn>来设置CSTT的APN
OK
AT+CIICR
OK
AT+CIFSR
OK
AT+CIPSTART=3,"TCP","36.9.88.120",6001 建立多链接
OK
←(URC) 3, CONNECT OK
←(URC) +CIPRXGET: 1,3 id=3的链接上,收到服务器发来的数据
AT+CIPRXGET=2,3,10 读取链接3的数据,读10个字符,以普通的字符的方式读取
+CIPRXGET: 2,3,5,0
AAAAA
OK
在链接3上读取了5个字符:AAAAA,还有0个未读
AT+CIPRXGET=4,3 查询下链接3还有多少数据未读
+CIPRXGET: 4,3,0
OK
0个未读