Raspberry PI - uitvoering van een betaalbaar domoticasysteem [Deel I]

In eerdere berichten in deze serie, We zagen Wat zijn de GPIO pinnen, en hoe controle een LED met hen van onze Raspberry PI door Bash en Python, o met een webtoepassing.

portadarelele

In dit geval zullen we leren om de macht van te controleren een elektrisch toestel; voordat u de server hebben we geïnstalleerd LAMP zoals we zagen in de eerdere levering.

Ten uitvoer te leggen, ga gebruiken een relais boord van 5V en acht kanalen, Het moet optoacoplada ter bescherming van de Raspberry PI; Sinds de apparaten die we gaan neem contact op met 220V, broches en pins GPIO Raspberry werk met een maximum van 3,3V.

placarele

Relais optoacoplados plaat.

We hebben om te doen tussen de estafette en de Raspberry PI de volgende aansluitingen.

Module Relais optoacoplados
Raspberry PI model, B, A +, B +
VCC
+ 5V
IN 8
GPIO 17
GND GND
OLYMPUS DIGITALE CAMERA

Verbindingen tussen de Raspberry PI en relay plaat.

Nu zullen we testen als de aansluitingen werkt, met een eenvoudige test in Bash, instellen van de pin GPIO 17 als output, en het geven van een logische hoge waarde.

#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

Zodra heeft aangezet het lampje van het relay-besturingselement, omdat we kunnen uitschakelen en vrij van de 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

We hebben al getest de werking, Dus nu gaan we zien van de webpagina die we nodig hebben om te plannen, Het is vrij veel eenvoudiger dan de test met de LED We zagen in de laatste levering.

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

We moeten deze maken drie scripts in bash inschakelen, Zijstraat vandoor en knippert; Deze scripts zijn ondergebracht in /var/www/Relais/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

Wanneer we hebben de scripts en de index.php op hun respectieve routes, We moeten kunnen bekijken hierbij de volgende hiërarchie map op de webserver.

Screenshot van 2014-11-08 16:27:54In dit geval moeten we sudoer voor de gebruiker www-data; daarvoor lopen sudo visudo in de terminal, en pi onder de gebruiker zal toevoegen zodat de gebruiker www-data U kunt de pennen GPIO.

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

Nu zullen we de drie knoppen voor het testen Controleer of alles correct functioneert. Eenmaal werken, en relay plaat leds inschakelen, We zullen horen de “Klik/clack” dat u uitzenden wanneer openen en sluiten van het circuit.

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

Web-applicatie waarmee de estafette.

We zullen zien hoe het te koppelen aan een lamp of elke andere toestel om het te controleren vanaf elk apparaat met een webbrowser.

Het schema voor het Relais tussen een magnetothermische schakelaar en een stekker aansluiten de muur van ons huis zouden als volgt worden; voor regelingen die ik heb gebruikt het beeld van een één-kanaals Relais, in dit voorbeeld is het het kanaal IN 8 acht-kanaals plaat.

rele5vmagnetotermico

Diagram van de verbinding in het elektrische paneel van een huis.

Voor de concepttest, Ik zal het volgende schema gebruiken met een stekker dat ik moest veranderen in een kamer van het huis, en een lamp. Hieronder vindt u de muur, en boven die heb gereden in deze test aansluiten in de lamp; de estafette fungeert als een schakelaar.

rele5venchufe1

Schema dat wordt gebruikt in deze test.

Er zijn drie havens van elektrische aansluiting voor elke uitvoer op de estafette: COM, normaal open en normaal gesloten. In COM We moeten verbinden de positieve elektrische Het zal voeden het toestel, en slechts in één de andere twee de uitbreiding van de kabel aan de positieve van het toestel. De negatieve verbindt rechtstreeks vanuit de stekker op het toestel.

PB080196

Een relay-verbindingen.

Het hangt als u deze aansluiten op normaal open, of een normaal gesloten Als het toestel aanstaat of uitschakelen als uitschakelen u van de framboos.

In dit voorbeeld, is het Relais aangesloten in normaal gesloten, Dus als u uitschakelen van de framboos, stekkers werken; Als conectásemos het in normaal open, Wanneer loskoppelen van de Raspberry lamp niet kan ontsteken omdat het circuit zou openstaan; We zullen begrijpen het beter met een video.

Als je net als u me kunt volgen op Twitter, Facebook, Google +, LinkedIn, of het te delen met de knoppen onder deze publicatie, Als u vragen hebt of suggesties gelieve te niet aarzelen om commentaar te.

Help ons te bereiken meer lezers Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

33 gedachten over"Raspberry PI - uitvoering van een betaalbaar domoticasysteem [Deel I]

  1. Inschakelen en afsluiten LEDS van het internet

    Goedemorgen, Op niets, het minste wat ik kan zeggen, Dank u, Super
    de tutorial, een andere blik, Bravo en dank u.

    Een vraag, Ik begrijp niet precies zoals en waar moet ik de scripts installeren,
    mijn bedoeling is om een WEB-pagina, Eigenlijk, worden niet als ik krijg om te
    werken met PHP en WEB, Als het voorbeeld, via een PC, verbonden met het Internet
    overal om de verschillende LED's of relais te activeren, is niet hoe het te doen,
    van tevoren en natuurlijk, Hartelijk dank voor alle hulp.

    Minnelijke Ignacio uit België

  2. De scripts en de interne index.php hebt u ze naar de /var/www/rele kopiëren, zoals in de handleiding, elk heeft de route.

    index.php in de /var/www/rele/index.php
    apaga.sh, enciende.sh en parpadea.sh in /var/www/rele/gpio/17 /

    Voor de tijd als het werkt voor een relay wordt aangesloten op de GPIO 17, in een paar dagen zal ik eindigen met het tweede deel te bedienen van de acht uitgangen.

    Om te openen vanuit het internet moet u uw router voor het doorsturen van inkomende aanvragen door de poort configureren 80 om je Raspberry PI. Van de virtuele Server van de router of een NAT optie kunt u het configureren.

    Ten slotte, om meer toegang te gemakkelijk u kunt aanmelden voor NoIP en ontvang een gratis domein gekoppeld aan uw openbare IP-adres van het type casa.no-ip.biz.

    PD: Zorg ervoor dat u die pagina heel goed beschermen alleen u toegang tot het hebt.

    Hartelijk dank voor commentaar.

  3. Goedemiddag,

    Alles werkt perfect, Hoewel alleen door lan of met Xming via ssh, Onvermogend voor verbinden voor afstandsbediening, ' met een andere PC via het Internet, Ik heb noip en dyndns, en ik kan niet worden uitgevoerd, Hebt u enig idee dank zij u van tevoren,

    Een sterke groet en een Zie meer, Dank u

    Ignacio

    • Ik ben blij dat het eindelijk werkt, maar voor de verbinding van Internet van welke protocollen gebruikt u?

      U moet de poorten van de services die u wilt gebruiken op de router waarmee u toegang krijgt tot het Internet openen (HTTP-poort 80, HTTPS-poort 443, SSH haven 22, enz) en doen Port Forwarding naar de particuliere IP-framboos IP-router waarmee u toegang krijgt tot het Internet.

      Tot slot nu zul alleen je de verbinding starten vanaf een ander netwerk geconfronteerd met het publieke IP van de router, U kunt vanaf uw mobiele telefoon 3 G.

      Als dit werkt, Nu kunt u overgaan tot NoIP of Dyn configureren voor toegang via een naam makkelijk te onthouden in plaats van een publiek IP; Daarnaast als NoIP installeren op framboos, op de website van NoIP uw publieke IP verandert automatisch wanneer deze wijziging voor uw router.

      Voor extra beveiliging, Het zou beter zijn als u een VPN om verbinding maken met uw thuisnetwerk configureren, en al uw verkeer via het kanaal.

  4. Hallo, Ik heb een vraag ik heb een led op de gpio4, sudo echo 1 > /sys/class/gpio/gpio4/waarde dit die mij zwenking vandoor leidde, en met sudo echo 0 > /sys/class/gpio/gpio4/waarde, Schakel dat onder mijn leiding, de revez moet, zal het maken van iets kwaad?.
    plaats het bestand dat ik verbinding via het web maken, Wanneer ik druk op een knop (inschakelen, Uitschakelen, of knippert) alleen uitschakelen led, maar wordt niet ingeschakeld, noch de flikkering.
    Ik waardeer de hulp die u mij verlenen annuleerteken.

    • De led van het Relais is slechts een indicator, heb je getest met een elektrisch toestel aangesloten op het Relais?

      Het zal afhangen van als conectáis het in normaal open, of normaal gesloten configuratiescripts in python.

      • Hallo, Interessant is dat de led werkt perfect, Ik zet hem aan en uitschakelen om plezier, maar de estafette werkt niet, doet niet openen of sluiten, gaat niet 🙁

    • Hallo, Allereerst dank veel erger uw vraag-🙂

      U kunt de handleiding stap voor stap volgen, de estafette heeft 3 soorten pinnen:

      – VDC-> macht (PIN 5V RPI)
      – GND-> GND RPI Pin
      – IN-> zijn vermeldingen, en afhankelijk van of uw staat is hoog of laag de estafette zal inschakelen of uitschakelen.

      Voorbeeld van gebruik met IN8, U moet alleen veranderen IN0 of uw Relais IN1 en zoals ik alvorens vermeldde Volg de tutorial 🙂

      PD: Asegurate van sean optoacoplados, Los de la foto het zoon.

      Hartelijke groeten, Ik hoop ook ayudado.

  5. Ik deed alles zoals hierboven aanbevolen, Toen ik schrijf de opdrachten in terminal, werken, Echter, Als ik kan krijgen van het bestand enciende.sh en stuur lopen de terminal werkt niet en kan niet eens zien index.php pagina

  6. Eerst en vooral, Dank u voor uw uitleg, Heel goed.

    Ik heb uw instructies gevolgd en kan ik het vangen van een vis tank afstand luchtpomp.

    Ontbreekt het probleem dat ik heb ik kan nagaan of de status van de pin (Waar of onwaar)

    Hoe kan ik doen om me deze gegevens op dezelfde pagina ik?

    Is Marine volgens uw instructies, schakelt in en uit de estafette goed.

    • Hallo Teodoro,

      Deze opmerking is iets dat veel lezers vragen, door wat ik ben de voorbereiding van een volgende deel van de tutorial waar we een indicator voor de status van de GPIO plannen zullen gratis pinnen in mijn vrije tijd.

      Zodra het klaar is zal ik het op de Blog publiceren.

      Tot gauw.

  7. Voordat er iets merci zozeer voor uw blog.. is spectaculair. Mijnerzijds heb ik alles wat die u nodig hebt gekocht, Ik heb al uw tutorials gevolgd, maar bij het uitvoeren van de plaat van 8 Relais, iets gaat verkeerd ik.

    De vraag is is als ik de plaat octoacoplada?? Het lijkt erop dat niet bereikt u voldoende stroom te activeren de. Mijn verbindingen zijn:

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

    Als actieve de gpio met script, de rode controle geleid is ingeschakeld op een momoento, maar blijft niet op. Ik begrijp dat het is omdat de gpio kan worden geactiveerd in 3,3 volt en de relais zijn 5V. Zweer echter hebben dezelfde plaat dus je moet ahber een manier om te laten werken niet?

    Apreciaria om het even welk commentaar soort, de estafette van bestuur is als volgt
    (8 Relais Module srd-05VDC-SL-C)

    Dank u hartelijk voor alles

  8. Hallo Loty,

    Het merendeel van de platen van ondersteunde Relais die worden verkocht voor microcontrollers komen al opto-combinatie, U kunt controleren of het is in het bestek of op zoek naar de optokoppelaars in de plaat; die verwijst naar het nummer van de reeks die u hebt vermeld als dat ding is.

    Effectief, worden deze platen aangedreven met 5V, maar de uitvoer kan ook worden geactiveerd door 3 actuatoren, 3V als de Raspberry IP-GPIO.

    Hoe dan ook, het probleem lijkt te zijn van gebrek aan macht, dus het vervangen van de transformator van de framboos met een 2A of diervoeder extern de estafette kon helpen.

    Groeten en tot spoedig ziens.

    • Hallo!
      Dank u voor uw snelle reactie. Ik heb gedaan tests rechtstreeks op het relais boord (het verwijderen van de RASPBERRY PI), te zien als het was dat de plaat had kwaad. Ik heb een externe voedingsspanning van 5V op 2A.

      Ik sluit de GND tenzij de VDC kampioen kan promoveren naar de + de feeder en de IN4 ook tot de +. en daar.. WERKEN!! de relay-klik en de LED indicator brandt, Ik heb de test met een 220v-lamp en alle nog steeds werken gedaan. Het probleem ontstaat met de RASPBERRY PI.

      Ik heb de plaat feeder externe aangesloten “+” de VDC “-” de GND en de IN4 ik heb de RASPBERRY gpio4 aangesloten, en er zijn wanneer ik activeer de GPIO, er gebeurt niets. Ik heb gemeten de GPIO en geeft 3,3 v. Ik heb gelezen op andere sites en er wordt gezegd dat het is omdat ik moet verbinding maken met de jumper VDC-JCC anders. Niet dat ik verkeerd. Het kan zijn dat ik draai de gpio via BASH?? Het is noodzakelijk te laten werken op het relais boord gebruik de GPIO python bibliotheek??

      Dank u zeer voor elke bijdrage

  9. Wave, Ik had een probleem om te wissen van het licht met Relais, met behulp van de code in deze tutorial, normale kon licht, maar verwijderen niet gewist en de estafette was bewapend, alleen ontwapening wanneer ik unplugged de kabel van de estafette de framboos. Na verscheidene pogingen die ik erin geslaagd om Verwijder deze tutorial met codes door de tutorial code heeft geleid tot verwijderen. Dit formulier krijgen een deel van de code: Als ($_ BERICHT[apagar17]) {
    $Aan- exec(“sudo python/var/www/AcenderWebRele/apaga3.py”);
    $Aan- exec(“sudo echo 17 > /sys/class/gpio/export”);
    $Aan- exec(“sudo echo 0 > /GPIO/sys/class/gpio17/waarde”);
    $Aan- exec(“sudo echo 17 > /sys/class/gpio/unexport”);
    echo $a;
    }

  10. Goede middag uit Mexico, mijn naam is Enrique, Ik ben geïnteresseerd in het deel van de uitvoering van automatisering met framboos die dit afgeleid van een schoolproject, in de tutorials die u noemt dat we moeten linux waarvoor ik niet veel weet, Het is mogelijk om het project te ontwikkelen, zowel de website als de nodige programmering in de framboos met windows?, de webserver die u noemt moet worden geïnstalleerd in de dezelfde framboos of waar?, Het aantal apparaten dat ik wil controle bij overschrijding van de capaciteit van een framboos 3 normale te ocuparia doen, andere framboos of er is iets dat me de capaciteit zal verhogen?, Als je omgaan met een ander framboos als zou zowel met de hetzelfde web-applicatie?.

    Ik hoop dat, en je kan me helpen met dit.

    Hartelijke groeten.

Laat een antwoord achter