Olá pessoal,

Li muitos artigos aqui sobre o assunto, o que deu uma ótima base.

Entretanto, estou fazendo testes mas está dando uma mensagem de erro ao abrir a porta COM1, informando "permission denied" ao tentar abrir a porta tanto com a função "fopen" bem como usando DIO "dio_open". Tentei com as várias opções "r+b", "w+", mas exibe sempre a mesma mensagem.

Não estou no Linux, estou no windows XP mesmo.

Não é o Arduino que eu estou tentando comunicar, é uma balança.

Alguém sabe o que pode estar ocorrendo ?

Obs : Tenho uma aplicação que eu fiz em VB6 que acessa a porta e comunica com o dispositivo normalmente no windows XP.

 

Exibições: 7045

Responder esta

Respostas a este tópico

Posta o seu código PHP para darmos uma olhada.

Olá Diogo, obrigado pela atenção.

Vai o código aí :

<?php
exec('MODE COM1:9600,n,8,1');
$fp=fopen("COM1","r+b");
if(!$fp){
echo("Erro ao abrir a porta com1");
exit;
} else echo("COM1 aberta <br>");

echo("enviando ENQ <br>");
fwrite($fp,chr(5));
echo("aguardando <br>");
sleep(1);
echo(fgets($fp));
echo("recebido <br>");
fclose($fp);
?>

Mario,

Fiz um teste aqui com o seu seu código usando o Arduino para receber e enviar uma resposta, caso o caracter enviado do PHP fosse válido, e funcionou normalmente.

Uma pergunta: você habilitou a extensão com_dotnet no php.ini?

Se você não tiver habilitado, vá no php.ini e acrescente/"descomente" esta linha:

extension=php_com_dotnet.dll

Espero que ajude.

Se não der certo, posta aí que vamos tentando resolver.

Abraços.

Olá Diogo, muito obrigaod mesmo pela ajuda.

Rapaz, não tenho essa dll instalada não.

Estou usando o WAMP 2.0 e  a versão do PHP é a 5.2.6.

Existe essa dll para download em algum lugar ?

Se você está usando o WAMP, quando você entra no endereço localhost, por acaso a extensão com_dotnet está sendo carregada conforme a imagem em anexo?

Anexos

Olá Diogo, 

Aparece na tela sim, mas o arquivo dll não existe na pasta EXT no php, nem aparece na opção PHP->PHP Extensions do  WAMP e nem está no arquivo php.ini.

Muito esquisito isso. 

Verdade, muito esquisito mesmo, pois no meu está do mesmo jeito, o ini do PHP também não tem esta extensão habilitada e ela esta sendo carregada.

Quando você instala o servidor apache + PHP + MySQL manualmente, você tem que habilitar as extensões que você deseja usar nos .ini e .conf da vida.

Agora quando você instala o WAMP, ele faz a instalação de tudo automaticamente, e já vem com algumas extensões habilitadas, porém algumas delas não possui a dll na pasta EXT, que é o nosso caso com a php_com_dotnet.dll.

Nunca procurei entender esse fato, pois se está funcionando, não precisa se preocupar certo? Pra que caçar chifres em cabeça de cavalo!!!!! Hehehehehe...

Bom, de qualquer forma, eliminamos duas possibilidades: a do código não estar funcionando, e do servidor não estar habilitado para ler a serial.

Quando fiz a comunicação com a USB via PHP pela primeira vez, só tive este problema da dll, portanto, teremos que pesquisar para descobrir seu problema.

Abraços.

Muito obrigado de qualquer forma.

Meu WAMP é diferente do seu. Acho que vou baixar o WAMP 2.2 e instalar para testar.

Obrigado.

Mario,

Estava fazendo uns testes aqui e vi que quando a porta está em uso aparece o mesmo erro que o seu. Fiz a simulação usando a IDE do Arduino, com o serial monitor aberto o PHP não consegue ler a porta COM, basta fechar a IDE que o PHP volta a funcionar.

Dá uma olhada no erro que aparece na imagem:

Olá Diogo,

O que estaria bloqueando a serial se eu não estou executando nada enquanto rodo esse script ?

Tenho um programa em VB6 que le a COM1 , mas ele não está sendo executado naquele momento, nem antes. 

Inicio o windows, rodo o WAMP e já executo o script.

Obrigado pela ajuda !

Fiz este post para ajudar um pessoal uma vez, talvez ajude você também.

http://cleitonbueno.wordpress.com/2013/05/19/arduino-sensor-de-temp...

Olá Cleiton,

Bacana heim !!!

O código é muito avançado para mim que sou iniciante em php, mas vou dar uma olhada nisso amanhã a noite. Em breve darei retorno.

Obrigado pela ajuda !

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço