Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bemtele/b50df556b3a45302fc6c7e5621ecb2f8 to your computer and use it in GitHub Desktop.
Save bemtele/b50df556b3a45302fc6c7e5621ecb2f8 to your computer and use it in GitHub Desktop.
Control Your ESP enabled MCU using android app or your browser.
/* 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>&nbsp;<a href=\"LED1Off\"><button>OFF</button></a></p></center>";
webPage += "<center><p>LIGHT 2 <a href=\"LED2On\"><button>ON</button></a>&nbsp;<a href=\"LED2Off\"><button>OFF</button></a></p></center>";
webPage += "<center><p>FAN <a href=\"LED3On\"><button>ON</button></a>&nbsp;<a href=\"LED3Off\"><button>OFF</button></a></p></center>";
webPage += "<center><p>HEATER <a href=\"LED4On\"><button>ON</button></a>&nbsp;<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