ah, ma tu stai pilotando l'arduino dall'HTML, con un iframe che fa una GET all'ardauno che fa da SERVER.
Invece la richiesta iniziale è che l'arduino faccia da CLIENT verso una pagina PHP; in tal caso arduino si becca come ho detto l'echo, in oltre NON parsando la risposta non si accorgerà dell'iframe e quindi non farà la get a se stesso con i dati che però a questo punto già contiene. (l'iframe/frmae è eseguito lato client, non lato server!)
ripetiamo da capo: arduino fa una richeista get (cambiare ip del server nell'ip o nome host):
GET pagina.php?address=1;idtag=12345678 HTTP/1.1
Host: ip del server
e il server web risponde (seguendo il tuo codice, gli header possono variare) (cambiare '.$ipArduino.' con il valore relae):
HTTP/1.1 200 OK
Date: Mon, 23 May 2005 22:38:34 GMT
Server: Apache/1.3.3.7 (Unix) (Red-Hat/Linux)
Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
ETag: "3f80f-1b6-3e1cb03b"
Content-Type: text/html; charset=UTF-8
Content-Length: 131
Connection: close
accesstatus=true
<iframe src="http://'.$ipArduino.'?accesstatus=true"></iframe>
fine. Senza bisogno di passare da un browser (aperto da chi? e quando? e come?), senza bisogno dell'iframe, basta che arduino leggendo la risposta del server cerchi "accesstatus=" e legga il valore successivo.
Ancora meglio, puoi fare così:
<?php
// imposto ip arduino
// 1270.0.1 se la macchina e la stessa
// localhost se la macchina locale e la stessa
$ipArduino = "192.168.1.200";
// prelevo i dati
//es. pagina.php?address=1;idtag=12345678
$azione = $_GET['address'];
$IDlettore = $_GET['idtag'];
if ($azione = 1 && $IDlettore == "12345678"){
echo "1";
}else{
echo "0";
}
?>
a questo punto la risposta sarà solo 0 o 1, facilmente interpretabile lato arduino, basta scartare tutti i caratteri fino alla riga vuove (che significa fine header, cercare \n\n) e leggere il carattere successivo: se 1 allora il codice è valido, se 0 è imnvalido, se altro è un messaggio di errore in PHP, magari perchè la connessione DB non ha avuto successo o altro.