collapse

* Links de Robótica

* Posts Recentes

Feira de electricidade e eletrónica por artur36
[Ontem às 23:07]


Power_OK Enermax por almamater
[Ontem às 12:10]


Recomendação de um opamp para um DAC r2r por jm_araujo
[23 de Novembro de 2017, 10:48]


RN42 e TP-Link MR3020 por doiga
[22 de Novembro de 2017, 19:22]


Ajuda Projecto IR / RF por senso
[22 de Novembro de 2017, 13:15]


Ideias para construir um quadrúpede simples por dropes
[21 de Novembro de 2017, 22:43]


Ajuda com TRIAC por senso
[17 de Novembro de 2017, 18:00]


TV LG White Screen por almamater
[15 de Novembro de 2017, 08:37]


Pergunta sobre prototipagem ( Pesquisa ) por luisjustin
[14 de Novembro de 2017, 23:22]


Medir Agua que está no Poço por Njay
[14 de Novembro de 2017, 13:28]

Autor Tópico: Problema com arduino e php  (Lida 3191 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline nunosilvarocha

  • Mini Robot
  • *
  • Mensagens: 337
Problema com arduino e php
« em: 21 de Dezembro de 2011, 21:08 »
Boa noite a todos.
Estou a tentar fazer comunicação com o arduino e php por usb.
Estou a fazer escrita no arduino e a ler no php, mas não estou a ter resultados nenhuns.

No arduino tenho um codigo a enviar 1's a toda a hora.
No php estou a tentar ler o valor e escreve-lo na pagina.
Código: [Seleccione]
<html>
<head>
</head>
<body>
<?php 

$point=fopen("com18","a");
sleep(5);
echo fread($point,sizeof($point));
sleep(1);
fclose($point);
?>

</body>
</html>

A pagina fica sempre em branco.
Já tentei enviar pelo php e acender um led se recebido no arduino, mas também não consegui...

Alguma sugestão?

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.402
  • Helpdesk do sitio
Re: Problema com arduino e php
« Responder #1 em: 21 de Dezembro de 2011, 21:12 »
É a COM certa?
Avr fanboy

Offline nunosilvarocha

  • Mini Robot
  • *
  • Mensagens: 337
Re: Problema com arduino e php
« Responder #2 em: 21 de Dezembro de 2011, 21:14 »
Ví pelo programa do arduino, lá diz COM18

Offline luisjustin

  • Mini Robot
  • *
  • Mensagens: 136
Re: Problema com arduino e php
« Responder #3 em: 21 de Dezembro de 2011, 21:17 »
Ví pelo programa do arduino, lá diz COM18

Coloque no codigo php

$point = fopen("COM18", "w+");

Offline nunosilvarocha

  • Mini Robot
  • *
  • Mensagens: 337
Re: Problema com arduino e php
« Responder #4 em: 21 de Dezembro de 2011, 21:20 »
Continua igual.

Offline microbyte

  • Mini Robot
  • *
  • Mensagens: 1.322
    • http://ricardo-dias.com/
Re: Problema com arduino e php
« Responder #5 em: 21 de Dezembro de 2011, 23:26 »
No manual do PHP, na função fopen, está:
Modo 'a' - Open for writing only; place the file pointer at the end of the file. If the file does not exist, attempt to create it.


Se queres ler, tens de usar um modo que permita leitura. Logo à partida diria que de certeza não vais ler nada. Testa:

$point=fopen("COM18:", "w+");

Em relação ao resto do código, retira os sleeps que também não fazem nada.
« Última modificação: 21 de Dezembro de 2011, 23:29 por microbyte »

Offline tr3s

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 811
  • char x=1, y=5; x^=y^=x^=y;
Re: Problema com arduino e php
« Responder #6 em: 22 de Dezembro de 2011, 09:54 »
Aqui há uns tempos tive de fazer um trabalho onde tinha de comunicar com uma porta série (por acaso era para comunicar com um Arduino) através de PHP. Na minha pesquisa percebi que o suporte de comunicação série do PHP é limitada e incompleta dependendo do SO em que está a correr.
Já não me recordo bem das limitações mas assim por alto, no caso do Windows apenas é possível enviar dados, não é possível recebe-los. Em Mac OS conseguir fazer alguma coisa era complicado por questoes de segurança do SO e o unico onde se conseguia fazer uma comunicação decente mas que requeria muitos workarounds era o Linux. Esta pode já não ser a realidade, algo que duvido porque ainda nem um ano passou...

Outro problema é que de cada vez que for feito um refresh ou a pagina for acedida, dependendo da forma como está implementada, o arduino irá fazer Reset. Isto porque de cada vez que tal acontece o engine de PHP destroi a ligação e inicia uma nova, do outro lado, o arduino de cada vez que recebe novas ligações força um RESET (DTR se não me engano).

Na altura a solução que arranjei foi fazer um software, em python, que fazia esta mesma ponte. Isto não so me permitia comunicar com o Arduino de forma decente mas também me resolvia o problema de, de cada vez que um utilizador recarregava ou acedia à pagina o Arduino fazer RESET. como foi feito em python conseguia corre-lo em qualquer um dos SOs acima mencionados.
Tr3s
Daniel Gonçalves

Offline nunosilvarocha

  • Mini Robot
  • *
  • Mensagens: 337
Re: Problema com arduino e php
« Responder #7 em: 22 de Dezembro de 2011, 18:08 »
Aqui há uns tempos tive de fazer um trabalho onde tinha de comunicar com uma porta série (por acaso era para comunicar com um Arduino) através de PHP. Na minha pesquisa percebi que o suporte de comunicação série do PHP é limitada e incompleta dependendo do SO em que está a correr.
Já não me recordo bem das limitações mas assim por alto, no caso do Windows apenas é possível enviar dados, não é possível recebe-los. Em Mac OS conseguir fazer alguma coisa era complicado por questoes de segurança do SO e o unico onde se conseguia fazer uma comunicação decente mas que requeria muitos workarounds era o Linux. Esta pode já não ser a realidade, algo que duvido porque ainda nem um ano passou...

Outro problema é que de cada vez que for feito um refresh ou a pagina for acedida, dependendo da forma como está implementada, o arduino irá fazer Reset. Isto porque de cada vez que tal acontece o engine de PHP destroi a ligação e inicia uma nova, do outro lado, o arduino de cada vez que recebe novas ligações força um RESET (DTR se não me engano).

Na altura a solução que arranjei foi fazer um software, em python, que fazia esta mesma ponte. Isto não so me permitia comunicar com o Arduino de forma decente mas também me resolvia o problema de, de cada vez que um utilizador recarregava ou acedia à pagina o Arduino fazer RESET. como foi feito em python conseguia corre-lo em qualquer um dos SOs acima mencionados.

Eu também já fiz um projeto parecido com o que tenho agora.
E consegui comunicar nos dois sentidos, e o problema do reset resolvi ligando o pino do reset à massa e o arduino não reinicia.
Não sei o que se passa agora, não estou a conseguir.
De qualquer forma, resolvi tomar medidas extremas, liguei o Magalhães da minha irmã instalei o servidor web e parece que já consegui alguns resultados positivos.   

Offline nunosilvarocha

  • Mini Robot
  • *
  • Mensagens: 337
Re: Problema com arduino e php
« Responder #8 em: 23 de Dezembro de 2011, 00:00 »
já está a correr direitinho no Magalhães, neste pc não sei porque não esta a trabalhar.

Offline hukudam

  • Mini Robot
  • *
  • Mensagens: 1
Re: Problema com arduino e php
« Responder #9 em: 06 de Agosto de 2012, 14:48 »
Pesquisei durante 2 semanas sobre funcionar o arduino uno sem o shield no php e estou sofrendo p/ fazer funcionar.

Não entendi muito bem a respeito da direção da saida (OUTPUT) das pinagens. Como eu sei que foi declarado uma das saidas dos 13 digitais output p/ enviar o sinal?
Eu usando o resitor no reset então quer dizer q consigo funcionar no php? Qual o resistor q eu tenho q usar no reset?