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 umidità?
E perchè non un sensore di gas e fumo in cucina?
Ed uno di CO in garage? 🙂
Le possibilità sono infinite…
Bel lavoro, aspetto il prossimo post. Complimenti
Effettivamente hai ragione: le possibilità sono infinite…
Ma proprio per questo, dai tempo al tempo… ci arriveremo 🙂
Magari gli diamo una mano anche noi 😉
Esatto, le possibilitá sono davvero infinite… A presto! 🙂
Non so se ti sei reso conto che c’è un certo interesse sulla sperimentazione che hai avviato 😀
Attendiamo il prossimo articolo 😀
Adesso che mi sono ripreso dall’influenza riprendo anche la sperimentazione 🙂
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.?
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
Ciao, non ho grandi conoscenze di elettronica e mi sono iscritto a eletrtonica Open source per masticare meglio l’argomento e per fare esperimenti di Domotica fai da te. Potresti mandare anche a me lo schema di come collegare il rasperry all’arduino?
Ciao Stefano
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 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 🙂
ciao , io vorrei sapere a cosa serve Apache , Php ecc.. e poi sarebbe possibile avere il sorgente del payton o se non sbaglio lo script in php ?? per gestire i relè ?? grazie .
puoi spiegarmi questo per piacere ; ti copio ed incollo quello che hai scritto tu :
” 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. ”
ps. complimenti
poi vorrei avere un consiglio : devo connettere la raspberry a dei relè da 5V con connessione GPIO … conosci qualche shield per ruspberry ? . ps puoi caricata una foto del per vedere il tuo collegamento tra raspberry e relè? grazie!
Il sorgente lo puoi trovare nella prima parte dell’articolo.
Apache Guarda questo link – Serve per utilizzare il Raspberry Pi come Web Server
Php è un linguaggio di programmazione interpretato, originariamente concepito per la programmazione di pagine web dinamiche.
Con il primo paragrafo intendo dire che la pagina di gestione dei pin GPIO può essere modificata facilmente affidandosi al sito ufficiale di Webiopi.
Con il secondo invece voglio dire che nonostante ho creato io personalmente un sistema cloud, non essendo stato soddisfatto del risultato ottenuto, non voglio condividerlo. Ognuno è libero di utilizzare quello che vuole.
Spero di averti aiutato, se hai bisogno di qualcosa… io sono quì.
Saluti,
Ivan
Ciao, comincio a risponderti da questo commento:
Ti sconsiglio di utilizzare delle shield, puoi benissimo utilizzare dei moduli relè da collegare tramite dei jumper ai pin GPIO.
Ecco una foto con il materiale di cui hai bisogno:
ciao Ivan grazie mille dell'immagine !
ho ordianto i relè e i cavetti …
appena mi arriva il tutto .. procedo con la configurazione hardware e poi vedo un po come procedere con la parte software e ti faccio sapere =) grazie mille:P
ps. come posso creare un claud anche io =?purtroppo no sono molto pratico
Ciao, complimenti per la guida!! 🙂 potresti dirmi come si chiamano in modo più tecnico, i cavetti colorati per collegare il rasp al rele? Te lo chiedo perchè non li ho e li dovrei acquistare su ebay, ma non so come si chiamano… Grazie, Pier 🙂
Ciao grazie per i complimenti 🙂
I cavetti non hanno un nome preciso…
Puoi cercarli con: “fili arduino” o “cavi jumper arduino”.
Saluti,
Ivan
Ciao, visto che non sei molto pratico puoi cercarne uno già fatto.
Puoi cercare su google Cloud PHP.
Ad esempio ho trovato Questo.
Saluti,
Ivan
ciao , ho registrato il domino su dyndns.it con riferimento al mio router , ma adesso vorrei che "entri "sulla mia raspberry , perchè ho creato una pagine web in php che migestisce i relè ecc. ma la posso gestire solo all'interno della casa perchè tutto è connesso al mio router di casa e quindi vorrei far connettere l'indirizzo dns all'indirizzo interno del mio ruoter ovvero quello connesso alla raspberry . è possibile fare ciò ? grazie
Nel momento che accedo alla pagina web mi chiede di autenticarmi , dove ho sbagliato ?
Grazie
Bello! Ho ordinato anch’io relè e cavetyi.. 🙂
Il primo pezzo dell’articolo non esiste più…
o meglio… è cambiata la pagina rispetto a quella che riporti in questo articolo
http://it.emcelettronica.com/progetto-raspberry-pi-casa-domotica-e-videosorveglianza-gestibile-da-remoto-assistente-personale
Salve Ciro, ti ringrazio per la segnalazione! Ho provveduto ad aggiornare il link alla prima parte del progetto!
Sono un paio d’anni che uso un Raspberry pi 2 come impianto di domotica. Tra tutte le sue mansioni, deve anche misurare temperatura e umidità esterna ed interna tramite due sensori DHT22 con cui ho avuto sempre un dubbio di affidabilità. Con crontab ho pianificato l’acquisizione ad intervalli regolari (5 minuti) che vengono loggati in un file ASCII che a sua volta viene graficato in una pagina web. Ho avuto sempre avuto dubbi sull’affidabilità dei DHT22, dato che randomicamente restituisce valori non realistici. Ho appurato non essere un problema di protocollo, sono convinto che se il sensore non ha un minimo di ventilazione non è affatto affidabile. Sto cercando una valida alternativa.
Comunque, nell’articolo con interessanti spunti.