본문 바로가기

IOT(Arduino+Inventor)

esp-01S Relay[5]

릴레이와 esp-01 결합된 모듈입니다.

참고 : 동작이 되지 않으면, 줄번 호 4번째 줄 #define RELAY 2 를  0으로 합니다.

시리얼 모니터에서 동작 확인

서버 IP로 접속 후 클라이언트가 접속되었습니다.

클라이언트에서 ON 버튼을 실행했을 때

참고: 업로드에러가 발생하면

esp-01모듈을 

뺐다 다시 끼운다.

시리얼 모니터에서 동작이 확인되면

ESP-01S에 장착했을 떼, 릴레이 ON, OFF되 소리가 난다.

source code

#include <ESP8266WiFi.h>
const char* ssid = "IOT999"; 

const char* password = "kbs48752"; 

#define RELAY 2 
WiFiServer server(80);
void setup(){
 Serial.begin(115200);

 pinMode(RELAY,OUTPUT);
 digitalWrite(RELAY, LOW);

 Serial.println();
 Serial.println();
 Serial.print("Connecting to ");
 Serial.println(ssid);
 WiFi.begin(ssid, password);
 while (WiFi.status() != WL_CONNECTED){
 delay(500);
 Serial.print(".");
 }
 Serial.println("");
 Serial.println("WiFi connected");
 
 server.begin();
 Serial.println("Server started");
 
 Serial.print("Use this URL to connect: ");
 Serial.print("https://");
 Serial.print(WiFi.localIP());
 Serial.println("/");
}
void loop(){
 
 WiFiClient client = server.available();
 if (!client){
 return;
 }
 
 Serial.println("new client");
 while(!client.available()){
 delay(1);
 }

 String request = client.readStringUntil('\r');
 Serial.println(request);
 client.flush();

 int value = LOW;
 if (request.indexOf("/RELAY=ON") != -1){
 Serial.println("RELAY=ON");
 digitalWrite(RELAY,LOW);
 value = LOW;
 }
 if (request.indexOf("/RELAY=OFF") != -1){
 Serial.println("RELAY=OFF");
 digitalWrite(RELAY,HIGH);
 value = HIGH;
 }

 client.println("HTTP/1.1 200 OK");
 client.println("Content-Type: text/html");
 client.println(""); // dies ist ein Muss
 client.println("<!DOCTYPE HTML>");
 client.println("<html>");
 client.println("<meta name='viewport' content='width=device-width, initial-scale=1'>");
 client.println("<head><title>ESP8266 RELAY Control</title></head>");
 client.println("<style>");
 client.println("* {text-align: center; font-family: Consolas;}");
 client.println("");
 client.println(".container {position: absolute; top:50%;");
 client.println("left: 50%; transform: translateX(-50%)translateY(-50%);}");
 client.println("");
 client.println("a {display: inline-block; width: 50px;");
 client.println("color: #FFFFFF; background-color:#275C6B;");
 client.println("margin-top: 15px; padding: 10px 20px;");
 client.println("text-decoration: none; border-radius:5px;");
 client.println("font-weight: 800;}");
 client.println("</style>");
 client.println("<div class='container'>");
 client.println("<div class='inner'>");
 client.print("Relay is now: ");
 if(value == HIGH){client.print("OFF");}
 else{client.print("ON");}
 client.println("<br>");
 client.println("<a href=\"/RELAY=OFF\">OFF</a>");
 client.println("<a href=\"/RELAY=ON\">ON</a>");
 client.println("</div>");
 client.println("</div>");
 client.println("</html>");
 Serial.println("");
}

 

'IOT(Arduino+Inventor)' 카테고리의 다른 글

Esp-01, ThingSpeak,Control Of LED  (0) 2023.05.02
온도 센서 ds18b20  (0) 2023.04.12
ESP-01, DHT11, ThingSpeak [5]  (0) 2023.04.11
esp-01 DHT11 Sensor[4]  (0) 2023.04.11
ESP-01 LED Control[3]  (0) 2023.03.25