Il codice di arduino rimanda ad una pagina update.php che sarebbe:
<?php
$led[1] = $_GET["1"];
$led[2] = $_GET["2"];
$led[3] = $_GET["3"];
$led[4] = $_GET["4"];
$led[5] = $_GET["5"];
$led[6] = $_GET["6"];
$led[7] = $_GET["7"];
$led[8] = $_GET["8"];
$led[9] = $_GET["9"];
require_once("../scriptPHP/mysql_1.php");
$db=connect_database("valori");
for($i=1;$i<10;$i++){
$query='UPDATE led SET stato="'.$led[$i].'" WHERE nled="'.$i.'"';
mysql_query($query,$db);
}
mysql_close($db);
echo '<html><head><meta http-equiv="refresh" content="0; url=loggato.php"/></head></html>';
?>
I valori di stato vengono salvati nel database, così poi su loggato.php me li posso gestire come voglio.
loggato.php è una pagina abbastanza complicata e lunga (tra cui controllo delle sessioni di accesso etc etc) ma quello che ci interessa qui è il form che invia le istruzioni ad arduino ovvero:
<form action="http://192.168.1.110" method="get">
LED1 OFF<input type="radio" name="1" value="OFF" checked/>
ON <input type="radio" name="1" value="ON" />
LED2 OFF<input type="radio" name="2" value="OFF" checked/>
ON <input type="radio" name="2" value="ON" />
LED3 OFF<input type="radio" name="3" value="OFF" checked/>
ON <input type="radio" name="3" value="ON" />
LED4 OFF<input type="radio" name="4" value="OFF" checked/>
ON <input type="radio" name="4" value="ON" />
LED5 OFF<input type="radio" name="5" value="OFF" checked/>
ON <input type="radio" name="5" value="ON" />
LED6 OFF<input type="radio" name="6" value="OFF" checked/>
ON <input type="radio" name="6" value="ON" />
LED7 OFF<input type="radio" name="7" value="OFF" checked/>
ON <input type="radio" name="7" value="ON" />
LED8 OFF<input type="radio" name="8" value="OFF" checked/>
ON <input type="radio" name="8" value="ON" />
LED9 OFF<input type="radio" name="9" value="OFF" checked/>
ON <input type="radio" name="9" value="ON" />
<input type="submit" value="submit">
</form>
Per questo vi sto chiedendo come fare per togliere tutti quegli "if" di controllo su arduino li trovo eccessivi, mi basterebbe crearmi 2 stringhe di appoggio del tipo "NUMERO=ON" e "NUMERO=OFF" per il controllo, che poi utilizzeri all'interno di un ciclo for cambiando il primo carattere (cioè NUMERO) così da poter fare la indexOf di volta in volta così: cmd[i] = msg.indexOf(app)
E poi giusto una precisazione, sto vedendo gli esempi della indexOf, come parametri accetta solo caratteri singoli oppure più caratteri. Si può fare una cosa del genere?
app = "1=0N";
cmd = msg.indexOf(app)
cioè passare "app" tra i parametri?