Aviečių PI - prieinamą namų automatizavimo sistemos įgyvendinimo [I dalis]

Ankstesniuose postuose šios serijos, Mes matėme Kas yra GPIO smeigtukai, ir kaip kontrolės, LED su jais iš mūsų Aviečių PI Bash, Python, o su vienu žiniatinklio programos.

portadarelele

Šį kartą mes bus išmokti kontroliuoti galia elektros prietaisas; prieš pradėdami serveriui mes turime įdiegti LEMPA kaip matėme ankstesnę siuntą.

Ją įgyvendinti, ketinu naudoti relė valdyba, 5V ir aštuonių kanalų, Jis turi būti optoacoplada apsaugoti Raspberry PI; Po prietaisù, mes ketiname patikrinti su 220V, ir smeigtukai GPIO Aviečių darbo ne daugiau kaip 3,3V.

placarele

Relės optoacoplados plokštė.

Mes turime padaryti relės ir aviečių PI šiuos ryšius.

Modulis relės optoacoplados
Aviečių PI modelis, B, A +, B +
VCC
+ 5V
IN 8
GPIO 17
GND GND
OLYMPUS SKAITMENINIS FOTOAPARATAS

Jungčių tarp PI aviečių ir relės plokštės.

Dabar mes išbandyti jei jungtys dirbti, su paprastas testas Bash, nustatyti pin GPIO 17 kaip produkcija, ir tai logiška didelės vertės.

#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

Kai yra įjungtas led relės kontrolės, nes mes galime jį išjungti ir paleisti 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

Mes jau išbandyti veikimą, Taigi dabar mes ketiname pamatyti reikia planuoti tinklalapį, Tai gana daugiau nei paprasti, nei bandymas su į LED Mes matėme paskutinis įnašas.

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

Mums reikia sukurti šių tris scenarijus bash Jei norite įjungti, Išjungus ir mirksi; Šie scenarijai yra įsikūrę /var/www/relės/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

Kai mes su scenarijus ir index.php atitinkamų keliams, Mes turime turėti galimybę peržiūrėti toliau aprašyta hierarchija direktoriją dėl interneto serverį.

Ekrano 2014-11-08 16:27:54Šį kartą mes turime sudoer vartotojui www-data; Norėdami, kad paleisti sudo visudo terminalas, ir bus įtraukti jį pi pagal vartotojo, kad vartotojas www-data Jūs galite kontroliuoti smeigtukai GPIO.

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

Dabar mes išbandyti trys mygtukai Patikrinti, ar viskas veikia teisingai. Vieną kartą dirbti, ir relės plokštės LED įjungti, Mes klausytis, “Spustelėkite/clack” kad jums išmeta atidarant ir uždarant grandinės.

Ekrano 2014-11-08 13:30:46

Žiniatinklio programos kontrolės relės.

Mes matome, kaip prisijungti prie lempos ar kitas prietaisas jį kontroliuoti bet kuriuo įrenginiu su interneto naršyklę.

Schemą prisijungti relės magnetų-šiluminis jungiklis ir kištukas mūsų namo siena bus tokia; schemų turiu naudoti vieno kanalo relė įvaizdį, Šiame pavyzdyje ji yra kanalo IN 8 aštuonių kanalų plokštės.

rele5vmagnetotermico

Pajungimo schema elektros skydo namo.

Įrodymas koncepcijos, Aš naudoti šią schemą su kištukas, kuris man teko pakeisti namo kambaryje, ir lempa. Žemiau yra sienos, ir virš kurie jau važinėtis, tai bandymas prisijungti, lempos; relė veikia kaip jungiklis.

rele5venchufe1

Šio bandymo schema.

Yra trys uostų elektros jungtis kiekvienam produkcijos ir relės: COM, paprastai atidaryti ir paprastai uždarytas. Į COM Mes, turi prisijungti teigiamas elektros Tai bus įtraukti į prietaiso, ir tik vienos kitos dvi kabelis išplėsti prietaiso teigiamas. Į neigiamas jungia tiesiogiai nuo maitinimo kištuką į prietaiso.

