ESP32 Web服务器控制交流电器的继电器

采用继电器配合esp32远程控制电灯的方法,继电器也可以改成多路继电器,这样单个esp32可以控制多个电器原件

以下是esp32的io引脚,本文采用IO26作为信号输入

 将继电器模块连接到esp32,如下图所示

本例子中用的是一个继电器模块

以下是实物的接线图,图中没有用AC接灯泡而是直接连接esp32的3.3v,仅做参考

创建一个web网页的代码部分

#include <WiFi.h>
#include <WebServer.h>

const char* ssid = "REPLACE_WITH_YOUR_SSID";
const char* password = "REPLACE_WITH_YOUR_PASSWORD";

WebServer server(80);

int relayPin = 26; // 设置继电器输出引脚

void setup() {
  Serial.begin(115200);

  pinMode(relayPin, OUTPUT);
  digitalWrite(relayPin, LOW); // 初始关闭继电器

  // 连接WiFi
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Connecting to WiFi...");
  }

  Serial.println("WiFi connected!");
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());

  // 网页请求
  server.on("/", handleRoot);
  server.on("/on", handleOn);
  server.on("/off", handleOff);

  server.begin();

  Serial.println("Server started");
}

void loop() {
  server.handleClient(); // 处理客户端请求
}

void handleRoot() {
   server.send(200, "text/html", "<html><head><title>ESP32 Web Control</title></head><body><a href=\"/on\"><button>ON</button></a> <a href=\"/off\"><button>OFF</button></a></body></html>");
}

void handleOn() {
  digitalWrite(relayPin, LOW); // 打开继电器
  server.send(200, "text/html", "<html><head><title>ESP32 Web Control</title></head><body><h1>Relay is ON</h1></body></html>");
}

void handleOff() {
  digitalWrite(relayPin, HIGH); // 关闭继电器
  server.send(200, "text/html", "<html><head><title>ESP32 Web Control</title></head><body><h1>Relay is OFF</h1></body></html>");
}

 将代码烧录进去esp32板上,在arduino上打开串口,查看web网页的ip,在浏览器上打开对应的ip地址

 web网页下的继电器控制

 打开关闭就能控制继电器的开关啦

 

 

物联沃分享整理
物联沃-IOTWORD物联网 » ESP32 Web服务器控制交流电器的继电器

发表评论