piGarden: aggiunta nuova funzione di “avvio ritardato” per l’impianto di irrigazione basato su Raspberry Pi

piGarden: avvio ritardato

Nella giornata di oggi ho rilasciato una nuova versione di piGarden e piGardernWeb che implementano la nuova funzione di “avvio ritardato”. L’animazione che vedete qui sopra può rendervi un’idea del suo funzionamento. Ma andiamo con ordine.

Alcuni giorni fa in un commento @Stefano mi chiedeva se su piGardenWeb fosse presente la possibilità di eseguire una programmazione una tantum per avviare l’apertura temporizzata delle varie zone. Proprio in base a questa idea ho implementato la gestione di “avvio ritardato”.

Questa nuova funzione ci permette di avviare l’irrigazione delle singole zone subito o dopo alcuni minuti, impostando nell’immediato anche la durata dell’irrigazione. A differenza della gestione schedulazioni, già presente su piGarden, questa viene eseguita una sola volta e non verrà più ripetuta una volta terminata.

Per potere usare questa nuova funzione è necessario avere installato l’ultima versione (0.3.0) dello script Bash piGarden. Questo mette a disposizione i nuovi comandi “open_in” e “del_cron_open_in”:

piGarden.sh open_in minute_start minute_stop alias [force]
  • minute_start indica dopo quanti minuti dovrà partire l’irrigazione; se viene indicato il valore 0 (zero), l’irrigazione partirà immediatamente.
  • minute_stop indica quanti minuti dovrà durare l’irrigazione una volta avviata.
  • alias indica il nome dell’elettrovalvola da aprire.
  • force che è opzionale, se specificato, forza l’irrigazione anche in caso di pioggia.
piGarden.sh del_cron_open_in alias

elimina i cron impostati per l’apertura ritardata di un’elettrovalvola settati con open_in.

E’ da tenere presente che una volta impostato l’apertura ritardata di una zona con il comando open_in, se questa viene aperta manualmente in anticipo,la schedulazione di apertura automatica verrà eliminata. Stesso discorso anche per la chiusura manuale (che provvederà all’eliminazione della schedulazione di una eventuale chiusura programmata).

Per quanto riguarda l’implementazione nell’interfaccia web, per poterla utilizzare è necessario avere installato l’ultima versione (0.2.0) di piGardenWeb. Con questa potremo gestire l’avvio ritardato dalla dashboard, dall’interfaccia delle singole zone e visualizzare l’eventuale impostazione nella home page pubblica.

piGardeWeb Dashboard: avvio ritardato

piGardeWeb Zona: avvio ritardato

piGardeWeb Home: avvio ritardato

Per aggiornare piGarden e piGardenWeb all’ultima versione potete impartire i seguenti comandi dalla shell del vostro Raspberry Pi:

# Aggiorna piGarden
cd
cd piGarden
git pull
 
# Aggiorna piGardenWeb
cd
cd piGardenWeb
git pull

Per ora è tutto e ….. buona irrigazione 😉