PB080196

Perdavimo jungtys.

Tai priklausys nuo jei jūs prijunkite jį prie paprastai atidaryti, ar yra paprastai uždarytas Jei prietaisas çjungtas arba išjungti, jei išjungiate su aviečių.

Šiame pavyzdyje relės yra susiję paprastai uždarytas, Taigi, jei jūs išjungiate su aviečių, kištukai darbo; Jei conectásemos jį į paprastai atidaryti, Kada atjungti aviečių lempa ne gali uždegti nes grandinė būtų atviras; Mes suprasti ji geriau su vaizdo.

Jei jums patinka galite follow me on Twitter, "Facebook", Google +, LinkedIn, arba pasidalinti ja su mygtukus pagal šio leidinio, Jei turite klausimų ar pasiūlymų prašome nedvejodami komentaras.

Padėti mums pasiekti daugiau skaitytojų Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

33 mintys apie"Aviečių PI - prieinamą namų automatizavimo sistemos įgyvendinimo [I dalis]

  1. Įjungti ir išjungti LED iš interneto

    labas rytas, Bent nieko, galiu pasakyti, kad mažiausiai, ačiū, Super
    pamoka, kitas požiūris, Bravo ir ačiū.

    Klausimas, Aš nesuprantu, tiksliai taip, kaip ir kur man reikia įdiegti scenarijus,
    mano tikslas yra turėti tinklalapį, tiesą sakant, kaip man patekti į
    darbas su PHP ir interneto, kaip pavyzdys, per PC, Prisijungę prie interneto
    kur aktyvuoti skirtingus šviesos diodus arba relės, nėra nurodyta, kaip tai padaryti,
    iš anksto ir, žinoma, Aciu uz bet kokia pagalba.

    Draugiškai Ignacio iš Belgijos

  2. Scenarijus ir vieno index.php turite nukopijuoti juos į /var/www/rele, kaip parodyta pamoka, Kiekvienas turi savo maršrutą.

    index.php, /var/www/rele/index.php
    apaga.sh, enciende.sh ir parpadea.sh /var/www/rele/gpio/17 /

    Kartą ji dirba relė sujungimui su GPIO 17, po kelių dienų man baigsis antroji dalis veikti aštuoni rezultatai.

    Naudotis internetu turite sukonfigūruoti kelvedį, kad perduoda gaunamus prašymus iš uosto 80 į savo Aviečių PI. Virtualaus serverio ir į maršrutizatorių arba NAT parinktį galite konfigūruoti ją.

    Galiausiai, Norėdami gauti lengvai galite NoIP užsiregistruoti ir gauti nemokamą domeną su savo viešojo ip tipo casa.no-ip.biz.

    PD: Įsitikinkite, kad jums apsaugoti tame puslapyje labai gerai, tik jūs turite prieigą prie jo.

    Labai ačiū už komentarus.

  3. laba diena,

    Viskas puikiai veikia, Nors tik iš lan arba su Xming naudojant ssh, Nepavyko prisijungti prie nuotolinio, "su kito kompiuterio per internetą, Turiu noip ir dyndns, ir man negali paleisti, Jei turite idėją, aš Dėkoju jums iš anksto,

    Stiprus Sveikinimas ir pamatyti daugiau, ačiū

    Ignacio

    • Aš džiaugiuosi, kad galiausiai ji dirba, bet jungtis iš interneto kuriuos protokolus ar jūs naudojate?

      Jūs turite atidaryti prievadus norite naudoti kelvedį, kuris suteikia jums prieigą prie interneto paslaugų (HTTP prievadas 80, HTTPS Portus 443, SSH uostas 22, ir tt) ir daryti ekspedijavimas į privatus IP aviečių IP maršrutizatorius, kuris suteikia jums prieigą prie interneto.

      Galiausiai dabar jūs tik turite pradėti ryšį iš kito tinklo, susiduria su visuomenės maršrutizatoriaus IP, Galite pabandyti iš savo mobiliojo telefono 3 G.

      Jei tai veikia, Dabar galite pereiti prie NoIP arba Dyn konfigūruoti prieigos iš vardas lengvai įsimenamas vietoj viešojo IP; Be to jei įdiegti NoIP aviečių, dėl NoIP svetainėje savo viešojo IP pasikeis automatiškai kiekvieną kartą, kai šis pakeitimas jūsų maršrutizatorius.

      Papildomo saugumo, Būtų geriau, jei būsite ją sukonfigūravę VPN, kad jungtis prie namų tinklo, ir per ją visi jūsų eismo.

  4. labas, Turiu klausimą, aš turiu tam paskatino į gpio4, sudo Aidas 1 > /sys/klasės/gpio/gpio4/vertė tai išjungti paskatino, ir su sudo echo 0 > /sys/klasės/gpio/gpio4/vertė, įjungti, aš atvedė, turėtų būti siekiama į revez, bus padaryti ką nors blogis?.
    Padėkite failą prisijungti internetu per, Kai paspaudžiu bet kurį mygtuką (Įjunkite, išjunk, arba mirksi) tik išjungti paskatino, bet neįsijungia, nei mirgėjimas.
    Suprantu, kad jūs galite man padėti.

    • labas, visų pirma Ačiū daug blogiau jūsų klausimą 🙂

      Jūs galite sekti pamoka žingsnis po žingsnio, relės turi 3 kaiščių tipai:

      – VDC-> galia (PIN KODAS 5V RYGOS TECHNIKOS UNIVERSITETAS)
      – GND-> GND RPI Pin
      – IN-> įrašai, ir priklausomai nuo to, ar jūsų būklė yra aukšto ar ŽEMO relės bus įjungti arba išjungti.

      Naudojimo pavyzdys IN8, Pavieniai Renata cambiarlo IN0 IN1 relės y kaip prieš comenté el pamoka 🙂

      PD: Asegurate, sean optoacoplados, Los de la foto tai sūnus.

      geriausi linkėjimai, Tikiuosi per daug ayudado.

  5. Aš padariau viską, rekomenduojama pirmiau, Kada rašyti komandas terminale, darbai, Tačiau, Jei aš galiu gauti failą enciende.sh ir siųsti paleisti terminalą neveikia ir negali matyti index.php puslapį

  6. Visų pirma, Ačiū už jūsų paaiškinimus, labai gerai, labai geras.

    Aš po jūsų nurodymus ir aš galiu sugauti žuvų bakas atstumas oro siurblys.

    Ši problema man nėra galite patikrinti būseną, PIN kodą (TRUE arba False)

    Kaip aš galiu padaryti, kad mane duomenys tame pačiame puslapyje aš?

    Yra karinio jūrų laivyno jūsų instrukcijas, įjungia ir išjungia relės tinkamai.

    • Labas Teodoro,

      Šis komentaras yra kažkas, kad daug skaitytojų paklausti, ką aš rengia kitas dalis pamoka, kur mes tvarkaraštyje statusą į GPIO rodiklis smeigtukai mano laisvo laiko nemokamu.

      Kai jis baigia man bus paskelbti dienoraštyje.

      iki pasimatymo.

  7. Prieš ką nors Ačiū labai savo dienoraštį.. įspūdingas. Savo ruožtu aš nusipirkau viską, ko reikia, Aš po savo pamokos, bet paleidus plokštė 8 relės, kažkas vyksta negerai man.

    Klausimas yra kaip yra, jei aš turiu plokštės octoacoplada?? Atrodo, kad ne pasiekia jus pakankamai srovės aktyvavimui,. Mano ryšiai yra:

    5v-> VCC (plokštelė)
    GND (P3) -> GND (plokštelė)
    GPIO4-> IN4 (plokštelė)

    Esant aktyviai gpio scenarijaus, kontroliniu buvo įjungtas į momoento, bet neišliks. Aš suprantu, kad tai todėl kad gpio yra çjungta 3,3 v ir prie relės yra 5V. Prisiekiu, tačiau tas pats būti plokštė, todėl jūs turite ahber taip, kad jis dirba ne?

    Apreciaria, bet įveskite komentarą, relės lenta yra tokia
    (8 relės modulis srd-05VDC-SL-C)

    Ačiū jums labai už viską

  8. Sveiki Loty,

    Dauguma plokštės palaikomos relės, kuriomis yra prekiaujama mikrokontrolerių ateiti jau optiškai (galvaniškai) kartu, Galite patikrinti, ar specifikacijų arba ieškote Optronai plokštės; kuriame kalbama jau minėjote, jei tas dalykas yra serijų skaičius.

    Iš tikrųjų šios plokštės yra powered su 5V, bet išvestis gali būti taip pat aktyvuojamas 3 pavaros, 3V kaip aviečių IP GPIO.

    Bet kokiu atveju, problema, atrodo, trūksta galios, Taigi pakeisti transformatorius su aviečių 2A arba pašarų išoriškai relė gali padėti.

    Sveikinimai ir pamatyti jus greičiau.

    • labas!
      Ačiū už jūsų greitą atsakymą. Aš padariau bandymus tiesiogiai ant relės valdyba (pašalinti PI RASPBERRY), Norėdami pamatyti, jei ji buvo, kad plokštelė buvo blogis. Aš turiu išorinį maitinimo šaltinį, 5V 2A ne.

      Jungiuosi prie GND, išskyrus atvejus, kai į VDC maitinimo į + feeder ir kad IN4 taip pat kaip ir +. ir ten.. DARBAI!! spustelėkite rele ir LED indikatorių buvimo, Aš padariau bandymą su lempa 220v ir visi vis dar dirba. Problema kyla su Aviečių PI.

      Aš prijungiau išorės plokštelės tiektuvą “+” VDC “-” į GND ir IN4 prijungiau aviečių gpio4, ir ten, kai aš įjungti į GPIO, nieko nevyksta. Turiu išmatuotas GPIO ir suteikia 3,3 v. Aš perskaičiau kitų svetainių ir jis sakė, kad tai nes turiu prisijungti megztinis VDC JKK kitais atvejais. Negali būti, kad ne. Gali būti, kad aš savo ruožtu gpio per BASH?? S reikia dirbti dėl savo pigūs kortelės naudojimo la libreria de python'o, GPIO??

      MUCHAS gracias por cualquier įnašas

  9. labas, Buvau, turintys problemų ištrinti šviesos rėle, naudojant kodą šiame pavyzdyje, atskleisti normalus, bet ne ištrinti ištrintas ir relės buvo ginkluoti, tik nuginkluoti kai aš atjungtas kabelis iš relės į aviečių. Po keleto bandymų pavyko panaikinti šį vadovėlį su kodais pamoka kodekse buvo panaikinti. gauti šios formos kodo dalį: Jei ($_ PRANEŠIMĄ[apagar17]) {
    $į- Exec(“sudo python/var/www/AcenderWebRele/apaga3.py”);
    $į- Exec(“sudo Aidas 17 > /sys/klasės/gpio/eksporto”);
    $į- Exec(“sudo Aidas 0 > /GPIO/sys/klasės/gpio17/vertė”);
    $į- Exec(“sudo Aidas 17 > /sys/klasės/gpio/neeksportuoti”);
    Aidas $a;
    }

  10. Laba diena nuo Meksika, mano vardas yra Enrique, I 'm interested in dalis, įgyvendinti automatizavimo su aviečių tai kilęs iš mokyklos projektas, vadovėliai jūs paminėti, kad mes turime linux, kurių aš nežinau daug, Būtų galima parengti projektą, svetainė ir būtinas planavimui – Avietė su "Windows"?, žiniatinklio serveriui, kad jūs paminėti, turi būti įrengtas pačioje aviečių arba tais atvejais, kai?, Jei įrenginiai, kurie norite, kad skaičius viršijo talpa aviečių 3 įprasta, kad ocuparia ar, kitos aviečių ar yra kažkas, kuris padidins man?, Jei ieškote kitos aviečių kaip būtų tiek pačioje žiniatinklio taikomojoje programoje?.

    Tikiuosi, ir jūs galite padėti man su šia.

    geriausi linkėjimai.

palik atsakymą