PI framboesa - implementação de um sistema de automação residencial acessível [Parte I]

Em posts anteriores desta série, Nós vimos Quais são os pinos GPIO, e como controlar um DIODO EMISSOR DE LUZ com eles do nosso PI de framboesa por Bash e Python, o com um aplicativo Web.

portadarelele

Desta vez vamos aprender a controlar o poder de um aparelho elétrico; antes de você iniciar o servidor temos instalado LÂMPADA como vimos no a entrega da anterior.

Para implementá-lo, vou usar uma placa de relé de 5V e oito canais, Deve ser optoacoplada para proteger o Raspberry PI; Desde que os dispositivos que iremos verificar com 220V, e pinos GPIO Trabalho de framboesa com um máximo de 3,3V.

placarele

Placa de relés optoacoplados.

Temos que fazer entre o relé e o Raspberry PI as seguintes conexões.

Módulo de relés optoacoplados
Modelo de PI framboesa para, B, A +, B +
VCC
+ 5V
EM 8
GPIO 17
GND GND
CÂMERA DIGITAL OLYMPUS

Conexões entre o Raspberry PI e placa de relé.

Agora vamos testar se as conexões funcionam, com um simples teste em Brito, configuração do pino GPIO 17 como saída, e dando um alto valor lógico.

#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

Uma vez que acendeu o led de controle a relé, Porque podemos desligá-lo e solte o pino 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

Nós já testamos o funcionamento, Então agora nós vamos ver a página da web, que é preciso agendar, É muito mais simples do que o teste com o DIODO EMISSOR DE LUZ Vimos na última entrega.

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

Precisamos criar estas três scripts em bash para ligar, Desligar e piscando; Esses scripts são alojados em /var/www/relé/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

Quando temos o scripts de e o index. php em suas respectivas rotas, Temos de ser capazes de ver os a seguinte hierarquia diretório no servidor web.

Screenshot do 2014-11-08 16:27:54Nesta ocasião também deve fazer sudoer para o usuário www-dados; para isso, execute sudo visudo no terminal, e adicioná-lo pi sob o usuário para que o usuário www-dados Você pode controlar os pinos GPIO.

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

Agora vamos testar os três botões para Verificar se tudo está funcionando corretamente. Uma vez trabalhar, e relé placa leds acendem, Vamos ouvir o “Clique, claque” que você emite quando abrindo e fechando o circuito.

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

Aplicativo da Web para controlar o relé.

Vamos ver como ligar uma lâmpada ou qualquer outro aparelho para controlá-lo partir de qualquer dispositivo com um navegador da web.

O esquema para conectar o relé entre um interruptor magnetotérmico e um plug a parede da nossa casa deve ser o seguinte; para esquemas, eu usei a imagem de um relé de canal único, Neste exemplo é o canal IN 8 placa de oito canais.

rele5vmagnetotermico

Diagrama de Conexão no painel elétrico de uma casa.

Para a prova de conceito, Vou usar o esquema a seguir com uma ficha que eu tive que mudar em um quarto de casa, e uma lâmpada. Abaixo estão na parede, e acima de quem já andou neste teste para conectar na lâmpada; o relé atua como um interruptor.

rele5venchufe1

Esquema usado neste teste.

Existem três portas de conexão elétrica para cada saída de relé: COM, normalmente aberto e Normalmente fechado. Em COM Nós deve conectar-se. o positivo elétrico Vai alimentar o aparelho, e em apenas um os outros dois o cabo de extensão para o lado positivo do aparelho. O negativo conecta-se do poder ligar directamente para o aparelho.

PB080196

Conexões de um relé.

Vai depender se você conectá-lo ao normalmente aberto, ou um Normalmente fechado Se o aparelho estiver em ou fora se você desativar a framboesa.

Neste exemplo, o relé é ligado em Normalmente fechado, Então, se você desligar a framboesa, fichas de trabalho; Se conectásemos em normalmente aberto, Quando não desconectar a lâmpada framboesa pode inflamar porque o circuito estaria aberto; Nós compreenderemos melhor com um vídeo.

Se você gosta você pode me seguir no Twitter, Facebook, Google +, LinkedIn, ou compartilhá-lo com os botões sob esta publicação, Se você tiver dúvidas ou sugestões não hesite em comentar.

Ajude-na alcançar mais leitores Share on LinkedInShare on FacebookTweet about this on TwitterShare on Google+Email this to someone

