Pages: 1 [2]   Go Down
Author Topic: biblioteca IRremote como utilizar irsend e irrecv em um mesmo sketch,  (Read 2446 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

copiei um exemplo que há no link e colei dentro da function, a princípio ela deixou de funcionar,

Code:
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);


}
« Last Edit: September 30, 2013, 08:12:28 am by xtreme_ita » Logged

'round the world...
Offline Offline
Faraday Member
**
Karma: 42
Posts: 3226
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

while(1) no php????
Logged

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).

Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Aracaju, SE, Brasil
Offline Offline
Sr. Member
****
Karma: 4
Posts: 323
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Code:
while (1) {

  $data = dio_read($fd, 256);

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

Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:

  $data = dio_read($fd, 256);



Logged

Offline Offline
God Member
*****
Karma: 12
Posts: 510
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:
$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:
<?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 smiley-wink
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset


Cuidado com os copiar e colar, tenta entender o que o código faz smiley-wink

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.
 
« Last Edit: September 30, 2013, 08:39:53 pm by xtreme_ita » Logged

'round the world...
Offline Offline
Faraday Member
**
Karma: 42
Posts: 3226
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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/

??
Logged

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).

Offline Offline
Newbie
*
Karma: 0
Posts: 12
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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?
« Last Edit: October 01, 2013, 12:20:55 pm by xtreme_ita » Logged

Offline Offline
God Member
*****
Karma: 12
Posts: 510
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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 smiley-wink

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

Pages: 1 [2]   Go Up
Jump to: