Re: Capteur pour plantes vertes - WIP - Les codes et pb d'alim

On continue avec le code php du cron qui doit etre lancé a intervalle régulier. Chez moi toute les heures.

<meta charset="utf-8">
<table>
    <tr>
        <th>Nom du capteur: </th>
        <th>Température: </th>
        <th>Hygrométrie: </th>
        <th>Hygrométrie sol: </th>
    </tr>
<?php
//On désactive l'affichage des erreurs, car les erreurs PDO renvoit le nom d'utilisateur et le mot de passe
error_reporting(0);
 
//On crée l'objet gérant la base de données
$usr = "ici votre login BDD";
$pass = "et la votre pasword BDD";

$bdd = new PDO('mysql:dbname=ici le nom de la BDD;host=localhost', $usr, $pass);
 
//Le temps du serveur formatté en javascript (nombre de millisecondes depuis le 1er Janvier 1970)
$temps = time()*1000 + 3600*1000;
 
//On récupère le document XML généré par l'Arduino
$doc = simplexml_load_file('http://ici l ip sur serveur arduino:et son port souvent 80');//Doit correspondre à l'adresse de l'Ethernet Shield
 
//On boucle sur tous les éléments du document XML
foreach($doc as $elem)
{
    //On récupére les attributs de l'élement notamment le nom du capteur
    $attributes = $elem->attributes();
    $name = $attributes["name"];
     
    //On récupère les valeurs des capteurs (température/humidité)
    $enfants = $elem->children();
    $temp = $enfants[0];
    $hygro = $enfants[1];
	$hSol = $enfants[2];
     
    //On prépare la requete avec les bons paramètres
    $requete = $bdd->prepare("INSERT INTO graph_tbl(`id`, `nomCapteur`, `temperature`, `humidity`, `sol`, `date`) VALUES (NULL, :nom, :temp, :humi, :lesol, :time);");
     
    //On execute la requête en lui passant les données qui vont bien
    $etat = $requete->execute(array("nom" => $name,
                                    "temp" => $temp,
                                    "humi" => $hygro,
									"lesol" => $hSol,
                                    "time" => $temps));
     
    //Si la requête s'est bien déroulée
    if($etat)
        echo "OK";
    else
        echo "Fail";
     
    //On affiche l'état des capteurs (pour debug)
    echo "<tr><td>".$name."</td><td>".$temp."</td><td>".$hygro."</td><td>".$hSol."</td></tr>";
}
?>
</table>