ESP32-C3实现串口控制ESP32开启热点,关闭热点,连接路由,断开连接路由

时间:2024-10-13 08:12:04

源码

#include <WiFi.h>

// 定义热点名称和密码
const char* ssid = "ESP32-C3-AP";
const char* password = "12345678";

void setup() {
  // 初始化串口
  Serial.begin(115200);
  // 初始化WiFi
  WiFi.mode(WIFI_MODE_APSTA);
}

void loop() {
  if (Serial.available() > 0) {
    int command = Serial.parseInt(); // 读取串口输入的整数
    switch (command) {
      case 1: // 开启热点
        startAP();
        break;
      case 2: // 关闭热点
        stopAP();
        break;
      case 3: // 连接路由
        connectToRouter();
        break;
      case 4: // 关闭连接的路由
        disconnectFromRouter();
        break;
      default:
        Serial.println("未知命令");
        break;
    }
  }
}

void startAP() {
  WiFi.softAP(ssid, password);
  Serial.println("热点已开启");
}

void stopAP() {
  WiFi.softAPdisconnect(true);
  Serial.println("热点已关闭");
}

void connectToRouter() {
  // 替换以下SSID和密码为您要连接的路由器信息
  const char* routerSSID = "123";
  const char* routerPassword = "12345678901";

  WiFi.begin(routerSSID, routerPassword);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("已连接到路由器");
  Serial.println(WiFi.localIP());
}

void disconnectFromRouter() {
  WiFi.disconnect(true);
  Serial.println("已断开连接的路由器");
}

原理

板子通电,在串口输入(1开启热点输入2关闭热点输入3连接路由输入4关闭连接的路由)其中一个就可以实现指定的功能