Arduino YUN passare dati tra arduino e codice php

Salve, non so se qualcuno ha già usato questo metodo, ma io non avendolo trovato ho pensato di condividerlo con voi, magari a qualcuno è utile!

Inizio ricapitolando le procedure per il passaggio di un valore ad un pin e la sua ricezione che ho imparato dal forum, poi vi scrivo il metodo che ho usato.

Per passare una valore al pin 2 da php(linux ) ad arduino YUN tramite la classe Bridge bisogna usare un indirizzo del genere http://iparduino/arduino/digital/2/1
per evitare di ricaricare una pagina si può usare questo script jquery:

<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
<script type=\"text/javascript\"> 
$.get(\"/arduino/digital/2/1\");
 return false; </script>

Invece se vogliamo recuperare il valore del pin 2

<script type="text/javascript" src="js/zepto.min.js"></script>
<script type="text/javascript">
        function refresh() {          
		 $('#div').load('/arduino/digital/2');
}

Con il metodo sopra posso prendere il valore e inserirlo dentro un div o un input text, ma siccome avevo necessità di usare il valore per fare delle operazioni sul codice in php ho trovato questa soluzione:

$variabile= shell_exec('curl localhost/arduino/digital/2');

in questo modo riesco ad avere dentro la variabile il valore che mi comunica arduino YUN

sullo YUN avevo caricato questo esempio: http://arduino.cc/en/Tutorial/Bridge#.UwPBFvl5OSo

spero che possa esservi utile!

Ciao puoi spiegare meglio come hai implementato la parte php e javascript per inviare i comandi senza ricaricare la pagina??
Tipo hai un file index.php?
Il javascript lo usi la dentro?
Scusa se le domande ti possono sembrare banali ma php e javascript non sono il mio forte..
Il massimo che ho fatto al momento, e collegarmi ad un database mysql sullo yun e leggerne con una select fatta tramite php i valori di una tabella. :cold_sweat:

Ora vorrei provare a usare dei bottoni per fare quello che hai descritto tu sopra...

Il massimo a cui sono arrivato è a fare un test con il solo html e ho messo questo nell'header :

<head>
        
<input type="button" value="Test led13" id="btn13" onclick="buttonClicked();" />

	<script type="text/javascript" src="js/jquery-1.10.2.min.js"></script>
	<script type=\"text/javascript\"> 
	function buttonClicked(){
	$.get(\"/arduino/digital/13/1\");
 	return false; 
}
</script>

    	
</head>

Ma poi mi blocco, mi manca qualche info
Se hai suggerimenti , sono bene accetti :wink:

P.s. per la parte PHP ho scritto questo codice:

<?php
$r = new HttpRequest('http://MIOIP/arduino/digital/13/1', HttpRequest::METH_GET);
try {
    $r->send();
    
} 
catch (HttpException $ex) {
    echo $ex;
}
?>

funziona dopo aver installato il pacchetto php5-pecl-http

Ora mi manca mettere le cose insieme... :slight_smile: