Documentos de Académico
Documentos de Profesional
Documentos de Cultura
“PUERTO MEJILLONES”
CARRERA DE ELECTRÓNICA 500 M
MICROCONTROLADORES II
PRACTICA_8 - NODEMCU -
SERVIDOR_WEB_STA
DOCENTE: ING. ERICK BENITEZ GARECA
COCHABAMBA – BOLIVIA
2023
PRACTICA NRO: 8
1. Competencia a Desarrollar:
• Configuración de un servidor web en un NodeMCU.
• Creación de una red Wi-Fi como Estación (STA) utilizando un NodeMCU.
• Implementación de páginas web dinámicas para interactuar con el
NodeMCU.
2. Objetivos de la Práctica:
• Configuración del NodeMCU: Aprender a configurar un NodeMCU como servidor web
y como punto de acceso Wi-Fi. Esto incluye la instalación del firmware necesario en el
NodeMCU.
• Creación de una Red Wi-Fi en modo STA (Estación): Configurar el NodeMCU para
funcionar como una estación cliente Wi-Fi, lo que permitirá que se conecte a otras
redes Wi-Fi.
• Desarrollo de Páginas Web Dinámicas: Desarrollar habilidades para crear páginas web
dinámicas que puedan ser servidas por el NodeMCU. Estas páginas pueden contener
controles interactivos, como botones y formularios, que permitan a los usuarios
interactuar con el NodeMCU.
• Control y Monitoreo del NodeMCU: Aprender a programar el NodeMCU para
controlar dispositivos o sensores conectados a él, y para mostrar información o
estados en las páginas.
3. Contenido Temático:
• Microcontrolador ESP8266
• Aplicaciones IOT
• Redes WIFI
• Tarjeta de desarrollo NODEMCU
4. Materiales:
• Aprender Computadora Personal
• Arduino IDE
• Tarjeta de Desarrollo NODEMCU
• 10 leds
• 10 resistencias
5. Metodología:
✓ Implementación
6. Desarrollo Experimental:
Desarrollar un sistema que a partir de una página web puedan controlar 10 leds que
están conectados a una tarjeta de desarrollo NodeMCU.
➢ El servidor WEB debe correr en el NodeMCU.
➢ El NodeMCU debe de estar configurado como Estación (STA)
➢ Considerar como SSID: RED_MIC500, PASS: mic500ELT2022.
➢ El puerto de escucha debe ser el 7900
7. Resultados Obtenidos:
#include <ESP8266WiFi.h>
#define L1 16 //GPIO16 D0
#define L2 5 //GPIO5 D1
#define L3 4 //GPIO4 D2
#define L4 0 //GPIO0 D3
#define L5 2 //GPIO2 D4
#define L6 14 //GPIO14 D5
#define L7 12 //GPIO12 D6
#define L8 13 //GPIO13 D7
#define L9 15 //GPIO15 D8
#define L10 3 //GPIO3 RX
WiFiServer server(7900);
String header;
String LED1 = "off";
String LED2 = "off";
String LED3 = "off";
String LED4 = "off";
String LED5 = "off";
String LED6 = "off";
String LED7 = "off";
String LED8 = "off";
String LED9 = "off";
String LED10 = "off";
void setup()
{
Serial.begin(115200);
// Initialize the output variables as outputs
pinMode(L1,OUTPUT);
pinMode(L2,OUTPUT);
pinMode(L3,OUTPUT);
pinMode(L4,OUTPUT);
pinMode(L5,OUTPUT);
pinMode(L6,OUTPUT);
pinMode(L7,OUTPUT);
pinMode(L8,OUTPUT);
pinMode(L9,OUTPUT);
pinMode(L10,OUTPUT);
// Set outputs to LOW
digitalWrite(L1,LOW);
digitalWrite(L2,LOW);
digitalWrite(L3,LOW);
digitalWrite(L4,LOW);
digitalWrite(L5,LOW);
digitalWrite(L6,LOW);
digitalWrite(L7,LOW);
digitalWrite(L8,LOW);
digitalWrite(L9,LOW);
digitalWrite(L10,LOW);
void loop()
{
WiFiClient client = server.available(); // Listen for incoming clients
if (client)
{ // If a new client connects,
Serial.println("Nuevo cliente"); // print a message out in the
serial port
String currentLine = ""; // make a String to hold
incoming data from the client
while (client.connected())
{ // loop while the client's connected
if (client.available())
{ // if there's bytes to read from the client,
char c = client.read(); // read a byte, then
Serial.write(c); // print it out the serial
monitor
header += c;
if (c == '\n')
{ // if the byte is a newline character
// if the current line is blank, you got two newline characters in
a row.
// that's the end of the client HTTP request, so send a response:
if (currentLine.length() == 0)
{
// HTTP headers always start with a response code (e.g. HTTP/1.1
200 OK)
// and a content-type so the client knows what's coming, then a
blank line:
client.println("HTTP/1.1 200 OK");
client.println("Content-type:text/html");
client.println("Connection: close");
client.println();
client.println("</body></html>");
8. Conclusiones
Se consiguió lograr los objetivos planteados, enseñándonos cómo hacer que un NodeMCU
se comunique como un cliente Wi-Fi STA. Esto se resumió de la siguiente manera:
• Conexión a una Red Wi-Fi: Aprendimos a hacer que el NodeMCU se conecte a
otras redes Wi-Fi como un dispositivo más.
• Creación de Páginas Web Interactivas: Creamos páginas web que podían ser
vistas en un navegador y con las que podíamos interactuar. Incluimos botones y
formularios para poder interactuar con el NodeMCU.
• Control y Monitoreo: Programamos el NodeMCU para encender y apagar
dispositivos y mostrar información en las páginas web. Esto es muy bueno para
proyectos de IoT y automatización.
Además de todo esto, también nos introdujimos en el emocionante mundo del
Internet de las Cosas (IoT) y las redes Wi-Fi.