En agrométéorologie et en ingénierie de l'irrigation, la référence pour le calcul des besoins en eau est le modèle FAO-56 Penman-Monteith (ou ses variantes simplifiées adaptées aux microcontrôleurs, telles que le modèle de Hargreaves-Samani).

Pour le microcontrôleur ESP32-S3, le coefficient d'irrigation \( K_{\text{irrig}} \) (multiplicateur de la durée d'arrosage de la zone) est déterminé par le bilan hydrique entre l'évapotranspiration et les précipitations :

Formule générale du bilan d'irrigation

Où :

  • \( \text{ET}_c \) – évapotranspiration réelle de la culture (quantité d'eau perdue par évaporation du sol et transpiration des plantes).
  • \( P_{\text{eff}} \) – précipitations efficaces (pluie ayant effectivement pénétré dans la zone racinaire).
  • \( \text{ET}_{\text{base}} \) – besoin hydrique journalier de référence (valeur étalon pour laquelle l'utilisateur a défini une durée d'arrosage de base, généralement \( 4.0\text{ mm/jour} \)).
  • \( \text{clamp}(x, 0.0, 1.5) \) – fonction de saturation bornant le coefficient dans un intervalle de sécurité opérationnelle.

1. Décomposition des composantes de la formule

A. Évapotranspiration réelle de la culture (\( \text{ET}_c \))

$$\text{ET}_c = \text{ET}_0 \times K_c$$
  • \( K_c \) – coefficient cultural lié au type de végétation (ex. gazon = \( 0.8 \)–\( 0.9 \), arbustes = \( 0.6 \)).
  • \( \text{ET}_0 \) – évapotranspiration de référence [mm/jour].

Sur le microcontrôleur ESP32-S3, à partir des données météorologiques issues d'Open-Meteo (température et humidité relative), l'évapotranspiration \( \text{ET}_0 \) est calculée à l'aide de la formule simplifiée de Romanenko-Turc :

Formule de l'évapotranspiration de référence

Pour les conditions standards, en utilisant uniquement la température ambiante \( T \) [°C] et l'humidité relative de l'air \( RH \) [%] :

Facteur de correction d'humidité Ch

Lorsque l'air est sec (\( RH < 40\% \)) et chaud, le coefficient \( C_h \) accentue automatiquement l'évaporation du sol.

B. Précipitations efficaces (\( P_{\text{eff}} \))

La végétation n'absorbe pas l'intégralité des précipitations : les averses dépassant un certain seuil ruissellent en surface ou s'infiltrent en dessous de la zone racinaire. Conformément aux directives de l'USDA (Soil Conservation Service) :

Formule des précipitations efficaces Peff

Où :

Cumul des précipitations Ptot

2. Implémentation vectorielle sur ESP32-S3

L'algorithme heuristique implémenté dans smart_irrigation.c constitue un développement de Taylor des équations ci-dessus autour du point d'équilibre (\( T = 20^\circ\text{C} \), \( RH = 60\% \), \( P = 0\text{ mm} \)) :

$$K_{\text{irrig}} = 1.0 + \Delta T + \Delta RH - \Delta P$$

Pondérations linéaires dérivées des équations différentielles de l'évapotranspiration :

$$K_{\text{irrig}} = 1.0 + 0.03 \cdot (T - 20) + 0.008 \cdot (60 - RH) - 0.20 \cdot P_{\text{eff}}$$

Avec application stricte des seuils limites de sécurité :

$$\text{Si } \left( P_{\text{actuel}} > 0.5\text{ mm} \quad \text{ou} \quad P_{\text{tot}} \ge 5.0\text{ mm} \right) \implies K_{\text{irrig}} = 0.0$$

3. Calcul de la durée d'activation des électrovannes

La durée finale envoyée aux registres matériels et au décompte en mémoire RAM relay_countdown_timers[zone] est calculée par le produit suivant :

$$t_{\text{exécuté}} = \lfloor t_{\text{base}} \times 60 \times K_{\text{irrig}} \rfloor \quad [\text{secondes}]$$

Pour une durée programmée \( t_{\text{base}} = 10\text{ minutes} \) et un coefficient calculé \( K_{\text{irrig}} = 0.47 \) :

$$t_{\text{exécuté}} = 10 \times 60 \times 0.47 = 282\text{ secondes}$$