Wifi conexión WEP cifrada

Este ejemplo muestra cómo conectarse a una red encriptada WEP 802.11b/g con elEscudo  WiFi 101 Arduino o una placa MKR1000. El monitor serie del software de Arduino (IDE) le proporcionará información sobre la conexión una vez que se ha conectado.

Hardware necesario
 Escudo Wifi 101 Arduino
  Placa Arduino o Genuino
  o
Placa MKR1000

Circuito
El pin digital 7 se utiliza como un pin de diálogo entre el escudo  WiFi 101 y la placa, y no debe ser utilizado.
Usted debe tener acceso a una red inalámbrica 802.11b/g que se conecte a internet para este ejemplo. Tendrá que cambiar la configuración de red en el programa para corresponder con su  rede SSID particular.
Las contraseñas de red WEP son cadenas hexadecimales conocidas como claves. Una red WEP puede tener 4 claves diferentes; a cada clavese le asigna un valor "Key Index". En redes WEP cifradas, necesita el SSID, la clave y el número clave.
En la imagen superior, la placa Arduino o Genuino Zero se apilan debajo del escudo WiFi.

Código
// En este ejemplo se conecta a una red Wi-Fi con codificación WEP. 
// A continuación, se imprime la dirección MAC del escudo Wifi, 
// la dirección IP obtenida, y otros detalles de la red. 

// Si utiliza una WEP de 40 bits, que necesita una clave de 10 
// caracteres de // longitud, los caracteres deben ser 
// hexadecimal (0-9 o A-F). 

// por ejemplo para 40 bits, ABBADEAF01 funcionará, pero no 
// funcionará ABBADEAF (Demasiado corto) y ABBAISDEAF 
// no funcionará (I y S no son caracteres hexadecimales). 

// Para 128 bits, se necesita una cadena de 26 caracteres de longitud. 
// D0D0DEADF00DABBADEAFBEADED funcionará porque 
// tiene 26 caracteres, todos en el rango 0-9,  A-F. 

// Circuito: 
//* escudo Wi-Fi conectado
// creado el 13 de Julio de 2010 por DLF (Metodo2 srl) // modificado el 31 de de Mayo de 2012 por Tom Igoe

#include <SPI.h>
#include <WiFi101.h>

char ssid[] = "yourNetwork";                     // su red SSID (nombre)
char key[] = "D0D0DEADF00DABBADEAFBEADED";       // su clave de red
int keyIndex = 0;                                // numero clave Index de su red
int status = WL_IDLE_STATUS;                     // el estado de Wifi

void setup() {
  //Initializa el puerto serie y espera a que abra:
  Serial.begin(9600);
  while (!Serial) {
    ; // espera a que el puerto serie se conecte. Solo necesario para el puerto USB nativo
  }

  // comprueba la presencia del escudo:
  if (WiFi.status() == WL_NO_SHIELD) {
    Serial.println("Escudo WiFi no presente");
    // no continua:
    while (true);
  }

  // intenta conectar con una red Wifi:
  while ( status != WL_CONNECTED) {
    Serial.print("Intentendo conectar con una red WEP, SSID: ");
    Serial.println(ssid);
    status = WiFi.begin(ssid, keyIndex, key);

    // espera 10 segundos para la conexion:
    delay(10000);
  }

  // una vez que se conecte:
  Serial.print("Conectado a la red");
  printCurrentNet();
  printWifiData();
}

void loop() {
  // comprueba la conexión a la red una vez cada 10 segundos:
  delay(10000);
  printCurrentNet();
}

void printWifiData() {
  // imprime la dirección IP de su escudo WiFi:
  IPAddress ip = WiFi.localIP();
  Serial.print("Dirección IP: ");
  Serial.println(ip);
  Serial.println(ip);

  // imprime su direccion MAC:
  byte mac[6];
  WiFi.macAddress(mac);
  Serial.print("Dirección MAC: ");
  Serial.print(mac[5], HEX);
  Serial.print(":");
  Serial.print(mac[4], HEX);
  Serial.print(":");
  Serial.print(mac[3], HEX);
  Serial.print(":");
  Serial.print(mac[2], HEX);
  Serial.print(":");
  Serial.print(mac[1], HEX);
  Serial.print(":");
  Serial.println(mac[0], HEX);
}

void printCurrentNet() {
  // imprime el SSID de la red a la que está conectado:
  Serial.print("SSID: ");
  Serial.println(WiFi.SSID());

  //imprime la dirección MAC del router al que está conectado:
  byte bssid[6];
  WiFi.BSSID(bssid);
  Serial.print("BSSID: ");
  Serial.print(bssid[5], HEX);
  Serial.print(":");
  Serial.print(bssid[4], HEX);
  Serial.print(":");
  Serial.print(bssid[3], HEX);
  Serial.print(":");
  Serial.print(bssid[2], HEX);
  Serial.print(":");
  Serial.print(bssid[1], HEX);
  Serial.print(":");
  Serial.println(bssid[0], HEX);

  // imprime la intensidad de la señal recibida:
  long rssi = WiFi.RSSI();
  Serial.print("Potencia de la señal (RSSI):");
  Serial.println(rssi);

  // imprime el tipo de cifrado:
  byte encryption = WiFi.encryptionType();
  Serial.print("Tipo de cifrado:");
  Serial.println(encryption, HEX);
  Serial.println();
}



1 comentario:

  1. Este ejemplo muestra cómo conectarse a una red encriptada WEP 802.11b/g con elEscudo WiFi 101 Arduino o una placa MKR1000. https://consejoscomunales.net/miguel-grau/

    ResponderEliminar