connexion-wpa2.ino
La conexión básica en WPA2-personal: este sketch arranca el WINC1500, asocia la placa a tu punto de acceso y espera la IP por DHCP. También imprime canal y RSSI, dos indicadores valiosos cuando el enlace es caprichoso.
Hardware
Una Arduino MKR WiFi 1010 (microcontrolador SAMD21, módulo Wi-Fi WINC1500, sin Bluetooth, alimentación USB o LiPo en J6). MKR WiFi 1010, punto de acceso de 2,4 GHz (el WINC1500 no ve 5 GHz) y credenciales actualizadas.
Cableado
Sin cableado; acerca la placa al router para la primera prueba antes de comprobar el alcance.
Funcionamiento
WiFi.begin() lanza la asociación sin bloquear; el bucle sondea WiFi.status() hasta WL_CONNECTED o 20 s de espera. localIP viene del DHCP, getChannel/RSSI describen el enlace.
Ejecución
Instala Arduino SAMD Boards y la librería WiFi101, selecciona la placa y carga. El Wi-Fi funciona solo en 2,4 GHz: comprueba que tu punto de acceso no sea solo de 5 GHz.
Variantes
Añade WiFi.setPins() solo si controlas tú los pines enable/reset, o prueba el modo WPA2-enterprise (raro en doméstico).
connexion-wpa2.ino
// Connexion WPA2 classique avec la MKR WiFi 1010 (WiFi101).
#include <SPI.h>
#include <WiFi101.h>
const char SSID[] = "MonReseau";
const char PASS[] = "motdepassewifi";
void setup() {
Serial.begin(9600);
while (!Serial);
if (WiFi.status() == WL_NO_MODULE) {
Serial.println(F("Module WiFi absent"));
while (true);
}
Serial.print("Connexion a " + String(SSID) + " ...");
int statut = WiFi.begin(WPA_PASS_PHRASE, SSID, PASS);
// begin() est non bloquant : on attend l'etat CONNECTED
unsigned long debut = millis();
while (statut != WL_CONNECTED && millis() - debut < 20000) {
delay(100);
statut = WiFi.status();
}
if (statut == WL_CONNECTED) {
Serial.println(F(" connecte !"));
Serial.print(F("IP : "));
Serial.println(WiFi.localIP());
Serial.print(F("Canal : "));
Serial.println(WiFi.getChannel());
Serial.print(F("RSSI : "));
Serial.print(WiFi.RSSI());
Serial.println(F(" dBm"));
} else {
Serial.println(F("ECHEC (SSID/mot de passe ?)"));
}
}