Go Down

Topic: ubuntu e php serial class (Read 371 times) previous topic - next topic

salvodj

non so se sono nella sezione giusta, magari chiedo a un operatore di spostare questa mia richiesta.

sto usando php serial class su ubuntu per accendere e spegnere dei led. In pratica in arduino ho impostato
l'accensione del led da seriale con la lettera M e lo spegnimento con la lettere N. Fin qui tutto ok infatti tramite il codice php funziona alla perfezione

ecco il codice

Code: [Select]
<?php

error_reporting
(E_ALL);
ini_set("display_errors"1);
define("PORT","/dev/ttyUSB0");
 
if (isset(
$_GET['action'])) {
        include 
"php_serial.class.php";
    
$serial = new phpSerial;
    
$serial->deviceSet(PORT);
        
$serial->confBaudRate(9600);
        
$serial->confParity("none");
        
$serial->confCharacterLength(8);
        
$serial->confStopBits(1);
        
$serial->confFlowControl("none");
       
$serial->deviceOpen();
sleep(1);
      switch  (
$_GET['action'])  {
      case 
"1"  :
          
$serial->sendMessage("M");
    break;
      case 
"a"  :
          
$serial->sendMessage("N");
    break;
     }


  
$serial->sendMessage("Y");
  
$read=$serial->readPort();


$serial->deviceClose();
}
 
?>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Test Arduino</title>
</head>
<body>
<br>
<h1>Test Arduino</h1>
<p><?php echo $read ?></p>

<a href="<?=$_SERVER['PHP_SELF'] . "?action=1" ?>">
<button style="width:100px""><h1>ON1</h1></button></a>
<a href="<?=$_SERVER['PHP_SELF'] . "?action=a" ?>">
<button style="width:100px""><h1>OFF1</h1></button></a>
</body>


il problema è che nell'arduino ho impostato anche un controllo di stato premendo la lettera Y.
come posso modificare il codice php in modo che all'apertura della pagina mi invia alla seriale la lettera Y e mi stampa quello che riceve dalla seriale?

ho provato con questo ma niente

Code: [Select]
$serial->sendMessage("Y");
  $read=$serial->readPort();


$serial->deviceClose();

lesto

metti l'istruzione fuori dall'if del get...

Quote
isset($_GET['action'])

vuol dire se è stata richiesta un azione alla pagina. ma se tuy vuoi farlo al caricamento della pagina, quindi quando nessuna "azione", o meglio nessuna form è stata inviata, ma arriva una richiesta get "semplice"
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

salvodj


Go Up