# Firmware ESP32 per Pollice Verde Trasforma un ESP32 e una scheda a relè nella centralina comandata dall'app. ## Materiale | Pezzo | Indicativo | |---|---| | ESP32 DevKit v1 | 8 € | | Scheda a 4 relè con optoisolatore | 7 € | | Trasformatore 24 V AC per elettrovalvole (se non ne hai già uno) | 15 € | | Alimentatore 5 V per l'ESP32 | 6 € | | Scatola stagna IP65 | 10 € | | Sonda Watermark 200SS (una per settore) | 35 € | | Resistenza 10 kΩ 1% (una per sonda) | pochi centesimi | Le elettrovalvole da giardino sono quasi sempre a **24 V AC**. Il relè commuta quella tensione, non la 230 V: il comune del trasformatore va a tutte le valvole, e ogni relè chiude il ritorno di una valvola. Se il tuo impianto usa tensione di rete, fallo vedere a un elettricista prima di metterci le mani. ## Collegamenti ``` ESP32 GPIO 26 → IN1 della scheda relè (canale 0) ESP32 GPIO 27 → IN2 (canale 1) ESP32 GPIO 14 → IN3 (canale 2) ESP32 GPIO 12 → IN4 (canale 3) ESP32 5V → VCC scheda relè ESP32 GND → GND scheda relè Trasformatore 24V AC ─┬─ comune di tutte le elettrovalvole └─ COM di ogni relè Ogni NO del relè ─────── filo della rispettiva elettrovalvola ``` Il numero di canale che scrivi nella scheda dell'aiuola, dentro l'app, è la posizione nell'array `PIN_RELE`: il primo pin è il canale 0. ### Sonde Watermark Ogni sonda va in serie a una resistenza da 10 kΩ, fra due pin di eccitazione, e l'ADC legge il punto di mezzo: ``` GPIO 32 ──┬── filo 1 della sonda 0 │ sonda 0 (Watermark 200SS) │ ├── GPIO 34 (lettura ADC) │ resistenza 10 kΩ │ GPIO 33 ──┘ GPIO 25 / 35 / GPIO 4 → stessa cosa per la sonda 1 ``` I fili della Watermark non hanno polarità. GPIO 34 e 35 sono di **solo ingresso** sull'ESP32 ed è il motivo per cui sono stati scelti per la lettura. **La cosa da non sbagliare: i Watermark si leggono in corrente alternata.** Una tensione continua elettrolizza il gesso e in poche settimane la sonda è da buttare. Il firmware lo fa già: ogni misura è due letture a polarità invertita da 50 microsecondi l'una, e fra una misura e l'altra i pin restano entrambi a zero. Non aumentare `MICROSECONDI_ECCITAZIONE` e non leggere più spesso di ogni quarto d'ora. ### Dove infilare la sonda A **metà della profondità delle radici** — 15-20 cm per l'orto, 30-40 cm per un albero — e a 15-20 cm di lato dal gocciolatore, mai sotto: sotto il gocciolatore misureresti il bulbo bagnato, non il terreno che la pianta esplora davvero. Fai un foro con una punta di legno del diametro della sonda, bagna la sonda in acqua per qualche minuto prima di inserirla, e **fai fango**: versa un po' di terra stemperata nel foro prima di calare la sonda, così il gesso resta a contatto pieno col terreno. Una sonda con aria attorno legge sempre secco. A fine stagione, sui terreni che gelano, tirale fuori. ## Caricamento 1. Arduino IDE → *Preferenze* → URL aggiuntive: `https://espressif.github.io/arduino-esp32/package_esp32_index.json` 2. *Gestore schede* → installa **esp32** by Espressif. 3. Apri `pollice-verde-esp32.ino`, scrivi rete Wi-Fi e password in cima. 4. Scheda: *ESP32 Dev Module*. Carica. 5. Apri il monitor seriale a 115200: stampa l'indirizzo IP da mettere in *Impostazioni → Centralina → Indirizzo del dispositivo*. Assegna all'ESP32 un **IP fisso** dal router, altrimenti prima o poi cambierà e l'agente non lo troverà più. ## Sicurezze già nel firmware - **Chiusura a tempo autonoma.** Ogni apertura porta con sé la sua durata: la scheda chiude allo scadere anche se l'agente è morto o la rete è caduta. - **Tetto di 3 ore** per singola apertura, non aggirabile dall'esterno. - **Un solo canale alla volta**, perché la pressione di un impianto domestico non basta per due settori insieme (disattivabile con `UNO_ALLA_VOLTA`). - **Relè chiusi prima di configurare i pin**, così un riavvio dell'ESP32 non apre le valvole per un istante. - **Riconnessione Wi-Fi** ogni 30 secondi senza interrompere un turno in corso. ## Prova prima di collegare l'acqua Carica il firmware, alimenta solo l'ESP32 e la scheda relè, e da un browser: ``` http:///stato http:///valvola?canale=0&secondi=10 http:///sensori ``` Devi sentire il relè scattare e, dopo dieci secondi, scattare di nuovo in chiusura. Solo quando tutti i canali fanno così, collega le valvole. Per le sonde, la prova che vale: immergi la sonda in un bicchiere d'acqua e aspetta dieci minuti. `/sensori` deve leggere **0-5 kPa**. Tirala fuori, lasciala asciugare all'aria un giorno, e deve salire **oltre i 100 kPa**. Se resta inchiodata su un valore o dice sempre `scollegata`, il problema è nel cablaggio, non nel terreno.