PHP Serial e comunicazione con Arduino


salve tutti,
sto lavorando ad un progetto per la scuola con arduino uno, il quale si interfaccia con un sito in php (tutto questo in locale).
il tutto funziona correttamente se il codice php invia un singolo carattere o cifra (es.: 1, 2, 3... oppure a, b, c...) ad arduino e mi fa accendere/spegnere il led correttamente.
il problema viene quando voglio inviare una stringa o un numero intero ad arduino, ovviamente imposto sia lo sketch che il codice in php con la stessa variabile, esempio: "100".
il monitor seriale di arduino mi restituisce seguenti valori (che è il codice ascii): 49 48 48
invece di "led accesso"

vi posto il codice della pagina in php:
code: [select]
<?php
error_reporting
(e_all);
ini_set("display_errors"1);
define("port","/dev/ttyacm0");
 
if (isset(
$_get['action'])) { 
        include 
"phpserial.php";
    
$serial = new phpserial;
    
$serial->deviceset(port);
        
$serial->confbaudrate(9600);
        
$serial->confparity("none");
        
$serial->confcharacterlength(8);
        
$serial->confstopbits(1);
        
$serial->confflowcontrol("none");
        
$serial->deviceopen();
        if (
$_get['action'] == "on") { 
            
$serial->sendmessage('100');
    } else if (
$_get['action'] == "off") { 
            
$serial->sendmessage('101'); 
        } 
    
$read $serial->readport();
    print 
$read;
        
$serial->deviceclose(); 
}
 
?>


<!doctype html public "-//w3c//dtd html 4.01 transitional//en"
"http://www.w3.org/tr/html4/loose.dtd">
<html>
<head>
<meta charset="utf-8">
<title>test arduino</title>
</head>
<body>
<br>
<h1>test arduino</h1>

<a href="<?=$_server['php_self'] . "?action=on" ?>">
<button style="width:100px""><h1>on</h1></button></a>
<a href="<?=$_server['php_self'] . "?action=off" ?>">
<button style="width:100px""><h1>off</h1></button></a>
</body>
</html>


e il codice di arduino:
code: [select]
int led = 13;
int val;
void setup() {
  pinmode(led,output);
  serial.begin(9600);
}

void loop () {
  if (serial.available() > 0) {
   
    val = serial.read();
   
    if (val == '100') {
      serial.print(val);
      digitalwrite(led,high);
      serial.println("led acceso");
    }
   
    else if (val == '101) {
      digitalwrite(led,low);
      serial.println("led spento");
    }
   
    else {
      serial.println(val, dec);
   
    }
  }
}


questo è il codice che dovrebbe funzionare ma arduino riconosce un carattere alla volta.
spero possiate aiutarmi presto,
grazie anticipatamente!

(spero di aver messo tutto ciò che vi serve per capire il mio problema)

ti invitiamo presentarti qui: http://forum.arduino.cc/index.php?topic=113640.0
e leggere il regolamento: http://forum.arduino.cc/index.php?topic=149082.0
- qui una serie di schede xxxpighi per collegamenti elettronici vari: http://forum.arduino.cc/index.php?topic=146152.0
- qui le pinout delle varie schede xxxpighi: http://forum.arduino.cc/index.php?topic=151646.0
- qui una serie di link utili: http://forum.arduino.cc/index.php?topic=126861.0


Arduino Forum > International > Italiano > Software (Moderator: leo72) > PHP Serial e comunicazione con Arduino


arduino

Comments

Popular posts from this blog

opencv3, tbb and rasp pi 2 - Raspberry Pi Forums

small ethernet problem - Raspberry Pi Forums

Multithumb configuration params not working? - Joomla! Forum - community, help and support