irrighino

by luca
114 comments

irrighino_logo_top

Irrighino è una completa centralina di irrigazione basata su Arduino Yun.

Le sue caratteristiche principali sono:

[checklist]

  • possibilità di gestire un numero configurabile di elettrovalvole
  • interfaccia web AJAX
  • schedulazione settimanale
  • attivazione / blocco manuale

[/checklist]

Ecco un video che illustra il progetto:

[youtube id=”KOz55u_fhdU” width=”600″ height=”350″]

Schema di funzionamento

irrighino-schema

Ad Arduino Yun – “cervello” di irrighino, sono collegati il pannello di controllo (switch e led), il sensore di pioggia e la scheda relay che controlla le elettrovalvole dell’impianto di irrigazione. Yun è collegato alla rete wifi di casa, attraverso la quale è possibile raggiungere l’interfaccia web di irrighino per il controllo e la programmazione.

Se si dispone di un collegamento Internet, configurando il NAT (Network Address Translation) verso Arduino Yun è anche possibile raggiungere irrighino da qualsiasi dispositivo connesso in Rete!

Interfaccia

irrighino è raggiungibile al seguente indirizzo: http://<yun-ip-address>/sd/irrighino

L’interfaccia web è suddivisa in 3 tab:

  • runtime, dove è possibile controllare manualmente l’impianto
  • setup, dove è possibile configurare la schedulazione settimanale
  • events, dove è visibile il log degli eventi (attivazione, cambio configurazione…)

 irrighino-runtimeil tab Runtime, dove è possibile controllare lo stato delle singole elettrovalvole

irrighino-setup

il tab Setup, dove è possibile definire la schedulazione settimanale

irrighino-events

il tab Events, dove vengono registrati tutti gli eventi (cambi alla schedulazione, attivazioni/disattivazioni…)

Costruzione

Ho collegato i vari componenti (pulsanti, led, relay…) ad Arduino Yun utilizzando una prototype shield:

irrighino-shield1 irrighino-shield2

Ho utilizzato interruttori a levetta a 3 posizioni (onoffauto); per leggere lo stato dell’interruttore ho utilizzato un PIN analogico, come spiegato in questo mio tutorial.

I LED sono collegati a PIN digitali, attraverso delle resistenze da 1K ohm, mentre la scheda relay (acquistata qui) può essere collegata direttamente, avendo a bordo i componenti (transistor…) necessari per pilotare i relay.

Ho preparato il pannello frontale con i LED e gli interruttori:

irrighino-shield3 irrighino-shield4

irrighino-shield5

Ho inserito Yun e shield all’interno di un contenitore per guida DIN da 6 unità. Una volta chiuso, mi sono accorto che la potenza del segnale wifi era molto bassa… ho quindi deciso di aggiungere allo Yun un adattatore wifi USB che avesse la possibilità di montare un’antenna esterna, come spiegato in questo mio tutorial. Ho quindi montato l’antenna all’esterno del centralino, collegandola tramite un cavetto RP SMA acquistato su eBay:

irrighino-shield6 irrighino-shield9

irrighino-shield7 irrighino-shield8

Il modulo relay è stato collocato in una scatola separata:

irrighino-shield11 irrighino-shield12

L’alimentazione viene fornita da due trasformatori, uno da 5V (per la parte elettronica) e uno da 24V (per le elettrovalvole). I due trasformatori e l’interruttore generale trovano posto in un altro centralino a guida DIN. Ecco anche una fotografia dell’installazione complessiva:

irrighino-shield10 irrighino-shield13

Impianto esterno

L’impianto di irrigazione è suddiviso in zone, ognuna delle quali comandata da una elettrovalvola.

Ho collocato le diverse elettrovalvole in pozzetti. Ogni elettrovalvola è collegata ad un relay, che fornisce l’alimentazione (24V):

irrighino-shield14 irrighino-shield15

Il sensore pioggia non è altro che un interruttore comandato da un materiale spugnoso: quando questo materiale assorbe la pioggia, inizia a espandersi fino a far scattare l’interruttore. E’ quindi possibile leggerne lo stato collegandolo ad un PIN digitale di Arduino (nello sketch ho attivato la resistenza di pullup interna):

irrighino-shield16

#define RAIN_SENSOR        8
[...]
pinMode(RAIN_SENSOR, INPUT_PULLUP);

Software

Il software che fa funzionare irrighino è suddiviso in 3 parti:

[checklist]

  • l’interfaccia web (AJAX in esecuzione nel browser) che utilizza le librerie jQuery, jQuery DataTables e jQuery WeekCalendar
  • la parte di backend, basata su PHP e SQLite
  • lo sketch in esecuzione sull’ATMega che comanda le elettrovalvole e legge sensori e pulsanti

[/checklist]

Tramite un file di configurazione (include.php) è possibile personalizzare il numero di uscite, il loro nome, il colore…:

irrighino-include

Tutto il codice è disponibile su Github. Vi rimando al file README (sempre aggiornato ad ogni nuova release) per le istruzioni su come installarlo, configurarlo e personalizzarlo!

Se state utilizzando un Arduino Yun Rev.2 o uno Yun Shield, ho preparato un articolo dove spiego esattamente come preparare tali schede per eseguire Irrighino

Related Posts

114 comments

Max 8 agosto 2015 - 07:06

Buongiorno Luca, complimenti innanzitutto!
Ho appena provato a installare la tua applicazione ma ho un paio di problemi: il browser a intervalli regolari mi dice:

“DataTables warning: table id=events-table – Invalid JSON response”

Inoltre solo appena apro l’applicazione mi segnala che il fuso orario è sbagliato, anche se mi sembra di averlo configurato in tutte le parti dove doveva essere configurato.

Per completezza, ma non credo che per ora sia importante, la scheda Arduino non ha alcun circuito collegato, sto solo provando il software.

Grazie in anticipo!
Max

Reply
Max 9 agosto 2015 - 10:56

Una parte dell’errore (timezone errata) l’ho risolta seguendo questa guida:

http://www.mauroalfieri.it/elettronica/tutorial-arduno-yun-php-timezone.html

Però ancora ho diversi problemi. Aggiorno quando risolvo

Reply
luca 12 agosto 2015 - 13:15

grazie Max, mi fai da betatester… dopo mesi che lavoro sul mio Yun è difficile ricostruire tutti i passi svolti per far funzionare irrighino 😉

Reply
Max 9 agosto 2015 - 14:19

Dove consigli di creare la directory temporanea del log? Io l’ho impostata sulla SD : ../temp/

Reply
luca 12 agosto 2015 - 13:13

ciao Max, ho aggiornato il README su Github, vedi se risolvi i tuoi problemi. Ho anche indicato la cartella dove io metto i logs (/var/log che è una temp folder così non scrivi troppo sulla SD) e i jobs che svecchiano i logs più vecchi di tot giorni.

Reply
Gianluca 8 agosto 2015 - 08:48

Ciao Luca e complimenti per il progetto!!!
Avrei una domandina:
Si è utilizzata la funzione “range” di HTML5 per la funzione slider?? come si riesce a colorare???

Grazie.
Gianluca

Reply
luca 8 agosto 2015 - 14:58

Ciao Gianluca, no ho utilizzato questa libreria per gli slider…

Reply
salman 11 agosto 2015 - 04:49 Reply
luca 12 agosto 2015 - 13:11

Yes, it outputs a digital level (ground when it rains)

Reply
Bouni 11 agosto 2015 - 05:39

Can you provide a Bill of materials or at least the manufacturer and part numbers of the valves and rain sensors?

Reply
luca 12 agosto 2015 - 13:10

Hi! I sourced those parts in a local gardening shop… for the valves, every solenoid valve should work, just pay attention that some require 12V and some 24V. My valves are made by Rain (an italian company) and the rain sensor is made by Orbit.

Reply
Richard 11 agosto 2015 - 23:13

Hi,

Very interesting project, many excellent features there.

I’m working on something that uses the same principles, but I’m lacking useful information on a suitable watering system.

Would you be able to share more detail on that side of it – the type of water valve used. A google search of the image you used in the diagram did not appear to resemble the actual watering spout used in the video – but maybe I am missing something in the watering system setup.)

I’d appreciate any pointers you might have in that regard.

Again, great work, and all the best,

R

Reply
luca 12 agosto 2015 - 20:06

Hi Richard, I provided the link to the water valves and the rain sensor I used in another comment. Thanks!

Reply
gonalo 7 settembre 2015 - 18:17

Hello.

I installed my yun your project and gives me a lot of mistakes, I think we all are connecting to the database.

to start the web give me errors on lines 103, 104, 105 include.php file.

Every so often you get an error: “DataTables warning: table id = events-table – Invalid JSON Response.”

What can be the problem ??

Thank you.

Reply
luca 8 settembre 2015 - 07:21

Hi! Are you sure you installed all the required php modules as explained in the readme? does the log folder you defined in the include.php exist?

Reply
vincenzo 3 ottobre 2015 - 02:18

Scusatemi sono davvero alle prime armi.
Potrei eseguire il tutto senza interruttori a levetta e senza led, avendo quindi solo il controllo da interfaccia web?
potrei quindi cancellare parte dello sketc?

Grazie

Reply
luca 6 ottobre 2015 - 08:02

Ciao Vincenzo

assolutamente sì, puoi configurare lo sketch in modo che legga sempre gli interruttori come “automatic” e quindi neppure collegarli… lo stesso per i led.

Reply
Marco 3 novembre 2015 - 13:14

Salve Luca, complimenti davvero per l’ottimo sito. Sto replicando questo progetto, ma non capisco come collegare i relè a 24 volt. Ho necessità di utilizzare tutti e 4 i relè in quanto vorrei gestire 4 zone di irrigazione. Puoi farmi uno schema? Grazie

Reply
luca 3 novembre 2015 - 14:35

Ciao Marco, se stai usando delle schede relay “già pronte” (come quella che ho usato io) basta collegare l’alimentazione (5V e massa) e ad ogni PIN di Arduino definito nello sketch un “input” della scheda. Se invece vuoi collegare i relay singolarmente, devi seguire lo schema su Playground.

Reply
Sandro 3 novembre 2015 - 16:41

Ciao Luca, non capisco i vari collegamenti. Si potrebbe avere uno schema fatto con fritzing? Forse chiedo troppo. Ma non so proprio come fare. Grazie!

