Created
July 31, 2018 13:17
-
-
Save AungWinnHtut/53d2c5a7c6dc6035023d5e1cd7dee09d 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 ledPin1 = 13; | |
int ledPin2 = 12; | |
int ledPin3 = 11; | |
WiFiServer server(80); | |
void setup() { | |
pinMode(ledPin1, OUTPUT); | |
digitalWrite(ledPin1, LOW); | |
pinMode(ledPin2, OUTPUT); | |
digitalWrite(ledPin2, LOW); | |
pinMode(ledPin3, OUTPUT); | |
digitalWrite(ledPin3, 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 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; | |
} | |
int value3 = LOW; | |
if (request.indexOf("/LED3=ON") != -1) { | |
digitalWrite(ledPin3, HIGH); | |
value3 = HIGH; | |
} | |
if (request.indexOf("/LED3=OFF") != -1) { | |
digitalWrite(ledPin3, LOW); | |
value3 = 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 (value1 == HIGH) { | |
client.print("1 On"); | |
} else { | |
client.print("1 Off"); | |
} | |
if (value2 == HIGH) { | |
client.print("2 On"); | |
} else { | |
client.print("2 Off"); | |
} | |
if (value3 == HIGH) { | |
client.print("3 On"); | |
} else { | |
client.print("3 Off"); | |
} | |
client.println("<br><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("<a href=\"/LED3=ON\"\"><button>Turn On 3 </button></a>"); | |
client.println("<a href=\"/LED3=OFF\"\"><button>Turn Off 3 </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