Escanear puertos a PC con Arduino y esp8266

Escanear puertos de un PC con Arduino y esp8266 

Con este proyecto podrás escanear un puerto especifico de un computador en la red por medio de un Arduino y esp8266 para así, determinar si el mismo emite respuesta, en caso contrario hacer que el computador se reinicie para que quede online de nuevo. es solo un ejemplo, puedes adaptarlo a tu necesidad.

Materiales:

materiales-esp8266-300x250 Escanear puertos a PC con Arduino y esp8266

Ya tengo los materiales y ahora…

Una vez que tengas todos los materiales el armado es fácil si ya tienes conocimientos previos con el Arduino y esp8266, básicamente solo debes subir el sketch y a probarlo. Claro! debes cambiar la dirección IP y otros detalles.

Diagrama de Conexiones:

materiales-esp8266-300x250 Escanear puertos a PC con Arduino y esp8266

Acá debajo les dejo el Sketch, recuerdo que es personal y debe ser adaptado a la necesidad particular de cada quien, como la puerta de enlace que usas en tu red, por ejemplo la mía es 192.168.1.1 algunas podrían ser 192.168.4.1. Puedes dejar tus comentarios y te ayudo!

#include <SoftwareSerial.h>
SoftwareSerial BT1(3, 2); // RX | TX

String W =" "; 
char w ;

void setup()
   { 
     Serial.begin(9600);
     BT1.begin(9600); 
     delay(1000);
     pinMode(13, OUTPUT);
     BT1.println("AT+CIOBAUD=9600");
     delay(1000);
     BT1.println("AT+CWMODE=3");
     delay(1000);
     BT1.println("AT+CIPMUX=1");
     delay(1000);
     BT1.println("AT+CWJAP=\"RedKasa\",\"1238175277\"");
     delay(1000);
   }

   void printResponse()
   {
      while (BT1.available()) 
      {
         Serial.println(BT1.readStringUntil('\n')); 
      }    
   }

   void envia()
   {
        BT1.println("AT+CIPSTART=4,\"TCP\",\"192.168.1.101\",139"); //puerto a escanear
        delay(1000);
        pruebaPC1();

        String cmd = "GET /test.html HTTP/1.1";
        BT1.println("AT+CIPSEND=4," + String(cmd.length() + 4));
        delay(1000);

        BT1.println(cmd);
        delay(1000);
        BT1.println();
        delay(1000);
        printResponse();
   }

   void pruebaPC1() 
   {
      while (BT1.available()) 
      {
         Serial.println(BT1.readStringUntil('\n')); 
         if(BT1.find("ERROR"))
         {
            Serial.println(" ");
            Serial.println("**********************************************");
            Serial.println("**************PC 1 Desconectado***************");
            Serial.println("**********************************************");
            Serial.println(" ");
            break;
         }
         else
         {
            Serial.println("PC 1 en correcto Funcionamiento!");
            break;
         }
      }
   }

   void conectar() 
   {
      while (BT1.available()) 
      {
         Serial.println(BT1.readStringUntil('\n')); 
         if(BT1.find("192.168.1."))
         {
            Serial.println("Conectado");
            digitalWrite( 13, HIGH);
            envia(); 
            break;
         }
         else
         {
            Serial.println("NO HAY CONEXION TRATANDO DE CONECTAR...");
            BT1.println("AT+CWJAP=\"RedKasa\",\"1238175277\"");
            digitalWrite( 13, HIGH);
            delay(500); 
            digitalWrite( 13, LOW);
            delay(500);
            digitalWrite( 13, HIGH);
            delay(500); 
            digitalWrite( 13, LOW);
            delay(500); 
            digitalWrite( 13, HIGH);
            delay(500); 
            digitalWrite( 13, LOW);
            delay(500);
            digitalWrite( 13, HIGH);
            delay(500); 
            digitalWrite( 13, LOW);
            break;
         }
       } 
   }


void loop()
{ 

   Serial.println("--------------Comprobando Estado---------------");
   BT1.println("AT+CIFSR");
   conectar();
   Serial.println("----------------Esperando 8seg ----------------");
   delay(8000);
   Serial.println("----------------    Listo...   ----------------");
}
Comparte en...materiales-esp8266-300x250 Escanear puertos a PC con Arduino y esp8266materiales-esp8266-300x250 Escanear puertos a PC con Arduino y esp8266materiales-esp8266-300x250 Escanear puertos a PC con Arduino y esp8266materiales-esp8266-300x250 Escanear puertos a PC con Arduino y esp8266materiales-esp8266-300x250 Escanear puertos a PC con Arduino y esp8266

Add a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *