Go Down

Topic: biblioteca IRremote como utilizar irsend e irrecv em um mesmo sketch, (Read 3104 times) previous topic - next topic

xtreme_ita

#15
Sep 30, 2013, 05:26 am Last Edit: Sep 30, 2013, 03:12 pm by xtreme_ita Reason: 1
copiei um exemplo que há no link e colei dentro da function, a princípio ela deixou de funcionar,

Code: [Select]
function ligar()
{

$fd = dio_open('COM7', O_RDWR | O_NOCTTY | O_NONBLOCK);

dio_fcntl($fd, F_SETFL, O_SYNC);

dio_tcsetattr($fd, array(
 'baud' => 9600,
 'bits' => 8,
 'stop'  => 1,
 'parity' => 0
));

 $data = dio_read($fd, 256);  /* editado */

     $acao="l";
    $conexaoArduino = fopen("COM7","w");
    fwrite($conexaoArduino,$acao);
    fclose($conexaoArduino);


}

bubulindo

Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

xtreme_ita


while(1) no php????


este laço está em um exemplo do link, fiz apenas ctrl +v; retirei e continua a mesma coisa, pra falar a verdade não faço ideia de como implementar. conseguirei escrever na porta serial(utilizando fopen) através do ethernet shield sem que o arduino esteja conectado ao computador através de USB?
Estou acreditando que não, por enquanto estou sem o shield para testar, tenho interesse em aprender comunicar através de socket, parece que tem mais possíbilidades.

LegendBR

Me parece que você está com problemas de chaves demais. Seu loop só está executando o seguinte código (CTRL+C, CTRL+V):

Code: [Select]

while (1) {

  $data = dio_read($fd, 256);

  if ($data) {
      echo $data;
  }
}

xtreme_ita


Me parece que você está com problemas de chaves demais. Seu loop só está executando o seguinte código (CTRL+C, CTRL+V):


Já retirei esse laço, deixando da seguinte forma.
Code: [Select]


  $data = dio_read($fd, 256);





Mortis

Não manjo nada de php, mas se desejas enviar algo para o arduino porque usas o dio_read no lugar do dio_write?

Porque manténs o trecho:
Code: [Select]

$acao="l";
     $conexaoArduino = fopen("COM7","w");
     fwrite($conexaoArduino,$acao);
     fclose($conexaoArduino);


Não desejas algo como o abaixo? (apenas a lógica, como disse, nada sei de php)
Code: [Select]

<?php

$fd 
dio_open('/dev/ttyS0'O_RDWR O_NOCTTY O_NONBLOCK);

dio_fcntl($fdF_SETFLO_SYNC);

dio_tcsetattr($fd, array(
  
'baud' => 9600,
  
'bits' => 8,
  
'stop'  => 1,
  
'parity' => 0
)); 

dio_write($fd"l"1);
dio_close($fd); //não sei como é no PHP, mas em uma instância de programa só fechamos a porta quando não desejamos mais qualquer comunicação.

?>



Cuidado com os copiar e colar, tenta entender o que o código faz ;)

xtreme_ita

#21
Sep 30, 2013, 07:45 pm Last Edit: Oct 01, 2013, 03:39 am by xtreme_ita Reason: 1


Cuidado com os copiar e colar, tenta entender o que o código faz ;)


Vivendo e aprendendo, sempre tento entender o código, mas quando se ver vários comandos novos ao mesmo tempo, fica difícil assimilar, mais tarde irei fazer uma nova bateria de testes, obrigado.       .................

...... após o primeiro teste me deparei com esse erro :
Fatal error: Call to undefined function dio_open() in C:\xampp\htdocs\weball\bin-debug\amfphp\services\manutencao_clientes1.php on line 57

está falando que eu não definir a função. Achei que era uma função nativa do php, sem necessidade de declará-la, será que tem haver com a versão do php que eu utilizo? Estou utilizando  PHP Version 5.3.5.

bubulindo


Estou utilizando  PHP Version 5.3.5.


Isso pode ser um problema...

Quote
(PHP 4 >= 4.3.0, PHP 5 <= 5.0.5)


http://php.net/manual/en/function.dio-tcsetattr.php

Será que isto funciona:

https://code.google.com/p/php-serial/

??
Eu não sou o teu criado. Se respondo no fórum é para ajudar todos mediante a minha disponibilidade e disposição. Responder por mensagem pessoal iria contra o propósito do fórum e por isso evito-o.
Se realmente pretendes que eu te ajude por mensagem pessoal, então podemos chegar a um acordo e contrato onde me pagas pela ajuda que eu fornecer e poderás então definir os termos de confidencialidade do meu serviço. De forma contrária toda e qualquer ajuda que eu der tem de ser visível a todos os participantes do fórum (será boa ideia, veres o significado da palavra fórum).
Nota também que eu não me responsabilizo por parvoíces escritas neste espaço pelo que se vais seguir algo dito por mim, entende que o farás por tua conta e risco.

Dito isto, mensagens pessoais só se forem pessoais, ou seja, se já interagimos de alguma forma no passado ou se me pretendes convidar para uma churrascada com cerveja (paga por ti, obviamente).

xtreme_ita

#23
Oct 01, 2013, 07:06 pm Last Edit: Oct 01, 2013, 07:20 pm by xtreme_ita Reason: 1


Estou utilizando  PHP Version 5.3.5.


Isso pode ser um problema...

Quote
(PHP 4 >= 4.3.0, PHP 5 <= 5.0.5)


http://php.net/manual/en/function.dio-tcsetattr.php

Será que isto funciona:

https://code.google.com/p/php-serial/

??


ocorreu o mesmo problema do dio_open, uma função que tem no início do código, deviceSet()/deviceOpen(), não foi reconhecida, parece que nas versões mais recentes do php, apenas a fopen funciona, será que o php foi perdendo funcionalidade ou não estou sabendo implementar?

Mortis

Não sei se você viu, mas o HugoPT postou em outro tópico um link de um tutorial, no final do tutorial, o cara relatou o mesmo problema:

Podes tambem usar o php com a porta serie.Mas isto implica que o teu arduino esteja conectado ao server onde tens a correr o PHP pelo cabo USB.Vê este link
http://gustavostraube.wordpress.com/2013/08/11/comunicacao-entre-php-e-arduino-via-usb/


Deixei só parte da mensagem inicial, poderás ver o conteúdo integral no tópico ;)

Parece que tens de encontrar "o recurso" adequado no PHP

Go Up