Raspberry PI - implementazione di un sistema di domotica a prezzi accessibili [Parte I]

Nei post precedenti in questa serie, Abbiamo visto Quali sono i pin GPIO, e come controllare un LED con loro dal nostro Raspberry PI da Bash e Python, o con uno applicazione Web.

portadarelele

In questa occasione impareremo a controllare la potenza del un apparecchio elettrico; prima di avviare il server che abbiamo installato LAMPADA come abbiamo visto in la consegna precedente.

Per la sua attuazione, userò un relay Board di 5V e otto canali, Deve essere optoacoplada per proteggere il Raspberry PI; Poiché i dispositivi che ci accingiamo a verificare con 220V, e perni GPIO Lampone lavoro con un massimo di 3,3V.

placarele

Relè optoacoplados piastra.

Dobbiamo fare tra il relè e il Raspberry PI i seguenti collegamenti.

Modulo relè optoacoplados
Modello PI lampone, B, A +, B +
VCC
+ 5V
IN 8
GPIO 17
GND GND
OLYMPUS FOTOCAMERA DIGITALE

Connessioni tra la Raspberry PI e la piastra di relè.

Ora verificheremo se le connessioni funzionano, con un semplice test in Bash, impostazione del pin GPIO 17 come output, e dando un valore logico alto.

#Exportamos el PIN deseado
usuario@maquina:~$ sudo echo 17 > /sys/class/gpio/export

#Establecemos la direccion (salida o entrada)
usuario@maquina:~$ sudo echo out > /sys/class/gpio/gpio17/direction

#Activamos la salida del rele dandole un valor de 1 al bit
usuario@maquina:~$ sudo echo 1 > /sys/class/gpio/gpio17/value

Una volta che è acceso il led del controllo relè, perché possiamo spegnerlo e rilasciare il perno GPIO.

#Apagamos la salida del rele
usuario@maquina:~$ sudo echo 0 > /sys/class/gpio/gpio17/value

#Liberamos el PIN asociado
usuario@maquina:~$ sudo echo 17 > /sys/class/gpio/unexport

Abbiamo già testato il funzionamento, così ora ci accingiamo a vedere la pagina web che abbiamo bisogno di pianificare, È molto più semplice rispetto al test con il LED Abbiamo visto nell'ultimo recapito.

<html>
 <head>
                 <!--/var/www/rele/index.php-->
 </head>
 <body>
 <!--GPIO17--> 
 <form action="" method="post">
 Enchufe 0 [GPIO 17]&nbsp;<input type="submit" name="encender17" value="Encender">
 <input type="submit" name="apagar17" value="Apagar">
 <input type="submit" name="parpadear17" value="Parpadear">
 </form> 
 <br></br>
 </body>
</html>

<?php
// Funciones PHP del pin GPIO 17
 if ($_POST[encender17]) { 
 $a- exec("sudo sh /var/www/rele/gpio/17/enciende.sh");
 echo $a;
 }

 if ($_POST[apagar17]) { 
 $a- exec("sudo sh /var/www/rele/gpio/17/apaga.sh");
 echo $a;
 }

 if ($_POST[parpadear17]) { 
 $a- exec("sudo sh /var/www/rele/gpio/17/parpadea.sh");
 echo $a;
 }
// Fin de las funciónes del pin GPIO 17
?>

Abbiamo bisogno di creare questi tre script in bash per attivare la, Lo spegnimento e lampeggiante; Questi script sono alloggiati in /var/www/relè/gpio/17 /.

#!/bin/bash
#enciende.sh

#Exportamos el PIN deseado
echo 17 > /sys/class/gpio/export

#Establecemos la direccion (salida o entrada)
echo out > /sys/class/gpio/gpio17/direction

#Activamos la salida del rele dandole un valor de 1 al bit
echo 1 > /sys/class/gpio/gpio17/value
#!/bin/bash
#apaga.sh

#Apagamos la salida del rele
echo 0 > /sys/class/gpio/gpio17/value

#Liberamos el PIN asociado
echo 17 > /sys/class/gpio/unexport
#!/bin/bash
#parpadea.sh

#Exportamos el PIN deseado
echo 17 > /sys/class/gpio/export

#Establecemos la direccion (salida o entrada)
echo out > /sys/class/gpio/gpio17/direction

#Activamos la salida del rele dandole un valor de 1 al bit, y lo desactivamos 5 veces
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 0 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 0 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 0 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 0 > /sys/class/gpio/gpio17/value
sleep 1
echo 1 > /sys/class/gpio/gpio17/value
sleep 1
echo 0 > /sys/class/gpio/gpio17/value

#Liberamos el PIN asociado
echo 17 > /sys/class/gpio/unexport

Quando abbiamo il script E la index. php sulle loro rispettive rotte, Dobbiamo essere in grado di visualizzare la seguente gerarchia Directory sul server web.

Screenshot di 2014-11-08 16:27:54In questa occasione dobbiamo anche fare sudoer per l'utente www-data; per questo, eseguire sudo visudo nel terminale, e lo aggiungeremo pi sotto l'utente affinché l'utente www-data È possibile controllare i perni GPIO.

#includedir /etc/sudoers.d
pi ALL=(ALL) NOPASSWD: ALL
www-data ALL=(ALL) NOPASSWD: ALL

Ora ci metterà alla prova i tre pulsanti per Verificare che tutto funzioni correttamente. Una volta lavorare, e relè piastra LED si accendono, Ascolteremo il “Click/clack” che si creano durante l'apertura e la chiusura del circuito.

Screenshot di 2014-11-08 13:30:46

Applicazione Web per controllare il relè.

Vedremo come collegarlo ad una lampada o qualsiasi altra apparecchiatura per controllarlo da qualsiasi dispositivo con un browser web.

Lo schema per Collegare il relè tra un interruttore magneto-termico e una spina il muro della nostra casa sarebbe come segue; per i regimi ho usato l'immagine di un relè a singolo canale, in questo esempio che è il canale IN 8 piastra di otto canali.

rele5vmagnetotermico

Schema di collegamento nel pannello elettrico di una casa.

Per la prova di concetto, Userò il seguente schema con una spina che ho dovuto cambiare in una stanza della casa, e una lampada. Di seguito sono elencate la parete, e sopra che hai cavalcato in questo test per la connessione nella lampada; il relè funziona come un interruttore.

rele5venchufe1

Schema utilizzato in questo test.

Ci sono tre porte di connessione elettrica per ogni uscita a relè: COM, normalmente aperto e normalmente chiuso. In COM Dobbiamo collegare il positivo elettrico Avrà ad alimentare l'apparecchio, e in una sola gli altri due il cavo che si estende al positivo dell'apparecchio. Il negativo si connette direttamente dalla spina di alimentazione dell'apparecchio.

PB080196

Una connessioni di inoltro.

Esso dipenderà se collegarlo a normalmente aperto, o un normalmente chiuso Se l'apparecchio è acceso o se disattivi il lampone.

In questo esempio, il modulo è collegato a normalmente chiuso, quindi, se si disattiva il lampone, lavoro di spine; Se conectásemos in normalmente aperto, Quando non scollegare la lampada lampone può incendiarsi perché il circuito sarebbe stato aperto; Comprenderemo meglio con un video.

Se si desidera è possibile seguire su Twitter, Facebook, Google +, LinkedIn, o condividerlo con i pulsanti sotto questa pubblicazione, Se avete domande o suggerimenti, non esitate a commentare.

Aiutaci a raggiungere più lettori Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