Reply
luca 3 novembre 2015 - 20:31

Ciao Sandro, i collegamenti dipendono molto dal setup che vuoi (con i pulsanti, quanti relay…) per questo il progetto è lasciato volutamente generico

Reply
Rob 24 novembre 2015 - 04:27

Amazing project! I have been dreaming of doing something like this for some time.

Reply
luca 24 novembre 2015 - 21:00

Thanks Rob!

Reply
Vincenzo 25 novembre 2015 - 13:30

Ciao Luca, ho un prob. Per poter aprire l interfaccia web ho dovuto mettere la cartella irrighino prima in una chiamata “www” e poi il tutto dentro una “arduino” e solo cosi riesco ad accedere digitando http://'yun-ip'/sd/irrighino.
Poi una volta aperta, ho questo messaggio con una periodicità di circa 10 sec: “DataTables warning: table id=events-table_Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1” Dove ho sbagliato? Ho eseguito tutto il resto alla lettera. Ti ringrazio anticipatamente.

Reply
luca 26 novembre 2015 - 08:45

Ciao Vincenzo, hai installato tutti i requisiti come da README? Di solito quell’errore indica la mancanza di qualche modulo php…

Reply
lukasz 14 marzo 2016 - 11:49

Hello
I have a problem. Left position is available. Where to look? sketch or Web page?
Regards

Reply
luca 15 marzo 2016 - 08:29

Hi! What do you mean?

Reply
Amedeo 7 aprile 2016 - 08:59

Bellissimo progetto complimenti. Vorrei chiedere, il programma funzionerebbe anche se lo si monta su un Arduino Uno con ethernet shield, la classica… oppure funziona solo con Arduino Yun. scusatemi ma sono un po alle prime armi.. Grazie mille.

Reply
luca 7 aprile 2016 - 09:02

Ciao Amedeo. Irrighino funziona solo su Yun al momento… si potrebbe fare un “port” per Raspberry ma non per Uno o simili perché richiede una scheda in grado di eseguire Linux.

Reply
Amedeo 7 aprile 2016 - 09:15

Grazie mille. Chiedo un’altra cosa vista la mia inesperienza. Il codice php per creare la pagina web, bisogna avere un pc con un sistema tipo linux per usarlo? oppure posso usarlo anche su un pc con windows? Grazie mille

Reply
luca 7 aprile 2016 - 10:45

puoi tranquillamente usare Windows, tieni conto che tutto il codice PHP gira direttamente su Yun, a te per accedere a irrighino basta un PC qualsiasi / tablet / cellulare con un browser internet.

Reply
Pedro 26 aprile 2016 - 19:32

Hi Luca,

I’m thinking in a similar project, but I would like to connect two usb devices, an external antenna and a usb webcam, using an usb hub, something like that http://amzn.to/1pCnhsq

Do you if it is possible ?

Thanks !!

Reply
luca 27 aprile 2016 - 15:01

Hi Pedro, I was told that an external USB hub works with Arduino Yun but I never tried.

Reply
Pedro 29 aprile 2016 - 17:26

Hi again …

After reading your post I was convinced to buy an Arduino Yun, but I’ve seen that nowadays it is discontinued.

https://www.adafruit.com/products/1498

According to the information I’ve find in the web “Seeeduino cloud” appears to be compatible and similar to Yun, but I’m not sure.

Could you give some advice ?

Thanks again

Reply
luca 2 maggio 2016 - 07:43

Hi! I’ve no experience with that product but it seems that it’s fully compatible. Unfortunately the Yun seems a discontinued product, I’m planning to port the irrighino project to Raspberry Pi…

Reply
Pedro 2 maggio 2016 - 08:36

Thanks for your answer Luca !!

Pellumb 30 giugno 2016 - 12:02

Cao Luca,

Awesome project! well-thought as always.

Can the rain sensor be made DIY mode? ; i.e. experimenting with a piece of plastic pipe & sponge ??
Thank you

Reply
luca 25 luglio 2016 - 09:31

Hi! Of course… the sensor can be anything that closes the circuit if it’s raining 😉

Reply
Mig 5 luglio 2016 - 14:24

Hi Luca

Great Projekt
I build it for my own with a few modifcations.
No Rain sensor, no switches, but up to 8 solenoids,
so i can controll the filtering & salt system of my little pool.
I went in trouble setting up the with a dragino Yun shield and an Arduino Uno.
The solution was to limit the baud rate to max 115200, currently i go down to 57600.
lineo-side i put the following line in /etc/rc.local

stty -F /dev/ttyATH0 57600 clocal cread cs8 -cstopb -parenb

On the Arduino-side i call the Bridge-Library with:
Bridge.begin(57600);

so everything works smooth.

Thx for publishing this awesome Project especially the AJAX-parts.

Reply
luca 25 luglio 2016 - 09:25

Hi, thanks for the feedback and the suggestion about Dragino!

Reply
fernando 14 giugno 2020 - 11:09

hi, how can deactivate the reins sensor and switches? i want only from web, me error is “Warning unable to call irrighino” thanks

Reply
luca 15 giugno 2020 - 12:22

hi fernando, you can disable the physical switches using this const:
#define USE_SWITCHES false
if you don’t need the rain sensor, simply connect the corresponding pin to ground

