Este ejemplo muestra cómo conectarse a una red abierta (no cifrado) 802.11b /g con el Arduino y un escudoWiFi 101 o un MKR1000. Elmonitor serie del software de Arduino (IDE) le proporcionará información sobre la conexión una vez que se ha conectado.
Hardware necesario
Escudo Arduino WiFi 101
Placa Arduino o Genuino Zero
o
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 conecta a internet para este ejemplo. Tendrá que cambiar la configuración de red en el programa para corresponder a su reded SSID particular.
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 sin cifrar.
// A continuación, se imprime la dirección MAC del escudo Wifi,
// la dirección IP obtenida, y otros detalles de la red.
// Circuito:
//* escudoWi-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"; // el nombre de su red
int status = WL_IDLE_STATUS; // el estado de Wifi
void setup() {
//Initializa el puerto serie y espera a que se abra:
Serial.begin(9600);
while (!Serial) {
; // espera a que se conecte el puerto serie. 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 la conexion a una red Wifi:
while ( status != WL_CONNECTED) {
Serial.print("Intentando sonectar para abrir SSID: ");
Serial.println(ssid);
status = WiFi.begin(ssid);
// espera 10 para la conexion:
delay(10000);
}
// esta conectado ahora, para imprimir los datos:
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 su dirección IP del escudo WiFi:
IPAddress ip = WiFi.localIP();
Serial.print("IP Address: ");
Serial.println(ip);
Serial.println(ip);
// imprime su direccion MAC:
byte mac[6];
WiFi.macAddress(mac);
Serial.print("Direccion 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);
// imprime la mascara de subred:
IPAddress subnet = WiFi.subnetMask();
Serial.print("Máscara de subred: ");
Serial.println(subnet);
// imprime su direccion gateway:
IPAddress gateway = WiFi.gatewayIP();
Serial.print("Gateway: ");
Serial.println(gateway);
}
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);
}
// A continuación, se imprime la dirección MAC del escudo Wifi,
// la dirección IP obtenida, y otros detalles de la red.
// Circuito:
//* escudoWi-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"; // el nombre de su red
int status = WL_IDLE_STATUS; // el estado de Wifi
void setup() {
//Initializa el puerto serie y espera a que se abra:
Serial.begin(9600);
while (!Serial) {
; // espera a que se conecte el puerto serie. 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 la conexion a una red Wifi:
while ( status != WL_CONNECTED) {
Serial.print("Intentando sonectar para abrir SSID: ");
Serial.println(ssid);
status = WiFi.begin(ssid);
// espera 10 para la conexion:
delay(10000);
}
// esta conectado ahora, para imprimir los datos:
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 su dirección IP del escudo WiFi:
IPAddress ip = WiFi.localIP();
Serial.print("IP Address: ");
Serial.println(ip);
Serial.println(ip);
// imprime su direccion MAC:
byte mac[6];
WiFi.macAddress(mac);
Serial.print("Direccion 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);
// imprime la mascara de subred:
IPAddress subnet = WiFi.subnetMask();
Serial.print("Máscara de subred: ");
Serial.println(subnet);
// imprime su direccion gateway:
IPAddress gateway = WiFi.gatewayIP();
Serial.print("Gateway: ");
Serial.println(gateway);
}
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);
}
Este ejemplo muestra cómo conectarse a una red abierta (no cifrado) 802.11b /g con el Arduino y un escudoWiFi 101 o un MKR1000. https://consejoscomunales.net/primer-militarismo/
ResponderEliminar