🛠 Se connecter au WiFi et lire l'heure NTP (WiFiS3)

Arduino UNO R4 WiFi · intermediaire · Schéma : IMG-uno-r4-wifi-intermediaire-1-ur4wifi-wifi-station-ntp.svg — UNO R4 WiFi avec antention WiFi en en-tête, puce ESP32-S3 annotée « modem WiFi 2,4 GHz + BLE », routeur à gauche, serveur NTP à droite, moniteur série affichant un horodatage.

Objectifs

Exploiter la seconde puce de la carte : l'ESP32-S3 embarqué sert de modem WiFi (2,4 GHz uniquement) et Bluetooth Low Energy, piloté depuis le RA4M1 via la bibliothèque officielle WiFiS3. Vous allez vous connecter à un réseau WPA2, récupérer l'heure à un serveur NTP et comprendre le modèle « deux cerveaux » : le RA4M1 exécute votre croquis, l'ESP32-S3 exécute sa propre pile WiFi et communique avec le RA4M1 par UART.

Matériel

Code complet

#include <WiFiS3.h>

const char* SSID = "votre-réseau";
const char* PASS = "votre-cle";

void setup {
  Serial.begin(115200);
  while (!Serial && millis < 5000) { }  // laisse le temps d'ouvrir le Moniteur

  Serial.print(F("Connexion a ")); Serial.println(SSID);
  WiFi.setTimeout(20000);          // patience : 20 s max
  int status = WiFi.begin(SSID, PASS);
  if (status != WL_CONNECTED) {
    Serial.print(F("Echec, code ")); Serial.println(status);
    while (true) { }               // en prod : réessayer, pas boucler
  }
  Serial.print(F("IP = ")); Serial.println(WiFi.localIP);

  unsigned long epoch = WiFi.getTime;   // requête NTP via l'ESP32-S3
  Serial.print(F("Epoch NTP = ")); Serial.println(epoch);
}

void loop {
  if (WiFi.status != WL_CONNECTED) {
    Serial.println(F("WiFi perdu, reconnexion..."));
    WiFi.disconnect;
    WiFi.begin(SSID, PASS);
  }
  delay(1000);
}

Vérification attendue

Le Moniteur affiche une adresse IP locale (192.168.x.x) puis un horodatage Unix cohérent (≈ 1,7–1,8 milliard en secondes). Débranchez la box WiFi : WiFi.status passe hors connexion et la boucle de reconnexion reprend la main.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels