En este ejemplo se escanea en busca de redes 802.11b/g WiFi con el escudo Arduino 101 o una placa MKR1000. Su monitor serie del software Arduino (IDE) imprimirá información sobre el placa y las redes que se pueden ver. No va a conectarse a una red.
Hardware necesario
Escudo Arduino Wifi101
Placa Arduino o Genuino Zero
o
Placa MKR1000
Circuito
El pin digital 7 se utiliza como un pin de diálogo entre el escudo WiFi101 y la placa, y no debe ser utilizado.
Abra monitor serie de su software Arduino (IDE) para acceder a las redes que escudo Wi-Fi101 puede ver. El escudo no puede ver tantas redes como su ordenador.
En la imagen superior, la placa Arduino o Genuino Zero se apilan debajo del escudo WiFi.
Código
// En este ejemplo se imprime la dirección MAC del escudo Wifi, y se buscan // las redes WiFi disponibles utilizando el escudo Wifi. Cada diez segundos, // se analiza de nuevo. En realidad, no se conecta a ninguna red, por lo que // no se especifica ningún esquema de cifrado. // Circuito: // * Wi-Fi escudo conectado // creado el 13 de Julio de 2010 por DLF (Metodo2 srl) //modificado el 21 de Junio de 2012 por Tom Igoe y Jaymes Dec #include <SPI.h> #include <WiFi101.h> void setup() { //Initializel puerto serie y espera a que se abra: Serial.begin(9600); while (!Serial) { ; // espera a que el puerto serie se conecte. Solo necesario para el USB nativo } // comprueba la presencia del escudo: if (WiFi.status() == WL_NO_SHIELD) { Serial.println("Escudo WiFi no prsente"); // no continua: while (true); } // Imprime la direccion MAC del WiFi: printMacAddress(); // escanea las redes existentes: Serial.println("Escaneando redes dispinibles..."); listNetworks(); } void loop() { delay(10000); // escaneando redes existentes: Serial.println("Escaneando redes existentes..."); listNetworks(); } void printMacAddress() { // ls direccion MAC de su escudo Wifi byte mac[6]; // imprime su diresccion MAC: WiFi.macAddress(mac); Serial.print("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 listNetworks() { // busca redes cercanas: Serial.println("** Escaneando redes **"); int numSsid = WiFi.scanNetworks(); if (numSsid == -1) { Serial.println("No se consigue ninguna conexion"); while (true); } // imprime la lista de redes encontradas: Serial.print("Número de redes encontradas:"); Serial.println(numSsid); // imprimir el número de red y el nombre de cada red encontrada: for (int thisNet = 0; thisNet < numSsid; thisNet++) { Serial.print(thisNet); Serial.print(") "); Serial.print(WiFi.SSID(thisNet)); Serial.print("\tSignal: "); Serial.print(WiFi.RSSI(thisNet)); Serial.print(" dBm"); Serial.print("\tCifrado: "); printEncryptionType(WiFi.encryptionType(thisNet)); Serial.flush(); } } void printEncryptionType(int thisType) { // lee el tipo de cifrado e imprime el nombre: switch (thisType) { case ENC_TYPE_WEP: Serial.println("WEP"); break; case ENC_TYPE_TKIP: Serial.println("WPA"); break; case ENC_TYPE_CCMP: Serial.println("WPA2"); break; case ENC_TYPE_NONE: Serial.println("Ninguna"); break; case ENC_TYPE_AUTO: Serial.println("Automático"); break; } }
No hay comentarios:
Publicar un comentario