🛠 Station météo connectée avec M5Stack PaperDIY
Objectifs
Ce tutoriel vise à configurer le M5Stack PaperDIY Complete Kit comme une station météo connectée. Vous apprendrez à initialiser l'écran e-paper ED047TC1, à établir une connexion WiFi stable et à récupérer des données météorologiques via une API web pour les afficher sur l'écran en niveaux de gris. Ce projet illustre la gestion de l'énergie et la communication réseau sur l'ESP32-S3.
Matériel nécessaire
- M5Stack PaperDIY Complete Kit (pré-assemblé)
- Câble USB-C pour l'alimentation et le débogage
- Ordinateur avec Arduino IDE installé
- Bibliothèque M5GFX et M5Unified (via le gestionnaire de bibliothèques)
- Compte sur un service météo API (ex: OpenWeatherMap) pour la clé API
Étapes
- Configuration de l'environnement : Ouvrez Arduino IDE, allez dans Gestionnaire de bibliothèques et installez « M5Unified » et « M5GFX ». Sélectionnez le modèle « M5Stack-ATOMS3 » ou « ESP32-S3 Dev Module » selon votre configuration, avec 16MB Flash et PSRAM Octal activés.
- Initialisation de l'écran : L'écran ED047TC1 utilise une interface parallèle 8 bits. Dans votre code, utilisez la bibliothèque M5GFX pour initialiser l'affichage. Notez que les mises à jour e-paper sont lentes ; évitez les rafraîchissements complets fréquents pour préserver la batterie de 140mAh.
#include <M5GFX.h>
M5GFX display;
void setup() {
display.begin();
display.setRotation(0);
display.fillScreen(GRAY4_0);
}
- Connexion WiFi : Utilisez la bibliothèque
WiFi.hpour connecter l'ESP32-S3 au réseau. La puce M5PM1 gère l'alimentation, mais assurez-vous que le mode profond est désactivé pendant la connexion. Gérez les erreurs de connexion avec des tentatives multiples.
#include <WiFi.h>
const char* ssid = "VotreSSID";
const char* pass = "VotreMotDePasse";
void connectWiFi() {
WiFi.begin(ssid, pass);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}
}
- Récupération des données : Utilisez
HTTPClientpour interroger l'API météo. Parsez la réponse JSON pour extraire la température et les conditions. L'antenne PCB intégrée offre une portée correcte pour un usage domestique.
- Affichage des données : Convertissez les données en texte ou graphiques simples. L'écran offre 16 niveaux de gris ; utilisez des nuances pour créer des icônes météo lisibles sans couleur.
Vérification
Ouvrez le moniteur série à 115200 bauds. Vous devez voir les messages de connexion WiFi et les données JSON reçues. Sur l'écran, les informations météo doivent apparaître clairement. Vérifiez que l'écran ne reste pas actif en permanence pour économiser la batterie.
Pour aller plus loin
Intégrez un mode veille profond (Deep Sleep) entre les mises à jour pour prolonger l'autonomie de la batterie de 140mAh. Vous pouvez également ajouter un bouton physique pour forcer une mise à jour immédiate ou utiliser la carte MicroSD pour logger l'historique des températures localement.
Autres tutoriels pour cette carte
- Premier branchement et mise en route du M5Stack PaperDIY
- Contrôle GPIO et affichage sur M5Stack PaperDIY
- Cas d’usage complet : Tableau de bord météo avec le M5Stack PaperDIY
- Mise en route du M5Stack PaperDIY Complete Kit
- Contrôle GPIO et affichage E-Paper sur M5Stack PaperDIY
- Mise en route avancée du M5Stack PaperDIY
Exemples de code pour cette carte
gpio_led_button_control.inoC++ (Arduino)epaper_hello_world.inoC++ (Arduino)wifi_scanner.inoC++ (Arduino)sd_card_logger.inoC++ (Arduino)ble_beacon.inoC++ (Arduino)gpio-button-led.inoC++ (Arduino)