본문 바로가기

IOT(Arduino+Inventor)

3 Room Switch

3개 방에 ESP-01s릴레이 스위치 모듈을 설치합니다. 기존에 수동스위치를 그대로 두고 병렬로 연결 합니다. 사용중인 수동 스위치는 항상 꺼진 상태로 두어야 합니다. 켜진 상태이면 릴레이스위치는 동작은 하지만 반응은 수동 스위치에 적용을 받습니다.

 

폰 화면 입니다. 큰방, 작은방, 작업실에 설치하여 사용중에 있습니다. 화살표는 부루투스로 커텐 제어 할 계획입니다. 개발 중에 있습니다.

전등 아두이노 코드업로드 합니다. 반드시  같은 공유기에 접속 되어 있어야 합니다. 그리고 주어지는 ip를 기억하여, 인벤터 스케치 코딩 할 때 사용해야 합니다.

예를 들면 192.168,0,X유형입니다.

큰방과 작은 방은 가까위치이므로 전원 5v 같이 사용했습니다.

사용하지 않은 폰 충전 어답터가 있으면 활용가능 합니다. 끈 부분을 피복을 벗기여 빨간, 검은 선을 이용합니다.

작업실은 멀리 있어 독립적으로 사용합니다.

#include <ESP8266WiFi.h>


 
const char *ssid  = "skyiptime7209";
const char *password = "skylife209";
int ledPin = 0;  // GPIO0 of ESP8266
WiFiServer server(80);
 void setup() {
   Serial.begin(115200);
   delay(10);
 

 pinMode(ledPin, OUTPUT);
   digitalWrite(ledPin, 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 c onnected");
 
// Start the server
 server.begin();
   Serial.println("Server started");
 
//Print the IP address
 Serial.print("Use this URL to connect: ");
  Serial.print("http://");
  Serial.print(WiFi.localIP());
   Serial.println("/");
 
}
 void loop() {
//Check if a client has connected
 WiFiClient client = server.available();
   if (!client) {
     return;
   
  }
 
//Wait until the client sends some data
Serial.println("new client");
   while (!client.available()) {
     delay(1);
   
  }
 
//Read the first line of the request
 String request = client.readStringUntil('\r');
   Serial.println(request);
  client.flush();
 
//Match the request

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

   

//Return the response
 client.println("HTTP/1.1 200 OK");
   client.println("Content-Type: text/html");
   client.println("");  //  do not forget this one
   client.println("<!DOCTYPE HTML>");
   client.println("<html>");
   
client.print("Led pin is now: ");
   
if (value == HIGH) {
     client.print("On");
   
  }
  else {
     client.print("Off");
   
  }
   client.println("<br><br>");
   client.println("Click <a href=\"/LED=ON\">here</a> turn the LED on pin 2 ON<br>");
  client.println("Click <a href=\"/LED=OFF\">here</a> turn the LED on pin 2 OFF<br>");
  client.println("</html>");
 
 delay(1);
   Serial.println("Client disonnected");
   Serial.println("");
 
}

 

 

큰 방 스위치 코딩입니다. 

작은 방 스케치 코드

작업실 스케치 코딩

roomswitch (2).apk
3.75MB
roomswitch (1).aia
0.10MB

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

우리주위에 동작되고 있는 WiFi 목록 보기  (0) 2025.01.16
Room WiFi Switch  (0) 2025.01.09
Esp-01, ThingSpeak,Control Of LED  (0) 2023.05.02
온도 센서 ds18b20  (0) 2023.04.12
esp-01S Relay[5]  (0) 2023.04.12