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
This commit is contained in:
commit
b412d51658
46 files changed
+10608
No files matched your search
@@ -0,0 +1,123 @@
|
||||
# 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.
|
||||
Reference in new issue
Block a user