Ir para o conteúdo
asrnothing

Controlar arduino por usb e php

Mensagens Recomendadas

asrnothing

Gostava que alguem me podese ajudar ou me fornecer uma maneira de poder controlar o arduino a ligar um led via internet pelo php o arduino ta ligado por usb e os php esta num servidor web se alguem me poder ajudar

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
apocsantos

Boa tarde,

Para fazeres o que queres, tens de programar o arduino para acender e apagar o led e receber a ordem de acender e apagar, via Porta USB (Série). Em PHP tens apenas de escrever na porta série correspondente à porta onde está ligado o arduino.

Código para o Arduino

/**
* Arduino + PHP
*
* @author  Bruno Soares
* @website www.bsoares.com.br
*/
#define ANALOG_PIN 4
void setup()
{
 Serial.begin(9600);
}
void loop()
{
 if (Serial.available() > 0) {
   if (Serial.read() == '1')
  Serial.print(analogRead(ANALOG_PIN), DEC);
 }
}

Código para o ficheiro PHP que irá controlar o arduino e que ficará acesssivel via web.

<?php
/**
* Arduino + PHP
*
* @author  Bruno Soares
* @website www.bsoares.com.br
*/
// Conecta na porta
$port = fopen('COM2', 'w+');
// Em alguns casos a Arduino pode reiniciar, por isso
// é bom esperar para enviar informação depois de conectar
sleep(2);
// Envia "1" para o programa na Arduino saber que deve responder
fwrite($port, '1');
// Espera para que o dado enviado pelo PHP chegue até a Arduino
sleep(1);
// Agora que a Arduino "Provavelmente já respondeu", pega
// o valor da resposta
echo fgets($port);
// Fecha a conexão com a porta
fclose($port);
?>

Fonte: http://blog.bsoares.com.br/php/controlling-arduino-with-php

Cordiais cumprimentos,

Apocsantos

  • Voto 2

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

assinatura.jpg

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
david.inacio

Olá,

Estive a testar estas combinações de código e não me funciona.... Os valores que deveriam sair na porta série, são escritos num ficheiro que é criado com o nome da COM usada... Será da minha versão do xampp?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Soulsick

Olá,

Não é problema do XAMPP pelo que me parece tens que alterar no ficheiro PHP o 'COM2' pela porta COM correcta que o teu arduino está a usar, podes ver isso no Gestor de Tarefas se estiveres a usar Windows.

Cumps

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
david.inacio

Sim, Soulsick, isso já tinha feito. Tem algo que n consigo explicar.... A porta com está certinha, o que consigo testar enviando comando via serial monitor. Depois, quando meto o php a enviar os mesmos dados para a porta série, eles não chegam lá, e são escritos numa especie de ficheiro de output.. .. Já não sei bem o que fazer... Já testei vários codigos PHP e todos fazem a escrita para um file de texto, em vez de mandar para a porta série...

Estou a usar Windows 7 como sistema anfitrião do XAMPP...

Obrigado.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.