Raspberry PI - punerea în aplicare a unui sistem de automatizare acasă la preţuri accesibile [Partea I]

În posturile anterioare din această serie, Am văzut Care sunt pinii GPIO, şi cum de a controla o LED-URI cu ei la nostru Raspberry PI de Bash şi Python, oana cu unul aplicație Web.

portadarelele

Cu aceasta ocazie vom învăţa pentru a controla puterea de un aparat electric; înainte de a începe server am instalat LAMPA aşa cum am văzut în livrare anterioară.

Implementarea acestuia, am de gând să utilizaţi un releu de bord de 5V şi opt canale, Trebuie să fie optoacoplada pentru a proteja Raspberry PI; Deoarece dispozitivele care vom verifica cu 220V, şi ace GPIO Zmeura de lucru cu un maxim de 3,3V.

placarele

Placa de optoacoplados relee.

Avem de a face între releu şi Raspberry PI următoarele conexiuni.

Modul de relee optoacoplados
Raspberry PI model a, B, A +, B +
VCC
+ 5V
ÎN 8
GPIO 17
GND GND
OLYMPUS APARAT FOTO DIGITAL

Conexiunile intre PI Raspberry si placa releu.

Acum vom testa dacă conexiunile de lucru, cu un simplu test în Bash, Setare pin GPIO 17 ca ieşire, şi dând o mare valoare logică.

#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

Odată ce a pornit condus de releu de control, deoarece putem nap it off şi PIN-ul de presă 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

Noi am testat deja funcţionarea, Deci, acum suntem de gând să vedeţi pagina de web am nevoie pentru a programa, Este destul de mult mai simplu decât încercarea cu LED-URI Am văzut în ultima livrare.

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

Avem nevoie pentru a crea aceste trei scripturi în bash pentru a activa, Oprirea şi intermitent; Aceste script-uri sunt găzduite în /var/www/releu/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

Când avem script-uri şi index.php pe rutele lor respective, Trebuie să fim capabili să Vezi următoarea ierarhie directorul de pe serverul de web.

Screenshot de 2014-11-08 16:27:54Cu această ocazie, de asemenea, noi trebuie să facă sudoer pentru utilizator www-date; pentru aceasta, executaţi sudo terminalvisudo în terminal, şi ea va adăuga pi sub utilizator astfel încât utilizatorul www-date Puteţi controla pinii GPIO.

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

Acum vom testa trei butoane pentru Verificarea că totul funcţionează corect. O dată locul de muncă, si LED-uri releu placa activa, Vom auzi “Cu click/clack” care le emit atunci când deschiderea şi închiderea circuitului.

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

Aplicaţie web pentru a controla sistemul de retransmisie.

Vom vedea cum să conectaţi-l la o lampă sau orice alt dispozitiv pentru a controla la orice dispozitiv cu un browser web.

Schema pentru conectarea releu între un comutator magneto-termice si un plug peretele casei noastre ar fi după cum urmează; pentru programe am folosit imaginea de un releu singur canal, în acest exemplu este IN canal 8 opt canale placa.

rele5vmagnetotermico

Diagrama de conectare la panoul electric al unei case.

Pentru dovada de concept, Voi folosi următoare schemă cu un dop de care am avut de a schimba intr-o camera din casa, şi o lampă. Mai jos sunt perete, şi peste care-am mers în acest test să se conecteze la lampa; Releu acţionează ca şi comutator.

rele5venchufe1

Schema utilizată în acest test.

Există trei porturi de conectare electrica pentru fiecare ieşire în releu: COM, în mod normal deschise şi în mod normal închis. În COM Noi trebuie să se conecteze scânteie electrică Se vor alimenta aparatul, şi în singurul celelalte două cablu prelungire la pozitivă a aparatului. The negativ se conectează direct la priza de putere a aparatului.

PB080196

Un releu conexiuni.

Acesta va depinde dacă vă conectaţi-l la în mod normal deschise, sau o în mod normal închis Dacă aparatul este sau dacă tu nap off zmeura.

