Go Down

Topic: Exploiter datalog.txt en php (Read 2557 times) previous topic - next topic

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

jplaville


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é.

barbudor


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".

infobarquee

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

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

sur ton wamp dans le fichier recup.php
Code: [Select]

<?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
Code: [Select]
<?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);


$compteurmysql_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(325125);
$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(25525525525));
$plot->title->border->show();
$plot->title->setPadding(3333);
$plot->title->move(-2025);

$plot->setSpace(44100);
$plot->setPadding(25151018);

$plot->setBackgroundGradient(
    new 
LinearGradient(
        new 
Color(210210210),
        new 
Color(255255255),
        
0
    
)
);

$plot->setColor(new Color(0015020));

$plot->setFillGradient(
    new 
LinearGradient(
        new 
Color(150150210),
        new 
Color(245245245),
        
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();

?>

AUCUNE AIDE PAR MP

CORBEL

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.

infobarquee

je t'ai donné le code pour le graphique ;) en utilisant artichow
AUCUNE AIDE PAR MP

LeopoldHenri

Bonjour,

Artichow: où le trouve-t-on ?

merci

Cordialement
Henri

infobarquee

#7
Mar 28, 2012, 06:55 pm Last Edit: Mar 28, 2012, 06:59 pm by infobarquee Reason: 1
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.
AUCUNE AIDE PAR MP

Go Up