Dopo un lungo periodo di assenza torno a parlare in questa quarta parte della realizzazione di un impianto di irrigazione automatizzato grazie al Raspberry Pi. Per la precisione vedremo le connessioni da eseguire sulle porte GPIO e gli altri pin presenti sulla nostra board.
Tutto il progetto è stato realizzato utilizzato un Raspberry Pi “modello B” di prima generazione e quindi tutte le connessione che indicherò faranno riferimento alla pedinatura di questo modello specifico. Niente vieta però di utilizzare un Raspberry Pi diverso da quello indicato o di eseguire le connessioni dei vari apparati a porte gpio diverse da quelle qui specificate. Infatti nello script di gestione che illustrerò nel prossimo articolo, sarà possibile rimappare ogni elemento andando a definire gli ingressi/uscite in un apposito file di configurazione.
Nella tabella che segue sono riepilogate le connessioni gpio eseguite e le connessioni per fornire l’alimentazione ai vari moduli/sensori. La colonna Physical indica la numerazione fisica corrispondente ai vari piedini presenti sul Raspberry Pi, mentre la colonna BCM indica l’id con cui vengono identificate le porte gpio. Questi id verranno poi utilizzati nel file di configurazione dello script per mappare i vari elementi.
Physical | Descrizione | BCM |
---|---|---|
1 | 3.3V Alimentazione sensore pioggia | |
2 | 5V Alimentazione modulo switch 1 (MSW1 VCC) | |
3 | GPIO 2 Deviatore 1 alimentazione (MSW1 IN1) | 2 |
4 | 5V Alimentazione modulo switch 2 (MSW2 VCC) | |
5 | GPIO 3 Deviatore 2 alimentazione (MSW1 IN2) | 3 |
6 | GND Massa modulo switch 1 (MSW1 GND) | |
9 | GND Massa sensore pioggia) | |
11 | GPIO 17 Elettrovalvola 1 (MSW1 IN3) | 17 |
12 | GPIO 18 Elettrovalvola 4 (MSW2 IN2) | 18 |
13 | GPIO 27 Elettrovalvola 2 (MSW1 IN4) | 27 |
15 | GPIO 22 Elettrovalvola 3 (MSW2 IN1) | 22 |
16 | GPIO 23 Elettrovalvola 5 (MSW2 IN3) | 23 |
18 | GPIO 24 Elettrovalvola 6 (MSW2 IN4) | 24 |
22 | GPIO 25 Digital Output (DO) sensore pioggia | 25 |
25 | GND Massa modulo switch 2 (MSW2 GND) |
Ogni elemento della tabella può essere ritrovato nello schema elettrico riportato qui sotto.
Per eseguire eventuali verifiche del corretto collegamento dei vari pin sul Raspberry Pi è possibile utilizzare da shell il comando gpio con il quale, oltre a programmare e impostare lo stato delle varie porte, è anche possibile visualizzarne lo stato. Questa utility non è direttamente presente ma deve essere installata mediante la libreria wiringPi, la quale sarà anche necessaria per il corretto funzionamento dello script di gestione.
L’installazione può essere eseguita impartendo i seguenti comandi da shell direttamente dalla propria home:
sudo apt-get install git-core sudo apt-get update sudo apt-get upgrade git clone git://git.drogon.net/wiringPi cd wiringPi git pull origin ./build
Una volta eseguiti installato wiringPi è possibile utilizzare il comando gpio readall per visualizzare lo stato di tutte le porte gpio, che nel mio caso sono come segue:
+-----+-----+---------+------+---+-Model B2-+---+------+---------+-----+-----+ | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM | +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+ | | | 3.3v | | | 1 || 2 | | | 5v | | | | 2 | 8 | SDA.1 | OUT | 1 | 3 || 4 | | | 5V | | | | 3 | 9 | SCL.1 | OUT | 1 | 5 || 6 | | | 0v | | | | 4 | 7 | GPIO. 7 | IN | 1 | 7 || 8 | 1 | ALT0 | TxD | 15 | 14 | | | | 0v | | | 9 || 10 | 1 | ALT0 | RxD | 16 | 15 | | 17 | 0 | GPIO. 0 | OUT | 1 | 11 || 12 | 1 | OUT | GPIO. 1 | 1 | 18 | | 27 | 2 | GPIO. 2 | OUT | 1 | 13 || 14 | | | 0v | | | | 22 | 3 | GPIO. 3 | OUT | 1 | 15 || 16 | 1 | OUT | GPIO. 4 | 4 | 23 | | | | 3.3v | | | 17 || 18 | 1 | OUT | GPIO. 5 | 5 | 24 | | 10 | 12 | MOSI | IN | 0 | 19 || 20 | | | 0v | | | | 9 | 13 | MISO | IN | 0 | 21 || 22 | 1 | IN | GPIO. 6 | 6 | 25 | | 11 | 14 | SCLK | IN | 0 | 23 || 24 | 1 | IN | CE0 | 10 | 8 | | | | 0v | | | 25 || 26 | 1 | IN | CE1 | 11 | 7 | +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+ | 28 | 17 | GPIO.17 | IN | 0 | 51 || 52 | 0 | IN | GPIO.18 | 18 | 29 | | 30 | 19 | GPIO.19 | IN | 0 | 53 || 54 | 0 | IN | GPIO.20 | 20 | 31 | +-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+ | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM | +-----+-----+---------+------+---+-Model B2-+---+------+---------+-----+-----+
Bene, anche per questa volta è tutto.
Nel prossimo post descriverò lo script che ho creato per gestire l’impianto di irrigazione.
A presto.
Ciao, post interessante, grazie. Ho qualche problema con una piface, con il pi che in chiusura di un contatto deve chiamare un sito web, ma non va quasi mai … non è che posso chiederti una consulenza? 😛
Ciao Stefano,
non ho esperienza con piface ma se posso esserti di aiuto più che volentieri.
Dammi qualche dettaglio in più per capire come posso aiutarti,
Ho scritto qui un riassunto: http://forum.raspberryitaly.com/showthread.php?tid=1017
grazie mille
è possibile collegare una coppia di schede relè da 8 relè cadauno? Se si potresti dirmi come? Grazie
Ciao @Mario,
direi di si che puoi collegare due schede relay da 8 moduli. Per collegare 16 relay probabilmente dovrai usare almento un Raspberry Pi 2 dove ci sono abbastanza gpio per collegare tutti i ralay.
Ciao scusate dopo tanto ho dovuto reinstallare pigarden, e magari mi sono perso qualcosa,ho seguito questa guida ma non mi è possibile intallare wiringpi mi da errore,ma cmq ho visto che nel sistema è presente,riesco a fare gpio readall e visualizzare la schermata delle porte,posso anche comandare i vari relay a mano, ma non riesco a for comunicare pigardeweb con i gpio,da interfaccia web qualsiasi cosa faccia non mi apre i relay.
Ciao Stefano,
se facendo aprire l’irrigazione direttamente da shell con piGarden.sh funziona vul dire che wiringpi è ok.
Probabilmente hai un problema di comunicazione tra piGarden e piGardenWeb.
PiGardenWeb ti da qualche messaggio di errore quando provia ad aprire l’irrigazione?
Eventualmente prova a controllare i nomi che hai dato alle varie zonem, non devono contenere spazio, punti, virgole o carettarei strani. Sono ammessi solo caratteri alfanumericio l’underscore.
Ciao ho piallato tutto é reinstallato ora funziona tutto, probabilmente sarà andato storto qualcosa nella precedente installazione, ho visto che nel file manager di pigardenweb ci sono delle icone da poter usare per i switch, come posso cambiare icona?
Trovato come cambiare icone,bastava aprire gli occhi.
Buonasera,
volendo inserire un comando per attivare la pompa dedicata all’irrigazione, cosa si deve fare? Ovvero, un gpio out che si attiva e resta attivo per tutto il tempo di irrigazione di tutte le zone.
Ciao @Paolo,
puoi definire una nuova elettrovalvola monostabile fittizia su cui collegare la pompa.
Per indicare che l’elettrovalvola è monostabile devi impostare il paramentro
EVx_MONOSTABLE=1
dove x sta ad indicare il numero dell’elettrovalvola, esempio:
EV3_MONOSTABLE=1