Arduino Ethernet Client - Apache, database, php

Ciao a tutti ragazzi…sto provando a mandare dei valori da arduino ad un server locale (mio pc) tramite ethernet shield ma non riesco a recuperare i dati. Infatti la pagina a cui punta la stringa GET (temperatura.php) continua a dare errore di “Undefined index: temperatura in C:\xampp\htdocs\arduino\temperatura.php on line 4”.

Qualche idea???
Di seguito lo sketch di Arduino e la pagina php:

Arduino sketch:

#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

IPAddress server(10,0,1,1);  // numeric IP for server
// Set the static IP address of arduino
IPAddress ip(10, 0, 1, 2);
IPAddress subnet(255,255,255,0);

EthernetClient client;
String strURL = "";
float temp = 0;
int temperatura;
int piante=25;
void setup(){
 Ethernet.begin(mac, ip,subnet);
 delay(10);
}
void loop()
{
 UpdateTemp();
 if (client.available())
 {
 char c = client.read(); }
 if (!client.connected()){ 
  client.stop();
 }
 delay(60000); // esegui la richiesta ogni 60 secondi
 temperatura=0;
 for(int k=0;k<10;k++)
 temperatura+=analogRead(A0);
 temp = temperatura*50.0/1023;
 temperatura= int(temp*10); // media di 10 valori
}
void UpdateTemp()
{
 if (client.connect(server, 80)){
 //creo l'url utilizzando una stringa
 strURL = "GET /arduino/temperatura.php?temperatura= ";
 strURL +=temperatura;
 strURL +="&piante=";
 strURL +=piante;
 strURL +=" HTTP/1.1";
 //invio la richiesta al server
 client.println(strURL);
client.println("Host: arduino");
client.println("Connection: close");
client.println();
//chiudo la connessione
client.stop();
 }
 else
 {
 // errore di connessione
 }
}

pagina “temperatura.php” che dovrebbe ricevere i dati da Arduino

<?php
 echo "inizio pagina";
 //Recupero il valore del parametro
 $temperatura = $_GET["temperatura"];
 var_dump($_GET["temperatura"]);
 $temp=$temperatura/10.0;
 $piante = $_GET["piante"];
 echo $temperatura; 
 echo $piante;
 //eseguo la connessione al database sul server locale
 //inserendo nome utente e password
 $_GLOBAL['pdo'] = new PDO("mysql:host=localhost:3306; dbname=serre2","admin", "admin")
 or die ("impossibile connettersi al database $database");
$ora=date("H");
$giorno=date("d");
$mese=date("m");
$minuti=date("i");
echo "Giorno "; echo $giorno; echo"
";
echo "Mese "; echo $mese; echo"
";
echo "Ora "; echo $ora; echo"
";
echo "Minuti "; echo $minuti; echo"
";
 //creo una stringa sql di inserimento con i valori
 //recuperati dall'url
 $sql = "INSERT INTO "."monitoraggio"."(giorno , mese , ora , minuti, serra, temperatura,piante)".
 "VALUES('". $giorno."','".$mese."','".$minuti."','".$temp."','".$piante."')";
//eseguo la query
 $res = $_GLOBAL['pdo']->query($sql);
?>

Ho fatto anche una verifica dall’access.log di Apache ed ecco quanto ho riscontrato (mi sembra di capire che la GET viene creata ed inviata correttamente):
10.0.1.2 - - [01/Jan/2020:19:34:17 +0100] “GET /arduino/temperatura.php?temperatura=652&piante=25 HTTP/1.1” 200 65 “-” “-”
10.0.1.2 - - [01/Jan/2020:19:35:17 +0100] “GET /arduino/temperatura.php?temperatura=652&piante=25 HTTP/1.1” 200 65 “-” “-”

Aiutooooooo!!!

Sicuramente devi togliere lo spazio dopo l'uguale a riga 40 del codice Arduino, da:

strURL = "GET /arduino/temperatura.php?temperatura= ";

a:

strURL = "GET /arduino/temperatura.php?temperatura=";

Prova e vedi se funziona.

Confermo...ora i dati vengono memorizzati correttamente all'interno del database.
Continuo a non vedere i valori all'interno della pagina temperatura.php (facendo refresh del browser dal mio pc) ma probabilmente è un discorso di sessione.

GRAZIE MILLE!