Things used in this project

Hardware components:
Nodemcu
NodeMCU ESP8266 Breakout Board
×1
09590 01
LED (generic)
×1
12002 04
Breadboard (generic)
×1
Software apps and online services:
Ide web
Arduino IDE

Schematics

NodeMCU-Pin's
Nodemcu pins pvo2tvvk5j
Conncection
Sehe 4eeidbsku6

Code

NodeMCU_WebServerArduino
Set SSID/wifi name and Password in Your Code
#include <ESP8266WiFi.h> 
const char* ssid = ""; //wifi ssid / wifi name
const char* password = ""; //wifi password
int ledPin = 13; // GPIO13 
WiFiServer server(80); 
void setup() { 
 Serial.begin(115200); 
 delay(10); 
 pinMode(ledPin, OUTPUT); 
 digitalWrite(ledPin, LOW); 
 // Connect to WiFi network 
 Serial.println(); 
 Serial.println(); 
 Serial.print("Connecting to "); 
 Serial.println(ssid); 
 WiFi.begin(ssid, password); 
 while (WiFi.status() != WL_CONNECTED) { 
   delay(500); 
   Serial.print("."); 
 } 
 Serial.println(""); 
 Serial.println("WiFi connected"); 
 // Start the server 
 server.begin(); 
 Serial.println("Server started"); 
 // Print the IP address 
 Serial.print("Use this URL to connect: "); 
 Serial.print("http://"); 
 Serial.print(WiFi.localIP()); 
 Serial.println("/"); 
} 
void loop() { 
 // Check if a client has connected 
 WiFiClient client = server.available(); 
 if (!client) { 
   return; 
 } 
 // Wait until the client sends some data 
 Serial.println("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.print("<body style='background: #00979C'>"); 
 client.println("<h1 align ='center'>"); 
 client.println("<font-color='red'>"); 
 client.println("FoxLab"); 
 client.println("</font>"); 
 client.println("</h1>"); 
 client.println("<bg color ='#00ff00'>"); 
 client.println("</bg>"); 
 client.println("<p align ='center'>"); 
 client.print("Led is Now: "); 
 client.println("</p>"); 
 if(value == HIGH) { 
   client.println("<p align ='center'>"); 
   client.print("On"); 
   client.println("</p>"); 
 } else { 
   client.println("<p align ='center'>"); 
   client.print("Off"); 
   client.println("</p>"); 
 } 
 client.println("<br><br>"); 
 client.println("<p align ='center'>"); 
 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("</p>"); 
 client.println("<p>"); 
 client.println("<marquee direction='right'>"); 
 client.println("Developed by Salman Faris "); 
 client.println("</marquee>"); 
 client.println("</p>"); 
 client.println("</body>"); 
 client.println("</html>"); 
 delay(1); 
 Serial.println("Client disonnected"); 
 Serial.println(""); 
} 

Credits

Dsc05679 xxk38knz8i
Salman Faris

Learning By Doing.

Contact

Replications

Did you replicate this project? Share it!

I made one

Love this project? Think it could be improved? Tell us what you think!

Give feedback

Comments

Similar projects you might like

ESP8266 NodeMCU WiFi IoT Garage Door Opener Relay with Cayen
Easy
  • 176
  • 3

In this project, we will use an ESP8266 with Cayenne to control a Garage Door Opener.

Web-Based Universal Remote for Under $4 (Probably)
Easy
  • 2,491
  • 12

Don't buy a universal remote, make one. It's cheaper, funner, universal-er, kind of, and you get to learn the ESP8266, kind of.

Safe City: A Device to Keep You Safe
Easy
  • 1,045
  • 8

Full instructions

The device will keep you safe. Just have to click a button and your precise location will be shared.

NodeMCU and Google Drive Sheet
Easy
  • 68
  • 2

A simple IoT test: uploading the analog value of a potentiometer from ESP8266 NodeMCU to Google Drive Sheet without any add-ons.

ESP8266 Temperature Monitor
Easy
  • 2,052
  • 11

Full instructions

Get an alert if your fridge's temperature rises above 40 F (very dangerous!).

WiFi Marquee Scroller
Easy
  • 301
  • 2

Full instructions

An "anywhere" LED Matrix sign that you can setup with a mobile device. Uses ESP8266

Sign up / LoginProjectsPlatformsTopicsContestsLiveAppsBetaFree StoreBlog