horloge-wifi.ino

Arduino GIGA R1 WiFi · Fichier : horloge-wifi.ino · Langage : Arduino · Usage : Donner l'heure exacte grâce au Wi-Fi

Le module 1DX de la GIGA WiFi rejoint un point d'accès comme un shield classique : SNTP donne l'heure vraie, que le CAN ou l'automate n'auront pas tout seuls. Antenne u.FL obligatoire.

Matériel requis

Une Arduino GIGA R1 WiFi (STM32H747, module radio 1DX : Wi-Fi b/g/n + BLE, antenne u.FL fournie), alimentée par USB-C. Box Wi-Fi 2,4 GHz ; l'antenne u.FL livrée, à visser impérativement.

Branchement

Aucun câblage. Montez l'antenne avant de mettre sous tension ; gardez-la éloignée du métal du boîtier.

Fonctionnement

WiFi.begin pilote le coprocesseur radio ; configTime arme la SNTP du noyau. RSSI et IP au moniteur servent de diagnostic de portée. Dans l'Arduino IDE, plateforme « Arduino Zephyr-based Boards », carte « Arduino Giga R1 » ; montez l'antenne u.FL avant d'utiliser le radio, puis Téléverser.

Pour aller plus loin

Horodatez les trames CAN avec cette heure, ou affichez-la sur l'OLED du sketch dédié.

horloge-wifi.ino

// GIGA R1 WiFi : heure NTP via le module 1DX, affichee sur le port serie.
#include <WiFi.h>

const char *SSID = "votre-wifi";
const char *CLE = "votre-cle";

void setup() {
  Serial.begin(115200);
  WiFi.begin(SSID, CLE);
  while (WiFi.status() != WL_CONNECTED) { delay(300); Serial.print("."); }
  Serial.printf("\nIP %s — RSSI %d dBm\n",
                WiFi.localIP().toString().c_str(), WiFi.RSSI());
  configTime(3600 * 2, 0, "pool.ntp.org");   // UTC+2, sans DST
}

void loop() {
  struct tm t;
  time_t maintenant = time(nullptr);
  localtime_r(&maintenant, &t);
  Serial.printf("%04d-%02d-%02d %02d:%02d:%02d  rssi %d\n",
                t.tm_year + 1900, t.tm_mon + 1, t.tm_mday,
                t.tm_hour, t.tm_min, t.tm_sec, WiFi.RSSI());
  delay(1000);
}

← Retour à la fiche