ESP8266多连接TCP服务器,就是相当于把8266当作服务器来开发。
ESP8266 AT 仅⽀支持建⽴立⼀一个 TCP 服务器器,且必须使能多连接,即允许连接多个 TCP client。 以下为 ESP8266 作为 softAP ,建⽴立 TCP 服务器器的举例例;如果是 ESP8266 作为 station, 可在连接路路由后,同理理建⽴立服务器器。
1. 配置 WiFi 模式
AT+CWMODE=3 // softAP+station mode 响应 : OK
2. 使能多连接
AT+CIPMUX=1 响应 : OK
3. 建⽴立 TCP server
AT+CIPSERVER=1 // default port = 333 端口号不填,默认333 响应 : OK
后面加的9090就是自己配置的端口
4. PC 连⼊入 ESP8266 softAP(就是连接WiFi,与电脑连同一个)
5. 在 PC 端使⽤用⽹网络调试⼯工具,建⽴立⼀一个 TCP client,连接 ESP8266 的 TCP server。
之后点击连接
此时WiFi接收端会有个0,CONNECT,表示标号为0,此时电脑端可以发送数据给8266
注意: ESP8266 作为 TCP server 有超时机制,如果连接建⽴立后,⼀一段时间内⽆无数据来往,ESP8266 TCP server 会将 TCP client 踢掉。因此,请在 PC TCP client 连上 ESP8266 TCP server 后建立⼀一个 2s 的循环数据发送,用于保持连接。
AT+CIPSTO=600,是大写o不是0
6. 发送数据
// ID number of connection is defaulted to be 0. AT+CIPSEND=0, 4 // send 4 bytes to connection NO.0 >test // enter the data, no CR 响应 : Recv 4 bytes SEND OK
打开另一个客户端连接我们的8266,后有个1,CONNECT
让两个客户端定时发送数据,在8266接收端可以看到0,1定时发送数据
7. 接收数据
当 ESP8266 设备接收到服务器器发来的数据,将提示如下信息: +IPD,0,n:xxxxxxxxxx // received n bytes, data=xxxxxxxxxxx
8. 断开 TCP 传输
AT+CIPCLOSE=0(需要关掉的标号) 响应 : 0,CLOSED OK
评论前必须登录!
注册