Malina PI - wdrażanie systemu niedrogie automatyki domowej [Część I]

W poprzednich postów w tej serii, Widzieliśmy Co to są Piny GPIO, i jak kontrolować LED z nich z naszych Malina PI przez Basha i Pythona, o z jednym aplikacja sieci Web.

portadarelele

Z tej okazji dowiemy się do sterowania zasilaniem elektryczne urządzenia; przed rozpoczęciem serwer mamy zainstalowany LAMPA jak widzieliśmy w poprzednią dostawy.

Do wdrożenia, zamiar użyć przekaźnik pokładzie z 5V i osiem kanałów, To musi być optoacoplada Aby chronić Raspberry PI; Od urządzeń, które mamy zamiar sprawdzić z 220V, i szpilki GPIO Malina pracę z maksymalnie 3,3V.

placarele

Przekaźniki optoacoplados płyta.

Mamy do czynienia od przekaźnika do PI malina następujące połączenia.

Moduł przekaźników optoacoplados
Malina model PI, B, A +, B +
VCC
+ 5V
W 8
GPIO 17
GND GND
APARAT CYFROWY OLYMPUS

Połączenia między PI Raspberry i przekaźnik płyta.

Teraz będziemy testować jeśli stosunki pracy, z prostego testu w Bash, ustawienie pin GPIO 17 jako dane wyjściowe, i co daje wysoką wartość logiczna.

#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

Skoro ma włączony led Przekaźnik kontroli, ponieważ możemy to wyłączyć i wydanie 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

Mamy już testowany funkcjonowania, Więc teraz mamy zamiar zobaczyć strony sieci web, którą musimy zaplanować, Jest to dość prostsze niż test z LED Widzieliśmy w ostatniej dostawy.

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

Musimy stworzyć te trzy skrypty w bashu Aby włączyć, Wyłączenie i miga; Skrypty te są trzymane w /var/www/przekaźnik/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

Kiedy mamy skrypty i index.php na ich tras, Musimy być w stanie wyświetlić przedstawione w poniższej hierarchii katalogu na serwerze sieci web.

Zrzut ekranu 2014-11-08 16:27:54Z tej okazji również musimy sudoer do użytkownika www dane; za to uruchom terminalvisudo sudo w terminalu, a doda to pi pod użytkownika tak, że użytkownik www dane Można kontrolować, szpilki GPIO.

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

Teraz możemy przetestować trzy przyciski Sprawdź, czy wszystko działa poprawnie. Po pracy, i włączyć przekaźnik płyta diody LED, Będzie słyszymy “Kliknij/klapa” że emitują podczas otwarcia i zamknięcia obwodu.

Zrzut ekranu 2014-11-08 13:30:46

Aplikacja sieci Web do sterowania przekaźnika.

Zobaczymy jak to podłączyć do lampy lub inne urządzenie do kontroli z dowolnego urządzenia z przeglądarką sieci web.

Schemat podłączyć przekaźnik między przełącznik magneto termiczne i wtyczki ściany naszego domu mogą być następujące; dla systemów użyłem obraz przekaźnika jednokanałowy, w tym przykładzie jest to IN kanał 8 8 kanałowy tablicy.

rele5vmagnetotermico

Schemat podłączenia elektryczne panel dom.

Proof of concept, Będzie używać następującego schematu z pluginu który ja miał wobec zmieniać w sali domu, i lampy. Poniżej znajdują się ściany, i powyżej kto jeździł w tym badaniu podłączenie lampy; Przekaźnik działa jako przełącznik.

rele5venchufe1

System w ten test.

Istnieją trzy porty połączeń elektrycznych dla każdego wyjścia w sztafecie: COM, normalnie otwarte i normalnie zamknięty. W COM Należy podłączyć elektryczne dodatnie To będzie paszy urządzenia, i tylko w jednym pozostałe dwa kabel rozszerzenia do pozytywnych urządzenia. The ujemne łączy bezpośrednio z wtyczki zasilania do urządzenia.