În acest exemplu, releul este conectat în în mod normal închis, Deci, dacă vă opriţi de zmeura, fişe de lucru; Dacă conectásemos în în mod normal deschise, Când nu deconectarea lampa zmeura poate aprinde deoarece circuitul va fi deschis; Ne va înţelege mai bine cu un video.

Dacă vă place să urmaţi-mă pe Stare de nervozitate, Facebook, Google +, LinkedIn, sau partajaţi-l cu butoanele de sub această publicaţie, Dacă aveţi orice întrebări sau sugestii vă rugăm să nu ezitaţi să comenteze.

Să ne ajute să ajungă la mai mult de cititori Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

34 gânduri pe"Raspberry PI - punerea în aplicare a unui sistem de automatizare acasă la preţuri accesibile [Partea I]

  1. Porniţi şi shutdown LED-uri de pe internet

    buna dimineaţa, La nimic, cel mai bun pot spune, vă mulţumesc, Super
    tutorial, un alt aspect, Bravo si Multumesc.

    O întrebare, Nu inteleg exact ca şi în cazul în care ar trebui să instalaţi script-uri,
    intenţia mea este de a avea o pagina WEB, de fapt, nu fi ca ajunge la
    de lucru cu PHP şi WEB, ca exemplu, prin intermediul unui PC, conectat la Internet
    oriunde pentru a activa diferite LED-uri sau relee, nu este cum se face,
    şi, desigur, în avans, Multe mulţumiri pentru ajutor.

    Cale amiabilă ionescu din Belgia

  2. Script-uri şi index.php singur va trebui să copiaţi-le /var/www/rele ca in tutorial, fiecare are drumul său.

    index.php din /var/www/rele/index.php
    apaga.sh, enciende.sh şi parpadea.sh în /var/www/rele/gpio/17 /

    Pentru timp fiind aşa cum it works pentru un releu conectat la GPIO 17, în câteva zile am se va termina cu partea a doua a opera 8 iesiri.

    Pentru a accesa de pe internet, trebuie să configuraţi router-ul pentru a transmite cereri primite de port 80 să vă Raspberry PI. La serverul Virtual router sau NAT opţiune puteţi configura.

    În cele din urmă, pentru a accesa mai uşor puteţi înscrie pentru NoIP şi a obţine un domeniu gratuit, asociate cu ip-ul public de tip casa.no-ip.biz.

    PD: Asiguraţi-vă că vă proteja acea pagină foarte bine doar tu ai acces la aceasta.

    Vă mulţumesc foarte mult pentru a comenta.

  3. bună ziua,

    Totul merge perfect, Deşi numai prin lan sau cu Xming via ssh, Nu se poate conecta Remote, "cu un alt PC prin Internet, Am noip şi dyndns, şi eu nu pot rula, Dacă aveţi vreo idee se mulţumesc tu înăuntru advance,

    Un salut puternic si o Vezi mai mult, vă mulţumesc

    Ionescu

    • Mă bucur că în sfârşit funcţionează, dar pentru a vă conecta la Internet ce protocoale sunt folositi?

      Aveţi pentru a deschide porturile de serviciile pe care doriţi să utilizaţi pe router care vă oferă acces la Internet (Portul HTTP 80, HTTPS port 443, SSH port 22, etc) şi face Port Forwarding la router IP de zmeura IP privat, care vă oferă acces la Internet.

      În cele din urmă acum vei avea doar pentru a porni conexiunea la o altă reţea cu care se confruntă IP public de router-ul, Puteţi încerca de telefon mobil 3 G.

      În cazul în care aceasta funcţionează, Acum puteţi trece la configurarea NoIP sau Dyn pentru accesul la un nume usor de retinut în loc de un IP public; În plus dacă instalaţi NoIP pe zmeura, pe site-ul NoIP IP-ul public va schimba automat ori de câte ori această schimbare pentru router-ul.

      Pentru mai multă siguranţă, Ar fi mai bine în cazul în care configuraţi un VPN pentru a face conexiuni la reţeaua de acasă, şi canal prin ea toate trafic.

  4. bună, Am o întrebare am un LED-uri pe gpio4, sudo ecou 1 > /sys/class/gpio/gpio4/valoare aceasta dezactivează condus, şi cu sudo ecou 0 > /sys/class/gpio/gpio4/valoare, Porniţi am condus, trebuie să revez, va face ceva rău?.
    plasaţi fişierul am conecta prin intermediul web, Atunci când am apăsaţi orice buton (Porniţi, opreşte, sau intermitent) doar dezactiva LED-uri, dar nu se aprinde, nici pâlpâire.
    Apreciez ajutorul poti da-mi.

  5. bună, bună ziua,

    Instalarea VNC, în cadrul reţelei meu totul funcţionează, Cu toate acestea, prin Internet găsi mine este imposibil, Eu nu pot găsi eroare, Vă mulţumim pentru a clarifica mi

    Ionescu

    • bună, în primul rând multe mulţumiri mai rău dumneavoastră întrebare 🙂

      Aveţi posibilitatea să urmaţi tutorialul pas cu pas, sistemul de retransmisie a 3 tipuri de ace:

      – VDC-> putere (RPI DE 5V AC)
      – GND-> GND RPI Pin
      – IN-> sunt intrări, y su estado es dependiendo si HIGH LOW el encenderá releu va şterge.

      În exemplul de utilizare IN8, Ar trebui să schimba IN0 sau dumneavoastră releu IN1 doar şi după cum am menţionat înainte de a urma tutorial 🙂

      PD: Asegurate de sean optoacoplados, Los de la aceasta fotografie fiul.

      Saludos, Sper prea ayudado.

  6. Am făcut tot ce s-a recomandat ca mai sus, Când scriu comenzile in terminal, lucrări, Cu toate acestea, În cazul în care pot obţine fişierul enciende.sh şi trimite rula terminal nu funcţionează şi nu pot vedea chiar index.php filme

    • Salut Santiago,

      Vă mulţumesc foarte mult pentru comentariu şi pentru contribuţia dumneavoastră; Poate vă place, de asemenea, OpenDomo pentru Raspberry PI:

      http://es.opendomo.org/raspberrypi

      Bine aţi venit în lumea emoţionantă a IoT, Simţiţi-vă liber să comenteze dacă aveţi îndoieli şi nu pot găsi soluţia în articolele din Blog.

  7. În primul rând, Multumim pentru explicatiile tale, foarte bine.

    Am urmat instrucţiunile dumneavoastră, şi eu pot prinde un peşte rezervor distanta pompa de aer.

    Problema am este lipsă poate verifica dacă statutul de pin (Adevărat sau fals)

    Cum pot face pentru a adu-mi aceste date pe aceeaşi pagină am?

    Este Marinei urmând instrucţiunile de dvs., porneşte şi opreşte releu în mod corespunzător.

    • Salut Teodoro,

      Acest comentariu este ceva că mulţi cititori, să solicite, de ce mă pregătesc o următoarea parte din tutorial unde ne va programa un indicator al statutului GPIO pinii din timpul meu liber drum liber.

      Odată ce este terminat am va publica pe blog-ul.

      ne vedem curând.

  8. Înainte de orice vă mulţumesc foarte mult pentru al tău blog.. este spectaculos. Din partea mea am cumparat tot ce ai nevoie, Am urmat toate tutoriale, dar când executaţi plăcii de 8 relee, ceva nu merge bine am.

    Problema este ca daca am placa octoacoplada?? Se pare ca nu ai ajunge curent suficient pentru a activa. Conexiunile mele sunt:

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

    Când activ gpio cu script-ul, controlul roşu condus este pornit de un momoento, dar nu sta pe. Am înţeles că este pentru că gpio este activat la 3,3 sunt volţi şi relee 5V. Jur însă aceeaşi placă deci va trebui să ahber o modalitate de a face să funcţioneze nu?

    Apreciaria orice tip de comentariu, releu de bord este după cum urmează
    (8 relee modulul srd-05VDC-SL-C)

    Vă mulţumesc foarte mult pentru tot ceea ce

  9. Bună ziua Loty,

    Cele mai multe dintre plăcile suportate releelor care sunt comercializate pentru microcontrolere vin deja opto-cuplat, Puteţi verifica dacă este în caietul de sarcini sau în căutarea optocuploare în placa de; care se referă la numărul de serie pe care le-aţi menţionat dacă acel lucru este.

    În mod eficient, aceste plăci sunt alimentat cu 5V, dar rezultatul poate fi activat, de asemenea, prin acţionare 3, 3V ca zmeura IP GPIO.

    Oricum, problema pare a fi lipsa de putere, Deci înlocui transformator de zmeura cu un 2A sau furaj extern ar putea ajuta la releu.

    Salutări şi ne vedem în curând.

    • bună!
      Vă mulţumim pentru răspunsul dumneavoastră prompt. Am facut teste direct pe releu de bord (eliminarea PI RASPBERRY), pentru a vedea dacă acesta a fost că placa a răului. Eu am o sursă de alimentare externă de 5V la 2A.

      Am conectaţi GND, cu excepţia cazului în alimentator VDC la + alimentator si IN4, de asemenea, la +. şi acolo.. LUCRĂRI!! faceţi clic pe releu şi LED-ul indicator rămâne, Am facut testul cu o lampă de 220v si toate încă de lucru. Problema apare cu RASPBERRY PI.

      Am conectat placa alimentator extern “+” VDC “-” GND şi IN4 am conectat gpio4 de ZMEURA, şi acolo, atunci când am activa GPIO, nu se întâmplă nimic. I-au măsurat GPIO şi dă 3,3 v. Am citit pe alte site-uri şi se spune că este pentru că am conecta jumper VDC-cuc de altfel. Nu este că am greşit. Puede ser que yo activ los gpio pentru traves de BASH?? S necesare pentru a lucra pe o carte de ieftine utilizarea la libreria de python de GPIO??

      MUCHAS gracias por cualquier contribuţia

  10. bună, Am fost cu o problemă pentru a şterge lumina cu releu, folosind codul din acest tutorial, ar putea lumina normală, dar să nu ştergeţi şterse şi releu a fost armate, dezarmarea numai atunci când am deconecta cablul de la releu raspberry. După mai multe încercări am reuşit să ştergeţi acest tutorial cu coduri de cod tutorial condus pentru a şterge. obtinerea acestui formular o parte din codul: Dacă ($_ POST[apagar17]) {
    $pentru a- exec(“sudo python/var/www/AcenderWebRele/apaga3.py”);
    $pentru a- exec(“sudo ecou 17 > /sys/class/gpio/export”);
    $pentru a- exec(“sudo ecou 0 > /GPIO/sys/class/gpio17/valoare”);
    $pentru a- exec(“sudo ecou 17 > /sys/class/gpio/unexport”);
    ecou $a;
    }

  11. Bună ziua din Mexic, numele meu este Enrique, Sunt interesat de partea de a pune în aplicare automatizare cu zmeura, aceasta provine de la un proiect de şcoală, în tutoriale ai spus că trebuie să avem linux pentru care nu stiu prea multe, Este posibil pentru a dezvolta proiectul, site-ul şi de programare necesare în zmeura cu windows?, serverul de web pe care le menţionezi trebuie să fie instalat în acelaşi zmeura sau în cazul în care?, În cazul în care numărul de dispozitive care doresc să de control a depăşit capacitatea de zmeura o 3 normal să ocuparia, alte zmeura sau există ceva că mă va creşte capacitatea?, Daca te descurci cu un alt zmeura ca ar ambele cu aceeaşi cerere web?.

    Sper, si ma puteti ajuta cu acest lucru.

    Saludos.

  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:

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

    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, dar, 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!!!

lasă un răspuns