PI Gerd - implantació d'un sistema d'automatització de casa assequible [Primera part]

En posts anteriors d'aquesta sèrie, Vam veure Quins són els pins GPIO, i control com un LED amb els nostres Raspberry PI per Festa i Python, o amb un aplicació web.

portadarelele

En aquesta ocasió anem a aprendre a controlar la potència de un aparell elèctric; abans d'iniciar el servidor que instal. LÀMPADA com hem vist en l'anterior entrega.

Implementar-lo, vaig a utilitzar un relé Junta de 5V i vuit canals, Ha de ser optoacoplada per protegir el PI de gerds; Des dels dispositius que anem a comprovar amb 220V, i xapes GPIO Treball de gerds amb un màxim de 3,3V.

placarele

Relleus optoacoplados plat.

Hem de fer entre el relleu i el PI de gerds les connexions següents.

Mòdul relés optoacoplados
Model PI Gerd per, B, A +, B +
VCC
+ 5V
EN 8
GPIO 17
GND GND
CÀMERA DIGITAL OLYMPUS

Connexions entre el PI gerds i placa de relleus.

Ara provarem si funciona de les connexions, amb una simple prova en Colpejar, configuració del pin GPIO 17 com a sortida, i donar un alt valor lògic.

#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

Un cop s'ha convertit en el liderat de la control de relé, perquè podem apagar-lo i alliberar del pin 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

Ja hem provat el funcionament, Així que ara anem a veure la pàgina web que hem de planificar, És molt més simple que la prova amb la LED Vam veure en l'últim lliurament.

<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
?>

Hem de crear aquests tres scripts en bash per activar, Girant-se i intermitent; Aquestes seqüències es troben en /var/www/relleus/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

Quan tenim la seqüències d'ordres i la index. php en les seves respectives rutes, Hem de ser capaços de veure la jerarquia següent directori al servidor web.

Captura de pantalla 2014-11-08 16:27:54En aquesta ocasió també cal fer sudoer a l'usuari www-dades; per això, executar sudo visudo a la terminal, i s'afegeix pi sota l'usuari per tal que l'usuari www-dades Vostè pot controlar els pins GPIO.

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

Ara que posarà a prova els tres botons per a Verificar que tot funciona correctament. Treballar una vegada, i que s'encén el relleus placa leds, Anem a escoltar la “Clic/clack” que emeten en obrir i tancar el circuit.

Captura de pantalla 2014-11-08 13:30:46

Aplicació web per controlar el relleu.

Veurem com connectar-lo a un llum o qualsevol altre aparell controlar-lo des de qualsevol dispositiu amb un navegador web.

L'esquema de connectar el relleu entre un interruptor magneto tèrmics i un endoll la paret de casa nostra seria el següent; per esquemes he utilitzat la imatge d'un sol canal relé, en aquest exemple que és canal IN 8 placa de vuit canals.

rele5vmagnetotermico

Esquema de connexió en el quadre elèctric d'una casa.

Per a la prova de concepte, Vaig a utilitzar l'esquema següent amb un endoll que havia de canviar en una habitació de casa, i un llum. A continuació es presenten la paret, i damunt que he muntat en aquesta prova per connectar-se a la llum; el relleu actua com un interruptor.

rele5venchufe1

Esquema utilitzat en aquesta prova.

Hi ha tres ports de connexió elèctrica per a cada sortida en el relleu: COM, normalment obert i normalment tancat. En COM Ens cal connectar la part positiva elèctrica S'alimenta l'aparell, i en només un els altres dos el cable que s'estén a la part positiva de l'aparell. La negatius connecta directament des de l'endoll de poder de l'aparell.

PB080196

Un connexions de relleus.

Això dependrà de si vostè connectar-lo a normalment obert, o un normalment tancat Si l'aparell està en o fora si desactiveu la gerd.

En aquest exemple, el relleu està connectat a normalment tancat, Així si desactiveu la gerd, treball d'endolls; Si conectásemos en normalment obert, Quan s'està desconnectant la làmpada Gerd no pot encendre perquè el circuit estaria obert; Hem d'entendre millor amb un vídeo.

Si us agrada podeu segueix-me a Refilar, Facebook, Google +, LinkedIn, o compartir-lo amb els botons sota aquesta publicació, Si vostè té alguna pregunta o suggeriment no dubtis a comentar.

Ajuda'ns a arribar a més lectors Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

