Created
July 31, 2018 17:14
-
-
Save AungWinnHtut/3721fc407a065b8c33a1a78e665b141c to your computer and use it in GitHub Desktop.
This file contains hidden or 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
#include <ESP8266WiFi.h> | |
const char* ssid = "Home"; | |
const char* password = "asdfghjkl"; | |
int ledPin = D8; | |
int ledPin1 = D7; | |
int ledPin2 = D6; | |
WiFiServer server(80); | |
void setup() { | |
pinMode(ledPin, OUTPUT); | |
digitalWrite(ledPin, LOW); | |
pinMode(ledPin1, OUTPUT); | |
digitalWrite(ledPin1, LOW); | |
pinMode(ledPin2, OUTPUT); | |
digitalWrite(ledPin2, LOW); | |
Serial.begin(115200); | |
Serial.println(); | |
Serial.print("Wifi connecting to "); | |
Serial.println( ssid ); | |
WiFi.begin(ssid, password); | |
Serial.println(); | |
Serial.print("Connecting"); | |
while ( WiFi.status() != WL_CONNECTED ) { | |
delay(500); | |
Serial.print("."); | |
} | |
Serial.println(); | |
Serial.println("Wifi Connected Success!"); | |
Serial.print("NodeMCU IP Address : "); | |
Serial.println(WiFi.localIP() ); | |
server.begin(); | |
Serial.println("NodeMCU Server started"); | |
// Print the IP address | |
Serial.print("Use this URL to connect: "); | |
Serial.print("http://"); | |
Serial.print(WiFi.localIP()); | |
Serial.println("/"); | |
} | |
void loop() { | |
//Serial.println(WiFi.localIP()); | |
// Check if a client has connected | |
WiFiClient client = server.available(); | |
if (!client) { | |
return; | |
} | |
// Wait until the client sends some data | |
Serial.println("Hello 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; | |
} | |
int value1 = LOW; | |
if (request.indexOf("/LED1=ON") != -1) { | |
digitalWrite(ledPin1, HIGH); | |
value1 = HIGH; | |
} | |
if (request.indexOf("/LED1=OFF") != -1) { | |
digitalWrite(ledPin1, LOW); | |
value1 = LOW; | |
} | |
int value2 = LOW; | |
if (request.indexOf("/LED2=ON") != -1) { | |
digitalWrite(ledPin2, HIGH); | |
value2 = HIGH; | |
} | |
if (request.indexOf("/LED2=OFF") != -1) { | |
digitalWrite(ledPin2, LOW); | |
value2 = LOW; | |
} | |
// Set ledPin according to the request | |
//digitalWrite(ledPin, value); | |
// 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.println("<body bgcolor=green>"); | |
client.println("<marquee>"); | |
client.println("<h1>ESP8266 HOME AUTOMATION</h1>"); | |
client.println("</marquee>"); | |
client.print("Led pin is now: "); | |
if (value == HIGH) { | |
client.print("On"); | |
} else { | |
client.print("Off"); | |
} | |
if (value1 == HIGH) { | |
client.print("1 On"); | |
} else { | |
client.print("1 Off"); | |
} | |
if (value2 == HIGH) { | |
client.print("2 On"); | |
} else { | |
client.print("2 Off"); | |
} | |
client.println("<br><br>"); | |
client.println("<a href=\"/LED=ON\"\"><button>Turn On </button></a>"); | |
client.println("<a href=\"/LED=OFF\"\"><button>Turn Off </button></a><br />"); | |
client.println("<a href=\"/LED1=ON\"\"><button>Turn On 1 </button></a>"); | |
client.println("<a href=\"/LED1=OFF\"\"><button>Turn Off 1</button></a><br />"); | |
client.println("<a href=\"/LED2=ON\"\"><button>Turn On 2 </button></a>"); | |
client.println("<a href=\"/LED2=OFF\"\"><button>Turn Off 2</button></a><br />"); | |
client.println("</body>"); | |
client.println("</html>"); | |
delay(1); | |
Serial.println("Client disonnected"); | |
Serial.println(""); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment