ESP8266(ESP-01S ) AT指令连接TCP服务器,或创建TCP服务器、透传指南

一、连接WIFI,发送数据(#以及后面为注释)

AT+CWMODE_DEF=1
AT+CWJAP_DEF="ChinaNet-ZnJn","sigxx"
   #可选 查看IP信息 AT+CIPSTA?
AT+CIPMUX=0   #(设置单连接)
AT+CIPSTART="TCP","192.168.1.2",8080  #建⽴ TCP 连接,当然也可以连接到互联网 与互联网服务器建立TCP
AT+CIPMODE=1  #设置透传模式 。透传模式传输时,如果连接断开,ESP8266 会不停尝试重连,此时单独输⼊ +++ 退出透
              #传,则停⽌重连;普通传输模式则不会重连,提示连接断开。
AT+CIPSEND   #开始发送数据
             # -----------随便输入
AT+CIPCLOSE   #断开链接              

二、当AP,等别人连接

AT+CWMODE_DEF=2
AT+CWSAP_DEF="智能老铁WiFi","laotie666",5,3
#可选,查看IP\MAC   AT+CIFSR   

# 0:普通传输模式才能开启服务器
AT+CIPMODE=0 
#多连接情况下 (AT+CIPMUX=1),才能开启 TCP 服务器
AT+CIPMUX=1
#建⽴服务器,端口 1001 
AT+CIPSERVER=1,1001

#查询TCP超时 AT+CIPSTO?  ,设置超时ESP8266 作为 TCP 服务器,会断开一直不通信直至超时了的 TCP 客户端连接。如果设置AT+CIPSTO=0,则永远不会超时,不建议这样设置

#设置 服务器会自动断开半个小时都不通信的TCP服务器。(芯片允许可以做心跳,这个时间可以设置更短)。TCP 服务器超时时间,取值范围 0 ~ 7200s。
AT+CIPSTO=1800  

	          #-----------手机下载“网络调试助手”,然后连接上述服务器。发送数据即可。
			#服务器接收样本  
			  ------------+IPD,ID,数据长度,可选数据块,后续截取:表示数据开始---------------------
			  #0,CONNECT
			  
				#+IPD,0,12:涓婅涓嬫晥
				#+IPD,0,6:kkd447
				#+IPD,0,9:娓愭笎鍦?
				#+IPD,0,4:6jkd
			  ---------------------------------#
#服务器发送数据给客户端
AT+CIPSEND=0,2  #客户端ID+,数据长度。等同于 AT+CIPSENDBUF,0,2

#这里就随便输入你要发送的文本,超出长度会被截取

#AT+CIPCLOSE=0 关闭某个客户端连接

#关闭服务器
AT+CIPSERVER=0 

 

三、透传

① TCP

AT+CWMODE_DEF=3

//链接手机创建的wifi

AT+CWJAP="test","test6666"

//查看链接信息 

AT+CIFSR

//链接到TCP服务器
AT+CIPSTART="TCP","192.168.43.1"

//开启透传

AT+CIPMODE=1

//之后,手机发送的数据会原样显示

 

//AT+SAVETRANSLINK—保存透传到 Flash

 

0 :取消开机透传
1 :保存开机进⼊透传模式
:远端 IP 或者域名
:远端端⼝
[] (选填参数): TCP 或者 UDP ,缺省默认为 TCP
[] (选填参数): TCP keep-alive 侦测,缺省默认关闭此功能
0 :关闭 TCP keep-alive 功能
1 ~ 7200 :侦测时间,单位为秒

AT+SAVETRANSLINK=1,"192.168.6.110",1002,"TCP"

 

(这种收发有延时!!!不知道是不是esp01-s的问题)

-------------------------------------------------

② UDP (双方数据都是透传)

AT+CWMODE_DEF=3

AT+CWSAP_DEF="智能老铁WiFi","laotie666",5,3

//在 PC 端使⽤⽹络调试⼯具,建⽴⼀个 UDP 传输。

//- 假设, PC 创建的 UDP ⾃身 IP 地址为 192.168.4.2 ,端⼝为 10086
AT+CIPSTART="UDP","192.168.4.2",10086,2233,0
 
AT+CIPMODE=1
 
 
0 :取消开机透传
1 :保存开机进⼊透传模式
:远端 IP
:远端端⼝
UDP ,缺省默认为 TCP
[] (选填参数):开机进⼊ UDP 传输时,使⽤的本地端⼝
//保存透传( UDP 传输)到 Flash
AT+SAVETRANSLINK=1,"192.168.4.2",10086,"UDP",2233
 

-------------------------------------------------

③ 另一种 TCP

 
 

AT+CWMODE=2

AT+CWSAP_DEF="智能老铁WiFi","laotie666",5,3

//手机链接上面的wifi,创建TCP服务器,ESP8266来链接

AT+CIPSTART="TCP","192.168.4.2",10086
//透传使能
AT+CIPMODE=1
//这个好像 esp 接收到的是透传??/
 
 
//保存开机启动
AT+SAVETRANSLINK=1,"192.168.4.2",10086,"TCP"
 
 
//重启
 

(这种收发无延时,强烈推荐)

你可能感兴趣的:(单片机,ESP8266,ESP-01S,AT指令,wifi模块)