实现步骤:
- ESP32 开启 WiFi Station 模式连接路由器
- 连上路由器后将获取到分配的 IP 地址
- 基于分配的 IP 地址创建 TCP Server
测试代码如下:
#include <WiFi.h>
#include <WiFiClient.h>
const char* ssid = "cc2.4";
const char* password = "espressif";
WiFiServer server(1234);
void setup() {
Serial.begin(115200);
delay(1000);
// 连接到WiFi网络
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
// 启动TCP服务器
server.begin();
Serial.println("WiFi connected");
Serial.println("IP address: " + WiFi.localIP().toString());
}
void loop() {
// 等待客户端连接
WiFiClient client = server.available();
if (client) {
Serial.println("New client connected");
while (client.connected()) {
// 检查是否有数据可供读取
if (client.available()) {
// 读取客户端发送的数据
String data = client.readStringUntil('\n');
Serial.print("Received data: ");
Serial.println(data);
// 发送响应到客户端
String response = "Server received: " + data;
client.println(response);
}
}
// 断开与客户端的连接
client.stop();
Serial.println("Client disconnected");
}
}
测试方式:
-
手机与 ESP32 连接同一路由器
-
查看 UART0 日志打印,获取 TCP Server 的 IP 地址
-
使用手机端 TCP 调试 APP 与 ESP32 创建的 TCP Server 建立连接