Jump to content

Controlar arduino por usb e php


asrnothing

Recommended Posts

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"

Link to comment
Share on other sites

  • 3 years later...

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.

David Inácio

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • 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.