Files
lucianoandClaude Opus 5 b412d51658 Pollice Verde: gestione dell'orto e del frutteto con irrigazione calcolata
App PWA che dice cosa fare nell'orto e, soprattutto, quanta acqua dare a ogni
coltura, calcolandolo sul meteo reale invece che su un calendario fisso.

Motore idrico (metodo FAO-56)
- il terreno come serbatoio: capacità dal tipo di suolo per la profondità
  radicale, prelievo giornaliero pari a ET0 × Kc, ricarica da pioggia efficace e
  irrigazioni al netto dell'efficienza del metodo
- bilancio ricostruito su 21 giorni reali e proiettato su 10 di previsione, così
  si sa anche fra quanti giorni servirà il prossimo turno e quando saltarlo
- soglia di intervento dipendente dal metodo: con la goccia si bagna al 55%
  della riserva utile, con l'aspersione all'85%, a mano si sfrutta tutto
- correzioni per pacciamatura, serra e coltura in vaso

Dati
- 58 schede fra ortaggi, frutta e aromatiche con coefficienti colturali,
  profondità radicali e fattori di deplezione da FAO-56, più calendario, sesti,
  consociazioni, cure e problemi tipici
- ricerca che capisce i nomi dialettali: cocomero, popone, petonciano, ramerino
- meteo ed evapotraspirazione da Open-Meteo, senza chiave API, con cache offline

Automazione
- generatore di programma per centraline a settori: ritmo di regime da impostare
  e giorni esatti con le piogge già scontate
- agente Node che custodisce lo stato, esegue i turni un settore alla volta e
  registra nel diario quello che ha davvero erogato
- driver per ESP32, Shelly Gen1/Gen2, Tasmota, più modalità simulata predefinita
- sonde Watermark: veto sui turni, riancoraggio del bilancio su misura reale,
  confronto fra sonda e calcolo
- sicurezze: tetti su minuti e litri, blocchi gelo/vento/pioggia, chiusura
  all'avvio e all'uscita, doppia chiusura a tempo lato dispositivo, un settore
  per volta, sospensione dei settori con sonda muta o guasta

Firmware ESP32 incluso, con schema di collegamento e istruzioni di posa.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GFnqupGt8T5HNNhPPHCjKs
2026-09-07 14:40:49 +02:00
..

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://<ip-esp32>/stato
http://<ip-esp32>/valvola?canale=0&secondi=10
http://<ip-esp32>/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.