Codice: Seleziona tutto
<?php
//Connect to database
$con = mysql_connect("localhost", $_GET['user'], $_GET['password']);
if(!$con)
{
die('Could not connect: ' .mysql_error());
}
//Select database
mysql_select_db("rotex", $con);
//Parse the data string
$data = str_replace(",",".",$_GET['data']);
$data = explode(";", $data);
//Temperature correction factors
$a = -0.0002;
$b = -0.0472;
$c = +1.0434;
//Assign data
$HA = $data[0];
$BK = $data[1];
$P1 = $data[2];
$P2 = $data[3];
$TK = $data[4];
$y = ($a*($data[5])^2)+($b*($data[5]))+$c; //Apply polynomial data correction
$TR = ($data[5]+$y);
$y = ($a*($data[6])^2)+($b*($data[6]))+$c; //Apply polynomial data correction
$TS = ($data[6]+$y);
$TV = $data[7];
$P = $data[8];
//Execute the insert query
$result = mysql_query("INSERT INTO Produzione
(HA,BK,Pompa1,Pompa2,TCollettore,TRitorno,TBollitore,TMandata,Portata) VALUES
($HA,$BK,$P1,$P2,$TK,$TR,$TS,$TV,$P)");
if (!$result) {
die('Invalid query: ' . mysql_error());
}
mysql_close($con);
print "OK";
?>
Lo script viene chiamato in questo modo
Codice: Seleziona tutto
http://servername/rotex.php?user=dbusername&password=dbpassword&data=0;1;100;1;20;12;8;12;7,7
Applica una correzione polinomiale di secondo grado ai dati di temperatura, calcolata in base ai dati di sergio&teresa, e salva il tutto sul db. Se la mia rotex dovesse mandare fuori anche i campi di potenza ed energia aggiungerei i due campi.
Arduino dovrebbe passare i dati al server nel modo seguente
Codice: Seleziona tutto
client.println("GET /rotex.php?user=dbusername&password=dbpassword&data=0;1;100;1;20;12;8;12;7,7 HTTP/1.0");
http://arduino.cc/en/Tutorial/WebClient