Bom dia pessoal
Preciso de uma ajuda. Estou utilizando raspberry 2 para controla arduinos UNO via USB e gostaria de montar uma pagina que mostrasse os status dos sensores e que eu possa interagir com eles atraves de botões na pagina;
Montei em php algo mas ele não é dinamico ou seja não obtem de tempos em tempos a leitura dos sensores, a não ser que eu provoque uma ação como clicar no botão para liga ou desligar uma lampada;
Então pensei que poderia ser feito em AJAX de forma que os dados que chegam pela serial USB sejam capturados e tratados de tempos em tempos e mostrados ao usuário e assim que o usuário possa tomar uma ação.
Exemplo: Receber as informações de lamadas ligadas e então desligar elas pelo botão na pagina..
Não sei se fui claro. Gostaria de ajuda nisso.
Muito obrigado pela atenção
Tags:
Oi Danilo,
Se você já tem um código pronto em PHP, use um disparador do servidor onde seu php está instalado. Muito provavelmente é um Linux - neste caso você utiliza o cronjob.
Se for Windows, o gerenciador de tarefas do Windows também funciona muito bem.
Isso é facilimo, em poucos minutos seu PHP estará sendo disparado no timer que desejar, a cada "x" unidades de tempo (seg,min,hr..) ou num horario determinado.
Abaixo um exemplo de como usar o cron para executar uma url ou se preferir um script php direto no servidor: (sem url)
http://stackoverflow.com/questions/13259530/using-cron-jobs-to-visi...
Ou usando curl:
https://www.scalescale.com/tips/nginx/execute-php-scripts-automatic...
Tem várias formas. Mas deixar uma página ativa para controlar via javascript ? Não recomendo.
Outra coisa que você pode fazer, é acionar um webserver no arduino, sem php, javascript ou o que quer que seja.
Exemplo:
(utilizando o servidor de ddns noip.com, por exemplo)
Supondo que seu servidor responda em http://danilorobot.ddns.net.
Você pode passar os parametros da forma:
http://danilorobot.ddns.net/?user=usuario&p=password&pin=7&...
Autentique o acesso com usuario e password, mande HIGH no digital 7
Bom, faça o que bem entender.
Boa sorte.
Olá Odilon
Obrigado pela resposta.
Mas queria montar algo assim http://startingelectronics.org/tutorials/arduino/ethernet-shield-we...
em que a pessoa acesse o site, veja quais luzes estao ligadas e possa desligar elas pela pagina.
Entende?
Entendi. Pensei que era para rodar 24x7...
Mas eu não entendi sua dúvida então.... o exemplo está pronto !!!!
esse exemplo roda dentro de um shield ethernet via sd card.
O que eu quero é que a pagina de php busque informações dos pinos de tempos em tempos tipo a cada 2 s e mostre isso na página em div tipo temparatura.
Hoje que eu tenho é uma pagina que mostra uma lampada acessa quanto clico para ascender e uma lampada apagada quando clicar para apagar.
Alem dessa informação de temperatura eu queria que a pagina buscasse o status dos pinos e modifique a imagem: Tipo a luz agora esta apagada e entao mostre a imagem apagada.
Na minha pagina atualmente ela inicia cm luzes apagadas mas pode ser que estejam ligadas e eu queria que essa realidade fosse mostrada na pagina.
https://www.youtube.com/watch?v=0CcsDPmPrtc
Esse video ilustra o que eu quero +/- mas não tem botões na pagina para ligar ou desligar e ele apenas mostra o que ocorre nos pinos.
Olá Danilo
Você já executou o código exemplo WebServer da IDE do Arduino? Creio nele tenha uma solução.
Olhe essa linha:
client.println("Refresh: 5"); // refresh the page automatically every 5 sec
Danilo, meu rapaz,
O exemplo que você mandou está muito próximo do que você quer.
Tem que fazer modificações uai !! Mas está prontinho para ser mexido.
Continuo sem entender sua dúvida. Você quer um troço pronto ? Não vai encontrar.
Você quer tirar dúvidas - estamos aqui para isso. Mas a programação é sua...
Cara, esse exemplo que você mandou - o primeiro link- está muito bem feito, muito fácil de ser adaptado. O segundo eu nem abri, de tão bom que está o primeiro.
"esse exemplo roda dentro de um shield ethernet via sd card."
E o seu vai rodar como ? Wifi shield ? Modifique. ESP8266 ? Adapte.
"O que eu quero é que a pagina de php busque informações dos pinos de tempos em tempos tipo a cada 2 s e mostre isso na página em div tipo temparatura."
Buscar a cada 2s - o exemplo que vc mandou está buscando a cada segundo:
client.println("setTimeout('GetSwitchAnalogData()', 1000);");
Mãos a obra !!!!
Arduino com AJAX 2 videos https://www.youtube.com/playlist?list=PLbUAcqHuByzfm9od5kHKArjKIAtf...
Obrigado Rogério
Pelo vídeo ele usa a hospedagem do arduino via ethernet shield e ainda hospeda a pagina em outro local.
Vou tentar fazer dessa forma, porém acho um pouco desnecessário usar duas portas de rede no meu roteador para arduino e para o raspberry se é que entende.
Vou analisar o video com calma
Obrigado
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por