Fala galera, como vão?
Estou envolvido em um projeto de automação residencial, que envolve asterisk + PHP + arduino.
O código do arduino está uns 90% pronto, e a plata está se comportando da maneira que eu preciso.
Eu desenvolvi um scrip em php para passar os comandos (parametros) ao arduino (via serial), porém preciso aprimorar este código para receber os valores do arduino (retorno).
Como eu faço isso? Eu preciso escrever algo no arduino para que ele envie os comandos, ou somente no PHP?
Para ser mais direto, eu preciso que o PHP leia os valores dos sensores das portas analógicas do arduino.
Segue meu código do php:
#!/usr/bin/php -q
<?php
#Recebendo os valores digitados no telefone
$pin = $argv[1];
$comando = $argv[2];
$pino = $pin-1;
switch ($comando){
case 0:
echo "Desligando pino $pino\n";
break;
case 1:
echo "Ligando pino $pino\n";
break;
case 2:
echo "Verificando o status do pino $pino\n";
break;
default:
echo "Comando $comando inválido, Digite 0,1 ou 2\n";
die;
break;
}
$port = fopen("/dev/ttyACM0","rw");
sleep(2);
// echo"Enviando comando para a PORTA USB $porta\n";
fwrite($port,"$pino$comando");
fclose($port);
?>
Basicamente o código recebe 2 parametros:
1º pino de referencia do arduino (portas analogicas ou digitais do arduino)
2º comando , onde 0 é desligar, 1 é ligar, e 2 é para verificar o status.
Ficando o comando assim: "15" "1" (liga o pino digital 15); "07" "0" (desliga o pino 7 ) etc..
O que eu preciso, é por exemplo, enviar os comandos 13 2, ele ler a porta analógica 13 do arduino (neste caso ele irá ler a 12 - $pino = $pin -1) e guardar este retorno na forma de variável.
Como eu faço isso?
Obrigado