ciao a tutti,
probabilmente il mio problema è già stato discusso nel forum perché credo che sia banale, ma ho provato a cercare una discussione simile senza successo...
il mio problema è che non riesco ad aprire una pagina php tramite request http esterna con metodo GET...
l'obiettivo è quello di creare una pagina di datalogging fatto in siggatta guisa:
1. Arduino raccoglie i dati
2. li invia con comando GET ad una pagina php su AV
3. php li legge
4. e tramite comando sql li registra sul database
i punti 1 e 4 sono OK, mentre uno tra il 2 ed il 3 non va... non so se li invio male o li leggo male...
per semplificare, ho scritto un codice che prevede invio del valore 999 alla pagina php www.ilfabry.altervista.org/prendidato.php che a sua volta mi invia una mail contenente il valore letto... il problema non è che non legge il valore 999 (se così fosse riceverei una mail con valore nullo), ma proprio che non parte la pagina prendidato.php perche non ricevo nessuna mail...
provo a postare le parti del codici:
arduino:
Codice HTML:
#include <UIPEthernet.h> // Used for Ethernet
byte mac[] = { 0x54, 0x34, 0x41, 0x30, 0x30, 0x31 };
EthernetClient client;
char server[] = "http://ilfabry.altervista.org"; // Indirizzo del client su Altervista
int interval = 5000; // Intervallo tra in dump e l'altro
void setup() {
Serial.begin(9600);
Ethernet.begin(mac);
Serial.print("IP Address: ");
Serial.println(Ethernet.localIP());
Serial.println("");
}
void loop() {
// verifico connessione e ottengo OK su seriale
if (client.connect(server, 80)) {
Serial.println("--> Connessione OK !");
// Lancio la richista HTTP
client.print( "GET /prendidato.php?valore=999");
client.println( " HTTP/1.0");
client.print( "Host: ");
client.println(server);
client.println( "Connection: close" );
client.println("\r\n");
client.println();
client.stop();
Serial.println("--> Comando GET inviato !");
Serial.println("");
}
else {
// Se connessione non riuscita...
Serial.println("--> Connessione fallita !/n");
}
}
come detto non si dovrebbe trattare di un problema di connessione ad AV perchè il controllo sul codice da 2Connessione OK !2 è:
Codice HTML:
IP Address: 192.168.1.15
--> Connessione OK !
--> Comando GET inviato !
--> Connessione OK !
--> Comando GET inviato !
mente la pagina php /prendidato.php contiene:
Codice HTML:
<?php
$valore = $_GET['valore'];
mail (
'xxx@hotmail.it',
'prendi dato con GET',
"il valore letto è $valore",
'From: fake@hotmail.it'
);
?>
ovviamente ho provato a digitare sul browser il comando
Codice HTML:
www.ilfabry.altervista.orgprendidato.php?valore=999
e tutto funziona a meraviglia...
ovviamente le restrizione alla connessione Server to Server sono state disabilitate...
ogni commento o consiglio è ben accetto...
grazie
ilfabry