wifi-scan.ino

Arduino UNO R4 WiFi · Fichier : wifi-scan.ino · Langage : Arduino · Usage : Analyser les réseaux Wi-Fi et se connecter au cloud via l'ESP32-S3

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.
}

← Retour à la fiche