NodeMCU en español
NodeMCU - Juan Antonio Villalpando
-- Tutorial de NodeMCU en español --
Volver al índice del tutorial NodeMCU
____________________________
62B3.- NodeMCU web server. Servidor web. Archivo index.htm en NodeMcu.
- Para seguir este tutorial es conveniente haber leído los dos anteriores, el 62B y el 62B2, además del 99.- SdCard.
- Esto trata de que grabamos en una SdCard un archivo index.htm
- Ese archivo lo pasamos a la memoria del Nodemcu.
- Una vez en la memoria del NodeMcu, lanzado a éste como servidor web, tomando la información del archivo index.htm que se encuentra en la memoria del NodeMcu.
- El archivo de la SdCard, solo lo utilizamos para pasárselo al Sistema de Archivos del NodeMcu.
_________________
1.- Todo el contenido de la página HTML está en el archivo index.htm del NodeMcu.
toda_la_pagina_en_nodemcu.ino |
// Juan A. Villalpando.
// KIO4.COM
// Saldrá una página web con cuatro botones.
// Los botones no hacen ejecutan nada.
#include <ESP8266WiFi.h>
#include <FS.h>
const char* nombre_archivo = "/index.htm";
const char* ssid = "Nombre_de_tu_WiFi";
const char* password = "Clave_de_tu_WiFi";
String pagina_web = ""; // Texto de la SdCard.
WiFiServer server(80);
void setup() {
Serial.begin(115200);
delay(10);
////////////////////////////////
// Inicia el Sistema de Archivos.
if(SPIFFS.begin())
{
Serial.println("SPIFFS Inicializado.");
}
else
{
Serial.println("SPIFFS Error de Iniciacion.");
}
int i;
// Abrir para leer.
// r = Abrir para leer.
File f = SPIFFS.open(nombre_archivo, "r");
if (!f) {
Serial.println("Error al abrir el archivo.");
}
else
{
Serial.println("Leyendo datos del archivo... ");
for(i=0;i<f.size();i++) // Lee caracter a caracter.
{
// Serial.print((char)f.read());
pagina_web = pagina_web + (char)f.read();
}
f.close(); // Cerrar archivo.
Serial.println("Archivo cerrado.");
}
///////////////////////////////////////////////////////
// Conecta a la red wifi.
Serial.println();
Serial.print("Conectando con ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("Conectado con WiFi.");
// Inicio del Servidor web.
server.begin();
Serial.println("Servidor web iniciado.");
// Esta es la IP
Serial.print("Esta es la IP para conectar: ");
Serial.print("http://");
Serial.print(WiFi.localIP());
Serial.println("/");
}
void loop() {
// Consulta si se ha conectado algún cliente.
WiFiClient client = server.available();
if (!client) {
return;
}
// Espera hasta que el cliente envíe datos.
Serial.println("Nuevo cliente.");
IPAddress ip_cliente = client.remoteIP();
Serial.println(ip_cliente);
while(!client.available()){
delay(1);
}
// Página WEB. ///////////////////////////////
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println(""); // Comillas importantes.
client.println(pagina_web); // Texto de la SdCard.
Serial.println("Cliente desconectado.");
}
|
________________________________
|