34 Reflexions sobre la"PI Gerd - implantació d'un sistema d'automatització de casa assequible [Primera part]

  1. Engegar i tancament LEDS d'internet

    Bon dia, Al res, el menys que puc dir, Gràcies, Súper
    el tutorial, un altre aspecte, Bravo i gràcies.

    Una pregunta, No entenc exactament com i on hauria d'instal·lar les escriptures,
    la meva intenció és tenir una pàgina WEB, De fet, no ser com vaig arribar a
    treballant amb PHP i WEB, com l'exemple, través d'un PC, connectat a Internet
    enlloc per activar els LEDs diferents o relés, no és com fer-ho,
    antelació i per descomptat, Moltes gràcies per qualsevol ajuda.

    Amigablement Ignacio des de Bèlgica

  2. Les escriptures i el index. php sol has de copiar-los a /var/www/rele tal com es mostra en la classe, cada un té el seu recorregut.

    index. php a /var/www/rele/index.php
    apaga.sh, enciende.sh i parpadea.sh en /var/www/rele/gpio/17 /

    Durant el temps que com que treballa per un relé connectat a la GPIO 17, en pocs dies vaig finalitzarà amb la segona part per operar les vuit sortides.

    Per accedir des d'internet és necessari configurar el seu encaminador per enviar peticions d'entrada pel port 80 a seva gerds PI. Des del Servidor Virtual de l'encaminador o opció NAT pots configurar.

    Finalment, per accedir més fàcilment pot inscriure's per NoIP i aconsegueix un domini gratuït associat amb el seu ip públic del tipus casa.no-ip.biz.

    PD: Assegureu-vos de que protegir la pàgina molt bé només tens accés.

    Moltes gràcies pels seus comentaris.

    • Bona tarda,

      Sóc jo que li dono les gràcies, els seus consells, per la resposta tan ràpida i la cortesia, És un plaer, Et desitjo un bon 2015

      Amigablement,

      Ignacio Rubin de Bèlgica

  3. Bona tarda,

    Tot funciona perfectament, Encara que només fos per lan o amb Xming mitjançant ssh, Incapaç de connectar a remot, "amb un altre PC a través d'Internet, Tinc noip i dyndns, i els I no poden córrer, Si teniu alguna idea agraeixo que per endavant,

    Una forta salutació i un veure més, Gràcies

    Ignacio

    • M'alegro que finalment funciona, però per connectar des d'Internet de protocols de que està utilitzant?

      Vostè ha d'obrir els ports dels serveis que voleu utilitzar en el router que li dóna accés a Internet (Port d'HTTP 80, Portuària HTTPS 443, SSH Portuària 22, etc.) i fer Port Forwarding al router IP de gerds IP privat que dóna accés a Internet.

      Finalment ara vostè només haurà de començar la connexió de xarxa una altra davant l'IP públic del teu router, Vostè pot intentar des del seu mòbil 3G.

      Si això funciona, Ara vostè pot procedir a configurar NoIP o Dyn per a accés d'un nom fàcil de recordar en comptes d'una IP pública; A més si instal·lar NoIP en gerd, en el lloc web de NoIP el seu IP públic canviarà automàticament cada vegada que aquest canvi del seu router.

      Per a major seguretat, Seria millor si configura una VPN per fer connexions a la xarxa domèstica, i canalitzar a través del mateix tot el trànsit.

  4. Hola, Tinc una pregunta que tinc un dirigits a la gpio4, sudo Eco 1 > /sys/classe/gpio/gpio4/valor això que apago portat, i amb sudo Eco 0 > /sys/classe/gpio/gpio4/valor, engegar portava, ha de ser el revez, a fer alguna cosa malament?.
    posi l'arxiu que i connectar via web, Quan I premen qualsevol botó (engegar, desviar-se, o intermitent) només apagar dirigits, però no es gira sobre, ni el parpelleig.
    Agraeixo l'ajuda que em pot donar.

    • Hola, en primer lloc moltes gràcies pitjor el seu 🙂 de pregunta

      Vostè pot seguir el tutorial pas a pas, el relleu té 3 tipus de pins:

      – VDC-> poder (PIN 5V IPC)
      – GND-> GND IPC Pin
      – IN-> són entrades, i en funció de si el seu estat és alta o baixa el relleu es activar o desactivar.

      Ús d'exemple IN8, Només ha de canviar-lo, IN0 o el seu relleu IN1 i com ja he esmentat abans de seguir el tutorial 🙂

      PD: Asegurate de sean optoacoplados, Los de la foto es fill.

      Salutacions, Espero massa ayudado.

  5. Feia tot allò que l'anterior es recomana, Quan escric les ordres en el terminal, obres, No obstant això, Si puc obtenir el fitxer enciende.sh i enviar cursa la terminal no treballa i no pot veure la pàgina index. php

  6. Primer de tot, Gràcies per les seves explicacions, molt bona.

    He seguit les seves instruccions i pot agafar una bomba d'aire de distància de tanc de peix.

    El problema que tinc és que falten puc verificar l'estatus del pin (Vertader o fals)

    Com puc fer per portar-me aquestes dades a la mateixa pàgina?

    És Marina seguint les seves instruccions, es gira damunt i fora el relleu correctament.

    • Hola Teodoro,

      Aquest comentari és una cosa que molts lectors demanar, per què estic preparant una següent part de la classe on ens planificarà un indicador d'estatus de la GPIO pins en les estones lliures.

      Un cop s'acaba la publicaré al bloc.

      ens veiem aviat.

  7. Abans de res moltes gràcies pel teu bloc.. és espectacular. Per la meva part he comprat tot el que necessites, He seguit totes les seves classes, però quan corre la placa de 8 Relés, alguna cosa va malament I.

    La pregunta és com és si tinc la placa octoacoplada?? Sembla que no li arriba suficient corrent per activar el. Meves connexions són:

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

    Quan s'activa la gpio amb guió, el control vermell portat s'engega un momoento, però no es queden. Entenc que és perquè el gpio és activat per 3,3 volts i els relleus són 5V. Juro però tenen el mateix plat haureud ' ahber una manera de fer-lo treballar no?

    Apreciaria qualsevol tipus de comentari, el relleu Junta és la següent
    (8 Relés srd mòdul-05VDC-SL-C)

    Gràcies molt molt per a tot

  8. Hola Loty,

    La majoria de les plaques de relleus suportats que es comercialitzen per microcontroladors vénen ja acoblats opto, Es pot comprovar si està en les especificacions o buscant el optocouplers en el plat; que fa referència al nombre de sèrie que he esmentat si aquella cosa és.

    Efectivament, aquestes plaques són alimentats amb 5V, però la sortida pot ser activat també per 3 Actuadors, 3V com el gerd IP GPIO.

    De tota manera, el problema sembla ser la manca de potència de, Així substituir el transformador de gerds amb una 2A o externament el relleu d'alimentació podria ajudar.

    Salutacions i fins aviat.

    • Hola!
      Gràcies per la teva ràpida resposta. He fet proves directament en el relleu de la Junta (eliminació de la gerds PI), a veure si era que el plat tenia mal. Tinc una font d'alimentació externa de 5V al 2A.

      Connecto el GND llevat que l'alimentador de VDC a la + l'alimentador i el IN4 també a la +. i allà.. OBRES!! el clic de tramesa i l'indicador LED es queda en, He fet la prova amb una làmpada de 220v i tot encara funciona. El problema sorgeix amb el PI de gerds.

      Que he connectat l'alimentador de placa extern “+” la VDC “-” la GND i la IN4 que he connectat el gerd gpio4, i allà quan vaig activar la GPIO, no passa res. Em mesurava les GPIO i dóna 3,3 v. He llegit en altres llocs i es diu que és perquè he de connectar el jersei VDC-JCC d'altrament. No es que faig malament. Pot ser que al seu torn la gpio a través de BASH?? És necessari fer-lo treballar sobre l'ús de Junta de relleu la biblioteca de python GPIO??

      Gràcies molt molt per a qualsevol aportació

  9. Hola, Estava tenint un problema per esborrar la llum amb relleus., utilitzant el codi en aquest tutorial, podria encendre normal, però no suprimir esborrat i estava armat el relleu, desarmar només quan he desconnectat el cable des de la tramesa de gerds. Després de diversos intents I aconseguia suprimir aquesta classe amb codis pel codi tutorial liderat per suprimir. aconseguir aquesta forma part del codi: Si ($_ LLOC[apagar17]) {
    $a- executiu(“sudo python/var/www/AcenderWebRele/apaga3.py”);
    $a- executiu(“sudo Eco 17 > /sys/classe/gpio/exportació”);
    $a- executiu(“sudo Eco 0 > /gpio/sys/classe/gpio17/valor”);
    $a- executiu(“sudo Eco 17 > /sys/classe/gpio/inexportar”);
    Eco $a;
    }

  10. Bona tarda des de Mèxic, el meu nom és Enrique, Estic interessat en la part de l'automatització d'implementar amb Gerd que això deriva d'un projecte d'escola, en les classes que vostè esmenta que hem de tenir linux per a les quals jo no sé molt, És possible desenvolupar el projecte, tant la pàgina web i la programació necessària de gerds amb windows?, cal instal·lar el servidor de web que vostè esmenta en la mateixa Gerd o on?, Si el nombre de dispositius que vull control excedit la capacitat de una gerds 3 normal fer ocuparia, altre Gerd o hi ha alguna cosa que em augmentarà la capacitat?, Si vostè tractar amb un altre gerds com vols tant amb la mateixa aplicació web?.

    Espero, i vostè em pot ajudar amb això.

    Salutacions.

  11. Hola, com estàs? És realment molt interessant i útil entrades al bloc. Estic començant un projecte similar a això i tinc una consulta:

    Materials que tinc:

    – Pi de gerds 3
    – Powerbank tplink
    – transformador de corrent de gerds
    – Mòdul de relleus (igual a la seva des 8 canals)

    La idea és posar una entrada d'energia i que on hi ha electridicad córrer gerds i alimentar els canals del relè mòdul per encendre i apagar els equipaments, però, Quan hi ha electricitat no (Tall d'energia) gerds (sense mòdul de relleus) seguir funcionant amb el powerbank (fins a la bateria, però com la sonda i mantenir una 6 hores).

    Aquesta és la powerbank:
    http://www.tp-link.ec/products/details/cat-5689_TL-PB10400.html

    Des de ja moltes gràcies per la teva ajuda!!!

Respon a G3r@Rdo (@Gerarvalguz) Cancel·la les respostes