Bonjour à tous,
Je vous présente un projet domotique embarqué développé en Rust que je pilote actuellement chez moi : un système complet de gestion et de sécurisation de la filtration d'une piscine familiale sur ESP32.
C'est l'évolution d'un ancien projet C++/PlatformIO. L'objectif était de concevoir un système autonome, robuste et sécurisé, exploitant la puissance du langage Rust avec l'écosystème esp-idf-hal / esp-idf-svc.
🛠️ Aperçu de l'architecture matérielle :
ESP32 avec RTOS (esp-idf).
Sonde 1-Wire (DS18B20) pour la température de l'eau.
Capteur I2C (AHT10) pour l'air/humidité.
Expandeur I2C (PCF8574) pour l'isolation et la lecture des relais/boutons/interrupteur physique.
Écran OLED (SSD1306) pour le diagnostic local.
Module GPS (UART2) pour l'horodatage fiable même hors réseau local, avec repli NTP.
💡 Fonctionnalités clés :
Modes de fonctionnement : AUTO (durée calculée automatiquement selon la température d'eau), MANUEL et OFF via interrupteur physique 3 positions ou interface web.
Sécurités matérielles prioritaires : Anti-gel, canicule, niveau d'eau (ADC), défaut moteur (disjoncteur), protection anti-claquement du relais.
Watchdog dynamique : Redémarrage automatique et journalisé si la boucle principale bloque plus de 5 secondes.
Serveur web embarqué (Dashboard local) : Métriques en direct, contrôle, plage horaire, consultations des journaux, timeline dynamique.
Stockage NVS : Persistance locale des sessions, journaux et compteurs (survit aux reboot).
Export Cloud : Envoi asynchrone des métriques vers Adafruit IO dans un thread séparé.
Le projet est en développement actif et tourne déjà en conditions réelles.
📌 Le code source et la documentation complète sont disponibles sur GitHub :
https://github.com/Phil-dav/piscine-domotique-esp32
N'hésitez pas si vous avez des questions sur la partie architecture Rust, la gestion des drivers 1-Wire/I2C ou si vous avez des suggestions d'amélioration !




Répondre avec citation






Partager