基于 Arduino 库实现 ESP32 TCP Server 应用例程

实现步骤:

  • ESP32 开启 WiFi Station 模式连接路由器
  • 连上路由器后将获取到分配的 IP 地址
  • 基于分配的 IP 地址创建 TCP Server

测试代码如下:

#include 
#include 
 
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 地址
    基于 Arduino 库实现 ESP32 TCP Server 应用例程_第1张图片

  • 使用手机端 TCP 调试 APP 与 ESP32 创建的 TCP Server 建立连接
    基于 Arduino 库实现 ESP32 TCP Server 应用例程_第2张图片

你可能感兴趣的:(ESP,应用需求实现,ESP32,协议,tcp/ip,智能路由器,网络)