piGarden 0.5.0 e piGardenWeb 0.4.0: driver, toolbar, bugfix e ottimizzazioni

Ciao a tutti, qualche ora fa sono state pubblicare le nuove versioni di piGarden e piGardenWeb, rispettivamente l’applicazione e l’interfaccia web che trasformano il nostro Raspberry Pi in una centralina di irrigazione.

piGarden 0.5.0

Per quanto riguarda piGarden è stato fatto un grosso lavoro per introdurre la possibilità di utilizzare driver terzi per fare interfacciare piGarden con altre schede. Sarà infatti possibile utilizzare, oltre ai classici gpio del Raspberry, anche schede di terze parti per pilotare le varie elettrovalvole e sensori.

Con questa versione è stato rilasciato un fake driver (per il test e debug delle varie parti) e il driver per la scheda spb16ch.

Per maggiori dettagli sulla configurazione e utilizzo dei driver rimando al relativo post.

Oltre quanto detto sopra sono state fatte le seguenti variazioni / correzioni:

  • aggiunte le api al socket server per eseguire lo spengimento e il riavvio del Raspberry da applicazioni terze (piGardenWeb)
  • reimplementato in modo più efficiente e veloce la gestione di lock/unlock dei vari processi in fase di accensione / spengimento delle elettrovalvole
  • corretto bug nella gestione dei cron che si verificava con le zone i cui nomi iniziavano con la stessa sottostringa (es: Zona_1 e Zona_10)
  • corretto bug che causava il mancato aggiornamento delle condizioni meteo durante i periodi di pioggia
  • corretto bug che lasciava nella cartella “state” vari file utilizzati per la gestione dei messaggi tramite socket server

Per eseguire l’aggiornamento di piGarden all’attuale versione, eseguite i seguenti comandi

cd
cd piGarden
git pull
 
# Riesegui l'inizializzazione
./piGarden.sh init

piGardenWeb 0.4.0

La nuova versione piGardenWeb introduce una toolbar nella dashboard. Questa contiene due pulsanti con menu a tendina grazie ai quali è possibile raggiungere le seguenti funzioni:

  • riavvio o spengimento del Raspberry che ospita piGarden
  • interrompere tutte le irrigazioni attive chiudendo in un colpo solo le elettrovalvole avviate
  • interrompere tutte le irrigazioni attive e contemporaneamente disabilitare tutte le schedulazioni impostate

Oltre alla toolbar è stata cambiata gestione interna che implementava la visualizzazione dello stato delle varie zone in modo limitare le basse prestazioni che si verificavano nelle installazioni con molte zone attive (sopra 20).

Per eseguire l’aggiornamento di piGardenWeb, procedere come come segue:

cd
cd piGardenWeb
git pull

Fatto l’aggiornamento, eseguite la cancellazione della cache del vostro browser per far si che vengano ricaricate le modifiche apportate ai javascript dell’applicazione web.

Per ora è tutto e ……. buona irrigazione 🙂

19 pensieri su “piGarden 0.5.0 e piGardenWeb 0.4.0: driver, toolbar, bugfix e ottimizzazioni

  1. ciao, dopo il comando git pull il messaggio del raspy è:
    Aggiornamento di 9cb7d6c..c048337
    error: Your local changes to the following files would be overwritten by merge:
    piGarden.sh
    Please commit your changes or stash them before you merge.
    Aborting
    Ho provato ad eseguirlo anche con “sudo” ….
    Dove sto sbagliando?

  2. Ciao #paolo,
    ti viene proposto di eseguire un merge perché probabilmente hai eseguito Delle modifiche sul file piGarden.sh.
    La cosa più semplice è eliminare la directory /home/pi/piGarden e ricaricare piGarden con
    git clone https://github.com/lejubila/piGarden.git
    naturalmente in questo modo perderai le modifiche che avevi apportato.

  3. Ciao, ovviamente hai ragione ho inserito i comandi per farmi mandare via telegram gli avvisi di inizio e fine irrigazione….mi basterà reinserirli dopo l’aggiornamento. Grazie mille e come sempre gran bel lavoro!

  4. Ciao lejubila volevo farti i miei complimenti per il lavoro che hai fatto grazie per averlo condiviso veramente completo in tutto. Paolo sapresti dirmi come hai inglobato lo script/gli script delle notifiche telegram nel file piGarden.sh
    Grazie

  5. Ciao @Gianluca,
    mi ricordo che Gianluca aveva fatto alcune modifiche direttamente a piGarden per eseguire l’invio delle notifiche tramite Telegram.
    Adesso però per ottenere lo stesso risultato non importa più modificare piGarden ma basta utilizzare il sistema degli eventi.
    Infatti ti basterà inserire nella cartella giusta il tuo script che invia la notifica verso Telegram.
    Per la gestione degli eventi di piGarden ti rimando al relativo post.
    Per lo script do notifica a telegram invece puoi dare un’occhiata RpiNotify. Io non l’ho mai usato ma penso possa fare la caso tuo.

  6. ciao Lejubila, arriva l’estate e si riattiva il piGarden con notevoli novità. Ho però due richieste per la toolbar:
    1-ottima l’idea di fermare tutte le schedulazioni….sarebbe possibile inserire anche un pulsante per riattivarle tutte?
    2-ottima l’idea di spegnere o riavviare il RB direttamente dal web…sarebbe possibile limitare i diritti dell’utente che si logga ed evitare che accidentalmente posso spegnere o riavviare il sistema?
    grazie
    Claudio

  7. Ciao @claudio,
    in piGardenWeb i permessi utente non sono gestiti. Sono previsti però in un prossimo progetto che sto portando avanti (che però procede molto a rilento). Per quanto riguarda l’aggiunta della funzionalità per riabilitare le schedulazioni, per ora sono fermo con lo sviluppo di piGardenWeb, ma ne tengo in considerazione per il futuro.

  8. Salve, Complimenti davvero per questo progetto davvero utile; ci tenevo davvero tanto a ringraziare lejubila per questo fantastico lavoro svolto… da tempo ero alla ricerca di qualcosa del genere per Arduino ma con Raspberry è tutta un’altra storia. Volevo chiedere come poter accendere il Raspberry una volta spento dal pulsante dell’interfaccia WEB. Sarebbe comodo avere un pulsante WakeUp che lo risvegli proprio come si fa fisicamente con il pulsante di accensione del computer (ammesso che sia possibile con Raspbian).

  9. Salve, avrei bisogno di aiuto nel risolvere un problema relativo all’attivarsi dei relay.

    Spiego prima cosa ho fatto. Ho realizzato la centralina così come descritto nel sito e tutto funzionava correttamente. Dato che ho 3 elettrovalvole da 24V monofase ho voluto sfruttare altri 2 relay per accendere le luci esterne di casa mia e una presa di corrente con tensione 220V. Quando accendo manualmente, le luci (faretti 5W a led) si accendono ma dopo un po’ (tipo 15 minuti di attività) si spengono da sole. Ho provato anche a settare le schedule dalle 18:00 alle 00:00 ma anche così si riverifica lo stesso problema, anzi si aggiunge pure che si autocancella.

    Come posso risolvere?

  10. Ciao @Cosimo,
    non ho capito se i due relè aggiuntivi sono comunque gestiti da piGarden.
    Le schedulazioni di accensioni come le hai create ? Modificando manualmente il crontab, con piGarden o con piGardenWeb ?

  11. @lejubila,
    ho utilizzato una scheda relay ad 8 moduli che avevo già, gestita totalmente da piGarden in quanto questo progetto è talmente completo che si può utilizzare non solo per l’irrigazione automatica ma anche l’illuminazione o accensione di prese…l’importante è che l’impianto elettrico sia a norma e che venga rispettata la tensione su cui si lavora (ho voluto provare tutto a mio rischio e pericolo).
    Inizialmente, avevo impostato su piGarden l’uso di soli 3 relay in modalità Monostabile. Poi ho avuto questa “genialata” (utilizzare la stessa centralina anche per pilotare l’accensione delle luci esterne di casa su un relay e una presa di corrente su un altro relay).
    Le schedulazioni l’ho sempre create e modificate da piGardenWEB.
    Ora ho notato che se vado a cancellare le schedulazioni relative alle 3 elettrovalvole inizialmente sembra siano state cancellate… dopo un riavvio ricompaiono. Per quanto riguarda invece le schedulazioni relative agli altri 2 relay, hanno il problema che dopo aver confermato lo stato di accensione e spegnimento, dopo un 5-10 minuti, senza nemmeno provare ad effettuare un riavvio del Raspberry, le schedulazioni si auto cancellano e tornano ad esserci solo quelle delle elettrovalvole.

    Credo che sia andato qualcosa storto durante la comunicazione col database quella volta che ho aggiunto altre 2 zone alle 3 già esistenti. Se volessi ripristinare il database, quindi cancellando utenti… schedulazioni… ecc (cioè tutto come se lo avessi appena installato piGarden e piGardenWEB), come potrei fare? C’è qualche possibilità di “Ripristinare ai dati di fabbrica” con qualche comando cancellando la vecchia cache?

    Grazie per il tempo che mi sta dedicando.

  12. @Cosimo,
    nel db sqlite sono memorizzati solo gli utenti, quindi nel tuo caso non occorre cancellarlo.
    Le schedulazioni vengono scritte e lette direttamente nel crontab. Su come mai siano scomparse, probabilmente è andato storto qualcosa durante la conferma di una schedulazione, anche se mi sembra stano.
    Sul motivo per cui le luci si spengano automaticamente, potrebbe dipendere dalla variazione delle condizioni meteo. PiGarden si accorge che sta piovendo e quindi disattiva quelle che per lui sono elettrovalvole.
    Pero ovviare a questo problema puoi impostare il parametro EVx_NORAIN per non fare chiudere l’elettrovalvola in caso di pioggia.
    Per esempio se le due illuminazione l’hai configurate sulle elettrovalvole 4 e 5 dovrai inserire i seguenti parametri nel file di configurazione:

    EV4_NORAIN=1
    EV5_NORAIN=1

    Fammi sapere se così hai risolto.

  13. Ah già, non ci avevo pensato…inserisco subito i 2 comandi ai relay.
    Per quanto riguarda il fatto che non riesco più né a cancellare le schedulazione delle elettrovalvole e nè a modificarle, c’è qualche possibile soluzione? Sto provando e riprovando ma dopo il riavvio del sistema, le schedulazioni che sembravano essere state cancellate prima del riavvio, ritornano ad esserci. Ho provato anche a cancellarle manualmente da terminale nano con il comando “crontab -e” ma dopo aver salvato le modifiche con CTRL – X ricompare tutto come prima.

  14. @lejubila
    ok, ho provato a modificare il file col comando:
    “sudo nano /etc/piGarden.conf”
    inserisco
    EV4_NORAIN=1
    EV5_NORAIN=1
    salvo, faccio ripartire la scheda e dopo il riavvio andando a ricontrollare mi trovo tutto invariato come se non avessi mai modificato nulla. Mica è un problema dovuto ai permessi di modifica? Perchè è come se lì per lì mi fa modificare il file ma poi durante il riavvio del Raspberry se ne accorge e ripristina tutto prima dell’ultima modifica.

    Sarei quasi disposto a reinstallare tutto da capo su formattazione pulita, il problema è che il raspberry si trova ora in un box elettrico esterno e quindi collegarlo alla tv hdmi che ho sarebbe impossibile… staccarlo dal box vorrei evitare in quanto per effettuare il collegamenti sulla gpio è un bordello con tutti quei pin 🙁

  15. Per azzerare le schedulazioni manualmente le devi semplicemente cancellare dal cronab.
    Per la modifica va bene come hai fatto con “crontab -e”, prima di uscire con CTRL-X, ricordati di salvare con CTRL-O.
    Sicuro di avere salvato prima di esser uscito da nano ?

  16. Si, tutto fatto ma il problema è sempre lo stesso. Forse c’è qualche permesso di modifica negato all’utente che sto utilizzando che o si è, o l’ho settato senza volerlo e non me ne sono nemmeno reso conto. Nel caso c’è un modo per verificare ciò?

  17. @lejubila
    La Ringrazio Infinitamente, ma ho trovato il problema, e lei non poteva proprio aiutarmi… la scheda sd a quanto pare è danneggiata, non permetteva più la scrittura dei file e non mi permetteva nemmeno di riuscirla a formattare… per cui ho comprato una nuova sd card (di classe 10 questa volta rispetto all’altra che era “cinese”). Ora ci installo raspian e piGarden e credo di non avere più problemi. Ne approfitto per chiedere un’ultima cosa… se volessi cambiare icona alla zona, tipo vorrei mettere l’icona di una lampadina e l’icona di una presa elettrica… devo aspettare qualche suo aggiornamento che implementa anche la possibilità di cambiare icona? O posso cambiarla mettendo mano da qualche parte del progetto piGardenWEB? Comunque davvero grazie tante per il progetto condiviso con noi, mai visto un progetto ben fatto e ordinato come questo.

  18. Ciao @cosimo,
    innanzitutto dammi pure del tu, il “lei” mi fa sentire vecchio 😉
    Sono contento che hai trovato la causa del tuo problema.
    Per l’icona personalizzata attualmente non ho in programma di implementare questa funzionalità in piGardenWeb, puoi però modificarlo a tuo piacimento se lo ritieni opportuno.

  19. Grazie Mille, però dato che ora funziona tutto e trattandosi solo di un fattore estetico lascio tutto così come è perchè se modifico l’immagine dell’irrigatore automaticamente la modifico anche alle zone che ho degli irrigatori. Per evitare questo problema andrebbe implementato un menù a tendina sotto l’icona dell’irrigatore della zona creata (come quello che serve per avviare subito o dopo un po’ di tempo) e ad ogni voce stabilire l’icona da selezionare. Purtroppo non è facile come se ne parla… o almeno per me che di programmazione ho solo ppche basi in C. Comunque non volevo farti sentire vecchio, è una mia cosa spontanea dare de lei a chi non conosco di persona. 🙂

    P.S.: per chi vuole attaccare l’impianto d’illuminazione esterna alla centralina, consiglio vivamente di controllare l’amperaggio massimo consentito dai relay in uso in quanto molti moduli relay funzionano fino a 10A… se si va oltre come successo a me, si brucia il contatto di apertura relay e per cui diventa un relay normalmente chiuso. Ora ho ordinato un modulo relay di 24V a 2 “zone” per corrente AC220 30A… per andare sul sicuro, ho preferito inserire invece un interruttore magnetotermico a 16A così da non farmi bruciare i relay e nel caso di troppi A, automaticamente mi scatta… ho fatto già delle prove. Comunque fatevi consigliare sempre da un elettricista perchè con la 220V non si scherza e soprattutto occhio a non confondere mai fase e neutro 😉

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.