Reply
Dragino YUN Shield & Arduino Bridge Library – yawb 5 luglio 2016 - 14:30

[…] use this setting with this Project Its working in my Garden for 2 Months now, without any […]

Reply
Enrico 21 luglio 2016 - 16:59

Ciao,
sto cercando di remplicare il tuo progetto sopratutto per prendere dimestichezza con l YUN Shield. Sono arrivato al punto di dover usare “crontab -e” ma non capisco cosa devo mettere al posto dei “***” e come fare a salvare ed uscire, inoltre già chhe ci siamo ti vorrei chiedere il comando per creare la cartella log. Grazie in Anticipo
Enrico

Reply
luca 25 luglio 2016 - 09:19

Ciao Enrico, gli *** vanno proprio messi così, in “linguaggio crontab” indica un task da eseguire ogni minuto. La cartella dei logs viene creata in automatico ora…

Reply
Enrico 29 agosto 2016 - 14:19

Ciao Luca e grazie della risposta.
Scusa se non ti ho risposto prima ma non ho avuto la possibilità di giocare con la scheda. Purtroppo ancora non riesco a capire dove devo mettere questi tre comandi. Ho installato i php5 ma non sono sicuro di essermi spostato nella cartella che hai indicato qui http://www.lucadentella.it/en/2013/12/05/yun-utilizzare-php/ per decommentare una linea di codice. Se da putty inserisco “crontab -e” i caratteri “*” non me li fa inserire. Mi servirebbe davvero sapere come faccio a muovermi all’interno delle cartelle tramite comando (il comando sudo non mi funziona) e cosa devo fare per inserire i comandi al crontab. Grazie in anticipo e scusa se ti disturbo ancora

Reply
excapealex 9 settembre 2016 - 11:16

Ciao Enrico, provo a risponderti io, dovresti poter inserire le tre righe di comandi dall’interfaccia web di YUN (arduino.local o 192.168.240.1 se in modalità AP) cliccando in alto su “CONFIGURE” e poi ancora su “For more advanced network configuration features, see the advanced configuration panel (luci)”
dovresti accedere al pannello di configurazione di OpenWRTYun. Andando nella scheda “System” e poi ancora “Scheduled tasks” troverai il contenuto del file “crontab”, li inserisci le tre righe di codice e salvi.

Reply
Enrico 29 settembre 2016 - 17:06

Grazie mille!!!
Ora sono riuscito a collegarmi all’inerfaccia di irrghino, solo che ho ancora dei problemi purtroppo. Innanzitutto non ho capito dove e come creare la cartella /var/log/irrighino/.
Poi appena apre l’interfaccia mi ritorna questo errore:
DataTables warning: table id=events-table – Invalid JSON response. For more information about this error, please see http://datatables.net/tn/1
più un altro errore legato alla time zone.
Inoltre se ad esempio provo a mettere una valvola ad OFF mi dice “unable to call irrighino”. Hai qualche idea su cosa ci sia di sbagliato?

luca 30 settembre 2016 - 16:20

Ciao Enrico. Non serve che tu crei la cartella, la nuova versione di Irrighino lo fa per te (prendila aggiornata da github). L’errore relativo alla timezone significa che non hai configurato correttamente il php e installato i moduli necessari (vedi la guida sempre su github).

stefano 25 agosto 2016 - 15:13

Ciao Luca,
sto testando sul mio mac il tuo progetto ma ho problemi con la libreria debug_functions.c mi restitutisce semre errore come se non esistesse anche se è stata caricata correttamente nelle cartelle librerie.
Leggevo che potrebbe essere un problema di interpretazione dell’ide arduino. io uso la 1.6.11.
qualche consiglio??
grazie mille

Reply
luca 14 settembre 2016 - 08:25

Stefano, qual è l’errore che ti restituisce l’IDE? Hai provato una nuova versione?

Reply
excapealex 5 settembre 2016 - 09:37

Ciao Luca, complimenti per l’ottimo lavoro e per quest’ottimo tutorial!

Ho riscontrato solo un problema, dopo aver configurato tutto, se mi collego direttamente via wifi a YUN in modalità hotspot tutto funziona correttamente, ma se configuro YUN sul wifi di casa e faccio l’accesso dalla rete quando accedo alla pagina web sembra non eseguire il codice PHP, ma visualizza solo la parte HTML.. E’ la prima volta che utilizzo YUN, può essere che abbia dimenticato qualcosa?

Un’altra domanda che mi sono posto è su come viene gestito l’orario in caso di mancanza di corrente non essendoci RTC con backup o un NTP configurato..

Un saluto,
Alessandro C.

Reply
excapealex 13 settembre 2016 - 11:10

Problema php risolto ripristinando Yun e rifacendo tutte le configurazioni.

RTC risolto disattivando il servizio NTP, collegando ad Arduino un modulo RTC i2c con condensatore di backup che setta l’orario del Linino quando è diversa e aggiungendo all’interfaccia web la possibilità di settare l’orario del modulo RTC (ancora in fase di test).

Reply
Manuel 9 settembre 2016 - 12:05

Ciao Luca,
ho problemi con il progetto irrighino, in particolare, non riesco ad aprire l’interfaccia web dallo yun.
Ho avuto lo stesso problema con l’esempio di PhpInfo, pero poi non sapendo come sono riuscito a farlo andare.

