@ -24,6 +24,7 @@ Application ESP32 pour contrôler intelligemment un chauffe-eau avec l'excédent
@@ -24,6 +24,7 @@ Application ESP32 pour contrôler intelligemment un chauffe-eau avec l'excédent
- ✅ Intégration passerelle Enphase pour données solaires en temps réel
- ✅ Réception température via API ESPEasy
- ✅ API REST complète pour contrôle externe
- ✅ Tâche FreeRTOS dédiée pour Enphase sur cœur 1 (cœur 0 libéré)
### Configuration
@ -199,6 +200,43 @@ Retourne toute la configuration (WiFi, système, Enphase)
@@ -199,6 +200,43 @@ Retourne toute la configuration (WiFi, système, Enphase)
#### POST `/api/settings` - Modifier configuration
Envoyer les paramètres à modifier (voir structure dans `config.json`)
#### GET `/api/stats` - Statistiques système
Retourne les informations système (RAM, CPU, uptime, tâches FreeRTOS) :
```json
{
"memory": {
"total_bytes": 327680,
"free_bytes": 120000,
"used_bytes": 207680,
"usage_percent": 63.4
},
"psram": {
"total_bytes": 8388608,
"free_bytes": 7500000,
"used_bytes": 888608,
"usage_percent": 10.6
},
"system": {
"uptime_seconds": 3661,
"uptime_days": 0,
"uptime_hours": 1,
"uptime_minutes": 1,
"uptime_seconds_remainder": 1,
"cpu_freq_mhz": 240,
"task_count": 15,
"mac_address": "AA:BB:CC:DD:EE:FF"
},
"wifi": {
"ssid": "MonWiFi",
"rssi_dbm": -65,
"signal_strength": "good"
},
"tasks": {
"enphase_running": true
}
}
```
### Endpoints publics (sans authentification)
#### GET `/api/espeasy?temperature=48.5`
@ -284,7 +322,25 @@ Pour envoyer la température de l'eau depuis un capteur DS18B20 sur ESPEasy :
@@ -284,7 +322,25 @@ Pour envoyer la température de l'eau depuis un capteur DS18B20 sur ESPEasy :
endon
```
## Calcul des Modes
## Optimisation Multi-Cœur (FreeRTOS)
L'ESP32 dispose de 2 cœurs. Cette application les utilise optimalement :
@ -79,6 +81,11 @@ volatile unsigned long pwmOnTime = 0; // Temps ON en ms pour le cycle actuel
@@ -79,6 +81,11 @@ volatile unsigned long pwmOnTime = 0; // Temps ON en ms pour le cycle actuel
volatileunsignedlongpwmElapsed=0;// Temps écoulé dans le cycle actuel en ms
volatileboolpwmNeedRecalc=true;// Flag pour indiquer qu'il faut recalculer la puissance
// Variables pour la gestion des tâches FreeRTOS (Enphase sur cœur 1)