Created
June 8, 2019 13:33
-
-
Save bemtele/b50df556b3a45302fc6c7e5621ecb2f8 to your computer and use it in GitHub Desktop.
Control Your ESP enabled MCU using android app or your browser.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* By Boateng Oduro | |
* for Tutorials and more projects visit https://www.electrotekgh.com | |
* or Whatsapp me on +233266302607 | |
*/ | |
#include <ESP8266WiFi.h> | |
#include <WiFiClient.h> | |
#include <ESP8266WebServer.h> | |
#include <ESP8266mDNS.h> | |
MDNSResponder mdns; | |
// Replace with your network credentials | |
const char* ssid = " Your HOTSPOT/ROUTER name "; | |
const char* password = " Your HOTSPOT/ROUTER password "; | |
ESP8266WebServer server(80); | |
/*****To control Using web browser*****/ | |
String webPage = ""; | |
/***Defining Pins***/ | |
int Relay4 = D8;// | |
int Relay3 = D7;// | |
int Relay2 = D6;// | |
int Relay1 = D5;// | |
/***Wi-Fi connection LED***/ | |
int led_pin = D6; | |
void setup(void) { | |
/***HTML Webpage for controlling with browser, Just connect your PC to the same hotspot and type the IP address***/ | |
webPage += "<center><h1>SMART HOME BY BOATENG ODURO</h1><p>LIGHT 1 #1 <a href=\"LED1On\"><button>ON</button></a> <a href=\"LED1Off\"><button>OFF</button></a></p></center>"; | |
webPage += "<center><p>LIGHT 2 <a href=\"LED2On\"><button>ON</button></a> <a href=\"LED2Off\"><button>OFF</button></a></p></center>"; | |
webPage += "<center><p>FAN <a href=\"LED3On\"><button>ON</button></a> <a href=\"LED3Off\"><button>OFF</button></a></p></center>"; | |
webPage += "<center><p>HEATER <a href=\"LED4On\"><button>ON</button></a> <a href=\"LED4Off\"><button>OFF</button></a></p></center>"; | |
delay(1000); | |
Serial.begin(9600); | |
WiFi.persistent(false); | |
WiFi.mode(WIFI_OFF); | |
WiFi.mode(WIFI_STA); | |
WiFi.begin(ssid, password); | |
Serial.println(""); | |
Serial.println(WiFi.localIP()); | |
// Wait for connection | |
while (WiFi.status() != WL_CONNECTED) { | |
delay(500); | |
Serial.print("."); | |
// preparing Pins | |
pinMode(Relay4, OUTPUT); | |
digitalWrite(Relay4, LOW); | |
pinMode(led_pin, OUTPUT); | |
digitalWrite(led_pin, LOW); | |
pinMode(Relay2, OUTPUT); | |
digitalWrite(Relay2, LOW); | |
pinMode(Relay1, OUTPUT); | |
digitalWrite(Relay1, LOW); | |
} | |
Serial.println(""); | |
Serial.print("Connected to "); | |
Serial.println(ssid); | |
Serial.print("IP address: "); | |
Serial.println(WiFi.localIP()); | |
if (mdns.begin("esp8266", WiFi.localIP())) { | |
Serial.println("MDNS responder started"); | |
digitalWrite (led_pin, HIGH); | |
} | |
server.on("/", []() { | |
server.send(200, "text/html", webPage); | |
}); | |
server.on("/LED1On", []() { | |
server.send(200, "text/html", webPage); | |
digitalWrite(Relay1, HIGH); | |
delay(1000); | |
}); | |
server.on("/LED1Off", []() { | |
server.send(200, "text/html", webPage); | |
digitalWrite(Relay1, LOW); | |
delay(1000); | |
}); | |
server.on("/LED2On", []() { | |
server.send(200, "text/html", webPage); | |
digitalWrite(Relay2, HIGH); | |
delay(1000); | |
}); | |
server.on("/LED2Off", []() { | |
server.send(200, "text/html", webPage); | |
digitalWrite(Relay2, LOW); | |
delay(1000); | |
}); | |
server.on("/LED3On", []() { | |
server.send(200, "text/html", webPage); | |
digitalWrite(Relay3, HIGH); | |
delay(1000); | |
}); | |
server.on("/LED3Off", []() { | |
server.send(200, "text/html", webPage); | |
digitalWrite(Relay3, LOW); | |
delay(1000); | |
}); | |
server.on("/LED4On", []() { | |
server.send(200, "text/html", webPage); | |
digitalWrite(Relay4, HIGH); | |
delay(1000); | |
}); | |
server.on("/LED4Off", []() { | |
server.send(200, "text/html", webPage); | |
digitalWrite(Relay4, LOW); | |
delay(1000); | |
}); | |
server.begin(); | |
Serial.println("HTTP server started"); | |
} | |
void loop(void) { | |
server.handleClient(); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment