Olá a todos, estou tentando fazer um projeto utilizando arduino e php, estou utilizando uma classe que vi sendo utilizando em alguns tutoriais inclusive alguns aqui do forum para ler e escrever na porta serial.

O problema ocorre quando tento ler da porta serial, minha sketch do arduino escreve algo como "{xx}" onde xx é o valor de um calculo, ou seja a sketch é muito simples.

Porém as vezes na leitura não retorna nada, ou retorna valores estranhos como

{

{10}}

{{54

Já entendi que isso em parte se deve pelo tempo em que o arduino leva pra escrever e o tempo que eu leio, mas até agora eu não consegui pensar em um forma de SINCRONIZAR essa tarefa, alguém tem alguma ideia?

obs: sleep() não me pareceu a melhor forma de resolver o problema.

Segue meu código php

[code]

<?php
require_once 'php_serial.class.php';

$serial = new phpSerial();
$serial->deviceSet("/dev/ttyACM1");
$serial->confParity("none");
$serial->confCharacterLength(8);
$serial->confStopBits(1);
$serial->confFlowControl("none");
$serial->confBaudRate(9600);
$serial->deviceOpen();
$read = $serial->readPort();
$serial->deviceClose();

?>

<b>v: <?php echo $read ?></b>

[/code]

Exibições: 330

Responder esta

Respostas a este tópico

Uma coisa que eu sempre faço ao interagir arduino com algum programa/site é colocar uma requisiçao, ou seja, o script php envia para a porta serial algo que represente a aquisiçao dos dados e quando o arduino receber essa aquisiçao ele envia seus dados para o php.
Sincronizando isso acredito que possa resolver seu problema.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço