PI de framboesa e GPIO pinos: Controlando o LED a partir de uma interface web

Nos mais recentes posts desta série, Nós vimos Eles são os pinos GPIO e servir, e Como controlar o poder dos leds do terminal; antes de iniciar Temos instalado as bibliotecas GPIO para Python, e o circuito eletrônico montado e funcionando.
Aplicativo da Web em HTML + PHP + Python para lidar com alguns Leds através o GPIO.

Nesta ocasião, instalaremos o servidor web Apache, e aprender a escrever o código em HTML e PHP para controlar o mesmo LED, ou vários, a partir de uma interface web.

gpioprogramar0pngA primeira coisa que devemos fazer é instalar o servidor web LAMP, Então, digite os seguintes comandos no terminal:

#Actualizamos los repositorios y el software de la pi
usuario@maquina:~$ sudo apt-get update && sudo apt-get upgrade

#Instalamos LAMP
usuario@maquina:~$ sudo apt-get install apache2
usuario@maquina:~$ sudo apt-get install php5 libapache2-mod-php5
usuario@maquina:~$ sudo service apache2 restart

Agora vamos adicionar como sudoer para o usuário www-dados, Esta não é a opção mais segura, mas lembre-se que estamos a fazer um teste em um ambiente controlado; para um ambiente na produção devemos procurar outra maneira de executar scripts em python como sudoer.

Para editar essas permissões, escreveu sudo visudo no terminal e no final do arquivo. Adicionar a www-dados como sudoer, Tem que ser assim.

# See sudoers(5) for more information on "#include" directives:

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

Para cada pino GPIO Precisamos criar um subdiretório e três scripts em Python; um para ligar, outro para desligar, e um script final para fazer nosso LED piscando, Aqui está um exemplo com o PIN 4.

#!usr/bin/env/ python
## enciende.py
#Importamos la libreria y le cambiamos el nombre a GPIO
importação RPi.GPIO como GPIO
#Podemos estabelecer o sistema de numeração que queremos, 
#Neste caso o sistema BCM
GPIO.setmode(GPIO. BCM)
#Configurar o pino GPIO 4 como uma saída
GPIO.setup(4, GPIO. PARA FORA)
#Podemos ligar o led
GPIO.output(4, GPIO. ALTA)
#!usr/bin/env/ python
## apaga.py
#Nós importamos a biblioteca e altere seu nome para GPIO
importação RPi.GPIO como GPIO
#Podemos estabelecer o sistema de numeração que queremos, 
#Neste caso o sistema BCM
GPIO.setmode(GPIO. BCM)
#Configurar o pino GPIO 4 como uma saída
GPIO.setup(4, GPIO. PARA FORA)
#Desligar o led
GPIO.output(4, GPIO. BAIXA)
#E libertamos o GPIO
GPIO.cleanup()
#!usr/bin/env/ python
## parpadea.py
#Nós importamos a biblioteca e altere seu nome para GPIO
importação RPi.GPIO como GPIO

#Necessário para os atrasos
momento da importação

#Podemos estabelecer o sistema de numeração que queremos, 
#Neste caso o sistema BCM
GPIO.setmode(GPIO. BCM)

#Configurar o pino GPIO 4 como uma saída
GPIO.setup(4, GPIO. PARA FORA)

#Ligar e desligar o led 5 vezes
para que no intervalo(0,5):

        GPIO.output(4, GPIO. ALTA)
        time.Sleep(1)(1)
        GPIO.output(4, GPIO. BAIXA)
        time.Sleep(1)(1)

#E libertamos o GPIO
GPIO.cleanup()

Agora é a hora de criar a nossa home page em HTML e PHP, contém botões que que premir para executar os scripts Python a partir de uma interface web, Depois veremos como a hierarquia final.

<html>
 <head>
                        <!--index.php--> 
 </head>
 <body>

  <!--GPIO17--> 
  <form action="" method="post">
   GPIO 17&nbsp;<input type="submit" name="encender17" value="Encender">
   <input type="submit" name="apagar17" value="Apagar">
   <input type="submit" name="parpadear17" value="Parpadear">

 <br></br>

  <!--GPIO27--> 
  <form action="" method="post">
   GPIO 27&nbsp;<input type="submit" name="encender27" value="Encender">
   <input type="submit" name="apagar27" value="Apagar">
   <input type="submit" name="parpadear27" value="Parpadear">

 <br></br>

  <!--GPIO4--> 
  <form action="" method="post">
   GPIO 04&nbsp;<input type="submit" name="encender4" value="Encender">
   <input type="submit" name="apagar4" value="Apagar">
   <input type="submit" name="parpadear4" value="Parpadear">

 <br></br>

  <!--GPIO22--> 
  <form action="" method="post">
   GPIO 22&nbsp;<input type="submit" name="encender22" value="Encender">
   <input type="submit" name="apagar22" value="Apagar">
   <input type="submit" name="parpadear22" value="Parpadear">

 </body>
</html>

<?php

// Funciones PHP del pin GPIO 17

  if ($_POST[encender17]) { 
   $a- exec("sudo python /var/www/leds/gpio/17/enciende.py");
   echo $a;
  }

  if ($_POST[apagar17]) { 
   $a- exec("sudo python /var/www/leds/gpio/17/apaga.py");
   echo $a;
  }

  if ($_POST[parpadear17]) { 
   $a- exec("sudo python /var/www/leds/gpio/17/parpadea.py");
   echo $a;
  }

// Fin de las funciónes del pin GPIO 17


// Funciones PHP del pin GPIO 27

  if ($_POST[encender27]) { 
   $a- exec("sudo python /var/www/leds/gpio/27/enciende.py");
   echo $a;
  }

  if ($_POST[apagar27]) { 
   $a- exec("sudo python /var/www/leds/gpio/27/apaga.py");
   echo $a;
  }

  if ($_POST[parpadear27]) { 
   $a- exec("sudo python /var/www/leds/gpio/27/parpadea.py");
   echo $a;
  }

// Fin de las funciónes del pin GPIO 27


// Funciones PHP del pin GPIO 4

  if ($_POST[encender4]) { 
   $a- exec("sudo python /var/www/leds/gpio/4/enciende.py");
   echo $a;
  }

  if ($_POST[apagar4]) { 
   $a- exec("sudo python /var/www/leds/gpio/4/apaga.py");
   echo $a;
  }

  if ($_POST[parpadear4]) { 
   $a- exec("sudo python /var/www/leds/gpio/4/parpadea.py");
   echo $a;
  }

// Fin de las funciónes del pin GPIO 4


// Funciones PHP del pin GPIO 22

  if ($_POST[encender22]) { 
   $a- exec("sudo python /var/www/leds/gpio/22/enciende.py");
   echo $a;
  }

  if ($_POST[apagar22]) { 
   $a- exec("sudo python /var/www/leds/gpio/22/apaga.py");
   echo $a;
  }

  if ($_POST[parpadear22]) { 
   $a- exec("sudo python /var/www/leds/ejecgpio/22/parpadea.py");
   echo $a;
  }

// Fin de las funciónes del pin GPIO 22

?>

Agrupei- todos na mesma página como se criar uma página no PHP para cada opção, para executá-lo, fui enviado para a página de roteiro (uma página em branco); Agora execute o código e permanece na mesma página.

Enfim Temos de alcançar a seguinte hierarquia dentro do subdiretório do servidor web /var/www.

Screenshot do 2014-10-05 00:06:52Se 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

