Buenas tardes.
A ver si algún compi puede ayudarme.
El problema:
Configuro el nodemcu a un router, acceso ok, tanto internamente como vía exterior.
Mi problema es que sigue visible.
Acceso libre sabiendo la ip asignada que te la da el tlf y probando puertos, das con la web creada = seguridad -2.
Como podría modificarlo para que esto no ocurra?
O como podría modificarlo para darle mas seguridad?
#include <ESP8266WiFi.h> //Incluye la librería ESP8266WiFi
const char* ssid = "xxxxxxxxxx"; //Indicamos el nombre de la red WiFi (SSID) a la que queremos conectarnos.
const char* password = "xxxxxxxxxxxx"; //Indicamos la contraseña de de red WiFi
WiFiServer server(xxxx); //Definimos el puerto de comunicaciones la ip asignada en la empresa 192.168.1.254
int PinLED = 5; // D1 //Definimos el pin de salida - GPIO5
int Pin1 = 14; // D5
int Pin2 = 12; // D6
int Pin3 = 4; // D2
int estado = LOW;
void setup() {
Serial.begin(115200);
pinMode(PinLED, OUTPUT); //Inicializamos el GPIO2 como salida
digitalWrite(PinLED, LOW); //Dejamos inicialmente el GPIO2 apagado
pinMode(Pin1, OUTPUT);
digitalWrite(Pin1, LOW);
pinMode(Pin2, OUTPUT);
digitalWrite(Pin2, LOW);
pinMode(Pin3, OUTPUT);
digitalWrite(Pin3, LOW);
WiFi.begin(ssid, password); //Inicializamos la conexión del NodeMCU con la red WiFi
Serial.printf("Conectando a la red: %sn", WiFi.SSID().c_str());
while (WiFi.status() != WL_CONNECTED) { // Verifica el estado de la conexión del NodeMCU cada 0,5s hasta que conecta
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi conectada"); // Indica que el NodeMCU conectado con la red WiFi
server.begin(); // Inicia el NodeMCU en modo Station
Serial.println("Servidor inicializado");
Serial.printf("Utiliza esta URL para conectar: http://%s/n", WiFi.localIP().toString().c_str());
}
void loop(){
WiFiClient client = server.available();
if (client) //Si hay un cliente presente
{
Serial.println("Nuevo Cliente");
//esperamos hasta que hayan datos disponibles
while(!client.available()&&client.connected())
{
delay(1);
}
// Leemos la primera línea de la petición del cliente.
String linea1 = client.readStringUntil('r');
Serial.println(linea1);
if (linea1.indexOf("LED=ON")>0) //Buscamos un LED=ON en la 1°Linea
{
digitalWrite(5,HIGH);
delay(1000);
digitalWrite(5,LOW);
}
if (linea1.indexOf("1=ON")>0) //Buscamos un LED=ON en la 1°Linea
{
digitalWrite(14,HIGH);
delay(1000);
digitalWrite(14,LOW);
}
if (linea1.indexOf("2=ON")>0) //Buscamos un LED=ON en la 1°Linea
{
digitalWrite(12,HIGH);
delay(1000);
digitalWrite(12,LOW);
}
if (linea1.indexOf("3=ON")>0) //Buscamos un LED=ON en la 1°Linea
{
digitalWrite(4,HIGH);
delay(1000);
digitalWrite(4,LOW);
}
client.flush();
Serial.println("Enviando respuesta...");
//Encabesado http
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");// La conexión se cierra después de finalizar de la respuesta
client.println();
//Pagina html para en el navegador
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.println("<head><title>Naylam Mechatronics</title>");
client.println("<body>");
client.println("<h1 align='center'>Garaje</h1>");
client.println("<div style='text-align:center;'>");
client.println("
");
client.println("<button onClick=location.href='./?LED=ON'>Abrir</button>");
client.println("
");
client.println("</div>");
client.println("</body>");
client.println("</html>");
client.println("<h1 align='center'>Huerto</h1>");
client.println("<div style='text-align:center;'>");
client.println("
");
client.println("<button onClick=location.href='./?1=ON'>Abrir</button>");
client.println("
");
client.println("</div>");
client.println("<body>");
client.println("<h1 align='center'>Puerta Huerto</h1>");
client.println("<div style='text-align:center;'>");
client.println("
");
client.println("<button onClick=location.href='./?2=ON'>Abrir</button>");
client.println("
");
client.println("</div>");
client.println("<body>");
client.println("<h1 align='center'>Puerta Casa</h1>");
client.println("<div style='text-align:center;'>");
client.println("
");
client.println("<button onClick=location.href='./?3=ON'>Abrir</button>");
client.println("
");
client.println("</div>");
client.println("</body>");
client.println("</html>");
delay(1);
Serial.println("respuesta enviada");
Serial.println();
}
}
Por supuesto esto lo he ido modificando tipo frankenstein.
Picando un poco de uno y otro compañero, agregando botones, etc.
Un saludo y gracias de antemano.
Moderador: Código editado con etiquetas