Jump to content
asrnothing

Controlar arduino por usb e php

Recommended Posts

asrnothing

Gostava que alguem me podese ajudar ou me fornecer uma maneira de poder controlar o arduino a ligar um led via internet pelo php o arduino ta ligado por usb e os php esta num servidor web se alguem me poder ajudar

Share this post


Link to post
Share on other sites
apocsantos

Boa tarde,

Para fazeres o que queres, tens de programar o arduino para acender e apagar o led e receber a ordem de acender e apagar, via Porta USB (Série). Em PHP tens apenas de escrever na porta série correspondente à porta onde está ligado o arduino.

Código para o Arduino

/**
* Arduino + PHP
*
* @author  Bruno Soares
* @website www.bsoares.com.br
*/
#define ANALOG_PIN 4
void setup()
{
 Serial.begin(9600);
}
void loop()
{
 if (Serial.available() > 0) {
   if (Serial.read() == '1')
  Serial.print(analogRead(ANALOG_PIN), DEC);
 }
}

Código para o ficheiro PHP que irá controlar o arduino e que ficará acesssivel via web.

<?php
/**
* Arduino + PHP
*
* @author  Bruno Soares
* @website www.bsoares.com.br
*/
// Conecta na porta
$port = fopen('COM2', 'w+');
// Em alguns casos a Arduino pode reiniciar, por isso
// é bom esperar para enviar informação depois de conectar
sleep(2);
// Envia "1" para o programa na Arduino saber que deve responder
fwrite($port, '1');
// Espera para que o dado enviado pelo PHP chegue até a Arduino
sleep(1);
// Agora que a Arduino "Provavelmente já respondeu", pega
// o valor da resposta
echo fgets($port);
// Fecha a conexão com a porta
fclose($port);
?>

Fonte: http://blog.bsoares.com.br/php/controlling-arduino-with-php

Cordiais cumprimentos,

Apocsantos

  • Vote 2

"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Share this post


Link to post
Share on other sites
david.inacio

Olá,

Estive a testar estas combinações de código e não me funciona.... Os valores que deveriam sair na porta série, são escritos num ficheiro que é criado com o nome da COM usada... Será da minha versão do xampp?

Share this post


Link to post
Share on other sites
Soulsick

Olá,

Não é problema do XAMPP pelo que me parece tens que alterar no ficheiro PHP o 'COM2' pela porta COM correcta que o teu arduino está a usar, podes ver isso no Gestor de Tarefas se estiveres a usar Windows.

Cumps

Share this post


Link to post
Share on other sites
david.inacio

Sim, Soulsick, isso já tinha feito. Tem algo que n consigo explicar.... A porta com está certinha, o que consigo testar enviando comando via serial monitor. Depois, quando meto o php a enviar os mesmos dados para a porta série, eles não chegam lá, e são escritos numa especie de ficheiro de output.. .. Já não sei bem o que fazer... Já testei vários codigos PHP e todos fazem a escrita para um file de texto, em vez de mandar para a porta série...

Estou a usar Windows 7 como sistema anfitrião do XAMPP...

Obrigado.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.