Quando carico la pagina da browser mi esce:
No such file or directory.

Mi sai consigliare come procedere?

Grazie

Reply
luca 14 settembre 2016 - 08:12

Manuel, sembra che lo Yun non legga la SD card… sicuro di aver creato la struttura come indicato nell’articolo? Hai provato a riavviare lo Yun dopo aver inserito la SD? a volte l’automount non funziona benissimo

Reply
Manuel 14 settembre 2016 - 16:49

Ciao Luca,
grazie per la tua risposta.
Ho realizzato la copia del tuo progetto seguendo passo passo l’articolo pubblicato su Elettronica In N°207.
Fin dal primo giorno ho avuto difficoltà con entrambi i miei yun. Tutti e due dopo aver caricato i php e aver creato la pagina php.info mi restituivano lo stesso errore. NO SUCH FILE OR DIRECTORY
Dopo alcuni tentativi uno Yun ha iniziato a lavorare regolarmente, l’altro ancora tuttora no.
Lo stesso problema mi si è ripresentato nel caricare la pagina di Set Up Irrighino.
Ho spostato e nominato le cartelle come indicato e poi caricato su SD. Sono poi passato a caricare lo sketch sull’arduino, epoi ho provato il tutto.
Dal monitor seriale ho visto che i sensori e pulsanti rispondono perfettamente, ma al caricamento della pagina /sd/irrighino, non carica nulla e mi restituisce ancora lo stesso errore.

Hai consigli?

Grazie

Reply
luca 15 settembre 2016 - 15:28

ciao, per caso hai cambiato la password di default dello Yun? In caso affermativo devi modificare di conseguenza il file include.php (riga ARDUINO_PASSWORD)

Reply
Manuel 17 settembre 2016 - 09:24

Ciao Luca,

no, non ho cambiato password. Ho solo configurato arduino yun alla mia rete wifi.

Manuel 6 ottobre 2016 - 13:45

Ciao Luca, sono riuscito a far funzionare tutto.
Ho dovuto installare OPENWRt ufficiale di arduino cc.

Mi spieghi come fare a far funzionare gli orari automatici per l’impianto.? Ho provato a programmarlo ma non va. Se lo uso in manuale tramite browser o iPhone e pulsanti funziona, ma impostando gli orari no.

Grazie

luca 9 ottobre 2016 - 15:16

Ciao Manuel, se non funziona la programmazione, probabilmente ti manca la configurazione del crontab, ovvero l’esecuzione dei task automatico che controlla la programmazione e apre/chiude di conseguenza… verifica questa parte nel tutorial

paolo 27 giugno 2017 - 17:33

Anche io ho lo stesso problema. Ho installato openwrt dal sito arduino.cc (che tra l’altro è una versione più vecchia di quella che avevo) ma nulla. Non riesco a fargli vedere la SD da 16Gb. E’ troppo grande? Da 2 Gb non se ne trovano assolutamente più

luca 30 giugno 2017 - 10:11

ciao Paolo, strano dovrebbe tranquillamente vedere le SD: come è formattata?

Giuseppe 11 settembre 2016 - 14:20

Ciao Luca, ancora complimenti.
Sto per mettermi al lavoro per replicare il tuo sistema. Mi chiedevo però se hai in mente di integrare un controllo tramite google calendar. Ho visto che tremante le API di google e temboo è possibile farlo. Credo semplificherebbe la programmazione, evitando anche il NAT
Grazie ancora

Reply
luca 14 settembre 2016 - 08:10

Ciao Giuseppe, è una idea interessante: al momennto non ho previsto questo tipo di integrazione ma se fai qualche prova tienimi aggiornato / forka il progetto su github!

Reply
antonino 13 settembre 2016 - 20:06

ciao luca bello il progetto.fatto tutto ma quando nella pagina web scelgo on o off mi dice

Warning

Unable to call irrighino

come risolvo

Reply
luca 14 settembre 2016 - 08:08

Ciao Antonino, sembra che lo sketch non stia girando su Yun: lo hai caricato correttamente?

Reply
antonino 16 settembre 2016 - 16:41

lo sketch l’ ho caricato ..credo che il problema sia nell ‘include.php.
In breve il mio arduino lo raggingo con http://192.168.0.106/sd/irrighino/

Ancora non ho capito come associarlo all url http://localhost/arduino/.

cmq

