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

Objetivos

Aprovechar el segundo chip de la placa: el ESP32-S3 integrado actúa como módem WiFi (solo 2,4 GHz) y Bluetooth Low Energy, controlado desde el RA4M1 mediante la biblioteca oficial WiFiS3. Se conectará a una red WPA2, obtendrá la hora de un servidor NTP y comprenderá el modelo de «dos cerebros»: el RA4M1 ejecuta su sketch, el ESP32-S3 ejecuta su propia pila WiFi y se comunica con el RA4M1 a través de UART.

Material

Código completo

#include <WiFiS3.h>

const char* SSID = "votre-reseau";
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);
}

Verificación esperada

El Monitor Serie muestra una dirección IP local (192.168.x.x) y luego una marca de tiempo Unix coherente (≈ 1,7–1,8 mil millones en segundos). Desconecte el router WiFi: WiFi.status pasa a estado desconectado y el bucle de reconexión retoma el control.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales