当前位置: 首页 > article >正文

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结构的状态
        2:ESP8266 station已连接AP,获得IP地址

        3:ESP8266 station已建立TCP或UDP传输

        4:ESP8266 station断开网络连接
        5:ESP8266 station 未连接AP

<linkID>:网络连接ID(0~4),用于多连接的情况

<type>:字符串参数,“TCP”或者“UDP”
<remote IP>:字符串,远端IP地址
<remote port>;远端端口号

<local port>:ESP8266本地端控制
<tetype>
        0:ESP8266作为client

        1:ESP8266作为server

2、AT+CIPDOMAIN——域名解析功能

执行指令:
AT+CIPDOMAIN=<domain name>

响应 :

+CIPDOMAIN :<IP address>

参数说明:

<domain name>:待解析的域名

3、AT+CIPSTART——建立TCP连接、UDP传输、SSL连接

TCP连接:

设置指令:
①TCP单连接(AT+CIPMUX=0)时:
AT+CIPSTART=<type>,<remote IP>,<remote port>,[<TCP keep alive>]

 
②TCP多连接(AT+CIPMUX=1)时:
AT+CIPSTART=<link ID>,<type>,<remote IP>,<remote port>,[<TCP keep alive>]

响应: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传输:

设置指令:
①单连接模式(AT+CIPMUX=0)时
AT+CIPSTART=<type>,<remote IP>,

<remote port>,[<UDP local port>,

<UDP mode>]


②TCP多连接(AT+CIPMUX=1)时:
AT+CIPSTART=<link ID>.
<type>,<remote IP>,<remote port>,

[<UDPlocal port>,<UDP mode>]

响应:OK或者ERROR
如果连接已经存在,则返回
ALREADY CONNECT

参数说明:
<link ID>:网络连接D(0~4),用于多连接的情况

<type>:字符串参数,连接类型,“TCP”或者“UDP”

<remote IP>:字符串参数,远端P地址

<remote port>:远端端口号

<UDP localport>:UDP传输时,设置本地端口

<UDP mode>:UDP传输的属性,若透传,则必须为0
        0:收到数据后,不更改远端目标,默认值为0
        1:收到数据后,改变一次远端目标

        2:收到数据后,改变远端目标

 SSL连接:

设置指令:
AT+CIPSTART=[<link D>],<type>,<remoteIP>,<remote port>,[<TCP keep alive>]

响应:OK或者ERROR

如果连接已经存在,则返回ALREADY CONNECT

参数说明:
<link ID>:网络连接ID(0~4),用于多连接的情况

<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——发送数据

设置指令:
①单连接时 :
(+CIPMUX=0)

AT+CIPSEND=<length>


②多连接时:
(+CIPMUX=1)
AT+CIPSEND=<link ID>,<length>


③如果是UDP传输,可以设置远端IP和端口:
AT+CIPSEND=[<link ID>],<length>,
<remote P>, <remote port>

响应:发送指定长度的数据

收到此命令后先换行返回“>”,

然后开始接收串口数据,当数

据长度满length时发送数据,回

到普通指令模式,等待下一条

AT指令如果未建立连接或连接被断开,则返回
ERROR
如果数据发送成功,则返回
SEND OK

参数说明:
<link ID>:网络连接ID(0~4),用于多连接的情况

<length>:数字参数,表明发送数据的长度,最大值为2048

[<remote IP>]:UDP传输可以设置对端IP

[<remote port>]:UDP传输可以设置对端端口

6、AT+CIPSENDEX——发送数据;达到设置长度或者遇到字符"\0"时,则发送数据

设置指令:
①单连接时:(+CIPMUX=0)

AT+CIPSENDEX=<length>


② 多连接时 :(+CIPMUX=1)
AT+CIPSENDEX=<link ID>,<length>


③如果是UDP传输,可以设置远端IP和端口:
AT+CIPSENDEX=[<link ID>],<length>,[<remote IP>,<remote port>]

响应:发送指定长度的数据
收到此命令后先换行返回“>”,然后开始接收串口数据,当数据长度满length或者遇到字符“\0”时,发送数据
如果未建立连接或连接被断开,则返回ERROR
如果数据发送成功,则返回
SEND OK
参数说明:
<link ID>:网络连接ID号(0~4),用于多连接的情况
<length>:数字参数,表明发送数据的长度,最大值为2048;
        当接收数据长度满length或者遇到字符“0”时,发送数据,回到普通指令模式,等待下一条 AT指令
        用户如需发发送“\0”,请转义为“\0”

7、AT+CIPSENDBUF——数据写入TCP发包缓存

① 单连接时 :
(+CIPMUX=0)
AT+ CIPSENDBUF=<length>


②)多连接时 :
(+CIPMUX=1)
AT+CIPSENDBUF=<linkID>,<length>

响应:<本次 segmentlD>,<已成功发送的segment ID>

①单连接时:
        如果某包数据发送成功,则返回 <segmentID>,SENDOK>

②多连接时:
        如果某包数据发送成功,则返回<linkID>,<segmentID>,SEND OK 

参数说明:
<link ID>:网络连接ID(0~ 4),用于多连接的情况
<segment ID>:unint32,给每包写入数据分配的ID,从1开始计数,每写一包则自加一,计数满则重新从1开始计数

<length>:数据长度,超过长度的数据则丢弃

8、AT+CIPBUFRESET——重置计数(TCP发包缓存)

①单连接时:
(+CIPMUX=0)
AT+CIPBUFRESET
②)多连接时:
(+CIPMUX=1)
AT+CIPBUFRESET=<link ID>
响应:OK
如果有数据包未发送完毕,或者连接不存在,则返回
ERROR

参数说明:
<link ID>:网络连接DD(0~4),用于多连接的情况

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>
②多连接时 :(+CIPMUX=1)
        AT+CIPCHECKSEO=<link ID>,<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连接

设置指令:用于多连接的情况
AT+CIPCLOSE=<link ID>

执行指令:用于单连接的情况
AT+CIPCLOSE

响应:OK
参数说明:
<link ID>:需要关闭的连接ID号
当ID为5时,关闭所有连接(开启server后ID为5无效)

12、AT+CIFSR——查询本地IP地址

执行指令:
AT+CIFSR

响应:+CIFSR :<IP address>

        +CIFSR :<IP address >

        OK 

参数说明:
<IP address> :
        ESP8266 sofAP的IP地址

        ESP8266 station的IP地址

 

13、AT+CIPMUX——设置多连接

设置指令:
AT+CIPMUX=<mode>

查询指令:
AT+CIPMUX ?

响应:+CIPMUX :<mode>

        OK

参数说明:

<mode>
        0:单连接模式

        1:多连接模式

14、AT+CIPSERVER——设置TCP server

设置指令:

AT+CIPSERVER=<mode>,[<port>]

响应:OK

参数说明:
<mode>
        0:关闭server
        1:建立server

<port>:端口号,默认为333

15、AT+CIPMODE——设置传输模式

设置指令:
AT+CIPMODE=<mode>

查询指令:
AT+CIPMODE ?

响应:+CIPMODE:<mode>

        OK

参数说明:

<mode>
        0:普通传输模式
        1:透传模式,仅支持ICP单连接和UDP固定通信对端的情况

16、AT+SAVETRANSLINK——保存透传连接到flash

AT+SAVETRANSLINK功能一:保存透传连接(TCP单连接)到Flash 

设置指令:
AT+SAVETRANSLINK
=<mode>, <remote IP or damainname>,<remote port>,<type>,[<TCP keep alive>]
响应:OK或者ERROR

参数说明:
<mode>
        0:取消开机透传
        1:保存开机进入透传模式
<remote IP>:远端IP或者域名

<remote port>:远端port
<type>:选填参数,TCP或者UDP,缺省默认为TCP

[<TCP keep alive >]:选填参数,TCP keep alive 侦测,缺省默认关闭此功能

0:关闭TCP keep alive功能
1~7200:侦测时间,单位为s

 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超时时间

设置指令:
AT+CIPSTO=<time>

查询指令:
AT+CIPSTO ?

响应:+CIPSTO :<time>
OK
参数说明:
<time>:TCP server超时时间,取值范围为0~7200s

18、AT+PING——PING功能

设置指令:
AT+PING=<IP>
响应:+<time>
OK
或者ERROR//表示PING失败

参数说明:
<IP>:字符串参数,IP地址

<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号
<len>:数据长度
<data>:收到的数据


http://www.kler.cn/a/509737.html

相关文章:

  • 数组常见解决方案
  • SQL刷题快速入门(二)
  • Spark任务提交流程
  • 使用Pydantic驾驭大模型
  • 32单片机综合应用案例——基于GPS的车辆追踪器(三)(内附详细代码讲解!!!)
  • LabVIEW实现油浸式变压器自主监测与实时报告
  • 《深入浅出HTTPS​​​​​​​​​​​​​​​​​》读书笔记(29):TLS/SSL协议
  • 新星杯-ESP32智能硬件开发--ESP32开发环境
  • R语言的并发编程
  • 【华为OD-E卷 - 字符串加密 100分(python、java、c++、js、c)】
  • python初学者需要注意的几个基础点
  • 弱口令漏洞+文件上传漏洞
  • 【深度学习】1.深度学习解决问题与应用领域
  • MuJoCo仿真中的两轮平衡小车项目【问题集合】
  • 安卓java端service如何在native进程进行访问-跨进程通讯高端知识
  • 数据结构(初阶)(一)----算法复杂度
  • 《leetcode-runner》【图解】【源码】如何手搓一个debug调试器——架构
  • Web自动化:Cypress 测试框架概述
  • 自己造轮子-基于Ceres的GNSS-INS松耦合组合导航算法
  • 为AI聊天工具添加一个知识系统 之51 从形态学简约到纯粹的思维再映射到AI操作系统 之2
  • liunx进程函数汇总(包含管道、共享内存、消息队列、信号)
  • 浅谈计算机网络03 | 现代网络组成
  • 【tailscale 和 ssh】当服务器建立好节点,但通过客户端无法通过 ssh 连接
  • PostgreSQL-WAL日志介绍(一)
  • 蓝桥杯训练—矩形面积交
  • 服务器怎样防范网络蠕虫病毒?