nel file include ho modificato
(“ARDUINO_BASE_URL”, “http://localhost/arduino/”);
in:
define (“ARDUINO_BASE_URL”, “http://192.168.0.105/arduino/”);

Reply
antonino 19 settembre 2016 - 13:28

scusa
in
define (“ARDUINO_BASE_URL”, “http://192.168.0.106/arduino/”);
Leave A Response »

Reply
stefano 21 settembre 2016 - 15:57

Buonasera Luca
ottimo lavoro! complimenti!
Ho acquistato lo shield e installato il tutto.
ho un problema di questo tipo: quando da web cerco di modificare manualmente un uscita il sistema mi da questo errore:
Unable to change output status: Unable to call Arduino to manually turn ON output 0, error code: Couldn’t resolve host ‘steyun’
cosa posso aver sbagliato?
grazie
ciao

Reply
luca 21 settembre 2016 - 20:25

ciao Stefano, hai per caso modificato il file di configurazione mettendo “steyun” al posto di “localhost”? Quel parametro non va modificato perché serve per la comunicazione “locale” (localhost appunto) tra la parte scritta in PHP e lo sketch.

Reply
stefano 21 settembre 2016 - 21:24

In effetti si lo avevo modificato…..ora, corretto, le prime tre zone funzionano correttamente. La quarta “rear” da il seguente errore Unable to change output status: Unable to call Arduino to manually turn OFF output 3, error code: KO_MANUAL
Non mi sembra di aver toccato altro 🙂
grazie mille

Reply
stefano 24 settembre 2016 - 15:02

Volevo chiederti inoltre un paio di cose…
come potrei fare per inserire all’interno dello sketch e della pagina web una parte relativa alla lettura di temperatura e umidità?
al momento sto usando un ds18b20 e mi piacerebbe integrarlo.
Grazie mille
ciao ciao

Reply
luca 30 settembre 2016 - 16:19

Ciao Stefano, dovresti per prima cosa modificare il DB Sqlite per memorizzare anche quei valori. Poi preparare una pagina php che riceve dallo sketch i dati e li salva nel db, simile alla updateRainSensorStatus.php e aggiungere nello sketch la chiamata a tale pagina passando il valore letto dal sensore. Infine modificare la parte HTML per visualizzare in qualche modo i dati leggendoli dal DB.

luca 30 settembre 2016 - 16:16

Ciao Stefano, KO_MANUAL significa che Arduino “legge” l’interruttore fisico come impostato su OFF.

Reply
stefano 3 ottobre 2016 - 16:30

Grazie Luca…. attualmente non ho ancora inserito gli interruttori fisici…li sto aspettando.
Gli altri 3 funzionano correttamente ma qui mi da errore…come è possibile se gli interruttori non ci sono??
grazie ciao ciao

luca 6 ottobre 2016 - 13:06

E’ possibile che per questo lo Yun legga uno stato non consistente… stai usando lo sketch e il db per 4 uscite giusto? L’ultimo presente su github?

stefano 21 ottobre 2016 - 18:22

Si, è l’ultima versione.
secondo te come mai il sistema non tiene in memoria le impostazioni immesse nel runtime e non memorizza le variazioni nella tabella events??

stefano 21 ottobre 2016 - 20:48

mi spiego meglio.
Impostando su on o off i vari settori la barra si reimposta automaticamente su auto dopo pochi secondi e la tabella events non registra alcuna variazione.

Reply
nino 8 novembre 2016 - 12:44

se commenti la parte del codice:
// ———- CHECK PANEL SWITCHES ———-
// if(USE_SWITCHES) {
//
// int actualSwitchPosition;
// actualSwitchPosition = readSwitchStatus(SWITCH_1);
// if(actualSwitchPosition != switch1Position) {
// updateSwitchPosition(SWITCH_1, actualSwitchPosition);
// switch1Position = actualSwitchPosition;
// }
// actualSwitchPosition = readSwitchStatus(SWITCH_2);
// if(actualSwitchPosition != switch2Position) {
// updateSwitchPosition(SWITCH_2, actualSwitchPosition);
// switch2Position = actualSwitchPosition;
// }
// actualSwitchPosition = readSwitchStatus(SWITCH_3);
// if(actualSwitchPosition != switch3Position) {
// updateSwitchPosition(SWITCH_3, actualSwitchPosition);
// switch3Position = actualSwitchPosition;
// }
// }
funziona.
Nell’ ultima versione manca la dichiarazione :
int switch4Position;
e quindi devi inserire anche il controllo.

actualSwitchPosition = readSwitchStatus(SWITCH_4);
if(actualSwitchPosition != switch3Position) { updateSwitchPosition(SWITCH_4, actualSwitchPosition);
switch4Position = actualSwitchPosition;
}

Reply
Nino 22 novembre 2016 - 08:27

Ciao Luca mi puoi chiarire come funziona il codice? il sensore pioggia nel caso in cui ha piovuto non fa partire l irrigazione programmata?

Reply
luca 11 dicembre 2016 - 17:42

Ciao Nino, se sta piovendo o comunque il sensore è attivo (i sensori pioggia hanno un tempo di “ripristino” abbastanza alto visto che deve asciugarsi la spugna al loro interno) salta la programmazione

Reply
nino 12 dicembre 2016 - 05:35

ciao ho modificatio il codice in un po di punti cmq, arduino ora random i blocca.
Ho commentato server.listenOnLocalhost(); e embra che non i blocca piu ma il pannello web ha dei blocchi…rieci a darmi qualche idea?

Reply
nino 12 dicembre 2016 - 20:53

nel tuo codice ho inserito dei sensori che loggano su thingspeak…senza server.listenOnLocalhost(); il pannello web era inutilizzabile quindi l’ ho rimesso ….ma ho usato al posto di run….. p.runAsynchronously(); non logga ogni minuto come ho previsto ma almeno non sembra bloccarsi.come posso vedere cosa blocca yun?

Reply
Marco 27 dicembre 2016 - 17:38

Ciao Luca, complimenti per l’ottimo lavoro. Purtroppo il mio impianto di irrigazione è rimasto zoppo quando mi si è rotta la centralina Hunter, così mi stavo guardando intorno per una soluzione simile alla tua. Avendo già un raspberry attivo per altri scopi ed essento la tua interfaccia grafica decisamente accattivante, quale parte del tuo progetto andrebbe modificata per eseguire il porting? Mi rimane poi da risolvere il problema delle EV alimentate a 9V ma quello penso si riesca a risolvere mettendo in parallelo 2 rele… ed una batteria rettangolare

Reply
luca 28 dicembre 2016 - 08:46

Ciao Marco, devi rifare completamente la gestione delle valvole, del sensore pioggia e del pannello interruttori che attualmente è basata su uno sketch per ATMega… e l’interazione tra lo sketch e il programma principale che ora si basa sulla libreria “Bridge” di Arduino.

Reply
anthony 23 febbraio 2017 - 12:44

ciao Luca, volevo sapere da quante posizioni sono le due scatole a guida din.
grazie ciao anthony

Reply
anthony 23 febbraio 2017 - 12:55

Scusami, ho appena letto, sono da 6 unità.

Reply
stefano 10 aprile 2017 - 17:16

ciao Luca. al momento il sistema funziona quasi del tutto ma ho un problema: inserendo nella cartella setup i vari tempi di accensione temporizzati questi non sembra che vangano letti dal codice quindi il’irrigazione non parte…
inoltre se dai comandi esterni muovo gli interruttori ad esempio su in e li riporto su auto lo stato non cambia sul web, la luce di controllo non si spegne e il relè non modifica lo stato. da cosa possono dipendere le 2 cose??

Reply
Davide 7 giugno 2017 - 18:16

Ciao Luca, complimenti per il progetto.

ho messo su il tutto e funziona egregiamente, una domanda, avendo 14 elettrovalvole nella skermata di Setup diventa problematica la gestione della pagina anche da pc, le colonne delle varie valvole sono sottili. C’è la possibilità di dividere in 2 pagine la gestione?

Reply
luca 14 giugno 2017 - 12:42

Ciao Davide, potresti si dividere le valvole in due tabs… se apri il file index.html vedrai che attualmente il tab setup è creato così:
[li][a href="#setup-fragment"][span]Setup[/span][/a][/li]
e tale fragment contiene un DIV con id=’calendar’. Il calendario vero e proprio viene creato nel file irrighino-js.php, funzione initWeekCalendar(). Dovresti quindi modificare/copiare tale funzione per creare due calendari diversi, associati ai due DIV e quindi ai due TAB.

Reply
Thor 10 ottobre 2017 - 17:39

Molto interessante il tuo Irrighino Luca!
Io mi chiedo solo se volendo controllarlo da remoto (non solo dalla LAN), c’è modo di impostare una password di sicurezza per limitare l’accesso alla parte di comando web ai soli autorizzati?

Reply
luca 11 ottobre 2017 - 10:55

Ciao, potresti implementare l’autenticazione di uhttpd (webserver utilizzato da Yun)

Reply
Massimo 23 gennaio 2018 - 15:15

Ciao Luca, prima di tutto complimenti per i tuoi articoli molto ben fatti e complimenti per questo progetto!!
Dovrò posizionare il mio irrighino in un pozzetto in giardino quindi lontano da una presa elettrica, hai qualche consiglio su come alimentarlo? Sarebbe possibile alimentarlo con un pannellino solare?

Grazie mille per il tuo tempo e a presto! 🙂

Reply
luca 23 gennaio 2018 - 16:44

Ciao Massimo e grazie! Un pannello solare + batteria potrebbero fare al caso tuo… attento soprattutto alle elettrovalvole (se anche queste devi alimentarle non da rete elettrica) perché richiedono molta corrente per aprirsi/chiudersi

Reply
stefano 23 marzo 2018 - 17:50

ciao Luca, scusa il disturbo,
dopo l’inverno, periodo in cui ho spento l’impianto per ovvi motivi, o riacceso irrighino oggi per un controllo e il sistema mi ha iniziato a dare un errore….”Unable to change output status: Unable to call Arduino to manually turn ON output 1, error code:” ma è tutto esattamente come l’ho lasciato 5 mesi fa….cosa devo controllare scondo te??
grazie

Reply
luca 25 marzo 2018 - 09:42

ciao Stefano, controlla se per caso è saltata la programmazione dello sketch. Quell’errore indica la mancata comunicazione tra le due componenti dello Yun… altrimenti per caso hai cambiato la password?

Reply
Stefano 25 marzo 2018 - 09:50

Ho provato a ricaricare lo sketch, a disabilitare gli switch, a staccare la shield. Ma niente. Sempre lo stesso errore. Quando riavvio la yun ho notato che nella sezione events appare un : sensore pioggia attivato e ho quindi pensato ad un contatto dei pin che lo leggono(nel mio progetto non ho istallato sensori per la pioggia)password cambiate nel frattempo solo quella del router wifi, ho messo la fibra, ma ho conseguentemente cambiato la configurazione della yun con il reset della sola parte wifi. Quali altre prove posso fare? Posso resettare tutto e quindi reinstallare anche la parte php o secondo te il problema è altro??

Reply
luca 25 marzo 2018 - 15:03

ciao, prova a resettare tutto e fare un upload pulito…

Reply
stefano 25 marzo 2018 - 19:45

finalmente risolto il problema…. adesso come per magia ne appare un altro… ho testato il tutto attaccato al pc… stacco lo yun, lo riattacco ai moduli relè e adesso non mi legge più la sd e mi dice sempre no such file or directory. ma ho inserito tutto apparentemente in modo corretto: formattato la sd in fat 32, inserita la cartella irrighino/www con i file ma non trova niente….

Reply
Marcos 12 luglio 2018 - 18:55

Hi Luca, I’m thinking to use this system in my house as an experiment and first steps with arduino. But I’m wondering if the code that you uploaded to github is compatible with other variants of arduino more cheap because it’s my first project.

Thanks!

Reply
luca 13 luglio 2018 - 08:01

hi Marcos, no you have to use the Yun because my irrighino project requires a linux distribution.

Reply
Cosimo 20 luglio 2018 - 23:32

Salve Luca, davvero complimenti per il lavoro effettuato. purtroppo non ho una Yun per testarlo, ma dai codici e immagini mi sembra un proggetto davvero completo e fatto bene. Volevo sapere se per caso è disponibile anche la versione per Raspberry Pi 3 B+. Ho letto qualche commento in cui parlavi di riuscire ad adattarlo ma ammetto di non essere un genio della programmazione come te.

Reply
luca 4 agosto 2018 - 13:24

Ciao Cosimo… ci sta lavorando un amico: appena sarà pronto lo aggiungerò anche sul mio sito!

Reply
Jose Manuel 2 settembre 2018 - 23:34

Dear Luca.

Many thanks for this project, it match perfectly with my project. I’ve been following your project and everything is working perfect, except one thing. The relay module works with inverse logic and if I connect valves with your configuration and power supply fails, valves will being open while the power supply will returns. Have you take in consideration this? If you have solved this, How did you solve?

Thanks in advance
Kind regards

Reply
Davide Caliari 25 settembre 2018 - 16:42

ciao, sto eseguendo l’installazione preliminare dei pacchetti sullo yun, la guida mi dice di attivare l’interprete php con il comando nano /etc/config/uhttpd il quale mi risponde: -ash: nano: not found, cosa sbaglio?
grazie

Reply
luca 25 settembre 2018 - 20:53

ciao Davide, è possibile che l’editor “nano” non sia presente sul tuo Yun… o utilizzi “vi” oppure puoi installarlo

Reply
Davide Caliari 26 settembre 2018 - 10:08

ho risolto insistendo e controllando in rete, ora lo sketch mi da un errore in fare di compilazione ‘switch4position was not declared in this scope’ premetto che la scheda irrighino non l’ho ancora assemblata e collegata ma l’errore me lo da in fase di verifica da ide quindi questo non dovrebbe influenzare in alcun modo

Reply
davide c 1 ottobre 2018 - 11:21

Ciao Luca, installando i vari pacchetti ho visto che php5 non è più disponibile, ho installato quindi php7, la procedura negli altri punti rimane uguale oppure cambia? Non conoscendo php volevo sapere come comportarmi.
grazie

Reply
luca 2 ottobre 2018 - 16:09

ciao Davide, prova… non so se il mio codice è compatibile con php7

Reply
Davide Garbujo 24 ottobre 2018 - 17:01

Ciao Luca, premetto che sono 2 anni che è attivo e lavora alla grande ho due problematiche da sottoporti.

1 – avendo finito i pin digitali sto usando gli analogici per comandare le zone. in suddette zone si presenta un problema, sia in manuale che in skedulazione quando mani in ON la zona la pagina web da errore
“Unable to change output status: Unable to call Arduino to manually turn ON output 14, error code:”
ma in realtà la zona viene aperta.

Analizzando il monitor seriale della Yun ho notato che mentre i pin digitali hanno una risposta immediata al cambio di stato, quelli analogici passa anche 30 secondi prima che sulla seriali stampi il cambio di stato.

il problema si presenta solo in fase di ON, in OFF tutto funziona

cosa può essere?

Reply
Davide Garbujo 24 ottobre 2018 - 17:05

2 – precedente ti avevo chiesto se era possibile divide il menu di skedulazione in 2 tab diverse.
essendo tante elettrovalvole diventa difficile con una sola tab, ho fatto quanto mi avevi scritto ma in entrambe vedo tutte le elettrovalvole, come faccio a definire che nella prima ci siano dalla 1 alla 8 e nella seconda dalla 9 alla 16

grazie miele

Reply
lucadentella.it – Irrighino e Yun Rev.2 2 febbraio 2019 - 11:46

[…] Irrighino è stato uno dei miei progetti più apprezzati: si tratta di una centralina per l’irrigazione automatica basata su Arduino Yun e controllata via web, anche da smartphone. […]

Reply
Fernando 6 maggio 2020 - 08:50

Hi Luca, i have a arduino yun whith thr last versión, i want install irrighino, i need preparate thriller board installing Ph or only os for rev2? Thanks

Reply
luca 1 giugno 2020 - 10:56

Hi Fernando, I’ve a post about it.

Reply

Rispondi a luca Cancel Reply

4 × 5 =