33 reflexões sobre"PI framboesa - implementação de um sistema de automação residencial acessível [Parte I]

  1. Ligar e desligar os LEDS da internet

    Bom dia, Em nada, o mínimo que eu posso dizer, Obrigado, Super
    o tutorial, um outro olhar, Bravo e obrigado.

    Uma pergunta, Eu não entendo exatamente como e onde devo instalar os scripts,
    minha intenção é ter uma página da WEB, Na verdade, não ser que eu possa
    trabalhando com PHP e WEB, como o exemplo, através de um PC, conectado à Internet
    em qualquer lugar para ativar os LEDs diferentes ou relés, Não é como fazer isso,
    com antecedência e claro, Muito obrigado por qualquer ajuda.

    Ignacio amigavelmente da Bélgica

  2. Os scripts e o único index. php você precisa copiá-los para /var/www/rele, como mostrado no tutorial, cada um tem a sua rota.

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

    Para o tempo sendo como ele funciona para um relé ligado ao GPIO 17, em poucos dias termino com a segunda parte para operar as oito saídas.

    Para acessar a internet, você deve configurar seu roteador para encaminhar as solicitações de entrada pela porta 80 para seu Raspberry PI. O servidor Virtual do roteador ou opção de NAT, você pode configurá-lo.

    Finalmente, para acessar mais facilmente você pode se inscrever para o NoIP e obter um domínio livre associado com seu ip público do tipo casa.no-ip.biz.

    PD: Certifique-se de que você proteger essa página muito bem, só você tem acesso a ele.

    Muito obrigado por comentar.

  3. Boa tarde,

    Tudo funciona perfeitamente, Embora apenas por lan ou com Xming através de ssh, Não é possível conectar a remoto, ' com outro PC via Internet, Tenho noip e dyndns, e eu não posso correr, Se você tem alguma idéia, agradeço-lhe antecipadamente,

    Uma saudação forte e uma Veja mais, Obrigado

    Ignacio

    • Estou feliz que finalmente funciona, Mas para conectar na Internet quais os protocolos que você está usando?

      Você tem que abrir as portas dos serviços que você deseja usar no roteador que fornece acesso à Internet (Porta HTTP 80, Porta HTTPS 443, SSH Porto 22, etc) e fazer Port Forwarding do roteador IP de framboesa IP privada que fornece acesso à Internet.

      Finalmente agora você só terá que iniciar a conexão a partir de outra rede de frente para o IP público do seu roteador, Você pode tentar a partir do telemóvel 3G.

      Se isso funciona, Agora você pode proceder para configurar o NoIP ou Dyn para acesso a partir de um nome fácil de lembrar ao invés de um IP público; Além disso se instalar NoIP no framboesa, sobre o site do NoIP seu IP público mudará automaticamente sempre que essa alteração para seu roteador.

      Para a segurança adicionada, Seria melhor se você configurar uma VPN para fazer conexões à sua rede doméstica, e canalizar através dele todo o seu tráfego.

  4. Olá, Eu tenho uma pergunta eu tenho um conduzido sobre o gpio4, sudo echo 1 > /valor/sys/classe/gpio4/gpio isso que desligo levou, e com o sudo echo 0 > /valor/sys/classe/gpio4/gpio, Ligue liderei, deve ser para o revez, vai fazer alguma coisa mal?.
    Coloque o arquivo para conectar via web, Quando eu pressionar qualquer botão (Ligue, Desativar, ou piscando) apenas desativar conduzida, Mas não liga, Nem a cintilação.
    Agradeço a ajuda que você pode me dar.

    • Olá, primeiro de tudo, obrigado muito pior sua pergunta 🙂

      Você pode seguir o tutorial passo a passo, o relé tem 3 tipos de pinos:

      – VDC-> poder (PINO 5V RPI)
      – GND-> pino GND RPI
      – IN-> são entradas, e dependendo se seu estado é alta ou baixa, o relé irá ligar ou desligar.

      Uso de exemplo IN8, Você só deve mudar isso IN0 ou seu relé IN1 e como eu mencionei antes, siga o tutorial 🙂

      PD: Certifique-se de que estes são optoacoplados, a foto está.

      Atenciosamente, Espero que ter ajudado.

  5. Antes de mais nada, Obrigado por suas explicações, Muito bom.

    Segui suas instruções e eu posso pegar uma bomba de ar de distância de tanque de peixes.

    O problema que eu tenho está faltando eu posso verificar o status do pino (Verdadeiro ou falso)

    Como posso fazer para me trazer esses dados na mesma página eu?

    É marinha, seguindo suas instruções, Liga e desliga o relé corretamente.

    • Oi Teodoro,

      Este comentário é algo que muitos leitores perguntam, pelo que estou a preparar a próxima parte do tutorial onde nós agendará um indicador de status do GPIO pinos no meu tempo livre grátis.

      Uma vez que é terminado vou publicar isso no Blog.

      Te vejo depois.

  6. Antes de mais nada muito obrigado para o seu blog.. é espetacular. Pela minha parte eu comprei tudo o que precisa, Segui todos os seus tutoriais, Mas quando você executa o prato de 8 relés, acontece alguma coisa eu.

    A questão é como é que se eu tenho a placa octoacoplada?? Parece que não te atinge corrente suficiente para ativar o. Meus contatos são:

    5v-> VCC (placa)
    GND (P3) -> GND (placa)
    GPIO4-> EM 4 (placa)

    Quando ativo o gpio com script, o controle vermelho levado está ligado por um momoento, Mas não pode ficar. Eu entendo que é porque o gpio é ativado para 3,3 volts e os relés são 5V. Juro, no entanto, tenho a mesma placa então você tem que ahber uma maneira de fazê-lo funcionar não?

    Apreciaria qualquer tipo de comentário, o relé do Conselho é o seguinte
    (8 relés do módulo srd-05VDC-SL-C)

    Muito obrigado por tudo

  7. Olá Loty,

    A maioria das placas de relés com suporte que são comercializados para microcontroladores vem já opto-acopladas, Você pode verificar se as especificações ou procurando o tipo da placa de; que se refere ao número de série que você mencionou se aquela coisa é.

    Efetivamente, estas placas são alimentadas com 5V, Mas a saída pode ser ativada também por 3 atuadores, 3V como a framboesa IP GPIO.

    De qualquer forma, o problema parece ser a falta de energia, Então, substituir o transformador da framboesa com uma 2A ou alimentação externamente o relé poderia ajudar.

    Saudações e nos vemos em breve.

    • Olá!
      Obrigado por sua pronta resposta. Já fiz testes diretamente sobre o placa de relé (removendo o RASPBERRY PI), para ver se foi que a placa tinha mal. Tenho uma fonte de alimentação externa de 5V 2A.

      Conecto o GND, a menos que o alimentador de VCC para o + o alimentador e a em 4 também para o +. e lá.. OBRAS!! o clique do relé e o LED indicador permanece, Eu fiz o teste com uma lâmpada de 220v e todos ainda trabalhando. O problema surge com a PI de framboesa.

      Eu tenho ligado o alimentador de placa externo “+” o VDC “-” o GND e o em 4 liguei o gpio4 framboesa, e aí quando eu ativar o GPIO, Não acontece nada. Tenho medido a GPIO e dá 3,3 v. Eu li em outros sites e diz que é porque eu tenho que conectar o jumper VDC-CCM, de outra forma. Não ser o que eu fiz de errado. Pode ser que eu vire o gpio através do BASH?? É necessário fazer o trabalho sobre o uso de placa de relé biblioteca python GPIO??

      Muito obrigado por qualquer contribuição

  8. Olá, estava com um problema para apagar a luz com relé, utilizando o código deste tutorial, conseguia acender normal, mas pra apagar não apagava e o relé ficava armado, só desarmando quando eu desconectava o cabo entre o relé o raspberry. Depois de várias tentativas consegui fazer apagar juntando os codigos deste tutorial com o codigo do tutorial de led para apagar. ficando desta formam uma parte do código: Se ($_POST[apagar17]) {
    $Para- exec(“sudo python /var/www/AcenderWebRele/apaga3.py”);
    $Para- exec(“sudo echo 17 > /sys/class/gpio/export”);
    $Para- exec(“sudo echo 0 > /sys/class/gpio/gpio17/value”);
    $Para- exec(“sudo echo 17 > /sys/class/gpio/unexport”);
    echo $a;
    }

  9. Boa tarde do México, meu nome é Enrique, Estou interessado na parte de automação de implementar com framboesa que este derivado de um projeto de escola, nos tutoriais que você menciona que devemos ter para que eu não sei muito de linux, É possível desenvolver o projeto, tanto o site e a programação necessária na framboesa com windows?, o servidor web que você menciona deve ser instalado na mesma framboesa ou onde?, Se o número de dispositivos que quero controle excedeu a capacidade de uma framboesa 3 normal para fazer ocuparia, outra framboesa ou há algo que me aumentará a capacidade?, Se você lidar com outro framboesa como seria ambos com o mesmo aplicativo da web?.

    Espero, e você pode me ajudar com isso.

    Atenciosamente.

Deixar uma resposta