Exploiter datalog.txt en php

J'ai une petite appli sur arduino qui logge sur la carte SD les températures dans un fichier datalog.txt.
Dans Firefox, j'affiche ce fichier (sous forme de lien) et les fichiers qui sont sur la SD, ce que je voudrait faire avec un serveur wamp sur le PC, c'est exploiter les données du fichier datalog.txt, par exemple faire un graphique de température, je ne sais pas par ou commencer. Merci

CORBEL:
J'ai une petite appli sur arduino qui logge sur la carte SD les températures dans un fichier datalog.txt.
Dans Firefox, j'affiche ce fichier (sous forme de lien) et les fichiers qui sont sur la SD, ce que je voudrait faire avec un serveur wamp sur le PC, c'est exploiter les données du fichier datalog.txt, par exemple faire un graphique de température, je ne sais pas par ou commencer. Merci

Ok, je me lance.
Tout d'abord, tu veux loger quoi, juste la température, la date et l'heure en plus... ?
Tout les combien de temps ?
Pendant combien de temps.
Car, si au bout d'un moment tu risques de te retrouver avec genre plusieurs Mo que tu devras charger à chaque fois dans ta page PHP pour ensuite afficher, ca risque de ramer.
Le mieux, serait que tu inscrives les valeurs directement sur le serveur web.
Dans une base de donnée, ca te permet de faire des recherches par dates par exemple, que avec ton fichier .txt tu devras tout le charger pour utiliser ensuite qu'une partie.
Ton PC ne sera pas toujours allumé je pense ?
Tu peux loger aussi sur ta SD temps que le serveur ne répond pas, comme cela t'es pas obligé de l'avoir toujours allumé.

CORBEL:
Dans Firefox, j'affiche ce fichier (sous forme de lien) et les fichiers qui sont sur la SD,

Pourrais tu être plus explicite sur ton architecture :

  • tu loggue sur une carte SD : ok
    <trou ..... je ne sais pas comment les données transite>
  • tu regarde sur Firefox et tu as du PHP
    Donc tu n'utilise pas un serveur Web sur l'Arduino

Comment se passe le transfert des données au serveur Web ?

Il faudrait peut être que les données passent dans une base SQL pour optimiser çà ou que tu segmentes des fichiers de log pour limiter l'accès.

Ensuite si le problème est "comment créer un graphique dans un code PHP", il y a des fonctions et des libs graphiques qui permettent cela.
Par exemple de mémoire la lib "GD".

bonjour,
sujet déjà évoqué plusieurs fois.
sur ton arduino, tu envoie les données via un GET sur ton serer wamp
style

client.print("GET recup.php?temp=");
client.println(temperature);
client.stop();

sur ton wamp dans le fichier recup.php

<?php
if(isset($_GET['temp']))
{
$temp=$_GET['temp'];
include ("connexionbdd.php");
$query=mysql_query("INSERT INTO arduino (date,temp) VALUE(NOW(),$temp)");
?>

pour les graphiques, regarde que la librairie GD est active.
utilise artichow

modifie le fichier courbe.php ou créé le comme ceci

<?php

include ("../conec.php");

 
$x= array();
$y= array();
$visite_par_mois = array(); 
$nb="SELECT temp,date FROM arduino  ORDER BY date";
//echo $nb;exit();
$result=mysql_query($nb);


$compteur= mysql_num_rows($result);
if(!$compteur){echo"Pas de données";exit();}

 while($data = mysql_fetch_array($result))
{
$x[] = $data['batterie'];
$y[] = $data['date'];
}


require_once "Artichow/LinePlot.class.php";


$graph = new Graph(325, 125);
$graph->setAntiAliasing(FALSE);

//$x = array(
//    3, 1, 5, 6, 3, 8, 6
//);

$plot = new LinePlot($x);

$plot->grid->setNoBackground();

$plot->title->set("$hotspot");
$plot->title->setFont(new TuffyBolditalic(12));
$plot->title->setBackgroundColor(new Color(255, 255, 255, 25));
$plot->title->border->show();
$plot->title->setPadding(3, 3, 3, 3);
$plot->title->move(-20, 25);

$plot->setSpace(4, 4, 10, 0);
$plot->setPadding(25, 15, 10, 18);

$plot->setBackgroundGradient(
    new LinearGradient(
        new Color(210, 210, 210),
        new Color(255, 255, 255),
        0
    )
);

$plot->setColor(new Color(0, 0, 150, 20));

$plot->setFillGradient(
    new LinearGradient(
        new Color(150, 150, 210),
        new Color(245, 245, 245),
        0
    )
);

$plot->mark->setType(Mark::CIRCLE);
$plot->mark->border->show();

//$y = array(
//    'Lundi',
//    'Mardi',
//    'Mercredi',
//    'Jeudi',
//    'Vendredi',
//    'Samedi',
//    'Dimanche'
//);

$plot->xAxis->setLabelText($y);
$plot->xAxis->label->setFont(new Tuffy(6));

$graph->add($plot);
$graph->draw();

?>

Bonjour

Ce que je voulait, c'est exploiter le fichier datalog.txt que je logge sur la carte SD, avec wamp et php, dans firefox quand je tape l' url de l'arduino, j'obtiens une page avec ce fichier en lien et les autres fichiers qui sont sur la SD, jai déjà utilisé mysql pour stocker les donnees.
Ce que j'aurais souhaité, c'est faire un upload de datalog.txt et afficher un graphique par exemple.
Mon code est joint.

SDWebBrowse1.ino (9.8 KB)

je t'ai donné le code pour le graphique :wink: en utilisant artichow

Bonjour,

Artichow: où le trouve-t-on ?

merci

Cordialement
Henri

je viens de voir qu'artichow avait disparu de la circulation.
tu peux utiliser http://www.highcharts.com/
sinon je te fais un zip de la lib artichow

EDIT
je viens de te faire un zip, tu vas même y trouver les fichiers que j'ai fais pour creer les graphes pour plusieurs données.

artichow.zip (555 KB)