🛠 Station météo IoT autonome avec ToughC5
Objectifs
Ce tutoriel vise à créer une station météo autonome utilisant le M5Stack ToughC5. Vous apprendrez à configurer l'alimentation externe, à communiquer avec un capteur via le bus RS485, et à afficher les données en temps réel sur l'écran LCD IPS de 2,0 pouces. Ce cas d'usage exploite la robustesse extérieure du boîtier PC+ABS et la connectivité multi-protocoles.
Matériel nécessaire
- 1x carte M5Stack ToughC5 (ESP32-C5HR8)
- 1x module capteur environnemental compatible RS485 (ex: température/humidité)
- 1x alimentation 12V DC ou batterie Li-ion 3.7V
- Câbles pour connecteurs HY2.0-4P
- Logiciel Arduino IDE avec support ESP32-C5 installé
Étapes
- Configuration matérielle : Connectez l'alimentation via le port USB Type-C ou les bornes RS485 (6-24V). Assurez-vous que la pile CR2032 est insérée pour le RTC RX8130CE.
- Câblage RS485 : Utilisez un connecteur HY2.0-4P dédié. Reliez les lignes A et B du capteur aux broches correspondantes du ToughC5. Notez que le M5IOE1 gère la commutation des modes de communication.
- Environnement logiciel : Dans Arduino IDE, sélectionnez le board "M5Stack ToughC5". Installez la bibliothèque
M5GFXpour le pilotage de l'écran ILI9342C etM5RS485pour la communication série. - Initialisation de l'affichage : Codez l'initialisation de l'écran tactile capacitif. Configurez la luminosité (max 853 nits) pour une visibilité extérieure.
- Lecture des données : Implémentez une boucle de lecture sur le port série RS485. Parsez les trames reçues du capteur (protocole Modbus RTU ou ASCII selon votre module).
- Affichage des données : Mettez à jour l'interface graphique avec les valeurs de température et d'humidité. Utilisez le buzzer passif pour une alerte locale si les seuils sont dépassés.
Vérification
Ouvrez le moniteur série à 115200 bauds. Vous devriez voir les données brutes du capteur s'afficher. Sur l'écran ToughC5, les valeurs doivent être lisibles sans scintillement. Testez la résistance aux intempéries en plaçant le boîtier dans un environnement humide (non immergible).
Pour aller plus loin
Exploitez le Wi-Fi 6 double bande pour envoyer les données vers un serveur MQTT. Activez le mode veille profond (10,41 µA) entre les lectures pour maximiser l'autonomie sur batterie. Vous pouvez aussi intégrer le protocole Zigbee via l'IEEE 802.15.4 pour créer un réseau maillé de capteurs.
Autres tutoriels pour cette carte
Exemples de code pour cette carte
toughc5_gpio_button_buzzer.inoC++ (Arduino)toughc5_wifi6_scanner.inoC++ (Arduino)toughc5_rtc_battery_log.inoC++ (Arduino)toughc5_ili9342c_touch_ui.inoC++ (Arduino)toughc5_rs485_modbus_master.inoC++ (Arduino)toughc5-rs485-modbus-master.inoArduino C++