Intégration des données arduino et NEST dans une base PHP


A présent l'idée est de mettre dans la même base MYSQL l'ensemble des éléménts déjà fournis. Nous avons vu l'installation NEST et l'envoie de données de l'Arduino.
L'intégration dans une base "domo", la table "value" à partir de JSON généré par la page ci dessous se fera à la demande.
Deux possibilités s'offrent à nous:
- la plus simple inserer dans le scripte de l'arduino l'interogation de la page get_data.php par un POST,
- la plus interessante utiliser sur le serveur un CRON cadence toutes les 4 heures.


	// name : get_data.php
	
    //connect to mysql db
	$con = mysqli_connect('localhost','login','pass','domo') or die("Error " . mysqli_error($connection));
    
    //connect to the employee database
   // mysqli_select_db("data", $con);

    //read the json file contents
    $jsondata = file_get_contents('https://developer-api.nest.com/devices/thermostats?auth=.......');
    
    //convert json object to php associative array
    $data = json_decode($jsondata, true);
    
    //get the employee details
    $updated = $data['0MdexvLs0SXBsG8m8YZ0mHv5jTlSuPFQ']['last_connection'];
    $humidity = $data['0MdexvLs0SXBsG8m8YZ0mHv5jTlSuPFQ']['humidity'];
    $current = $data['0MdexvLs0SXBsG8m8YZ0mHv5jTlSuPFQ']['ambient_temperature_c'];
    $target = $data['0MdexvLs0SXBsG8m8YZ0mHv5jTlSuPFQ']['target_temperature_c'];
    $heating = $data['0MdexvLs0SXBsG8m8YZ0mHv5jTlSuPFQ']['hvac_state'];
	
	$updated = str_replace('T', ' ', $updated);
	
	$updated = substr($updated, 0, -5 );

    //insert into mysql table
    $sql = "INSERT INTO data VALUES('$heating', '$target', '$current', '$humidity', '$updated', now())";
	
$exec = mysqli_query($con,$sql) or die("Error in Selecting " . mysqli_error($connection));
mysqli_close($con);
//echo $updated.' '.$humidity.' '.$current.' '.$target.' '.$heating;

L'intégration dans la base "domo", la table "temper" à partir de la page issue du POST généré par l'Arduino.

 // name : up_data.php
 
    // Prepare variables for database connection
  
	$con = mysqli_connect('localhost','login','pass','domo') or die("Error " . mysqli_error($connection));
 
    // Prepare the SQL statement

    $sql = "INSERT INTO sensor_cuve (value, local) VALUES ('".$_GET["value"]."', '".$_GET["local"]."')";   

	mysqli_query($con, $sql);
	 
	$sql = "INSERT INTO temper (t_cuve, t_gara, local) VALUES ('".$_GET["t_cuve"]."', '".$_GET["t_gara"]."', '".$_GET["local"]."')";    

    // Execute SQL statement
    mysqli_query($con, $sql);
	
	// fermer la connection
	mysqli_close($con);

La mise en base permet donc de sauvegarder vos éléménts.
Pour les plus perspicaces, il est clair que pour le moyen le plus simple est que l'Arduino envoi ses éléménts à un cadencement régulier et fasse dans son scripte les deux actions.
Je n'ai pas mis la solution, je vous laisse me mailler pour en parler.