ESP8266-01S的TCP/IP相关的AT指令
目录
1、AT+CIPSTATUS——查询网络连接信息
2、AT+CIPDOMAIN——域名解析功能
3、AT+CIPSTART建立TCP连接、UDP传输、SSL连接
4、AT+CIPSSLSIZE——设置SSl buffer容量
5、AT+CIPSEND——发送数据
6、AT+CIPSENDEX——发送数据;达到设置长度或者遇到字符"\0"时,则发送数据
7、AT+CIPSENDBUF——数据写入TCP发包缓存
8、AT+CIPBUFRESET——重置计数(TCP发包缓存)
9、AT+CIPBUFSTATUS——查询TCP发包缓存状态
10、AT+CIPCHECKSEQ——查询写入TCP发包缓存的某个包是否发送成功
11、AT+CIPCLOSE——关闭TCP/UDP/SSL连接
12、AT+CIFSR——查询本地IP地址
13、AT+CIPMUX——设置多连接
14、AT+CIPSERVER——设置TCP server
15、AT+CIPMODE——设置传输模式
16、AT+SAVETRANSLINK——保存透传连接到flash
17、AT+CIPSTO——设置TCP server超时时间
18、AT+PING——PING功能
19、AT+CIUPDATE——通过WIFI升级软件
20、AT+CIPDINFO——接收网络数据时,“+IPD”是否提示对端IP和端口
21、+IPD——接收网络数据
1、AT+CIPSTATUS——查询网络连接信息
执行指令:AT+CIPSTATUS | 响应:STATUS:<stat> +CIPSTATUS:<link ID>,<type>,<remote IP>,<remote port>,<local port>,<tetype> |
参数说明: <stat>: 1:ESP8266 station结构的状态 3:ESP8266 station已建立TCP或UDP传输 4:ESP8266 station断开网络连接 <linkID>:网络连接ID(0~4),用于多连接的情况 <type>:字符串参数,“TCP”或者“UDP” <local port>:ESP8266本地端控制 1:ESP8266作为server |
2、AT+CIPDOMAIN——域名解析功能
执行指令: AT+CIPDOMAIN=<domain name> | 响应 : +CIPDOMAIN :<IP address> |
参数说明: <domain name>:待解析的域名 |
3、AT+CIPSTART——建立TCP连接、UDP传输、SSL连接
TCP连接:
设置指令: | 响应:OK或者ERROR 如果连接已经存在,则返回ALREADY CONNECT |
参数说明: <linkID>:网络连接D(0~4),用于多连接的情况 <type>:字符串参数,连接类型,“TCP”或者“UDP’ <remote IP>:字符串参数,远端IP地址 <remote port>:远端端口号 [<TCP keep alive>]:TCP keep alive侦测时间,默认关闭此功能 0:关闭TCP keep alive功能 1~7200:侦测时间,单位为s |
UDP传输:
设置指令: <remote port>,[<UDP local port>, <UDP mode>]
[<UDPlocal port>,<UDP mode>] | 响应:OK或者ERROR 如果连接已经存在,则返回 ALREADY CONNECT |
参数说明: <type>:字符串参数,连接类型,“TCP”或者“UDP” <remote IP>:字符串参数,远端P地址 <remote port>:远端端口号 <UDP localport>:UDP传输时,设置本地端口 <UDP mode>:UDP传输的属性,若透传,则必须为0 2:收到数据后,改变远端目标 |
SSL连接:
设置指令: AT+CIPSTART=[<link D>],<type>,<remoteIP>,<remote port>,[<TCP keep alive>] | 响应:OK或者ERROR 如果连接已经存在,则返回ALREADY CONNECT |
参数说明: <type>:字符串参数,连接类型,“SSL” <remote lP>:字符串参数,远端IP地址 <remote port>:远端端口号 [<TCP keep alive>]:keep alive侦测时间,默认关闭此功能 0:关闭keep alive功能 1~7200:侦测时间,单位为s |
4、AT+CIPSSLSIZE——设置SSl buffer容量
设置指令: AT+CIPSSLSIZE=<size> | 响应:OK或者ERROR |
参数说明: <size>:SSLbuffer大小,取值范围为[2048,4096] |
5、AT+CIPSEND——发送数据
设置指令: AT+CIPSEND=<length>
| 响应:发送指定长度的数据 收到此命令后先换行返回“>”, 然后开始接收串口数据,当数 据长度满length时发送数据,回 到普通指令模式,等待下一条 AT指令如果未建立连接或连接被断开,则返回 |
参数说明: <length>:数字参数,表明发送数据的长度,最大值为2048 [<remote IP>]:UDP传输可以设置对端IP [<remote port>]:UDP传输可以设置对端端口 |
6、AT+CIPSENDEX——发送数据;达到设置长度或者遇到字符"\0"时,则发送数据
设置指令: AT+CIPSENDEX=<length>
| 响应:发送指定长度的数据 收到此命令后先换行返回“>”,然后开始接收串口数据,当数据长度满length或者遇到字符“\0”时,发送数据 如果未建立连接或连接被断开,则返回ERROR 如果数据发送成功,则返回 SEND OK |
参数说明: <link ID>:网络连接ID号(0~4),用于多连接的情况 <length>:数字参数,表明发送数据的长度,最大值为2048; 当接收数据长度满length或者遇到字符“0”时,发送数据,回到普通指令模式,等待下一条 AT指令 用户如需发发送“\0”,请转义为“\0” |
7、AT+CIPSENDBUF——数据写入TCP发包缓存
① 单连接时 :
| 响应:<本次 segmentlD>,<已成功发送的segment ID> ①单连接时: ②多连接时: |
参数说明: <length>:数据长度,超过长度的数据则丢弃 |
8、AT+CIPBUFRESET——重置计数(TCP发包缓存)
①单连接时: (+CIPMUX=0) AT+CIPBUFRESET ②)多连接时: (+CIPMUX=1) AT+CIPBUFRESET=<link ID> | 响应:OK 如果有数据包未发送完毕,或者连接不存在,则返回 ERROR |
参数说明: |
9、AT+CIPBUFSTATUS——查询TCP发包缓存状态
①单连接时: (CIPMUX=0) AT+CIPBUFSTATUS ② 多连接时 : (CIPMUX=1) AT+CIPBUFSTATUS=<link ID> | 响应:<下次的segmentD>,<已发送的segment ID>,<成功发送的segment ID>,<remain buffer size>,<queue number> |
参数说明: <下次的segmentID>:下次调用AT+CIPSENDBUF将分配的ID <已发送的segmentID>:已发送的TCP数据包ID <成功发送的segmentI>:成功发送的TCP数据包D <remain buffer size>:TCP发包缓存剩余的空间 <queue number>:底层可用的queue数目,并不可靠,仅供参考 |
10、AT+CIPCHECKSEQ——查询写入TCP发包缓存的某个包是否发送成功
①单连接时:(+CIPMUX=0) AT+CIPCHECKSEQ=<segment ID> | 响应:[<link ID>],<segment ID>,<status>OK |
<link ID>:网络连接ID(0~4),用于多连接的情况 <segment ID>:调用AT+CIPSENDBUF写入数据时分配的ID <status>:FALSE,发送失败;TRUE,发送成功 |
11、AT+CIPCLOSE——关闭TCP/UDP/SSL连接
设置指令:用于多连接的情况 执行指令:用于单连接的情况 | 响应:OK |
参数说明: <link ID>:需要关闭的连接ID号 当ID为5时,关闭所有连接(开启server后ID为5无效) |
12、AT+CIFSR——查询本地IP地址
执行指令: AT+CIFSR | 响应:+CIFSR :<IP address> +CIFSR :<IP address > OK |
参数说明: ESP8266 station的IP地址 |
13、AT+CIPMUX——设置多连接
设置指令: 查询指令: | 响应:+CIPMUX :<mode> OK |
参数说明: <mode> 1:多连接模式 |
14、AT+CIPSERVER——设置TCP server
设置指令: AT+CIPSERVER=<mode>,[<port>] | 响应:OK |
参数说明: <port>:端口号,默认为333 |
15、AT+CIPMODE——设置传输模式
设置指令: 查询指令: | 响应:+CIPMODE:<mode> OK |
参数说明: <mode> |
16、AT+SAVETRANSLINK——保存透传连接到flash
AT+SAVETRANSLINK功能一:保存透传连接(TCP单连接)到Flash
设置指令: AT+SAVETRANSLINK =<mode>, <remote IP or damainname>,<remote port>,<type>,[<TCP keep alive>] | 响应:OK或者ERROR |
参数说明: <remote port>:远端port [<TCP keep alive >]:选填参数,TCP keep alive 侦测,缺省默认关闭此功能 0:关闭TCP keep alive功能 |
AT+SAVETRANSLINK功能二:保存透传连接(UDP传输)到Flash
设置指令: AT+SAVETRANSLINK=<mode>,<remote IP>, <remote port>,<type>,[<UDP local port>] | 响应:OK或者ERROR |
参数说明: <mode> 0:取消开机透传 1:保存开机进入透传模式 <remote IP>:远端IP <remote port>:远端port <type>:UDP,若缺省则默认为TCP [<UDP local port>l:选填参数开机进入UDP传输时使用的本地端口 |
17、AT+CIPSTO——设置TCP server超时时间
设置指令: 查询指令: | 响应:+CIPSTO :<time> OK |
参数说明: <time>:TCP server超时时间,取值范围为0~7200s |
18、AT+PING——PING功能
设置指令: AT+PING=<IP> | 响应:+<time> OK 或者ERROR//表示PING失败 |
参数说明: <time>:PING响应时间 |
19、AT+CIUPDATE——通过WIFI升级软件
执行指令: AT+CIUPDATE | 响应:+CIPUPDATE :<n> OK |
参数说明: <n> 1:找到服务 2:连接到服务器 3:获得软件版本 4:开始升级 |
20、AT+CIPDINFO——接收网络数据时,“+IPD”是否提示对端IP和端口
设置指令: AT+CIPDINFO=<mode> | 响应:OK |
参数说明: <mode> 0:不显示对端IP和端口 1:显示对端IP和端口 |
21、+IPD——接收网络数据
①单连接时: (+CIPMUX=0) +IPD,<len>,[<remote IP>, <remote port>]:<data> ② 多连接时: (+CIPMUX=1) +IPD,<ink ID>,<len>,[<remote IP>,<remote port>]: <data> |
[<remote IP>]:网络通信对端IP,由指令“AT+CIPDINFO=1”使能显示 [<remote port>]:网络通信对端端口,由指令“AT+CIPDINFO=1”使能 <linkID>:接收到网络连接的ID号 |