Este ejemplo muestra cómo conectarse a una red cifrada 802.11b /g WPA2 Personal con el Escudo Arduino WiFi 101 o una placa MKR1000. El monitor serie del software Arduino (IDE) de proporcionará información sobre la conexión una vez que se haya conectado.
Hardware necesario
Escudo Wifi10 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 que se correspond con a su rede SSIDparticular.
Para redes que utilizan WPA / WPA2 Personal, necesita el SSID y la contraseña. El escudo no se conecta a las redes que utilizan el cifrado WPA2 Enterprise.
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 no cifrada.
// A continuación, se imprime la dirección MAC del escudo Wifi,
// la dirección IP obtenida, y otros detalles de la red.
// 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[] = "secretPassword"; // su clave de 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 WPA, SSID: ");
Serial.println(ssid);
// Conecta a una red WPA/WPA2
status = WiFi.begin(ssid, pass);
// 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();
}
// A continuación, se imprime la dirección MAC del escudo Wifi,
// la dirección IP obtenida, y otros detalles de la red.
// 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[] = "secretPassword"; // su clave de 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 WPA, SSID: ");
Serial.println(ssid);
// Conecta a una red WPA/WPA2
status = WiFi.begin(ssid, pass);
// 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();
}
Este ejemplo muestra cómo conectarse a una red cifrada 802.11b /g WPA2 Personal con el Escudo Arduino WiFi 101 o una placa MKR1000. https://consejoscomunales.net/el-oncenio-de-leguia/
ResponderEliminar