Buongiorno a tutti,
vi scrivo perchè stò facendo dei test sul metodo di trasmissione dati da arduino ad un database mysql in modo da passare una stringa che contenga i valori di alcuni sensori collegati.
Per ora sto provando a far passare un valore pari a 3:
#include <SPI.h>
#include <Ethernet.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
//indirizzo server web (locale)
IPAddress server(192, 168, 1, 4);// ho inserito l' ip del pc su cui ho installato xampp (server apache 127.0.0.1 porta 80)
//indirizzo ip dell'Arduino
IPAddress ip(192, 168, 1, 177);
EthernetClient client;
String strURL = "";
void setup()
{
Serial.begin(9600);
if (Ethernet.begin(mac) == 0)
{
Serial.println("Configurazione DHCP fallita!");
Ethernet.begin(mac, ip);
}
delay(1000);
}
void loop()
{
UpdateTemp();
while(client.available())
{
char c = client.read();
Serial.print(c);
}
if (!client.connected())
{
Serial.println();
Serial.println("Disconnesso.");
client.stop();
}
//esegui la richiesta ogni 10 secondi
delay(10000);
}
void UpdateTemp()
{
Serial.println("Connessione...");
if (client.connect(server, 80))
{
Serial.println("Connesso");
//creo l'url utilizzando una stringa
strURL = "GET /arduino/index.php?valore=3 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
{
Serial.println("Errore Connessione");
}
ho creato un file php per richiamare la stringa
strURL = "GET /arduino/index.php?valore=3 HTTP/1.1";
caricando il file sulla cartella C:\xampp\htdocs\arduino
<?php
if(isset($_GET['valore']))
{
$valore = $_GET['valore'];
$link = mysql_connect('localhost', 'root', '');
if (!$link) {die('Impossibile connettersi: ' . mysql_error());}
mysql_select_db("arduino") or die( "Impossibile selezionare il database.");
$sql = "INSERT INTO `arduino`.`tbl_temperature`
(
`ID` ,
`Tempo_Server` ,
`Tempo_Locale` ,
`Valore` ,
`Localita`
)
VALUES
(
NULL , CURRENT_TIMESTAMP , NULL , '" . $valore . "', NULL
);";
$retval = mysql_query( $sql, $link );
if(! $retval ){die('Impossibile eseguire la query: ' . mysql_error());}
mysql_close($link);
}
?>
il database come si vede dall' immagine allegata non contiene nessuna informazione.
Potrebbe essere un problema di Ip??
oppure ci sono proprio errori nel codice?
confido in una vostra super consulenza come sempre
Saluti