ESP8266-01S的TCP/IP相关的AT指令

news/2025/1/20 4:48:20/

目录

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.ppmy.cn/news/1564587.html

相关文章

游戏引擎学习第80天

Blackboard&#xff1a;增强碰撞循环&#xff0c;循环遍历两种类型的 t 值 计划对现有的碰撞检测循环进行修改&#xff0c;以便实现一些新的功能。具体来说&#xff0c;是希望处理在游戏中定义可行走区域和地面的一些实体。尽管这是一个2D游戏&#xff0c;目标是构建一些更丰富…

OpenVela——专为AIoT领域打造的开源操作系统

目录 一、系统背景与开源 1.1. 起源 1.2. 开源 二、系统特点 2.1. 轻量化 2.2. 标准兼容性 2.3. 安全性 2.4. 高度可扩展性 三、技术支持与功能 3.1. 架构支持 3.2. 异构计算支持 3.3. 全面的连接套件 3.4. 开发者工具 四、应用场景与优势 4.1. 应用场景 4.2. …

JavaScript,ES6,模块化,大程序文件拆分成小文件再组合起来

模块化 模块化是指将一个大的程序文件&#xff0c;拆分成许多小的文件&#xff0c;然后将小文件组合起来。 模块化的好处 模块化的优势有以下几点&#xff1a;1、防止命名冲突&#xff0c;2、代码复用&#xff0c;3、高维护性。 模块化规范产品&#xff0c;ES6 之前的模块化…

远程接口调用

目录 GET请求 案例1&#xff1a; 案例2&#xff1a; 案例3&#xff1a;查询新闻列表 POST请求 PUT请求 DELETE请求 通用 传json参数 在服务端使用java语言&#xff0c;向远程接口发起请求&#xff0c;得到响应数据的方法。实现远程接口调用方法很多&#xff0c;这里…

npm配置electron专属的淘宝镜像进行安装

nodejs的版本是22.13 npm配置electron专用的淘宝镜像&#xff0c;不配置会下载很慢 npm config edit在打开的文本编辑框里&#xff0c;在最下面空白的地方填写下面的信息 registryhttps://registry.npmmirror.com electron_mirrorhttps://cdn.npmmirror.com/binaries/electr…

【王树森搜索引擎技术】概要04:搜索引擎的链路(查询词处理、召回、排序)

搜素引擎的链路 分为查询词处理&#xff0c;召回&#xff0c;排序 查询词处理 分词 分词&#xff1a;冬季卫衣推荐 -> 冬季 / 卫衣 / 推荐为什么要做分词&#xff1a;文本召回根据词在倒排索引中检索文档倒排索引的 key 大多是 冬季&#xff0c;卫衣&#xff0c; 推荐这…

解决CSS中样式的优先级问题

在CSS中&#xff0c;有以下几种方式来确定优先级&#xff1a; 内联样式 - 直接在HTML元素的 style 属性中写样式&#xff0c;它的优先级是最高的。例如 <p style"color: red;">这是一段红色文字</p> 。 ID选择器 - 当在CSS中使用 #id 选择器来定…

深入剖析 Redis 过期删除策略

深入剖析 Redis 过期删除策略 在当今大数据和高并发的时代&#xff0c;缓存技术对于提升系统性能至关重要&#xff0c;而 Redis 作为一款广泛使用的高性能键值对存储数据库&#xff0c;其过期删除策略更是其中的关键一环。今天&#xff0c;就来和大家深入探讨一下 Redis 过期删…