23 pensieri su “piGarden: aggiunta nuova funzione di “avvio ritardato” per l’impianto di irrigazione basato su Raspberry Pi

  1. Ciao ottimo lavoro,ora mi rimangono 2 strade aspettare un aggiornamento per usare le mie valvole, oppure acquistare le valvole bistabili, .
    Veramente un gran bel lavoro ancora complimenti

  2. Bella! Funzione molto Utile.

    Facendo un po di test del sistema ho notato che le programmazioni non sono pensate in “mutua esclusione”, cioè se la zona A sta irrigando e partisse la Zona B, la prima non verrebbe fermata. Ciò implica che in impianti con un attacco idrico condiviso, causa la pressione dell’acqua nell’impianto, non si riuscirebbe ad irrgare ne la Zona A ne la Zona B.
    Ovviamente il problema è superabile programmando con criterio le aperture e le chiusure.

    Però questo mi ha fatto venire in mente una possibile evoluzione del sistema, che sarebbe l’introduzione del concetto di “PROGRAMMA”.
    L’idea è semplicemente riassumibile:
    – Si raggruppano le zone che attingono dallo stesso attacco idrico;
    – Si definisce un ordine di apertura
    – Si definisce per ogni zona la durata dell’irrigazione
    Abbiamo così creato un Programma. Non rimane che schedulare il programma e il sistema gestisce in sequenza tutte le zone elencate.

    Questo aumenterebbe la semplicità d’uso (1 sola schedulazione contro N) e la scalabilità del sistema (pensa a giardini grandi con 3/4 attacchi idrici da 3/4 zone l’uno)

    Avrei già in mente una struttura ad alto livello della routine di gestione, perciò se fossi interessato (compatibilmente con il tuo tempo) sarei disponibile a condividerla.

    Grazie ancora per l’ottimo lavoro!
    Marco

  3. Ciao lejubila
    ho letto con attenzione il tuo progetto e vorrei implementarlo ma sul mercato trovo orami solo pi 3 model B. Il tuo applicativo è compatile con l’utlima verisone di RB o è necessaria qualche modifica?
    grazie
    Claudio

  4. Ciao @stefano,
    se hai ancora un po’ di pazienza nei prossimi giorni cercherò di iniziare l’adattamento di piGarden per farlo funzionare con elettrovalvole non bi-stabili.
    A presto.

  5. ciao @lejubila,pazienza? dopo che fai tutto grati,solo ringraziamenti

  6. Ciao @Marco,
    la tua idea è interessante. Effettivamente anche io giostro con le schedulazioni delle elettrovalvole per non sopperire con il problema della pressione dell’acqua.
    Mi farebbe molto piacere se volessi condividere la routine a cui hai pensato.
    Se hai un account su github potresti aprire una Issue per descrivere la struttura della routine a cui hai pensato. Se volessi fare un passo in più potresti modificare direttamente tu piGarden clonandolo nel tuo repository e poi proporre il merge tramite un pull request.
    Fammi sapere…

  7. Ciao @Claudio,
    il RPi 3 mod. B dovrebbe andare bene.
    Ho fatto una verifica e le connessioni utilizzate dovrebbero essere quasi del tutto compatibili tra le due versioni. L’unica differenza che ho trovato è sul pin 25 che sul RPi 1 mod. B corrisponde al GND (massa), mentre sul RPi 3 mod. B corrisponde ad un GPIO.
    Ti invito comunque a verificare di persona la corrispondenza delle connessioni su RPi 3/B. Comunque sia dal file di configurazione di piGarden è possibile rimappare qualsiasi connessione dei GPIO.

    Se pensi di realizzare la centralina sarebbe molto utile la condivisione delle connessioni che farai in modo metterle a disposizione della comunità.

  8. Certamente!
    Non ho account GitHub ma lo posso fare, non ho esperienza di programmazione BASH ma la posso imparare, ma ho buone conoscenza di programmazione e architettura del SW.

    Se ti va puoi scrivermi una mail in modo da non intasare il blog con “messaggi di servizio”

    Grazie!

    PS: il mio impianto gira su Raspi 3 senza problemi. E’ anche vero che ho acquistato una scheda da 8 Relé di cui ne uso solo 4 per le valvole + 2 per l’alimentazione.

    PPS: lo script che ho in mente, tra l’altro, si sposerebbe con l’integrazione delle valvole “monostabili”.

  9. Penso non sia intasare il blog, anzi trovo sia un’ottima lettura i vostri messaggi

  10. Mi dispiace @stefano ma la discussione su eventuali sviluppi si è spostata qui dove è possibile fare argomentazioni a più ampio respiro.
    Se vuoi puoi comunque seguire la discussione.

  11. Ciao @stefano,
    ho appena rilasciato una nuova versione di piGarden con il supporto sperimentale alle elettrovalvole monostabili.
    Per attivare il supporto devi definire la variabile EV_MONOSTABLE nel file di configurazione e assegnare il valore 1, dopo di che riavvia il raspberry.
    Non l’ho potuto provare sul campo perché non dispongo dell’hardware ma spero funzioni correttamente.
    Mi dai un tuo feedback sull’efficacia di questo aggiornamento ?

  12. Sono fuori per qualche giorno appena torno lo provo e ti faccio sapere

  13. ciao a tutti,
    sto realizzando questo progetto e sono al punto di utilizzare elettrovalvole monostabili a 24v. Scusate l’ignoranza ma i due relè iniziali avranno ancora la funzionalità di gestire l’alimentazione? come dovranno essere collegate le elettrovalvole?
    grazie 1000
    Claudio

  14. Ciao @claudio
    i due relè iniziali non servono più.
    Il negativo dell’alimentazione dovrebbe andare diretta alle elettrovalvole mentre il positivo dovrebbe passare dai relè.
    Appena ho un po’ di tempo vedi di fare uno schema.

  15. Ciao, confermo che il vostro bellissmo preogetto funziona perfettamente con elettrovalvole monostabili a 24v. Ho una domanda: se volessi mettere in off una sola zona, si è obbligati a cancellare la schedulazione o c’è qualche altro modo?
    Grazie
    Claudio

  16. Ciao @Claudio,
    intanto ti ringrazio per il tuo feedback che mi conferma il buon funzionamento anche con elettrovalvole monostabili.
    Riguardo la tua domanda sinceramente non l’ho ben capita.
    Comunque sia le varie zone le puoi far aprire e chiudere manualmente agendo dalla dashboard di piGardenWeb oppure dall’apposita pagina della singola zona come vedi nell’immagine qui sotto.

    Da qui puoi anche programmare l’orario di apertura e la chiusura a tuo piacimento in modo che si ripetano nel tempo (nell’immagine puoi vedere che la zona è programmata per aprirsi alle ore 21:01 e alle 22:01 di tutti i giorni per i mesi che vanno da giugno a settembre; la schedulazione della chiusura invece riportata nell’immagine non ha molto senso, ho sbagliato a impostarla, perché richiuderebbe la zona sempre allo stesso orario di apertura).
    Una volta che l’irrigazione è partita in base ad una schedulazione niente ti vieta di fermarla manualmente.
    Un altro metodo che hai a disposizione è l’avvio ritardato che è spiegato in questo post.

  17. Ciao Lejubila,
    hai ragione, riformulo la domanda:
    con il tuo progetto sto controllando 4 zone (Z1, Z2, Z3 e Z4) con 4 elettrovalvole differenti ognuna con la sua schedulazione d’orario (ES: tutti i giorni dalle 06.00 alle 06.10 del mattino).
    Come posso agire se volessi interromprere la schedulazione di una sola zona manualmente? (ES: voglio “spegnere” la Z1 per problemi di manutenzione all’impianto o altro)

  18. Ciao @Claudio,
    una volta fatta partire l’irrigazione di una zona la puoi interrompere manualmente premendo il pulsante di stop presente sulla dashboard o della pagina relativa alla zona. Naturalmente il giorno dopo ripartirà comunque all’ora schedulata.
    Se invece intendevi potere disabilitare la schedulazione per diversi giorni mantenendola comunque configurata per poterla riabilitare successivamente, questo non è ancora possibile farlo. Per ora le schedulazioni le puoi solo creare o cancellare. In futuro posso comunque implementare questa funzionalità.

  19. Ciao complimenti per il progetto veramente ben fatto. A tal proposito sto comprando tutti i componenti che servono. Mi potreste consigliare una buona elettrovalvola da 12 volt o da 24?

    Grazie mille

  20. Ciao @Domenico,
    personalmente come puoi leggere qui originariamente il progetto era basato per l’utilizzo di elettrovalvole bistabili. Io ho optato per delle elettrovalvole bistabili 9V della Claber.

    Recentemente il progetto ha guadagnato anche il supporto per le elettrovalvole monostabili. In questo caso sinceramente non so cosa consigliarti, magari qualche altro utente che le ha utilizzate saprà dirti qualcosa di più.
    Ti ricordo, se decidi di intraprendere questa soluzione, di consultare il post dove è documentato come attivarne il supporto.

    Per qualsiasi altro dubbio non esitare chiedere.

  21. Ciao Lejubila volevo chiederti se c’è la possibilità di abilitare l’accesso al piGardenWeb anche da rete WAN quindi da fuori casa.
    Grazie

  22. Ciao @Domenico,
    certo che è possibile, io tutt’ora lo gestisco in questo modo.
    Ti basta configurare il tuo router adsl inserendo in regola di port-forwarding in modo da inoltrare la porta 80 tcp (http) verso l’indirizzo ip del tuor raspberry. In questo modo puoi puntare con un browsser direttamente all’ip pubblico della tua linea.
    Se poi vuoi usare un nome host anziché all’indirizzo ip, puoi utilizzare un dei tanti servizi di dynamic dns: dyn.com è a pagamento, altrimenti freedns è gratuito.

  23. Ottimo lavoro, è possibile aggiungere uno schermo touch per comandare l’impianto senza PC o smartphone. Grazie

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.