Agora vamos criar uma página em PHP , que pegará o comando vindo da pagina em HTML e enviara via serial para o arduino .
Continuando com o editor de textos .
Abra um documento novo e digite
<?php
// armazena o valor de retorno da função fopen() na variavel $post
// fopen() recebe como parametro o caminho da porta e o parametro para escrever "w" (write)
// Caso voce queira usar esse codigo no windows devera mudar a porta para COM3 |EX: $port = fopen("COM3", "w");
$port = fopen("/dev/cu.usbmodemfa131", "w"); //aquivoce coloca o caminho do seu arduino , aparece no canto inferior direito da ide , seguido do "w"
//Se o valor da variavel "estado" for igual a "Amarelo", entao escreve na porta serial o valor "a"
if ($_POST['estado']=="a")
{
//Imprime a mensagem no browser "Ligou o Amarelo"
//função para escrever na porta serial o caracter "a"
fwrite($port, "a");
}
// Daqui em diante a logica é a mesma acima, comparando os valores da variavel estado e escrevendo na porta serial
if ($_POST['estado']=="A")
{
fwrite($port, "A");
}
if ($_POST['estado']=="b")
{
fwrite($port, "b");
}
if ($_POST['estado']=="B")
{
fwrite($port, "B");
}
if ($_POST['estado']=="c")
{
fwrite($port, "c");
}
if ($_POST['estado']=="C")
{
fwrite($port, "C");
}
//Fecha a porta serial
?>
<style type="text/css">
<!--
.style1 {
font-size: 48px
}
-->
</style>
<a href="index.html" class="style1">Voltar</a>
Salve da mesma forma , como documento web . html
com o nome arduino.html
Depois de salvo , altere sua extenção para .php
O mac irá pedir se voce realmente quer mudar a extenção para php , marque "usar .php"
Agora com tudo salvo , vá até a pasta onde se encontra o MAMP , lá vai ter uma pasta HTDOCS
Se existir alguma coisa dentro dessa pasta pode apagar sem medo !
Crie uma pasta chamada arduino , e coloque dentro dela os 2 arquivos
- index.html
-arduino.php
Agora acesse do seu navegador
localhost:8888 ou ipdasuamaquina:8888
Acesse a pasta arduino e se divirta acionando o seu arduino via web !
Já já eu coloco um video do funcionamento .
Olá directamente de Lisboa.
ResponderExcluirSerá que me podem indicar qual o melhor modulo de bluetooth para poder ligar o Uno via app inventor?
Obrigado
Primeiramente , muito obrigado por acompanhar o blog ,
ExcluirNo site do webtronico voce encontra
http://www.webtronico.com/modulos/modulo-bluetooth-serial-master.html
Uma dica boa é que ali no final onde tem o codigo para voltar a pagina index.html, tambem daria para colocar < meta http-equiv="refresh" content="0;URL=index.html" > , que ai não precisa ficar clicando para voltar, ele volta automatico.
ResponderExcluirBoa ideia ricardo, apanhei um pouco mas intendi oq vc quis dizer, troquei a ultima linha do .php Voltar pelo < meta http-equiv="refresh" content="0;URL=index.html"> e deu certinho!!!
ResponderExcluirpoderia me explicar como fazer com que ele volte automaticamente ou ate mesmo fica-se da própria pagina ?
ExcluirBoa noite Victor.Como esta?Victor o software que usou no seu não deu certo no meu, acabei colocando XAMPP, conhece? Mas tudo bem, no caso na programação da pg Php onde esta "COM3" eu mudei o meu para "COM7" que é a porta que meu arduino esta funcionando.Vou no meu navegador e coloco localhost e aparece normal a pasta do arduino ao clicar vejo a interface dos botoes,porem quando clico para acionar qualquer botao.a pagina me mostra o seguinte:
ResponderExcluirObjeto não encontrado!
A URL requisitada não foi encontrada neste servidor. O link na página referida parece estar com algum erro ou desatualizado. Por favor informe o autor desta página sobre o erro.
Se você acredita ter encontrado um problema no servidor, por favor entre em contato com o webmaster.
Error 404
localhost
Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7
Já conferi todo o codigo php e html para ver se tinha algo a ver por eu ter usado outro software e ta de boa.
Agora quando vc pede para acessar do meu navegador
localhost:8888 ou ipdasuamaquina:8888
se eu escrevo exatamente isso da que nao exite.
pode me ajudar?
Grato
Estou fazendo tudo isso no windows. No caso meu arduino esta na COM7. acho q só muda essa parte do codigo.Qual das duas estao corretas?
ResponderExcluirEX1:Falando qual porta estou e dpois direcionando.
<?php
$port = fopen("COM7", "w");
$port = fopen("/allan/arduino/teste", "w");
EX2:Só falar a porta que estou que ele consegue saber
<?php
$port = fopen("COM7", "w");
Valew
Conseguiu colocar tudo no xampp ?? a pasta é a mesma (HTDOCS) , lembrando que o xampp tem que estar rodando pra funcionar .
Excluire no php é só $port = fopen("COM7", "w");
verifique a porta no gerenciador de dispositivos .
ai só tu dar um localhost:porta php aqui
Olá Victor Motter,
ResponderExcluirdesta mesma forma eu conseguiria fazer com uma placa eternet shild para que não precise de um pc ligado?
valeu
Sim , é exatamente essa a função da ethernet shield . Porem a programação é outra.
ExcluirVictor, onde acho algum artigo de como fazer essa integração do php com o arduino ethernet shield ? Meu tcc é sobre arduino e preciso desenvolver algo bem parecido com o que foi feito, porem, ao inves de controlar o arduino via USB precisa ser via Internet ...
ExcluirPor gentileza, vc pode me ajudar com o caso ?
Abraço
final de semana eu posto isso , pelo ethernet shield
ExcluirOlá, boa noite! Bom... Sou novo no mundo do arduino e do PHP, tenho noçao de programaçao em C/C++ apenas. To com problemas aqui, fiz todas as ligaçoes certinhas, conferidas umas 5 vezes, mas quando clico em qualquer um dos botoes, nada acontece, nenhum led acende. já verifiquei a serial, tambem uso mac, a porta é a /dev/tty.usbmodemfd121, já alterei no php mas nada... nem sinal de vida dos leds, alguma dica? Obrigado desde já.
ResponderExcluirvoce está usando qual server web ?
Excluirjá verificou a polaridade dos leds ??
experimente jogar para a porta 13 do arduino e tente ligar / desligar . o led que fica junto com a porta 13 deverá funcionar
Olá a todos do blog,
ResponderExcluirpara terminar meu projeto usando o arduino e programação PHP como o exemplo do Bruno, estou precisando fazer com que no arduino eu envie bits de retorno para o PHP e no PHP receba esses bits para que possa determina-los para qual pagina vai ser mandado, ex: enviando o bit 0001 ou 0010 etc… do arduino para o PHP o PHP identifica qual bit recebeu e executa a função determinada, pq fazendo assim irei consegui dizer qual led esta aceso ou apagado.
abraço.
só tu trocar o parametro do PHP
Excluirde
$port = fopen("COM3", w');
para
$port = fopen("COM7", 'w+');
muito obrigado brother, mesmo
ResponderExcluirMuito obrigado, estava procurando uma maneira de fazer conexão sem o uso da ethernet shield.
ResponderExcluirUso Windows 7 64bits, Funfo certinho
Este comentário foi removido pelo autor.
ExcluirBoa tarde, estou fazendo isso tudo, alem disso coloquei na pasta www uma pasta arduino e na pasta htdocs outra mesma pasta, clico para ligar o led e o mesmo nao liga. coloquei a mesma pasta nesses locais para corrigir o erro de nao encontrar o endereço para o comando de ligar led. tem alguma ideia do que possa ser o erro?
ResponderExcluirBoa tarde, meu arduino nao esta conectando com a php, estou usando o windows 7 tem algum truque? tenho que abilitar algo no php.ini?
ResponderExcluirConsegui fazer funcionar depois de muito custo, só uma pergunta. para eu acessar o meu localhost pelo meu celular, como faço? qual o link que devo escrever?
ResponderExcluirquando aperto ligar ou desligar led4,6 ou 8 aparece este erro
ResponderExcluir( ! ) Parse error: syntax error, unexpected ';' in C:\wamp\www\arduino.php on line 18
desde ja agradeco
Qual COM ta o seu arduino? Se tiver em uma COM acima de 5 força ela a estar entre 1 e 5. No gerenciador de dispositivos da dois cliques na COM do arduino >>avançado>> ai você muda a COM. Nao esqueça de mudar na programação a COM que voce colocou
ResponderExcluirQuando desconecto meu arduino do pc e conecto novamente não consigo mais fazer fazer os leds acender, nem pela porta serial da IDE.
ResponderExcluirAqui esta funcionando a comunicação porem quando aperto o botão ligar ele liga e apaga como faço para dar o camando e ele manter ligado ate que eu aperte desligar estou usando o xampp
ResponderExcluiro que apaga ? o botão ou alguma coisa no arduino ?
ExcluirOI Victor,
ResponderExcluirontem deu tudo certo, acendeu legal, sem nenhum erro, porem hoje quando eu clico para acender o LED não acende e abre o PHP com o seguinte comando:
meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
meta name="author" content="Ahmet YUCEL" />
Como eu posso resolver este problema?
Verifique se não existe nenhum arquivo do seu server php danificados
ExcluirEste comentário foi removido pelo autor.
ResponderExcluirMuito Bom cara... Funcionou Perfeitamente... Parabéns .!
ResponderExcluirEstava buscando isso a muito tempo ..! Faloo'
parabéns pelo código funcionou perfeitamente aqui,
ResponderExcluirporem gostaria de uma ajuda tem como colocar para o ligar e desligar ser em único botão e ficar na mesma pagina sem dar aquela piscada referente ao cogido ( < meta http-equiv="refresh" content="0;URL=index.html">) ????
Quando eu insiro os comandos pelo "monitor serial" obedece direitinho, mas quando eu abro a pagina e clico em ascender ele segue normalmente para a próxima pagina de voltar, mas não ascende a luz.
ResponderExcluiro meu também esta assim, conseguiu alguma solução ?
Excluirbom dia , você colocou o codigo da pagina e o codigo da ide arduino
ResponderExcluiraqui nao funcionou windows 10 "com4" com mamp instalado e os aquivos salvo na pasta htdocs e no formato de index.html e arduino.html
ResponderExcluira pagina aparece mas ele nao faz nada
obs arduino uno
ps: mudei o arduino arduino pra "com4".. e testei tbm em outras portas mas nao funcionou ..
o que pode ser ?
Este comentário foi removido pelo autor.
ResponderExcluir