Documentos de Académico
Documentos de Profesional
Documentos de Cultura
“PUERTO MEJILLONES”
CARRERA DE ELECTRÓNICA 500 M
MICROCONTROLADORES II
PRACTICA_7 - NODEMCU -
SERVIDOR_WEB_AP
DOCENTE: ING. ERICK BENITEZ GARECA
COCHABAMBA – BOLIVIA
2023
PRACTICA NRO: 7
1. Competencia a Desarrollar:
• Configuración de un Servidor Web en un NodeMCU.
• Creación de una red Wi-Fi Access Point (AP) 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 un
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 AP: Configurar el NodeMCU para funcionar
como un punto de acceso Wi-Fi, lo que permitirá a otros dispositivos
conectarse a él.
• 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 web.
3. Contenido Temático:
• Microcontrolador ESP8266
• Aplicaciones IOT
• Redes WIFI
• Tarjeta de desarrollo NODEMCU
4. Materiales:
• 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 AP
➢ Considerar como SSID: NODE (iniciales de los nombres de los integrantes
del grupo).
➢ El puerto de escucha debe ser el 797
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(797);
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);
IPAddress IP = WiFi.softAPIP();
Serial.print("AP IP address:= ");
Serial.println(IP);
server.begin();
}
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
la práctica logró cumplir con los objetivos establecidos al darnos conocimientos
necesarios para configurar un NodeMCU como:
• Configuración y Red Wi-Fi: Se logró la configuración del NodeMCU como
servidor web y punto de acceso Wi-Fi.
• Páginas Web Interactivas: Se desarrollaron páginas web interactivas.
• Control y Monitoreo: El NodeMCU se programó para controlar dispositivos
y mostrar información.
Además, se tomó en cuenta temas como IoT y redes Wi-Fi.