wifi-scan.ino
Le Wi-Fi du R4 WiFi passe par un ESP32-S3 compagnon : la bibliothèque WiFi.h style ESP fournit scan et connexion. Le script liste les réseaux avec leur puissance puis affiche l'IP obtenue — la base des projets connectés.
Matériel requis
Une Arduino UNO R4 WiFi (Renesas RA4M1 @ 14 MHz + ESP32-S3 Wi-Fi/BLE compagnon, matrice LED 12x8, LED RGB) alimentée par USB ou 6-24 V. Un point d'accès 2,4 GHz (la radio ne voit pas le 5 GHz).
Câblage
Rien à câbler. Antenne : éviter les boîtiers métalliques qui tuent le signal.
Fonctionnement
WiFi.scanNetworks énumère les SSID et RSSI vus par l'ESP32-S3 ; WiFi.begin associe la carte et WiFi.localIP donne l'adresse obtenue du routeur.
Exécution
Arduino IDE 2.x avec le core « Arduino UNO R4 Boards », carte « Arduino UNO R4 WiFi », port série puis Téléverser. Le coprocesseur ESP32-S3 se met à jour séparément si l'IDE le demande.
Variantes
Monter un client HTTP (WiFiClient + print) vers une API, ou afficher la qualité du signal sur la matrice 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.
}