Created
July 31, 2018 16:18
-
-
Save AungWinnHtut/3fb788e830ab36e2a04f2481953b63fb 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 = 13; | |
WiFiServer server(80); | |
void setup() { | |
pinMode(ledPin, OUTPUT); | |
digitalWrite(ledPin, 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; | |
} | |
// 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"); | |
} | |
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("</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