ESP8266共有3种模式:STA、AP、STA+APSTA:ESP8266设备作客户端AP:ESP8266设备作服务器STA+AP:混合模式 服务器端ESP8266配置流程 1、配置AP模式
查询指令:
AT+CWMODE?
功能:查询 ESP8266 当前 Wi-Fi 模
响应:+CWMODE:<mode>
? OK
设置指令:
AT+CWMODE=<mode>功能:设置 ESP8266 当前 Wi-Fi 模 式。响应:OK 指令:AT+CWMODE=2 //1:STA模式 2:AP模式 3:STA+AP模式
响应:OK
2、复位 指令:AT+RST
响应:OK
.
.
ready //最后一行
3、配置AP系数设置指令:
AT+CWSAP=<ssid>,<pwd>,<chl>,<ecn>[,][,<ssid hidden>]响应:OK 或 ERROR参数说明:
AT+CWSAP=“hao”,“h123456.”,5,3
响应:OK
4、设置多连接查询指令说明:
AT+CIPMUX?响应:+CIPMUX:<mode>设置指令说明:
AT+CIPMUX=<mode>
<mode>:
? 0:单连接模式
? 1:多连接模式
响应:OK
指令:AT+CIPMUX=1 //0:单连接模式、1:多连接模式
响应:OK
5、建立TCP服务器多连接情况下,才能开启 TCP 服务?,创建 TCP 服务?后,自动建立 TCP 服务?监听,当有TCP客户端接入,会自动占用一个连接ID
设置指令说明:
AT+CIPSERVER=<Mode>,<Port>
Mode:
0:关闭服务器
1:建立服务器
Port:端?口号,默认为 333
指令:AT+CIPSERVER=1,8080
响应:OK
6、查询IP地址 指令:AT+CIFSR
响应:+CIFSR:APIP,“192.168.4.1” +CIFSR:APMAC,“86:cc:a8:a0:c0:1c”
OK
这个IP地址一会会用到
7、设置TCP服务器超时时间查询指令说明:
AT+CIPSTO?功能:查询 TCP 服务器?超时时间设置指令说明:
AT+CIPSTO=<time>功能:设置 TCP 服务?超时时间。<time>: TCP 服务器超时时间,取值范围 0 ~ 7200s,默认永不超时ESP8266 作为 TCP 服务器,会断开一直不通信直至超时了的 TCP 客户端连接我一般选择默认
至此ESP8266服务器端配置完成 客户端端ESP8266配置流程 1、配置STA模式查询指令:
AT+CWMODE?
功能:查询 ESP8266 当前 Wi-Fi 模
响应:+CWMODE:<mode>
? OK
设置指令:
AT+CWMODE=<mode>功能:设置 ESP8266 当前 Wi-Fi 模 式。响应:OK 指令:AT+CWMODE=1 //1:STA模式 2:AP模式 3:STA+AP模式
响应:OK
2、复位 指令:AT+RST
响应:OK
.
.
ready //最后一行
3、连接AP查询指令:
AT+CWJAP?功能:查询 ESP8266 Station 已连接的 AP 信息响应:+CWJAP:<ssid>,<bssid>,<channel>,<rssi>? OK设置指令:
AT+CWJAP=<ssid>,<pwd>[,<bssid>]功能:设置 ESP8266 Station 需连接的 AP。参数:<ssi>:?目标 AP 的 SSID? <pwd>:密码最?长 64 字节 ASCII? [<bssid>]:目标 AP 的 MAC 地址,一般用于有多 个 SSID 相同的 AP 的情况响应:OK 指令:AT+CWJAP=“hao”,“h123456.”
响应:WIFI CONNECTED WIFI GOT IP
OK
此时在服务器端会响应如下内容:
+STA_CONNECTED:“84:cc:a8:a0:02:e6” +DIST_STA_IP:“84:cc:a8:a0:02:e6”,“192.168.4.2”
4、查询IP地址 指令:AT+CIFSR
响应:+CIFSR:STAIP,“192.168.4.2” +CIFSR:STAMAC,“84:cc:a8:a0:02:e6”
OK
响应的内容和上一步服务器端响应的IP相同
5、设置单连接查询指令说明:
AT+CIPMUX?响应:+CIPMUX:<mode>设置指令说明:
AT+CIPMUX=<mode>
<mode>:
? 0:单连接模式
? 1:多连接模式
响应:OK
指令:AT+CIPMUX=0 //0:单连接模式、1:多连接模式
响应:OK
6、建?立 TCP 连接设置指令:
AT+CIPSTART=<type>,<remote IP>,<remote port>[,<TCP keep alive>]参数说明:<type>:字符串串参数,连接类型, “TCP”,“UDP"或"SSL”<remote IP>:字符串串参数,远端 IP 地址<remote port>:远端端?口号[<TCP keep alive>]: TCP keep-alive 侦测时间,默认关闭此功能? 0:关闭 TCP keep-alive 功能1~7200:侦测时间,单位为 1s响应:OK 或 ERROR? 如果连接已经存在,则返回 ALREADY CONNECTED 指令:AT+CIPSTART=”TCP",“192.168.4.1”,8080 //IP为服务器的,端口也是
响应:CONNECT
OK
此时在服务器端会响应如下内容:
0,CONNECT
7、设置传输模式 查询指令:AT+CIPMODE?功能:查询传输模式响应:+CIPMODE:<mode>? OK设置指令:AT+CIPMODE=<mode>功能:设置传输模式响应:OK参数说明:<mode>:? 0:普通传输模式? 1:透传模式,仅?支持 TCP 单连接和 UDP 固定通信对端的情况 指令:AT+CIPMODE=1
响应:OK
8、发送数据在透传模式时,开始发送数据
指令:AT+CIPSEND
响应:OK
>
此时就可以客户端向服务器发送数据了
9、退出发送数据当输入单独一包 +++ 时,返回普通 AT 指令模式
10、关闭 TCP传输 指令:AT+CIPCLOSE
响应:OK
以上过程就是两个ESP8266之间通信的配置流程
SAT、AP配置工程代码可以从我的GitHub里面下载: 传送门
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。 |
标签: #两个esp8266通信 #esp8266 #当前 #wifi