Arduino Nano ESP32 Web RTC avec la Bibliothèque DIYables ESP32 WebApps
Aperçu
Ce tutoriel couvre la classe DIYablesWebRTCPage de la bibliothèque DIYables ESP32 WebApps. La page du navigateur affiche l'heure RTC actuelle de l'Arduino Nano ESP32 à côté de l'heure locale du navigateur, et calcule la dérive entre les deux. Un seul bouton envoie l'heure locale du navigateur à la carte, qui met à jour son module RTC.
La carte nécessite un module RTC matériel DS3231 connecté via I2C. La bibliothèque RTClib d'Adafruit gère la lecture/écriture de l'heure côté carte.

Ce que ce Tutoriel Couvre
- Câbler un module RTC DS3231 à l'Arduino Nano ESP32
- Installer la dépendance RTClib
- Lire et afficher l'heure RTC dans le navigateur
- Synchroniser le RTC de la carte depuis le navigateur avec une seule pression de bouton
Matériel Requis
Ou vous pouvez acheter les kits suivants:
| 1 | × | Kit de Capteurs DIYables (18 capteurs/écrans) |
Schéma de Câblage

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.
Arduino Nano ESP32 - Module RTC DS3231
| DS1307 RTC Module | Arduino Nano ESP32 |
|---|---|
| Vin | 3.3V |
| GND | GND |
| SDA | GPIO21 |
| SCL | GPIO22 |
Étapes
Suivez ces instructions étape par étape :
- Si c'est la première fois que vous utilisez l'Arduino Nano ESP32, consultez le tutoriel sur Installation du logiciel Arduino Nano ESP32..
- Connectez la carte Arduino Nano ESP32 à votre ordinateur avec un câble USB.
- Lancez l'IDE Arduino sur votre ordinateur.
- Sélectionnez la carte appropriée (ex. Arduino Nano ESP32) et le port COM.
- Naviguez vers l'icône Bibliothèques dans la barre gauche de l'IDE Arduino.
- Cherchez "DIYables ESP32 WebApps", puis trouvez la bibliothèque DIYables ESP32 WebApps de DIYables
- Cliquez sur le bouton Installer pour installer la bibliothèque.
- Search for DIYables ESP32 WebApps created by DIYables and click the Install button.
- On vous demandera d'installer d'autres dépendances de bibliothèques
- Cliquez sur le bouton Installer tout pour installer toutes les dépendances de bibliothèques.
- Cherchez "RTClib", puis trouvez la bibliothèque RTC d'Adafruit
- Cliquez sur le bouton Installer pour installer la bibliothèque RTC.
- Search for RTClib created by Adafruit and click the Install button.
- On peut vous demander d'installer des dépendances pour la bibliothèque
- Installez toutes les dépendances en cliquant sur le bouton Installer tout.
- Dans l'IDE Arduino, allez dans Fichier Exemples DIYables ESP32 WebApps WebRTC, ou copiez le code ci-dessus et collez-le dans l'éditeur de l'IDE Arduino
- Mettez à jour les identifiants WiFi dans le sketch :
- Cliquez sur le bouton Téléverser dans l'IDE Arduino pour téléverser le code sur l'Arduino Nano ESP32
- Ouvrez le Moniteur Série
- La sortie du Moniteur Série devrait ressembler à ceci :
- Si rien n'apparaît, appuyez sur le bouton de réinitialisation de la carte.
- Entrez l'adresse IP du Moniteur Série dans un navigateur sur le même réseau.
- Exemple : http://192.168.0.2
- La page d'accueil affiche une carte pour l'application RTC :

- Sélectionnez la carte Web RTC pour ouvrir l'interface horloge :

- La page est également directement accessible à http://192.168.0.2/web-rtc.
Utilisation de l'Interface Web
La page RTC affiche trois sections :
- Heure Arduino — l'heure actuelle du module DS3231 de la carte
- Heure de votre appareil — l'heure locale actuelle rapportée par le navigateur
- Différence de temps — la différence entre les deux, en minutes
Synchronisation de l'Heure
Cliquez sur le bouton Sync ESP32 Time pour transférer l'heure locale du navigateur à la carte :

Le processus de synchronisation :
- Le navigateur lit son heure locale (tenant compte du décalage de fuseau horaire local)
- L'horodatage est envoyé à la carte via WebSocket
- Le sketch écrit l'heure reçue dans le DS3231
- La page se rafraîchit pour afficher l'heure mise à jour de la carte
Après synchronisation, la différence de temps est typiquement de 0 à 1 minute.
Dépannage
L'heure RTC affiche une valeur incorrecte
- Le DS3231 conserve l'heure de sa batterie même quand la carte est éteinte
- Effectuez une synchronisation depuis le navigateur pour régler l'heure correcte
- Vérifiez que la batterie CR2032 est installée dans le module RTC
I2C non détecté
- Vérifiez que le câblage SDA et SCL correspond au tableau ci-dessus
- Confirmez que la VCC du DS3231 est connectée à 3,3 V, pas 5 V
- Ajoutez une vérification Serial.println(rtc.isrunning()) dans setup
Le WebSocket se déconnecte fréquemment
- Confirmez que webAppsServer.loop() est appelé à chaque itération de loop()
- Évitez les longs délais bloquants après le démarrage du serveur
Impossible d'accéder à la page
- Vérifiez l'adresse IP dans le Moniteur Série
- Assurez-vous que l'appareil du navigateur et la carte sont sur le même réseau WiFi 2,4 GHz