34 Thoughts on"Raspberry PI - implementazione di un sistema di domotica a prezzi accessibili [Parte I]

  1. Accensione e spegnimento LED da internet

    Buongiorno, A nulla, il minimo che posso dire, Grazie, Super
    il tutorial, un altro sguardo, Bravo e grazie.

    Una domanda, Non capisco esattamente come e dove dovrei installare gli script,
    la mia intenzione è di avere una pagina WEB, Infatti, non essere come arrivare a
    lavorando con PHP e WEB, come nell'esempio, tramite un PC, connesso a Internet
    da nessuna parte per attivare il LED o il relè diversi, non è come farlo,
    in anticipo e naturalmente, Molte grazie per qualsiasi aiuto.

    Amichevolmente Ignacio da Belgio

  2. Gli script e il singolo index. php è necessario copiarli in /var/www/rele, come mostrato nel tutorial, ognuno ha il suo percorso.

    index. php in /var/www/rele/index.php
    Apaga.sh, enciende.sh e parpadea.sh in /var/www/rele/gpio/17 /

    Per il momento essendo come funziona per un relè collegato al GPIO 17, in pochi giorni, concludo con la seconda parte di operare le otto uscite.

    Per accedere da internet è necessario configurare il router per inoltrare le richieste in arrivo dalla porta 80 alla tua Raspberry PI. Dal Virtual Server del router o dell'opzione NAT è possibile configurarlo.

    Infine, per accedere più facilmente si può Iscriviti a NoIP e ottenere un dominio gratuito associato il vostro ip pubblico del tipo casa.no-ip.biz.

    PD: Assicurati di che proteggere quella pagina molto bene solo tu hai accesso ad esso.

    Grazie mille per il commento.

    • Buon pomeriggio,

      Sono io che vi ringrazio, dal suo Consiglio, di risposta così veloce e la tua cortesia, È un piacere, Vi auguro una buona 2015

      Amichevolmente,

      Ignacio Rubin dal Belgio

  3. Buon pomeriggio,

    Tutto funziona perfettamente, Anche se solo da lan o con Xming via ssh, Impossibile connettersi al telecomando, ' con un altro PC via Internet, Ho noip e dyndns, e non riesco a correre, Se avete qualche idea lo ringrazio in anticipo,

    Un saluto forte e un vedere di più, Grazie

    Ignacio

    • Sono contento che finalmente funziona, ma per connetterti da Internet quali protocolli utilizza?

      Devi aprire le porte dei servizi che si desidera utilizzare sul router che fornisce l'accesso a Internet (Porta HTTP 80, Porta HTTPS 443, SSH Porto 22, ecc) e fare il Port Forwarding per il router IP di lampone IP privato che consente l'accesso a Internet.

      Finalmente ora si avrà solo avviare la connessione da un'altra rete rivolto verso l'IP pubblico del router, Si può provare da telefono cellulare 3G.

      Se questo funziona, Ora si può procedere alla configurazione NoIP o Dyn per l'accesso da un nome facile da ricordare invece di un IP pubblico; Inoltre se installare NoIP sul lampone, il sito Web di NoIP il vostro IP pubblico cambia automaticamente ogni volta che questo cambiamento per il router.

      Per una maggiore sicurezza, Sarebbe meglio se si configura una connessione VPN per stabilire connessioni alla rete domestica, e canale attraverso di essa tutto il tuo traffico.

  4. Ciao, Ho una domanda ho un led sulla gpio4, sudo echo 1 > /sys/classe/gpio/gpio4/valore questo che spengo led, e con sudo echo 0 > /valore di sys/class/gpio/gpio4 /, accendere che LED, dovrebbe essere per il revez, sarà fare qualcosa di male?.
    Inserire il file che mi connetto via web, Quando si preme qualsiasi pulsante (accendere, Spegni, o lampeggiante) solo spegnere led, ma non si accende, né lo sfarfallio.
    Apprezzo l'aiuto che potete darmi.

  5. Ciao, Buon pomeriggio,

    Installare VNC, all'interno della mia rete tutto funziona, Tuttavia via Internet trovare me Impossibile, Non riesco a trovare l'errore, Grazie per il chiarimento mi

    Ignacio

    • Ciao, prima di tutto grazie molto peggio il tuo 🙂 di domanda

      Potete seguire il tutorial passo per passo, il relè ha 3 tipi di perni:

      – VDC-> potenza (PIN 5V RPI)
      – GND-> Pin GND RPI
      – IN-> sono voci, e a seconda se il vostro stato è alto o basso il relè si accende o si spegne.

      Esempio di utilizzo IN8, Si dovrebbe solo cambiarlo IN0 o il tuo relay IN1 e come ho detto prima di seguire il tutorial 🙂

      PD: Assicurarsi che questi siano optoacoplados, le foto sono.

      Migliori saluti, Spero che ho aiutato.

  6. FIZ tudo a preferito come acima, Quando escrevo si non terminale comandi, opere, Porém, Mi ha colpito o enciende.sh e não non terminale eseguire archivio works e nem tramite controllo pagina index. php

  7. Prima di tutto, Grazie per le spiegazioni, Molto bene.

    Ho seguito le vostre istruzioni e posso prendere una pesce serbatoio distanza aria pompa.

    Il problema che ho è manca posso verificare lo stato del pin (True o False)

    Come posso fare per portarmi questo dati sulla stessa pagina ho?

    È Marina seguendo le vostre istruzioni, accende e spegne il relè correttamente.

    • Ciao Teodoro,

      Questo commento è qualcosa che molti lettori chiedono, di che cosa sto preparando una prossima parte del tutorial dove programmiamo un indicatore di stato di GPIO pins nel mio tempo libero gratis.

      Una volta che è finito io lo pubblicherò sul Blog.

      A presto.

  8. Prima di tutto grazie mille per il tuo blog.. è spettacolare. Per parte mia ho comprato tutto il che necessario, Ho seguito tutti i tuoi tutorial, ma quando si esegue la piastra di 8 relè di, qualcosa va storto ho.

    La domanda è come è se ho la piastra octoacoplada?? Sembra che non si raggiunge una tensione sufficiente per attivare il. Sono le mie connessioni:

    5v-> VCC (piastra)
    GND (P3) -> GND (piastra)
    GPIO4-> IN4 (piastra)

    Quando attivi il gpio con script, il controllo rosso led è acceso di un momoento, ma non rimane accesa. Capisco che è perché il gpio viene attivata per 3,3 Volt e i relè sono 5V. Giuro che tuttavia hanno la stessa piastra quindi devi ahber un modo per farlo funzionare non?

    Apreciaria qualsiasi tipo di commento, il relè a bordo è come segue
    (8 relè modulo srd-05VDC-SL-C)

    La ringrazio molto per tutto

  9. Ciao Loty,

    La maggior parte delle piastre dei relè supportati che sono commercializzati per microcontrollori vengono già optoisolate, È possibile controllare se è nelle specifiche o cercando l'Optoaccoppiatori nella piastra; che si riferisce al numero di serie che hai citato se quella cosa è.

    Effettivamente, queste piastre sono alimentate con 5V, ma l'uscita può essere attivata anche da 3 attuatori, 3V come il lampone IP GPIO.

    Comunque, il problema sembra essere la mancanza di potenza, quindi sostituire il trasformatore del lampone con una 2A o mangimi esternamente il relè potrebbero aiutare.

    Saluti e arrivederci a presto.

    • Ciao!
      Grazie per la tempestiva risposta. Ho fatto test direttamente sul relè Board (rimuovendo il lampone PI), per vedere se era che la piastra aveva male. Ho un alimentatore esterno 5V 2A.

      Collegare il GND a meno che l'alimentatore VDC per il + l'alimentatore e la IN4 anche alla +. e là.. OPERE!! lo scatto del relè e l'indicatore LED rimane acceso, Ho fatto il test con una lampada 220v e tutti ancora lavorando. Il problema si pone con il RASPBERRY PI.

      Ho collegato l'alimentatore piastra esterna “+” il VDC “-” il GND e IN4 ho collegato il lampone gpio4, e lì quando attivare il GPIO, non accade nulla. Ho misurato la GPIO e dà 3,3 v. Ho letto su altri siti e si dice che è perché devo collegare il jumper VDC-JCC di altrimenti. Non essere che ho sbagliato. Può essere che accendo il gpio attraverso BASH?? È necessario per farlo funzionare sull'uso di scheda relè la libreria python GPIO??

      La ringrazio molto per qualsiasi contributo

  10. Ciao, Ho avuto un problema per cancellare la luce con relè, utilizzando il codice in questo tutorial, potrebbe luce normale, ma per eliminare non cancellati ed il relè era armato, solo disarmante quando ho staccato il cavo dal relè il lampone. Dopo vari tentativi sono riuscito a cancellare questo tutorial con codici dal codice tutorial guidato da eliminare. ottenere questa forma una parte del codice: Se ($_ POST[apagar17]) {
    $A- Exec(“sudo python/var/www/AcenderWebRele/apaga3.py”);
    $A- Exec(“sudo echo 17 > /sys/classe/gpio/esportazione”);
    $A- Exec(“sudo echo 0 > /valore di GPIO/sys/class/gpio17 /”);
    $A- Exec(“sudo echo 17 > /sys/classe/gpio/unexport”);
    eco $a;
    }

  11. Buon pomeriggio dal Messico, Mi chiamo Enrique, A me interessa la parte di automazione di implementare con lampone che questo derivato da un progetto di scuola, nel tutorial si parla che dobbiamo avere linux per cui io non ne so molto, È possibile sviluppare il progetto, sia il sito Web e la programmazione necessaria in lampone con windows?, il server web che hai citato deve essere installato nel lampone stesso o dove?, Se il numero di dispositivi che ho voglia di controllo ha superato la capacità di un lampone 3 normale da fare: ocuparia, altri lampone o c'è qualcosa che mi aumenterà la capacità?, Se avete a che fare con un altro lampone come sarebbe entrambi con la stessa applicazione web?.

    Spero, e potete aiutarmi con questo.

    Migliori saluti.

  12. Hola como estas? Verdaderamente es muy interesante y util las entradas en tu blog. Estoy iniciando un proyecto similar a este y tengo una consulta:

    Materiales que tengo:

    – lampone pi 3
    Powerbank tplink
    trafo corriente de raspberry
    Modulo rele (igual al tuyo de 8 canali)

    La idea es poner una entrada de electricidad y que cuando exista electridicad funcione la raspberry y alimente los canales del modulo de rele para encender/apagar equipos, ma, cuando no haya electricidad (corte de luz) la raspberry (sin modulo de rele) siga funcionando con el powerbank (hasta agotar bateria pero ya lo probe y aguanta unas 6 ore).

    El powerbank es este:
    http://www.tp-link.ec/products/details/cat-5689_TL-PB10400.html

    Desde ya muchisimas gracias por tu ayuda!!!

Lasciare una risposta