Advertisement
Macrovision

ESP8266 4Channel Relay Controller

May 18th, 2022 (edited)
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 5.22 KB | None | 0 0
  1. //#include <Boards.h>
  2. #include <Firmata.h>
  3. //#include <FirmataConstants.h>
  4. //#include <FirmataDefines.h>
  5. //#include <FirmataMarshaller.h>
  6. //#include <FirmataParser.h>
  7.  
  8. #include <ESP8266WiFi.h>
  9. #include <WiFiClient.h>
  10. #include <ESP8266WebServer.h>
  11. #include <ESP8266mDNS.h>
  12. #include <WiFiManager.h>
  13.  
  14.  
  15. //const char* ssid = "Aload";
  16. //const char* password = "01506176";
  17.  
  18. ESP8266WebServer server(85);
  19.  
  20. const int output1 = 14;
  21. const int output2 = 12;
  22. const int output3 = 13;
  23. const int output4 = 15;
  24.  
  25. //boolean All = false;
  26. boolean Kitchen = false;
  27. boolean Living_room = false;
  28. boolean Master_bedroom = false;
  29. boolean Patio = false;
  30.  
  31. void config_wifi();
  32. void handleRoot() {
  33.   //digitalWrite(led, 1);
  34.   //server.send(200, "text/plain", "hello from esp8266!");
  35.   //digitalWrite(led, 0);
  36.  
  37.   String cmd;    
  38.       cmd += "<!DOCTYPE HTML>\r\n";
  39.       cmd += "<html>\r\n";
  40.       cmd += "<header><title>Home Automation</title><center><h1>\"Wifi Lightning Controller\"</h1></center></header>";
  41.       cmd += "<style> body { background-color: #cccccc; font-family: Arial, Helvetica, Sans-Serif; Color: #000088; }</style>";
  42.       cmd += "<head>";
  43.       cmd += "<meta http-equiv='refresh' content='5'/>";
  44.       cmd += "</head>";
  45.      
  46.       if(Kitchen ==1 ){
  47.         cmd +=("<br/><center>Kitchen  : ON");
  48.       }
  49.       else{
  50.         cmd +=("<br/><center>Kitchen  : OFF");
  51.       }
  52.      
  53.       if(Living_room ==1 ){
  54.         cmd +=("<br/>Living room  : ON");
  55.       }
  56.       else{
  57.         cmd +=("<br/>Living room  : OFF");
  58.       }
  59.            
  60.        if(Master_bedroom ==1 ){
  61.         cmd +=("<br/>Master bedroom  : ON");
  62.       }
  63.       else{
  64.         cmd +=("<br/>Master bedroom  : OFF");
  65.       }
  66.      
  67.       if(Patio ==1 ){
  68.         cmd +=("<br/>Patio  : ON");
  69.       }
  70.       else{
  71.         cmd +=("<br/>Patio  : OFF");
  72.       }
  73.            
  74.       cmd += "<html>\r\n";
  75.       server.send(200, "text/html", cmd);
  76. }
  77.  
  78.  
  79.  
  80. void config_wifi()
  81. {
  82.    WiFiManager wifiManager;
  83.    wifiManager.setAPStaticIPConfig(IPAddress(10,1,1,0), IPAddress(10,1,1,1), IPAddress(255,255,255,0));
  84.    wifiManager.autoConnect("Wifi Lighting Cont AP");  
  85. }
  86.  
  87.  
  88. void handleNotFound(){
  89.   //digitalWrite(led, 1);
  90.   String message = "File Not Found\n\n";
  91.   message += "URI: ";
  92.   message += server.uri();
  93.   message += "\nMethod: ";
  94.  
  95.   message += (server.method() == HTTP_GET)?"GET":"POST";
  96.   message += "\nArguments: ";
  97.   message += server.args();
  98.   message += "\n";
  99.   for (uint8_t i=0; i<server.args(); i++){
  100.     message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
  101.   }
  102.   server.send(404, "text/plain", message);
  103.   //digitalWrite(led, 0);
  104. }
  105.  
  106. void setup(void){
  107.   pinMode(output1, OUTPUT);
  108.   pinMode(output2, OUTPUT);
  109.   pinMode(output3, OUTPUT);
  110.   pinMode(output4, OUTPUT);
  111.  
  112.   digitalWrite(output1, LOW);
  113.   digitalWrite(output2, LOW);
  114.   digitalWrite(output3, LOW);
  115.   digitalWrite(output4, LOW);
  116.   /*
  117.   //Serial.begin(115200);
  118.   IPAddress staticIP(192, 168, 1,140);
  119.   IPAddress gateway(192,168,1,1);
  120.   IPAddress subnet(255, 255, 255, 0);
  121.   WiFi.config(staticIP, gateway, subnet);
  122.   WiFi.begin(ssid, password);
  123.   //Serial.println("");
  124. */
  125.    config_wifi();
  126.  
  127. /*
  128.   if (MDNS.begin("esp8266")) {
  129.     Serial.println("MDNS responder started");
  130.   }
  131. */
  132.  
  133.  
  134.   server.on("/", handleRoot);
  135.  
  136.    server.on("/all=1", [](){
  137.     server.send(200, "text/plain","↑↑↑↑");
  138.     digitalWrite(output1, HIGH);
  139.     digitalWrite(output2, HIGH);
  140.     digitalWrite(output3, HIGH);
  141.     digitalWrite(output4, HIGH);
  142.     //All = true;
  143.     Kitchen = true;
  144.     Living_room = true;
  145.     Master_bedroom = true;
  146.     Patio = true;
  147.   });
  148.  
  149.  
  150.    server.on("/all=0", [](){
  151.     server.send(200, "text/plain","↓↓↓↓");
  152.     digitalWrite(output1, LOW);
  153.     digitalWrite(output2, LOW);
  154.     digitalWrite(output3, LOW);
  155.     digitalWrite(output4, LOW);
  156.     //All = false;
  157.     Kitchen = false;
  158.     Living_room = false;
  159.     Master_bedroom = false;
  160.     Patio = false;
  161.   });
  162.  
  163.   server.on("/status1=1", [](){
  164.     server.send(200, "text/plain","↑");
  165.     digitalWrite(output1, HIGH);
  166.    Kitchen = true;
  167.   });
  168.  
  169.   server.on("/status1=0", [](){
  170.     server.send(200, "text/plain","↓");
  171.     digitalWrite(output1, LOW);
  172.    Kitchen = false;
  173.   });
  174.  
  175.   server.on("/status2=1", [](){
  176.     server.send(200, "text/plain","↑");
  177.     digitalWrite(output2, HIGH);
  178.     Living_room = true;
  179.   });
  180.  
  181.   server.on("/status2=0", [](){
  182.     server.send(200, "text/plain","↓");
  183.     digitalWrite(output2, LOW);
  184.     Living_room = false;
  185.   });
  186.  
  187.   server.on("/status3=1", [](){
  188.     server.send(200, "text/plain","↑");
  189.     digitalWrite(output3, HIGH);
  190.     Master_bedroom = true;
  191.   });
  192.  
  193.   server.on("/status3=0", [](){
  194.     server.send(200, "text/plain","↓");
  195.     digitalWrite(output3, LOW);
  196.     Master_bedroom = false;
  197.   });
  198.  
  199.   server.on("/status4=1", [](){
  200.     server.send(200, "text/plain","↑");
  201.     digitalWrite(output4, HIGH);
  202.     Patio = true;
  203.   });
  204.  
  205.   server.on("/status4=0", [](){
  206.     server.send(200, "text/plain","↓");
  207.     digitalWrite(output4, LOW);
  208.     Patio = false;
  209.   });
  210.  
  211.   server.onNotFound(handleNotFound);
  212.   server.begin();
  213.   Serial.println("HTTP server started");
  214. }
  215.  
  216. void loop(void){
  217.   server.handleClient();
  218.  
  219. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement