piGarden

In questa pagina ho raggruppato i post più significativi relativi a piGarden, il progetto che permette di utilizzare Raspberry Pi come gestore per il vostro impianto di irrigazione.

Dato che il materiale pubblicato era sparso su vari post poteva essere un po’ difficile orientarsi nelle varie guide, ho pensato quindi di raggrupparli nel modo più razionale possibile. Spero che quanto segue possa esservi utile.

 

Introduzione

 

Realizzazione dell’impianto e costruzione della centralina

 

 Installazione e configurazione Software

 

Funzioni avanzate e approfondimenti

I vostri progetti

35 pensieri su “piGarden

  1. Ciao David, da tempo sto seguendo il tuo blog per il progetto piGarden che trovo molto interessante, complimenti!
    Ho intenzione di adottarlo per il giardino della ns. casa.
    La mia idea é di creare 4 zone: 3 per il giardino e 1 per l’orto.
    Ho scelto i materiali (elettrovalvole mono-stabili da 24v ac e irrigatori statici della Rain Bird).
    Ho già una RPI e il modulo da 4 relé, le valvole sono in arrivo e mi sto procurando gli altri materiali.
    Vorrei qualche dritta da parte tua sui collegamenti elettrici:
    – che tipo di spinotti e fili usi per i collegamenti tra RPI e il modulo relé?
    – com’è meglio collegare un singolo alimentatore 24V ac da 1A alle 4 valvole?

    Grazie mille in anticipo,
    Manuel

  2. Ciao @Manuel,
    premetto che io ho un impianto con elettrovalvole bi-stabili quindi non ho un’esperienza diretta con elettrovalvole mono-stabili.
    Comunque …. riguardo gli spinotti e collegamenti puoi dare vedere questo post dove ci sono diverse foto riguardo elle connessioni e collegamenti del mio impianto.
    Per il collegamento dell’alimentatore puoi invece prendere spunto dallo schema che ho riportato nel post dedicato all’elettro valvole mono-stabili.

  3. complimenti per il progetto , ottimo , unica cosa che mi preoccupa è il posizionamento dei vari componenti all’interno di una scatola ermetica (di quelle ad uso elettrico standard ovvero una scatola derivazione ) la domanda è la seguente :
    non si surriscaldano i componenti ? in particolare la scheda raspberry ? infatti non mi sembra di aver visto nelle foto una predisposizione per l’aereazione della scatola ,
    grazie in anticipo per eventuale risposta
    ciao
    Alberto

  4. Ciao @Alberto,
    tengo accesso la centralina tutto l’anno e non ho mai riscontrato problemi di surriscaldamento. Tieni presente però che il carico della cpui e veramente minimo, il raspberry che ho utilizzato è uno di quelli di prima generazione e quindi non scaldano molto, la scatola stagna è posizionato in un garage che rimane sempre arieggiato.

  5. Ciao, dopo molto tempo a studiare come irrigare il mio giardino ho scoperto questo tuo progetto. E’ molto interessante visto che ha pure il supporto meteo sia locale che web, mi chiedo se sia possibile aggiungere un lcd per poter gestire in “manuale” la centralina. Userei un rpi 3.

  6. Ciao Christian.
    Purtroppo non ho trattato la possibilità di collegare un display alla centralina. Puoi però affidati a una serie tante guide che trovi su internet per aggiungere un display touch in modo da aprire piGardenWeb direttamente sul raspberry e controllarlo da lì.
    Magari se riesci nell’intento manda qualche foto. Sarebbe interessante vederne il risultato.

  7. Ciao Lejubila
    grazie di tutto il lavoro. Non vedo l’ora di mettere tutto in funzione e sostituire la orbit!
    Ho fatto tutto quanto indicato, ma trovo l’errore:

    PiGarden server error

    stdClass Object
    (
    [description] => stream_socket_client(): unable to connect to tcp://localhost:8084 (Connection refused) at line 34 of file /home/pi/piGardenWeb/app/PiGardenSocketClient.php
    [code] => 0
    )

    Nonostante abbia eseguito il comando:
    cd piGarden
    ./piGarden.sh start_socket_server force
    (tra l’altro non ho capito se devo eseguirlo dopo il reboot)

    Cosa può essere?

    Grazie
    ciao

    A

  8. rieccomi di nuovo.
    Ho riconfigurato la rete del raspy disabilitando la ethernet e abilitando la wifi con conseguente cambio ip-address.
    Ora ottengo questo errore:
    PiGarden server error
    stdClass Object
    (
    [description] => Invalid json socket client response at line 126 of file /home/pi/piGardenWeb/app/PiGardenSocketClient.php
    [code] => 0
    )
    anche dopo aver riavviato:
    /piGarden.sh start_socket_server force
    cosa può essere?
    Grazie
    ciao
    A

  9. Ciao,
    assicurati che nei nomi delle elettrovalvole non siano contenuti spazi o caratteri strani.
    Se piGarden e piGardenWeb girano sullo stesso raspberry è necessario che la variabile PIGARDEN_SOCKET_CLIENT_IP del file .env di piGardenWeb punti all’indirizzo 127.0.0.1. Stesso discorso per la variabile TCPSERVER_IP del file di configurazione di piGarden. Se invece i due software girano su due raspberry separati, entrambe le variabili devono avere il valore dell’ip del raspi dove gira lo script piGarden.
    Dopo avere fatto eventuali le modifiche riavvia il socket server e ricarica la pagina contenente piGardenWeb.
    Oltre a questo ti consiglio di cancellare tutto il contenuto della directory state dentro piGarden.
    Fammi sapere se hai ancora problemi.

  10. ciao
    i due programmi vengono eseguiti dallo stesso raspy.
    I file di configurazione erano corretti, cancellando il contenuto della directory state e rilanciano il socket_server si è sistemato.
    grazie
    ciao
    A

  11. Ciao e complimenti per il progetto. Lo sto provando sul mio pi. Tutto bene se non per il sensore pioggia. Accade questo: simulando pioggia il valore sul GPIO va a zero ma l’interruzione dell’irrigazione in corso non avviene (ho provato sia manualmente, sia schedulandola). L’evento è riconosciuto, infatti mi arriva la mail per il cambio dello stato del sensore e se cerco di avviare un ulteriore valvola, quest’ultima non parte. Ti premetto che ho eseguito lo script per cron per il blocco immediato e l’elettrovalvola non ha forzature in caso di pioggia. Non riesco a capire. Ciao e ancora complimenti per l’ottimo lavoro. Grazie.

  12. Ciao @mauro,
    il controllo per l’interruzione dell’irrigazione in caso di pioggia avviene tramite un cron eseguito ogni 5 minuti. Quindi l’interruzione non è immediata. Hai provato ad attendere qualche minuto per vedere se l’irrigazione si interrompe ?
    In’oltre puoi controllare nei cron la presenza della seguente schedulazione

    */5 * * * * /home/pi/piGarden/piGarden.sh close_all_for_rain

    se non fosse presente puoi inserirlo manualmente o tramite il comando:

    /home/pi/piGarden.sh set_cron_close_all_for_rain

    Fammi sapere.

  13. Ciao e grazie per la risposta. Ho atteso più di 5 minuti, ma niente… Il job è inserito nel cron. Niente da fare…
    Ciao e grazie

  14. Che valore ha la variabile NOT_IRRIGATE_IF_RAIN_SENSOR presente nel file di configurazione ?

    Hai controllato nei log di piGarden se accade qualcosa di anomalo ?

  15. Un altro consiglio è quello di controllare il contenuto del file /tmp/check_rain_sensor.err e vedere se si verificano errori durante la chiamata dello script.

  16. Ciao e grazie per la pronta risposta.
    Dunque:
    – il file /tmp/check_rain_sensor.err è vuoto
    – in di NOT_IRRIGATE_IF_RAIN_SENSOR ho messo un valore basso in quanto pensavo che fosse un timeout successivo all’evento pioggia che dovrebbe bloccare l’irrigazione.
    Ciao e grazie
    Mauro

  17. Probabilmente il problema è il valore della variabile NOT_IRRIGATE_IF_RAIN_SENSOR.
    Tieni conto che il valore è espresso in secondi e se è impostato con un tempo sotto i cinque minuti l’interruzione dell’irrigazione potrebbe non funzionare.
    Prova ad impostare un valore di almeno dieci minuti.

  18. Ciao e grazie.
    Ho aumentato il valore a 360 e le elettrovalvole si sono chiuse regolarmente.
    Era proprio quello.
    Appena riesco lo metto in opera.
    Grazie ancora e complimenti per il progetto.

  19. Ciao @lejubila,
    c’è un motivo per cui non riesco a comandare il mio RaspberryPi 3 via SSH?
    Mi dice: Session stopped
    Network error: Connection refused

    Grazie

  20. Ciao, volevo aggiornare sul mio progetto variante di questo con schermo touchscreen e moduli relè wifi della sonoff. Sto acquistando i componenti e scrivendo la guida. Per ora ho solo il minipc con lcd e OS installato. Nel frattempo mi è venuta una idea strana per il funzionamento dell’impianto di irrigazione. Dal momento che ho diversi gatti non miei che vengono traquillamente a scagazzare in giardino, vorrei farlo attivare al passaggio di questi (per un breve periodo) quando attivo questa funzione. Il primo pensiero è di utilizzare un sensore di movimento puntato in giardino. Dovrò capire come farlo dialogare con piGarden. A presto.

  21. Ciao, è possibile usare un sito meteo come quello dell’aeronautica militare?

  22. ciao a tutti
    lejubila, volevo capire meglio una cosa. Ogni zona del pigarden controlla una elettrovalvola, e ogni zona ha una propria schedulazione e una durata.
    Io ho un prato con 4 zone e la 5a sarà quella delle fragole.
    Vorrei schedulare una volta sola il prato (le 4 zone) e comandare in sequenza le 4 zone anche con tempi (durate) diversi.
    Si può fare?
    Anche perché schedulare indipendentemente ogni zona del prato non ha molto senso… non tanto per la prima volta, ma ogni cambio di schedulazione implica il cambio di tutte le 4 valvole (es. d’estate si innaffia alla notte, mentre d’autunno o primavera meglio tarda serata quando non fa troppo freddo).
    grazie
    ciao

    A

  23. Ciao @Christian,
    scrivendo un apposito driver è possibile interfacciare piGarden con i servizi meteo che espongono delle api pubblicamente accessibili.
    Nel caso del meteo dell’aeronautica militare non mi sembra che fornisca delle api. O meglio, sulla pagina http://www.meteoam.it/dati_in_tempo_reale si fa riferimento a “dati in tempo reale in linguaggio chiaro o codificato” ma non è ben chiaro poi come potervi accedere.
    Se hai informazioni più chiare su eventuali api messe a disposizione fammi sapere.

  24. @Lejubila: per il sito dell’aereonautica ho appena scritto una mail ad uno dei loro indirizzi nella quale chiedevo se erano disponibili delle api per scrivere un driver.
    Attendo risposta.

  25. Ciao @Andrea,
    come hai ben detto in piGarden elettrovalvola e zona si equivalgono.
    Per ogni elettrovalvola puoi definire quante schedulazioni vuoi con una data/ora di apertura e una data/ora di chiusura.
    Per programmare in sequenza l’apertura delle quattro elettrovalvole del giardino, dovrai creare una schedulazione per ogni elettrovalvola con orari e tempi a tuo piacimento. Per differenziare i tempi in base alle stagioni ti basterà inserire i mesi desiderati in fase di definizione della schedulazione.
    Per esempio con la seguente schedulazione definisci l’irrigazione di una zona nei mesi aprile, maggio e giugno, tutti i giorni alle ore 22:01.

    Niente ti vieta di creare un’ulteriore schedulazione che andrà ad agire in altri mesi dell’anno.

  26. @Lejubila:
    grazie David.
    capisco come fare la schedulazione in sequenza dalla GUI con specifiche per ogni zona, ma non si riesce a fare qualcosa di automatico dalla GUI?
    Cioè schedulo solo la zona1 in quanto zona2 è successiva in sequenza di zona1, così come zona3 di zona2 e zona4 di zona3.
    In zona1 schedulo orario e durata, nelle zona con flag “in sequenza zona precedente” solo la durata.
    E automaticamente la GUI produce le entries in crontab.
    Se può interessare posso pensare di fare un script per spiegarmi meglio, anche se sono un po’ arrugginito, che poi verrà lanciato dalla GUI all’azione “conferma”.
    Ad ogni modo devo confermare che comunque il lavoro che hai fin’ora è egregio e già l’esperienza d’uso della soluzione è ottima.
    ieri sera mi sono messo a collegare il raspy con la scheda 6 relè e provato piacere sentire i relè che tichettavano!
    Grazie di tutto
    ciao
    A

  27. ciao @David
    grazie del riscontro e grazie per tenere in considerazione questa opzione.
    Effettivamente nel mio caso (ma immagino anche per altri) il motivo per cui il prato ha 4 zone è solo per evitare di avere cali di pressione, quindi possiamo sì dire che vi sono 4 sottozone per 1 prato, quindi sarebbe molto utile un’unica schedulazione per il prato.
    Siccome ho programmato per anni in kornshell (posix shell dopo) su hp-ux, mi piacerebbe dare il mio contributo e provare a modificare il tuo script (tra l’altro credo di essere ancora uno dei pochi utilizzatori di vi !)
    Se riesci a darmi una dritta sulla sezione da modificare dello script, provo a farlo io.
    Grazie del tuo prezioso supporto.
    Andrea
    PS: ho trovato un sensore pioggia che conta il numero di vaschette di acqua e quindi riesce a valutare la quantità di acqua. Vorrei sapere se le regole del tuo blog permettono di postare link di prodotto di siti di e-commerce e immagini (quale sito usare eventualmente?).
    grazie

  28. Ciao @Andrea,
    per quanto riguarda modificare piGarden non ci sono problemi, anzi se si arricchisce con nuove funzionalità sono più che contento.
    Quello che chiedo però è che le modifiche apportate non stravolgano l’attuale struttura, che mantengano la compatibilità con il passato e che si integrino con piGardenWeb. Per le tue proposte ti invito ad utilizzare gli strumenti di gitHub che mette a disposizione (issue, pull request,ecc…). Magari dai un’occhiata alla precedenza proposta su questa issue. Rileggendola ci sono diverse cose che cambierei ma potrebbe essere un buon spunto di partenza per aggiustare il tiro e implementare quello che esponevi tu. Magari scambiamoci qualche opinione su github.

    Per i link, vai tranquillo, inserisci pure nei commenti. Se poi riesci ad implementare qualcosa di più efficace del sensore pioggia che avevo indicato io ed hai voglia di documentare la tua esperienza, sarebbe carino dedicarvi un post qui sul blog.

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.