PB080196

Połączeń przekaźnika.

To będzie zależeć, czy po podłączeniu go do normalnie otwarte, lub normalnie zamknięty Jeśli urządzenie jest włączone lub wyłączone jeśli ty wyłączyć malina.

W tym przykładzie przekaźnik jest wyposażony w normalnie zamknięty, więc jeśli możesz wyłączyć malina, wtyczek pracy; Jeśli conectásemos to w normalnie otwarte, Kiedy nie odłączenie malina Lampa może zapalają się bo obwód będzie otwarta; Zrozumiemy to lepiej z wideo.

Jeśli chcesz, możesz się do mnie na Twitter, Facebook, Google +, LinkedIn, lub podzielić się nim z przycisków w tej publikacji, Jeśli masz jakiekolwiek pytania lub sugestie prosimy o komentarz.

Pomóż nam dotrzeć do czytelników więcej Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

33 myśli na"Malina PI - wdrażanie systemu niedrogie automatyki domowej [Część I]

  1. Włączenia i wyłączania diody LED z Internetu

    Dzień dobry, Na nic, przynajmniej można powiedzieć, Dziękuję, Super
    poradnik, inny wygląd, Brawo i dziękuję.

    Pytanie, Nie rozumiem, dokładnie tak, jak i gdzie należy zainstalować skrypty,
    moim zamiarem jest do strony sieci WEB, W zasadzie, nie być jak dostać się do
    pracy z PHP i www, jako przykład, za pośrednictwem PC, połączenie z Internetem
    wszędzie do aktywacji różnych diody LED lub przekaźników, nie jest jak to zrobić,
    dziękuje i oczywiście, Wielkie dzięki za pomoc.

    Polubownie Ignacio z Belgii

  2. Skrypty i pojedynczy index.php trzeba skopiować je do /var/www/rele, jak pokazano w instrukcji, Każdy ma swoją trasę.

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

    Raz jest, jak to działa dla przekaźnik podłączony do GPIO 17, w ciągu kilku dni będzie koniec z drugiej części do ośmiu wyjść.

    Aby uzyskać dostęp z Internetu należy skonfigurować routera do przekazania przychodzące żądania przez port 80 aby twój Raspberry PI. Z serwera wirtualnego routera lub NAT opcji można skonfigurować go.

    Wreszcie aby uzyskać dostęp do bardziej łatwo możesz założyć NoIP i dostać darmowe domeny związane z telefonu publicznego ip typu casa.no-ip.biz.

    PD: Upewnij się, że chronisz tej strony bardzo dobrze, tylko masz dostęp do niego.

    Bardzo dziękuję za komentowanie.

  3. Dzień dobry,

    Wszystko działa idealnie, Chociaż tylko przez lan lub z Xming przez ssh, Nie można połączyć się zdalnie, "z innego komputera za pośrednictwem Internetu, Mam noip i dyndns, i nie można uruchomić, Jeśli masz jakiś pomysł to dziękuję z góry,

    Mocne pozdrowienia i zobacz więcej, Dziękuję

    Ignacio

    • Cieszę się, że wreszcie działa, ale do łączenia z Internetem protokoły używasz?

      Musisz otworzyć porty usługi, którą chcesz używać na router, który daje dostęp do Internetu (Porcie HTTP 80, HTTPS port 443, SSH port 22, itp) i zrobić przekierowania portów na prywatne IP malina IP routera, który daje dostęp do Internetu.

      W końcu teraz tylko trzeba będzie uruchomić połączenia z innej sieci w obliczu publicznego IP routera, Można spróbować z telefonu 3 G.

      Jeśli to działa, Teraz można przystąpić do konfigurowania NoIP lub Dyn dostępu od nazwy łatwe do zapamiętania, a nie publiczne IP; Ponadto jeśli zainstalować NoIP na maliny, na stronie internetowej NoIP swój publiczny adres IP zmieni automatycznie ilekroć ta zmiana na routerze.

      Dla zwiększenia bezpieczeństwa, Byłoby lepiej, jeśli możesz skonfigurować VPN nawiązywanie połączenia z siecią domową, i kanał przez to cały twój ruch.

  4. Cześć, Mam pytanie mam led na gpio4, sudo echo 1 > /sys/class/gpio/gpio4/wartość doprowadziło to wyłączyć, i z sudo echo 0 > /sys/class/gpio/gpio4/wartość, włączyć, że prowadził, należy do revez, będzie być zrobienie czegoś złego?.
    Umieść plik, który łączy się przez www, Po naciśnięciu dowolnego przycisku (Włącz, Wyłącz, lub migające) tylko należy wyłączyć diody led, ale się nie włącza, ani migotanie.
    Podoba mi się pomoc, którą możesz mi dać.

    • Led przekaźnika jest tylko wskaźnikiem, testowałem z elektryczne urządzenia podłączone do przekaźnika?

      To zależy czy conectáis to w normalnie otwarty, lub normalnie zamknięty konfiguracji skryptów w języku python.

      • Cześć, Co ciekawe led działa idealnie, Go włączyć i wyłączyć, aby przyjemność, ale nie działa przekaźnik, nie wymaga nie otworzyć lub zamknąć, nie przełącza 🙁

    • Cześć, przede wszystkim dzięki dużo gorzej Twoje pytanie 🙂

      Możesz śledzić tutorial krok po kroku, Przekaźnik musi 3 rodzaje kołków:

      – VDC-> moc (SZPILKA 5V RPI)
      – GND GND RPI Pin->
      – IN-> są wpisy, i w zależności od tego, czy twój stan jest wysoki lub niski przekaźnika będzie włączyć lub wyłączyć.

      Przykład użycia IN8, Należy tylko zmienić go IN0, czy Twój przekaźnik IN1 i jak wspomniano wcześniej wykonaj samouczek 🙂

      PD: Asegurate sean optoacoplados, Los de la zdjęcie to syn.

      Pozdrawiam, Mam nadzieję, że zbyt ayudado.

  5. Zrobiłem wszystko jak wyżej zalecane, Kiedy piszę ten polecenia w terminalu, prace, Jednak, Jeśli można uzyskać plik enciende.sh i Wyślij uruchomić terminal nie działa i nie mogę nawet zobaczyć strony index.php

  6. Przede wszystkim, Dziękuję za Twoje wyjaśnienia, Bardzo dobrze.

    Mam nast¹pi³ twój zalecenia i można złapać ryby zbiornik odległość pompy powietrza.

    Mam problem jest chybianie można sprawdzić stan pin (Prawda czy fałsz)

    Jak można zrobić, aby przynieść mi te dane na tej samej stronie I?

    Jest Navy po instrukcji, Włącza i wyłącza przekaźnik prawidłowo.

    • Witam Teodoro,

      Ten komentarz jest coś, że wielu czytelników zadać, przez co jestem przygotowuje kolejną częścią poradnik gdzie możemy zaplanować wskaźnik stanu GPIO pins w wolnym czasie Darmowe.

      Po jego zakończeniu będą go opublikować na blogu.

      Do zobaczenia wkrótce.

  7. Zanim cokolwiek dziękuję za bloga.. jest wspaniały. Z mojej strony kupiłem wszystko, czego potrzebujesz, Śledzę wszystkie tutoriale, ale po uruchomieniu płyty 8 przekaźniki, coś idzie źle.

    Pytanie jest jak jest, czy płyta octoacoplada?? Wydaje się, że nie dojdzie do Ciebie wystarczy rozpowszechniony wobec przyśpieszyć. Moje połączenia są:

    5v-> VCC (Płyta)
    GND (P3) -> GND (Płyta)
    GPIO4-> IN4 (Płyta)

    Gdy aktywny gpio z skrypt, Czerwony kontroli prowadzonych jest włączona momoento, ale nie zatrzymać. Rozumiem, że to dlatego gpio jest aktywna 3,3 v i przekaźniki są 5V. Przysięgam, jednak mają takie same płytki więc trzeba ahber sposób, aby to działało nie?

    Apreciaria jakiegokolwiek rodzaju komentarz, przekaźnik pokładzie jest następujący
    (8 przekaźniki moduł srd-05VDC-SL-C)

    Dziękuję bardzo za wszystko

  8. Witam Loty,

    Większość płyt obsługiwane przekaźników, które są wprowadzane do obrotu dla mikrokontrolerów przyjść już opto w połączeniu, Można sprawdzić, czy jest w specyfikacji lub szukasz transoptory w tablicy; co odnosi się do numeru serii, co już wspomniano, jeśli jest to coś.

    Faktycznie te płytki są zasilane z 5V, ale dane wyjściowe można aktywować również przez siłowniki 3, 3V jako malina GPIO IP.

    W każdym razie problem wydaje się być brak mocy, tak zastąpić transformator malina 2A lub paszy zewnętrznie przekaźnik może pomóc.

    Pozdrowienia i do zobaczenia wkrótce.

    • Cześć!
      Dziękuję za szybką odpowiedź. Zrobiłem badania bezpośrednio na przekaźnik pokładzie (usunięcie PI RASPBERRY), Aby zobaczyć, czy to, że płyta miała zła. Mam zasilacz 5V w 2A.

      Podłączyć GND, chyba że podajnika VDC do + Podajnik i IN4 również do +. i tam.. PRACE!! Kliknij przekaźnik i wskaźnik LED świeci, Zrobiłem test z lampą 220v i nadal działa. Problem powstaje z RASPBERRY PI.

      Mam podłączony zewnętrzny podajnik płyta “+” VDC “-” GND i IN4 podłączyłem MALINOWY gpio4, i tam, kiedy włączyć GPIO, nic się nie dzieje. Zmierzyłem GPIO i daje 3,3 v. Czytałem na innych stronach i mówi się, że to dlatego mam podłączyć zworki VDC-WKK inaczej. Nie można, że źle. To może być, że włączam gpio przez BASH?? Potrzebne do pracy na jej tanie karty stosowania la libreria de Pythona z GPIO S??

      MUCHAS gracias por cualquier wkład

  9. Cześć, Miałam problem usunąć światło z przekaźnika, przy użyciu kodu w tym poradniku, może światła normalne, ale nie usunąć usunięte i przekaźnik był uzbrojony, rozbrajanie tylko gdy mam odłączony kabel od przekaźnika malina. Po kilku próbach udało mi się usunąć ten tutorial z kodami wychowawczy Kodeks doprowadziła do usunięcia. dostawanie ten formularz część kodu: Jeśli ($_ POSTU[apagar17]) {
    $do- exec(“sudo python/var/www/AcenderWebRele/apaga3.py”);
    $do- exec(“sudo echo 17 > /sys/class/gpio/eksport”);
    $do- exec(“sudo echo 0 > /GPIO/sys/class/gpio17/wartość”);
    $do- exec(“sudo echo 17 > /sys/class/gpio/unexport”);
    Echo $a;
    }

  10. Dzień dobry z Meksyku, Nazywam się Enrique, Jestem zainteresowany w ramach realizacji automatyzacji z malinami, które to pochodzi z projektu szkoły, w samouczkach wspominasz, że musimy mieć Linuksa dla których nie wiem wiele, Istnieje możliwość opracowania projektu, na stronie internetowej i niezbędne programowanie w maliny z windows?, serwer sieci web, które można wymienić musi być zainstalowany w tym samym malina lub gdzie?, Jeśli liczba urządzeń, które chcą kontroli przekroczona pojemność malin 3 Czy normalne ocuparia, inne maliny lub jest coś, co zwiększy mi zdolności?, Jeśli masz do czynienia z innym Maliny jak chcieliby zarówno z tej samej aplikacji sieci web?.

    Mam nadzieję, i może mi pomóc z tym.

    Pozdrawiam.

Dodaj komentarz