71 reflexões sobre"PI de framboesa e GPIO pinos: Controlando o LED a partir de uma interface web

  1. Bom, Depois de olhar para automação residencial de soluções de Internet, Decidi pelo seu sistema, Parece bem expostas.
    Mesmo assim e por causa da minha experiência zero em macio. duvida de mim, Eu gostaria que você pudesse resolvê-los, Eu fiz muitos testes e nada, Eu não entendi….:)
    executar todas as etapas que explicam e gerencio o gpio do terminal com o putty, Mas desde que a web não pode ativar o script python.
    Preciso fazer uma página no /val/www com html (index. html) servi-lo, então eu apache. Ao colocar seu site aqui, se me deixem os botões, Mas não executa o script php. Na página index. php, Não será colocado dentro.
    Desculpe o incômodo e obrigado.

      • Obrigado por responder tão rapidamente, Sim eu passo para dar permissões no arquivo que você colocar, Estou confuso com a página index. php, Você pendurar o diretório GPiO, Só vejo os botões na web, se eu colocá-lo em /val/www….em html!…index. html, Mas não executa o script PHP. Que deve colocar o index. php que pendurar o diretório GPIO?

        • Se você olhar de perto, index. php /var/www/leds 🙂 trava se ainda não funciona, comentar este artigo e olhar para ele.

          Se /var/ www/index.php cuelgas vai vê-lo nesse sentido, mas não vai funcionar nada:

          http://ipdelapi

          Se o jeito de /var/www/leds/will trabalhar corretamente, mas desde esta rota:

          http://ipdelapi/leds

          Espero que isto resolve suas dúvidas e que você pode mover a este mundo tão excitante.

          • Bom, Eu tenho o mesmo problema que o colega acima.

            Meu index. php pende de /var/www/html/index.html
            , Se eu pegar meu html índice de lá não mostrado, Mas não tenho nenhum problema em tê-lo de lá, Meu problema vem quando o botão de pulso e não me executar o scrip.

            PD: Dei-lhe tudo e autorizações

            Obrigado pela sua resposta.
            Uma saudação

            J. G.

  2. Bom, seu trabalho está me servindo muito, Você é uma máquina!
    Estou a tentar fazer o sistema de automação para controlar vários leds da web, mas eu tenho um problema que você não pode aliviar.
    O tema é que ativei o GPIO preciso, Eu ativá-los e desactivar do terminal, Eu ligar outro PC conectado na mesma rede para 192.168.X.X/leds/ e o site parece ser bom, o menu para o controle da casa parece perfeito, Mas os leds não respondem, Já tentei pelo ativo e passivo, algo que estou fazendo errado…
    A única coisa que posso dizer é que você exibir o código-fonte da página e mostra apenas o código html, php não aparece, não ser se ele deve ou não.
    Acho que pode ser algo de PHP, mas não estou muito convencido, porque eu tentei um teste PHP e fá-lo bem, Estou desesperada lol

    • Olá, John.,

      Me alegro muito que pode ser de utilidade 🙂 meus artigos são sempre bem vindos os comentários positivos.

      Todo o código PHP no navegador é exibido como HTML, Desde que a função do PHP é na época e dinamicamente criar páginas da web que são servidos no navegador.

      Executando scripts Python diretamente se os leds estão acesos? o certo seria iniciar teste daqui e ir para a frente.

  3. Obrigado por responder rapidamente!
    Finalmente o formato novo da framboesa, Eu segui todos os passos novamente e tudo funciona perfeitamente, não ser que pode falhar..
    De qualquer forma obrigado pela atenção.
    Uma saudação

    • Obrigado por compartilhar suas dúvidas, Estou feliz que ele finalmente arranjou.

      Você mudou alguma coisa em sua framboesa, bem como o formato, como por exemplo o transformador microUSB?

      • Sim, Quando eu comprei eu coloquei um dissipador para o micro para velocidade-lo e assim vão funcionar mais rápido, Mas também não é muito perceptível mudança.
        Foi a única coisa que mudá-lo para a grosa.

        • Olá, John., Fico feliz em ler-te novamente aqui.

          Em princípio não tem que influenciar o Overclock neste aspecto, Mas pode ter sido qualquer configuração; Agora que você está trabalhando com uma limpeza Raspbian retorna para dar problemas depois de estar em produção, Agora se isso recomendo que você para encontrar a raiz do problema.

          Mudar no Overclock você vai notar que em acordo com tarefas específicas que necessitam de muito poder de computação, Mas alguns fatores tais como a porta Ethernet continuará de acordo com o gargalo que usa.

          Você pode ver a revisão que fiz dos modelos Raspberry PI B, B + e B2 no seguinte link, com testes de desempenho completo:

          http://www.peatonet.com/raspberry-pi-y-los-pines-gpio-controlando-el-led-desde-una-interfaz-web/

          Espero que seja útil, nos vemos em breve 🙂

  4. Olá, Eu tenho uma pequena pergunta/problema. Eu gostaria de conectar uma campainha ao invés de um led, Mas quero experimentar primeiro com um led para aprender. É necessário fazer um index. html e outros. php?
    Tenho o led ligado para o gpio4, e eu tenho um script de on.py e outros off.py dentro da pasta 4. Console de trabalho perfeitamente.
    e eu não posso colocar o index. html, porque ele não vai me deixar, Mas só levou a funcionalidade 4.

    Espero que você possa me ajudar., Visitei seu perfil no facebook e espero que um dia os dois Raspberry Pi como você sabe. Uma saudação e agradecimentos.

  5. Uma web em PHP pode conter HTML por que só precisa de um index. php

    Se você colocar os comandos PHP para executar seus scripts em python em um arquivo HTML, Não será executado.

    Agora que o terminal funciona, Você pode apenas copiar o index. php deste tutorial, eliminando o outro GPIO e deixando apenas o 4 Isso é o que você usa; e ele deve funcionar.

    Se você não pode editar arquivos em/var/www certamente será pela permissão, Neste tutorial é a solução, e ele deve funcionar, Se ele não comenta e eu tentarei te ajudar.

  6. Olá, Eu vou colocar outra questão aqui, Se você ou alguém que pode me levar a cabo um. Eu tenho esse script e gostaria de excluir a pasta com a data uma vez reiniciada, e o que me interessa, Sei como fazer isso quando se trata de um montante de x-tamanho das capturas, todos apagados ou reinicia a RPi. Graças a uma saudação.

    #! /bin/sh
    # /etc/init.d/motionStartup
    #

    # Algumas coisas que são sempre executados
    #contato /var/lock/motionStartup
    Logger - s “Script chamado motionStartup”

    # Realizar funções específicas quando solicitado a pelo sistema
    caso “$1” em
    Início)
    Logger - s “Roteiro motionStartup começado”
    TIMESTAMP = $(Data + %m %d %h %m %s e % | A SED / / / g') # Sem espaços
    Logger - s “MotionStartup script $TIMESTAMP”
    sudo mkdir/motiontmp / $TIMESTAMP || Logger - s “Mkdir iniciar erro”
    encontrar/motiontmp/movimento /. -tipo f - tamanho 0 -Print0 - excluir
    encontrar/motiontmp/movimento /. -MaxDepth 1 -tipo f | \
    XARGS - EU '{}’ sudo mv {} /motiontmp / $TIMESTAMP
    ;;
    Pare)
    Logger - s “MotionStartup de script parado”
    ;;
    *)
    Eco “Uso: /etc/init.d/motionStartup {Início|Pare}”
    saída 1
    ;;
    ESAC

    saída 0

  7. Se você adicionar esta linha no início do seu script, cada vez que você executar o script antes de fazer qualquer coisa que você irá apagar todas as pastas dentro/motiontmp /

    sudo rm - rf/motiontmp / *

    No que se refere os apagar arquivos quando você alcança um certo tamanho, Você poderia tentar concatenar o comando df - h mostrando o uso do disco um diretório, ou em uma partição:

    DF - h /motiontmp

    Com outro comando como wc ou sed para que ele só lê a frase referindo-se a MB ou GB usado, Finalmente com se você pode programar a parte que, se o resultado for maior que N, Execute o comando descrito acima rm.

    • Para excluir pastas perfeito, Mas depois…
      Desculpe, mas eu sou um pouco novo e estou perdido, como seria, por exemplo, para quando atinge o diretório/motiontmp/movimento / 5 Gigas? Obrigado, saudações.

  8. Pena para que muitos posts seguiram, mas como eu estou descobrindo a atualização. Algo assim pode funcionar?

    #! /bin/sh
    # /etc/init.d/motionStartup
    #

    tamanho = du - /motiontmp

    ler “tamanho”

    Se [ “$tamanho” > “2048000K” ]; em seguida

    sudo rm - rf/motiontmp / *

    mais

    Logger - s “Script chamado motionStartup”

    # Realizar funções específicas quando solicitado a pelo sistema
    caso “$1” em
    Início)
    Logger - s “Roteiro motionStartup começado”
    TIMESTAMP = $(Data + %m %d %h %m %s e % | A SED / / / g') # Sem espaços
    Logger - s “MotionStartup script $TIMESTAMP”
    sudo mkdir/motiontmp / $TIMESTAMP || Logger - s “Mkdir iniciar erro”
    encontrar/motiontmp/movimento /. -tipo f - tamanho 0 -Print0 - excluir
    encontrar/motiontmp/movimento /. -MaxDepth 1 -tipo f | \
    XARGS - EU '{}’ sudo mv {} /motiontmp / $TIMESTAMP
    ;;
    Pare)
    Logger - s “MotionStartup de script parado”
    ;;
    *)
    Eco “Uso: /etc/init.d/motionStartup {Início|Pare}”
    saída 1
    ;;
    ESAC

    saída 0

    Fi

  9. Olá que tal um amigo, Desculpa sigam seu exemplo e o led está aceso, não há problema, Mas quando você clica no botão de desligar, o led pisca, Já Verifique os códigos e tudo está correto :/ Você tem alguma idéia que poderia estar fazendo errado?

    • Olá, Fco., Obrigado pelo seu comentário.

      Na web, Existem três botões:

      Ligue, Desativar, e piscando.

      Se você pode, Cole aqui o código que você atribui para a botão desligar, Então o comentário é possível que o botão desligar executando o script que deve ser associado com o botão piscando.

      Te vejo depois.

  10. Olá novamente a todos, outra dúvida mais para adicionar lol.

    Antes de colocar em segundo plano, É para ativar um som de campainha (campainha eléctrica) Deve ser um loop que colocar o seu pin para 1 e um 0 constantemente, Não como um led que enquanto 1 Ainda.
    O problema é como parar esse loop para usá-lo em uma web php, Porque console adicionando no final da chamada script um & Ele é executado em segundo plano e deixa o console livre para chamar o script que termina-lo, exemplo de:

    sudo python sonar.py &

    Estes são dois scripts, faz parecer que e certificando-se que pára de tocar:

    momento da importação
    importação RPi.GPIO como gpio

    GPIO.SetWarnings(Falso)
    GPI.setMode(GPIO. PLACA)
    GPIO.Setup(7,GPIO. PARA FORA)

    GPIO.output(7,1)
    time.Sleep(1)(.3)
    GPIO.output(7,0)
    time.Sleep(1)(.3)

    e o desligamento:

    momento da importação
    importação RPi.GPIO como gpio

    GPIO.SetWarnings(Falso)
    GPI.setMode(GPIO. PLACA)
    GPIO.Setup(7,GPIO. PARA FORA)

    GPIO.output(7,0)
    GPIO.cleanup()

    Mas simplesmente interromper o primeiro trabalhou. Graças a uma saudação.

  11. Você pode concatenar vários comandos, para que com base no seu nome do script, o terminal olhar seu PID e posteriormente matar sua execução com Kill.

    Uma vez encontrado o comando, alterar a função que pretende fechar com Ctrl + C, por uma vez, N zumbido vezes Matt automaticamente com este comando.

  12. Se com Ctrl + C fecha no console, Mas tentar implementá-lo através de PHP como seus post leds, Então terá de haver outra maneira de dizer.

  13. Olá.
    Obrigado pelo tutorial.

    Eu tenho um problema, não executa o script, Se você executá-los de console, Mas desde que a página não, Não sei o que pode ser. Eu fiz o comentário de
    “Podemos escrever sudo visudo no terminal e no final do arquivo adicione a www-dados como sudoer, Tem que ser assim.”

    Mas nada. O que mais posso olhar?

    Atenciosamente.

  14. Olá, Bom dia,
    Em nada, Obrigado.

    Ele permite que uma pergunta, Tudo funciona perfeitamente, Agora, Eu gostaria de ser capaz de adicionar uma tela que indica quando o LED está ligado ou desligado, Encontrei alguns artigos mesmo com imagens mostrando a cor dependendo se mudando as lâmpadas estão funcionando ou não, Tente entender a operação mas não consegue fazê-lo funcionar, Fico na Web com comandos, mas nada é ativado, Espero não incomodar com este e um outro olhar, Obrigado pela sua gentileza surpreendente.

    Ignacio da Bélgica

    • Olá, Ignacio., Muito obrigado pelo seu comentário.

      Acho que você está usando Javascript para fazer isso, integrando as funções PHP que ativar o script Python para, gerenciar o poder-luminárias.

      JavaScript não domino, Desde que eu não sou um desenvolvedor web, mas talvez você pode orientar-se um pouco melhor, ou algum outro leitor pode ajudá-lo a conseguir o que quer; Mas para isso seria preciso ver o código, ou os tutoriais que você seguiu para tentar detectar onde está o bug.

      Te vejo depois, e muito incentivo!

  15. Olá a todos muito obrigado, Eu aprendo muito.
    Segui todos os passos expostos, Eu posso ligar os leds do local terminal, carregar o patch php conforme instruído por ullu, conceder permissões mesmo um 775—-etc. Carregar a página com os botões depois levou/gpio mas nada. Estou usando o framboesa pi 2…..será algo com este cartão?. Agradeço sua cooperação..

    • Olá Rafael, Obrigado pelo comentário.

      É possível que a solução é nos comentários dos tutoriais anteriores desta série dedicada à automação residencial acessível baseada no Raspberry PI.

      As etapas a seguir são compatíveis com qualquer versão do IP, Ocorre-me que você podia mudar a execução do script em python no site através do seguinte comando que criará um arquivo no diretório home do seu framboesa:

      sudo touch /home/pi/funciona

      Se tudo está funcionando bem, Este arquivo deve ser criado.

      • Obrigado pela sua resposta rápida. Fiz as alterações, como ele me contou, no index. html, removendo a parte de python e colocando em troca: sudo touch /home/pi/funciona , Mas infelizmente, o arquivo não é criado na minha framboesa. Acho que é um excelente teste e o resultado eu acredito concentrou o problema na área de web. Vou olhar mais informações em outros tutoriais. Obrigado pela vossa ajuda. Manter-me em contacto.

  16. Olá, Sei uma maneira de colocar uma marca com status LED da interface web PHP
    Essa mudança automaticamente para dar clicando disse botão também para ligar, Desativar, piscando… tem uma etiqueta que informa o status. Obrigado pelo seu contributo espero que possa me ajudar..

    • Olá Chaka, Muito obrigado pelo seu comentário.

      Acho que você poderia fazer isso com PHP e JavaScript se você quer dar mais efeito visual, ou fazer alterações para o botão.

      Se você apenas deseja adicionar uma legenda de texto de acordo com a pressão do botão, Você só deve estender as funções associadas a cada entrada; Estou anexando uma lista das funções disponíveis no PHP:

      http://php.net/manual/es/indexes.functions.php

    • Olá, Jameson.,

      Eu não entendi bem a pergunta, Mas para encontrar o IP de um dispositivo, você pode usar NMAP.

      Você também tem ferramentas com interface gráfica como ZenMap baseado no NMAP e Fing para dispositivos Android.

    • Olá, Jameson.,

      O IP que você tem que digitar no seu navegador é realmente do Raspberry PI já que este é que atua como um servidor web, também, se seu arquivo php não é listado como index. php você terá que adicionar o nome do seu arquivo separado por um depois o ip “/”.

      No meu caso, o IP é na faixa de 10.42.0.0 Uma vez que é um IP do tipo NAT fornecido por uma interface de rede virtual.

    • Oi, Sergio.,

      Acho que você está se referindo aos scripts em Python, outros tiveram o mesmo problema e existem várias soluções nos comentários anteriores; Se após o teste-os persistir a falha se você trazer mais dados talvez outros leitores ou eu poderia ajudá-lo.

      Te vejo depois.

    • Olá, Roberto., Bem-vindo.

      Eu não sou um especialista em php, e naqueles momentos que eu procurei um tutorial executar ordens no interpretador bash do php e assim achei.

      Seria mais apropriado usar a = exec, em vez de?- exec?

      Muito obrigado pelo seu comentário, Te vejo depois.

  17. Se você não trabalhar a web, mas se scripts, Em breve farei um artigo então você pode corrigi-lo; Graças à informação que tenho recolhido vários usuários que não tem funcionado.

    Se você executar se apressar para corrigi-lo, Você pode verificar se o diretório var existe no seu framboesa, e se assim for, você deve mover todos os arquivos para esse caminho e substituir em scripts “/var/www” por “/var/www/html” Desde agora
    Este é o caminho padrão do servidor web.

    Também é possível que você não excluiu o índice por padrão, “index. html” ou para mudá-lo por sua falta “index. php”.

    Espero ser de ajuda, Te vejo depois.

  18. Olá, Antonio.,
    Eu queria saber se um servidor web pode ser montado em um sistema de automação residencial apto e experimentar o twitter api para ligar as luzes etc… (Já vi que também pode ser feito pelo python com algumas bibliotecas e fácil de seguir tutoriais… Mas você poderia fazer como eu digo e com php? ou seja, a framboesa é o servidor web com o twitter e portas gpio acender leds
    Obrigado antecipadamente.

    • Olá nano,

      Da web em php pode executar qualquer comando no comando interpretador BASH, Isso inclui scripts em Python.

      Você pode usar a biblioteca ou a API do Twitter para que quando você vai enviar um tweet, citando de nome de usuário da conta bot, desligar ou ligar a luz ou aparelho associado com essa mensagem em particular.

      Eu vejo um problema, e é que qualquer um poderia traí-la e transformá-lo, luzes e eletrodomésticos; a menos que ele pode restringir dependendo do utilizador que enviou o tweet.

      Seria interessante se você está comentando sobre o que você encontrar neste contexto.

      Obrigado por comentar, Te vejo depois.

  19. Boa tarde,
    Eu segui o tutorial, Copie o código da web, Salve-o como. php, na pasta que criou-me servidor var , Porque se eu colocar o index. php da pasta html não me encontrar o arquivo, Mas é bom, Parece que está tudo Okey. Só estou testando com o GPIO 17, Então criei duas py, para ligar e desligar, Eu tenho eles localizado na mesma pasta que o arquivo index. php. Abrir o navegador, entrou no índice, Mas não vai operar-me o led. Se eu tenho o ssh acesso arquivo inflama e executá-lo através do console, se isso funciona. não estar onde estar falhando. Claro, altere o caminho para os scripts de php, Uma vez que é diferente da sua tutoria..
    Espero que possa me dar uma mão, Estou preso.
    Uma saudação.

    Muito obrigado.

  20. Olá peatonet, Eu estou tentando fazer uma invenção para ativar um módulo de 4 relés da web para ligar ou desligar as luzes de um local que eu tenho, o problema é que no teste, levou com redistencia começa e pára na vontade da web, Mas quando eu ligar o pin40 (que é que eu tenho configurado) removendo a resistência e levou, Desliga a luz vermelha do módulo relé e não ligado ou desligado, eu tenho que testar a lâmpada.

    Por favor me ajude porque já não é se isso é errado o módulo de relé (Raios aliexchinapress) Mas em nenhum a 2 módulos que eu tenho funciona ou não é o raspberrypi enviaram voltagem suficiente para o relé (como VCC, tenho-te desde o pin3)

    Desculpe o discurso inflamado e obrigado antecipadamente

    Saudações amigos

    • Olá, autorespondo me eu amigos, o problema foi que no pin20 (no meu caso) Tive que colocar uma resistência, Eu colocá-lo 330 ligado à terra.
      Acho que é porque quando você passar levou à resistência de remover do relé

      Obrigado por tudo ?

      • Olá, Jesus!, Muito obrigado por compartilhar a solução conosco.

        Desculpe se eu não podia responder antes mas eu pegar com febre, na última semana de aulas de preparação de exames, e trabalho (o freelancer não tem permissão para ficar doente).

        No que diz respeito o pino que você conectou o VCC, no meu caso eu ligar ao pino 2 ou para o 4 Já que exige fonte de alimentação de 5V a falhar.

        Se você quiser você pode dar mais detalhes da sua prova de conceito, Você então está usando leds em vez de tomadas de 220V AC?

        Obrigado pelo seu comentário.

  21. Olá, Eu estou fazendo um projeto para a escola e queria saber se existe a maneira que você pode emular este sistema de um android app, ou seja, Como lidar com os pinos da framboesa assim parece 100 vezes mais fácil do que em uma aplicação android, Gostaria de saber se criando um aplicativo poderia de alguma forma automática a dirigir-me a este tipo de sistema para evitar ter que aprender do zero para programar uma coisa no android. Infelizmente sou obrigado a entregar o projeto como um aplicativo móvel, Não de formulário da web.
    Espero sua resposta

    • Olá, Ignacio., Obrigado por comentar.

      Este tutorial é desenvolvido em uma PI de framboesa 3 Então deve funcionar sem complicações.

      Se ainda não consegue trabalhar, Você pode compartilhar quaisquer erros ou problemas que você encontrou.

  22. Olá colegas, Preciso de ajuda porque estou imerso em um projeto entre 3 especialidades, elétrica, Eletrônica e ciência da computação, Eu domino a parte da eletricidade mas eu não sou especialista em outros dois. Eu explicar-lhes, Eu preciso conectar um analisador de rede M2DL2 para uma framboesa pi para gravar dados de consumo de corrente e para transmiti-los para a framboesa e registrá-lo e exibidos em uma tabela de dados que por sua vez. Eu sei que o sinal que faz com que o scanner está RS485 e RS232 que deve entrar a framboesa é o que eu preciso de um conversor de sinal de um para outro, o que não sei é como fazer a interligação entre o analisador, o conversor e a framboesa. Você sabe alguma coisa sobre isso ou pode me orientar onde encontrar informações?
    Atenciosamente.
    Ramon.

  23. Olá como você está?
    Se eu gostaria de verificar o status de um gpio, através de php, Então eu digo se esta ON / Desde então estou remoto. Como deve ser?

    Talvez haja um jeito da grosa retorna o valor que é o gpio.

    Mas a lebre em um db inserindo 1 o 0 pressionando os botões, Mas que vejo rústico médio

    • Hola Juani, Obrigado por comentar.

      O subsistema GPIO é até o fim e depois a parte do sistema de arquivos/sys do GNU / Linux, e na verdade gerenciado editando os valores de cada arquivos mapeados na porta GPIO.

      Você pode verificar se um GPIO é ativo ou inativo de leitura do arquivo que contém o valor, um exemplo em PHP para o GPIO 18:

      $estado_gpio18 = file_get_contents(“/valor/sys/classe/gpio18/gpio”);

      Se o valor for “1” o GPIO é ativo, por outro lado, se o valor for “0” é ocioso.

      Te vejo depois.

  24. Olá, Primeiro, agradeço a trabalheira de compartilhar seus conhecimentos com os quais temos preocupações semelhantes.

    Eu gostaria de fazer uma consulta (Espero não ser muito bobo), Há meses que tenho sido remoendo a questão da criação de interfaces web para o raspi. Seu comentário o tópico dar permissões para www-dados, Mas que, Seria bom como um comentário para acesso de ambientes locais ou para análise. Teria que recomendam de soluções para ambientes mais seguros?

    Uma saudação e obrigado novamente

    • Olá Gon, Obrigado pelo seu comentário; Apenas tente documentar como estou aprendendo dia-a-dia sobre este fascinante mundo, do formulário on-line então assim podemos aprender todos juntos.

      Eu gostaria de lembrar a todos os leitores que apesar de ser funcional este painel não é de todo perfeito, é um exemplo muito básico de que ele pode fazer e quanto mais aprendo mais que eu percebo o quanto isso pode ser melhorado; Este ano estou tentando melhorar minhas habilidades como programador desde sempre passei mais para sistemas e segurança, e ele não apenas noções sobre estruturas de código, metodologias de projeto ou algoritmos; esperança em breve ter tempo para melhorar a web painel e partilhar uma próxima versão do qual já não eu embaraçoso ambos.

      Em princípio, desde a versão 3 a Web é suficiente para adicionar o usuário www-data ao grupo GPIO para gerenciar o estado dos pinos evitando dar sudoer permissões; Isso pode ser feito usando o seguinte comando:

      gpio www de sudo usermod - a - G-dados

      Enfim, eu acho que sua pergunta é mais focada em restringir o acesso ao painel por meio da autenticação, e isso pode ser feito com o módulo mod_auth para Apache2; Também é aconselhável usar mod_ssl seja com um certificado auto-assinado.

      Se você estiver indo para acesso de fora para sempre, você pode adicionar uma camada de segurança ao configurar uma VPN, para o qual você pode proteger o acesso com certificados x 509, nome de usuário e senha, e sistemas de prevenção como fail2ban entre outros.

      Espero que eu tenha esclarecido um pouco suas dúvidas, Obrigado pelo seu interesse no artigo.

      • Olá, Antonio.! Primeiro de tudo obrigado por responder tão rápido e.

        A mi me vai um pouco para trás, Eu sou desenvolvedor web, tentando absorver o mundo de sistemas e segurança. É um prazer que as pessoas lá são como você que investem seu tempo documentando seus projetos para que outros possam aprender um pouco mais a cada dia.

        Dizer-te que eu ajudei muito. Eu tenho um pequeno projeto ligado ao raspi, e demorou meses circulando a interface e sem muito o que fazer decidi-me ( Se php, que se cylon.js, Digite mydevice já criada serviços e similares…) e eu sempre achei as mesmas dúvidas: permissões, Segurança, …etc. Seu artigo (Crede-me que li muitos) é os poucos que ir um pouco mais como perfurar o cabo GPIO, Portanto, a pedir.

        Obrigado novamente, você ter esclarecido muitas dúvidas.

        Estarei testando e implementando como você tem tempo livre, e se você estiver interessado eu menciono os resultados.

        Uma saudação

Deixar uma resposta