wifi-scan.ino
El Wi-Fi del R4 WiFi pasa por un ESP32-S3 compañero: la librería WiFi.h estilo ESP ofrece escaneo y conexión. El script lista las redes con su potencia y muestra la IP obtenida: la base de los proyectos conectados.
Hardware
Un Arduino UNO R4 WiFi (Renesas RA4M1 @ 14 MHz + ESP32-S3 Wi-Fi/BLE compañero, matriz LED 12x8, LED RGB) alimentado por USB o 6-24 V. Un punto de acceso de 2,4 GHz (la radio no ve 5 GHz).
Cableado
Nada que cablear. Antena: evitar cajas metálicas que matan la señal.
Funcionamiento
WiFi.scanNetworks enumera los SSID y RSSI vistos por el ESP32-S3; WiFi.begin asocia la placa y WiFi.localIP devuelve la dirección del router.
Ejecución
Arduino IDE 2.x con el core « Arduino UNO R4 Boards », placa « Arduino UNO R4 WiFi », puerto serie y Subir. El coprocesador ESP32-S3 se actualiza aparte si el IDE lo pide.
Variantes
Montar un cliente HTTP (WiFiClient + print) hacia una API, o mostrar la calidad de señal en la matriz LED.
wifi-scan.ino
// Le R4 WiFi embarque un ESP32-S3 dedie au Wi-Fi : WiFi.h.
#include <WiFi.h>
const char *SSID = "votre-ssid";
const char *PASS = "votre-cle";
void setup() {
Serial.begin(9600);
delay(2000);
int reseaux = WiFi.scanNetworks();
Serial.print(F("reseaux trouves: "));
Serial.println(reseaux);
for (int i = 0; i < reseaux && i < 8; i++) {
Serial.print(WiFi.RSSI(i));
Serial.print(F(" dBm "));
Serial.println(WiFi.SSID(i));
}
WiFi.begin(SSID, PASS);
Serial.println(F("connexion..."));
unsigned long t0 = millis();
while (WiFi.status() != WL_CONNECTED && millis() - t0 < 20000) delay(200);
if (WiFi.status() == WL_CONNECTED) {
Serial.print(F("IP: "));
Serial.println(WiFi.localIP());
} else {
Serial.println(F("echec : verifier SSID/cle (2,4 GHz uniquement)"));
}
}
void loop() {
// Le coprocesseur Wi-Fi reste alimente meme en deep-sleep du RA4M1.
}