Questa è la seconda parte dell' articolo in cui è spiegato come completare l'esperimento con il Raspberry Pi che permette nell' avere a disposizione un cloud, un mini impianto di videosorveglianza, gestire relè da remoto e quindi accendere luci, forno, aprire porta... e di visualizzare la temperatura di un ambiente. Tutto tramite una interfaccia Web e gestibile da remoto.
Nell’articolo precedente abbiamo visto come preparare il nostro Raspberry Pi per realizzare questo esperimento; in questa seconda parte, invece, vedremo:
- come effettuare il collegamento fisico tra il Modulo dei relè e il Raspberry;
- come è possibile gestire da remoto tramite una connessione internet i relè e quant’altro;
- di quali script e software abbiamo bisogno per gestire i relè tramite una pagina web, visualizzare la temperatura ambiente ed effettuare la gestione del cloud e la videosorveglianza tramite webcam.
Per effettuare il collegamento fisico tra il nostro Raspberry Pi ed il modulo dei relè avremo bisogno di un cavo di connessione GPIO, oppure per come ho fatto io, si può usufruire di un vecchio cavo per lettore floppy, tagliandolo a metà e, dopo aver connesso al Raspberry Pi la prima metà, bisognerà individuare quali fili corrispondono a:
- +5V - GND -GPIO 1 -GPIO 4 -GPIO 9 -GPIO 10 -GPIO 11 -GPIO 17 -GPIO 21 -GPIO 22
Etichettiamolo, così da non confonderci quando effettueremo il collegamento con il modulo dei relè. L'altra metà del cavo andrà collegata, ovviamente, al modulo dei relè e, come fatto in precedenza, bisogna individuare i fili che corrispondono a:
- VCC - GND - IN1 - IN2 - IN3 - IN4 - IN5 - IN6 - IN7 - IN8
- Colleghiamo, allora, il tutto così:
- (+5V) con (VCC),
- (GND) con (GND),
- e porte (GPIO X) con le entrate (IN).
Bene, ora il collegamento è stato effettuato; andiamo avanti.
Tra gli obbiettivi prefissati per questo esperimento c’è quello di poter accendere e spegnere i propri dispositivi a distanza tramite una connessione Internet e, quindi, senza che ci sia bisogno di essere fisicamente presenti per poter accendere un forno, le luci di casa, la lavatrice, aprire il portone di casa, e così via.
Per poter gestire l’GPIO impostandolo IN/OUT ho scelto di utilizzare il programma WebIOPi che permette di impostare l'INPUT e l'OUTPUT di tutte le GPIO, così per qualche progetto futuro ho già il lavoro cominciato. Per effettuare l'installazione istallarlo vi consiglio di seguire i semplici passi che vi vado a descrivere.
Per prima cosa, se non abbiamo installato o aggiornato pyton, dobbiamo farlo digitando:
Naturalmente confermiamo l'installazione ed aspettiamo che faccia il suo lavoro.
Adesso dobbiamo scaricare ed installare WebIOpi digitando:
A questo punto, configuriamo:
dove porta e’ la porta di python che di default la porta 8000. Per comodità mettiamo tutto in avvio automatico digitando:
Una volta terminate queste semplici operazioni, apriamo il browser e andiamo alla pagina
http://indirizzo_raspberry:8000/webiopi
qui compare una schermata tramite la quale possiamo gestire la configurazione dei pin in Entrata o Uscita cliccando sul numero di pin per cambiare lo stato Acceso-Spento.
Naturalmente questa pagina può essere modificata senza troppi problemi cercando le istruzioni sul sito del programma.
Per il cloud, dopo aver creato uno script in php ho deciso di utilizzarne uno che non ho creato io per questione di estetica, e perciò lascio la scelta a voi.
Per avere a disposizione i files che sono su un Hard Disk bisognerà spostare la cartella www sul disco esterno e modificare il file di configurazione di apache che si trova in
digitando sul nostro raspberry:
modificando:
Per mettere il tutto online basta registrare un dominio dns ed impostare nella pagina di gestione del router l'indirizzo che abbiamo creato. Io ho creato un dominio su http://dyndns.it/ e devo dire che mi trovo davvero bene.
Per la parte che riguarda la visualizzazione della temperatura, ho scelto di utilizzare il sensore di umidità e temperatura DHT11, ma purtroppo sto riscontrando alcuni problemi nei test che al più presto cercherò di risolverere, ed allora scriverò un UPGRADE nei commenti.
Naturalmente per come ha già fatto qualcuno, non esitate a contattarmi se trovate difficoltà o avete domande. A Presto!











Ma solo temperatura o anche
Ma solo temperatura o anche umidità?
E perchè non un sensore di gas e fumo in cucina?
Ed uno di CO in garage? :)
Le possibilità sono infinite...
Effettivamente hai ragione:
Effettivamente hai ragione: le possibilità sono infinite...
Ma proprio per questo, dai tempo al tempo... ci arriveremo :)
Magari gli diamo una mano anche noi ;)
Bel lavoro, aspetto il
Bel lavoro, aspetto il prossimo post. Complimenti
esatto
Esatto, le possibilitá sono davvero infinite... A presto! :)
Non so se ti sei reso conto
Non so se ti sei reso conto che c'è un certo interesse sulla sperimentazione che hai avviato :D
Attendiamo il prossimo articolo :D
Tranquilli...
Adesso che mi sono ripreso dall'influenza riprendo anche la sperimentazione :)
Applicazione insieme all'impianto analogico
Raga ho provato il progetto e vá tutto bene, il problema é che se volessi provare ad usare il Tutto unitamente agli interruttori di casa ho dei problemi. Nel senso se accendo da interfaccia web il pin é sempre in tensione, volendo potrei anche riuscire a spegnere la luce creando una sorta di simulazione di tasto pigiato, il,problema é che poi non riesco piú ad agire sull interfaccia web in quanto la stessa risulta oscurata dal interruttore. Avete qualche soluzione o il sistema é utilizzabile solo da remoto? Oppure cé qualche configurazione di uscite ed entrate che mi sfugge sul rasp.?
Chiedo conferma a qualcuno più esperto
Ciao, così per come è, serve per gestire carichi da remoto, ma per utilizzarlo con degli interruttori oltre che da web, dovrebbe bastare implementare un arduino che fa da tramite.
Si dovrebbero sostituire gli interruttori normali con quelli che non rimangono premuti come quelli da cs.
Ho disegnato un piccolo schema:
http://imageshack.us/photo/photo/4/20130415124359.jpg/
Fammi sapere
Possibile?
Ciao! Sono molto interessato al tuo lavoro, dopo aver cercato in lungo ed in largo per la rete ho trovato finalmente un progetto che sfrutti solo RaspberryPi senza Arduino.
Come sensore di temperatura/umidità ho trovato questo che già ha un interessante guida per l'utilizzo: https://www.adafruit.com/products/393#Learn
Il mio obiettivo sarebbe però automatizzare il tutto facendo in modo che a certi valori di temperatura e/o umidità rilevati corrisponda l'eccitazione o meno di alcuni relè. La vedi fattibile?
Complimenti ancora per il lavoro!
Ciao ti ringrazio per i
Ciao ti ringrazio per i complimenti :)
Si, è fattibile. ..
Si dovrebbe scrivere un programma che rilevata la temperatura, Setta delle condizioni:
Ad esempio se temp> 20º eccitá relè1
Se temp <20 eccitá relè 2
E così via...
Fammi sapere,
Ivan :)