基于 Arduino 库实现 ESP32 使能 WiFi AP + TCP Server 的应用

实现步骤:

  • ESP32 开启 WiFi AP 模式创建 WiFi 热点
  • 定义 IP 地址
  • 创建 TCP Server

测试代码如下:

#include 
#include 
 
const char* ssid = "cc123";
const char* password = "espressif";
 
WiFiServer ServerPort(1234);


IPAddress LocalIP(192,168,4,22);
IPAddress Gateway(192,168,4,22);
IPAddress SubNet(255,255,255,0);
 
void setup() {
  Serial.begin(115200);
  delay(1000);
  
  WiFi.mode(WIFI_AP); // 设置为AP模式

  
  WiFi.softAPConfig(LocalIP,Gateway,SubNet);
  WiFi.softAP(ssid, password); // 创建WiFi接入点
  IPAddress ip = WiFi.softAPIP(); // 获取AP的IP地址

  Serial.println();
  Serial.print("AP IP address: ");
  Serial.println(ip);
  
  // 启动TCP服务器
  ServerPort.begin();
  
}
 
void loop() {
  // 等待客户端连接
  WiFiClient client = ServerPort.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 创建的 AP 热点
  • 查看 UART0 日志打印,获取 TCP Server 的 IP 地址
    基于 Arduino 库实现 ESP32 使能 WiFi AP + TCP Server 的应用_第1张图片
  • 使用手机端 TCP 调试 APP(网络助手) 与 ESP32 创建的 TCP Server 建立连接
    基于 Arduino 库实现 ESP32 使能 WiFi AP + TCP Server 的应用_第2张图片

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