LusoRobótica - Robótica em Português

Software => Software e Programação => Tópico iniciado por: tcustodio em 28 de Maio de 2009, 22:56

Título: arduino + PHP = "preciso de ajuda"
Enviado por: tcustodio em 28 de Maio de 2009, 22:56
Boa noite,
preciso de implementar um sistema de comunicação entre um script de php e o arduino.
Não pesco nada de php, mas uns colegas de turma orientaram-me no básico, mas tenho um problema:

quero que o script php mande ligar um led, para isso, meti este código no arduino:
Código: [Seleccione]
int ledPin = 13;
boolean estado = false;
int val;
void setup()
{
  Serial.begin(9600);
  pinMode(ledPin, OUTPUT);
}
void loop()
{
  if (Serial.available()) {
    val = Serial.read();

    if ((val == 48) && (estado == false)) {
      digitalWrite(ledPin, HIGH);
      estado = true;
    }
    else if ((val == 48) && (estado == true)) {
      digitalWrite(ledPin, LOW);
      estado = false;
    }
  }
}

e, recorrendo a uma pesquisa no fórum oficial do arduino, fiz este script:
Código: [Seleccione]
<?php

include "php_serial.class.php";

$arduino = new phpSerial;
$arduino->deviceSet("COM4");
$arduino->confBaudRate(9600);      //Baud rate: 9600
$arduino->confParity("none");      //Parity (this is the "N" in "8-N-1")
$arduino->confCharacterLength(8);  //Character length (this is the "8" in "8-N-1")
$arduino->confStopBits(1);         //Stop bits (this is the "1" in "8-N-1")
$arduino->deviceOpen();
$arduino->sendMessage(chr(48));
$arduino->deviceClose();
?>


portanto, o script php devia mandar um caracter "0" (zero) e o led da porta 13 devia acender, mas não acende, quando corro o script, o arduino recebe dados, o led 13 acende e apaga-se logo de seguida... pelo terminal do IDE do arduino tudo funciona normalmente.

Sei que tenho algo de errado no script php, mas não sei o quê, algum de vós que ande nisto à mais tempo que eu consegue ver o que eu não vejo?  :-[
Título: Re:arduino + PHP = "preciso de ajuda"
Enviado por: ricardo-reis em 29 de Maio de 2009, 07:12
eu n vi o teu script pk tou com pouca cabeça pa isso de momento, mais logo passo cá pra ver o que posso fazer..

de qualquer forma tenho uma duvida: tu usaste algum programa intermédio pra fazer a comunicação entre arduino e php ou foi directo? eu pergunto isto pk já aí postei uns exemplos de interacção de arduino com flash, mas tinha um programa a direccionar sockets pelo meio..

eu mais logo já vejo isto com mais calma.. :)
Título: Re:arduino + PHP = "preciso de ajuda"
Enviado por: microbyte em 29 de Maio de 2009, 21:34
Boas. Olha aqui este super hiper mega blog, extremamente interessante e com informação ultra valiosa elevada ao infinito:
http://ricardo-dias.com/node/35 (http://ricardo-dias.com/node/35)

Lol. Estou a fritar.
Título: Re:arduino + PHP = "preciso de ajuda"
Enviado por: tcustodio em 29 de Maio de 2009, 23:29
Boas. Olha aqui este super hiper mega blog, extremamente interessante e com informação ultra valiosa elevada ao infinito:
http://ricardodias.wordpress.com/2008/12/01/arduino-e-php/ (http://ricardodias.wordpress.com/2008/12/01/arduino-e-php/)

Lol. Estou a fritar.

não é por nada, mas já tinha essa página do teu blog nos meus marcadores do firefox à bastante tempo ;)
mas não me consegui guiar por aí, mas não funciona. Este método que estou a usar parece estar QUASE a dar  :(
Título: Re:arduino + PHP = "preciso de ajuda"
Enviado por: microbyte em 29 de Maio de 2009, 23:47
Hmmm. Pois mas falta o quase. Eu testei o meu código e até j+a liguei LEDs à distância com XBee pelo PHP.

De qualquer forma, posta aí a class php que estás a usar. ;)
Título: Re:arduino + PHP = "preciso de ajuda"
Enviado por: tcustodio em 29 de Maio de 2009, 23:52
a minha única dúvida restou no programa que estás a usar para o php. os meus colegas disseram pra eu usar o easyphp, mas reparei que usas um diferente, será que é por isso?
Título: Re:arduino + PHP = "preciso de ajuda"
Enviado por: metRo_ em 30 de Maio de 2009, 01:40
Tu tens que ter um servidor de php instalado no teu pc, é só para o caso de estar a passar ao lado este facto.
Título: Re:arduino + PHP = "preciso de ajuda"
Enviado por: microbyte em 30 de Maio de 2009, 01:43
metRo_, o EasyPHP é um pacote, tal como o XAMPP, que reúne servidor de Apache (interpreta o PHP), base de dados MySQL, entre outros.
O que uso é o XAMPP, mas também já utilizei o easyphp.

tcustodio, podes sempre tentar com o Xampp. ;)
Título: Re:arduino + PHP = "preciso de ajuda"
Enviado por: metRo_ em 30 de Maio de 2009, 01:45
eu sei, só estou a dizer isto porque ele fala em programa e isto não é bem programa e podia estar a confundir. No easyphp não sei mas no xamp tenho que colocar os ficheiros php numa pasta própria. Não te estás a esquecer disso?
Título: Re:arduino + PHP = "preciso de ajuda"
Enviado por: tcustodio em 30 de Maio de 2009, 10:59
não, não me estou a esquecer, é numa pasta do easyphp, estou a programar isto no netbeans, e consigo correr o script, simplesmente não dá resultado... vou tentar o xampp, ou tentar arranjar outro método de código. Senão limito-me a uma interface em Processing e pronto, melhor que nada
Título: Re:arduino + PHP = "preciso de ajuda"
Enviado por: microbyte em 30 de Maio de 2009, 11:54
Usa o meu, que funciona ;)
Título: Re:arduino + PHP = "preciso de ajuda"
Enviado por: tcustodio em 30 de Maio de 2009, 13:59
Usa o meu, que funciona ;)
Usei o teu código e também há comunicação, mas apenas pisca, não fica aceso, enquanto que se for pela consola do IDE do arduino, funciona como quero.