Affichage graphique via hightcharts

Bonjours à tous,

J'envoie les datas de mes 8 sondes depuis un Esp32 en Wifi dans une base SQL situé sur un RPI.
Les données sont bien envoyées dans la base mais l'affichage graphique ne fonctionne plus après l'ajout d'une sonde supplémentaire.
Complètement novice avec HightCharts, J'avais réalisé cet affichage graphique en suivant un tuto de Henri Bachetti (Ritonduino) sans bien le comprendre mais que je ne retrouve plus !
Et ça marchais bien.
Aujourd'hui, après l'ajout d'une sonde en ayant modifié les deux fichiers correspondant (data.php qui vient lire la base SQL et graph.js qui l'affiche sous hightcharts sur le RPI, plus de graphe !
Je n'y comprend rien !
Les logs du RPI concernant Apache et Mysql n'affichent aucune erreur, la visualisation de la base sql via hightcharts en appelant "index.php" qui fonctionnait bien avant la modif ne m'affiche que mes anciennes sonde et ne prend pas en compte le fichier graph.js ?
J'ai vérifié s'il n'existait pas d'autre fichier graph.js et data.js ailleurs.
Au secours !

mon repertoire dans le rpi:
var/www/html
data.php
graph.js
hightcharts.js
index.css
index.php
jquery.js
Je joint les 2 fichiers que j'ai modifié :
data.php

<!doctype html>                                                         < !-- html5  -- >
<html lang = "fr">                                                      < !-- langue fr  -- >

<head>
<meta charset = "utf-8">                                                < !-- encodage utf   -- >
     <title>Graphique < / title >                                       < !-- titre de la page -- >
     <link rel = "stylesheet" href = "index.css">                       < !-- appelle de la page de déco  -- >
     <script type = "text/javascript" src = "jquery.js"> < / script >   < !-- appelle de la librairie jquery -- >
     <script type = "text/javascript" src = "highcharts.js"> < / script > < !-- appelle de la librairie highcharts -- >
     <script src = "graph.js"> < / script >                             < !-- appelle du graphique -- >
     <script src = "gray.js"> < / script >                              < !-- appelle du thème pour le graphique -- >
</head >

<body>
     <h1>Historique Sonde < / h1 >
     <div id = "conteneurGraph"> < / div >                              < !-- contiendra le graphique  -- >
</body >
</html >

graph.js

$(function () {                                                     // fonction javascript
    $.getJSON('data.php', function(sonde) {                         // on récupère les datas json du fichier data.php sous la fonction sonde
    
        // construction du graphique 
        Highcharts.chart('conteneurGraph', {                        // l' id de la div ou sera crée le graphe dans index.php 
            chart: {                                                // pour le zoom sur le graphe
                zoomType: 'x',
                spacingBottom: 15,
                spacingTop: 50,
                spacingLeft: 10,
                spacingRight: 10,
            },          
            title: {                                                // le titre du graphe
                text: 'Sonde BME'
            },          
            subtitle: {                                             // le sous-titre du graphe 
                text: 'cliquez sur la légende pour afficher ou non la courbe, cliquez et sélectionnez une zone du graphe pour zoomer'
            },
            xAxis: [{                                               // l'axe x (abscisses : les datas du champs 0 récupéré par la fonction sonde (ligne2))
                categories: sonde[0].data
                
            }],     
            yAxis: [{                                               // 1er axe Y (ordonnées)       
                opposite: false,                                    // à gauche
                title: {                                            // On définie le titre de l'axe
                    text: 'Température Ext',                            // Le nom de l'axe
                    style: {
                        color: Highcharts.getOptions().colors[0]    // sa couleur
                    }
                },
                labels: {                                           // On définie la forme des valeurs le long de l'axe     
                    format: '{value} °C',                            // La valeur suivie de °C
                    style: {
                        color: Highcharts.getOptions().colors[0]    // leurs couleurs
                    }
                }//,                                                // si on veux paramétrer des limites sur l'axe on dé-commente ces 3 lignes
                 //min: -20,                                        // valeur min de l'axe
                 //max: 50                                          // valeur max de l'axe
            },{                                                     // 2eme axe Y (ordonnées)  
                opposite: true,                                     // à gauche
                title: {                                            // On définie le titre de l'axe
                    text: 'Humidité Ext',                           // Le nom de l'axe
                    style: {
                        color: Highcharts.getOptions().colors[1]    // sa couleur
                    }
                },
                labels: {                                           // On définie la forme des valeurs le long de l'axe
                    format: '{value} %',                            // La valeur suivie de %
                    style: {
                        color: Highcharts.getOptions().colors[1]    // leurs couleurs
                    }
                }//,                                                // si on veux paramétrer des limites sur l'axe on dé-commente ces 3 lignes
                 //min: 0,                                          // valeur min de l'axe
                 //max: 100                                         // valeur max de l'axe
            },{                                                     // 3eme axe Y (ordonnées)  
                opposite: false,                                    // à droite
                title: {                                            // On définie le titre de l'axe
                    text: 'Pression Atm',                           // Le nom de l'axe
                    style: {
                        color: Highcharts.getOptions().colors[2]    // sa couleur
                    }
                },
                labels: {                                           // On définie la forme des valeurs le long de l'axe
                    format: '{value} hpa',                          // La valeur suivie de hpa
                    style: {
                        color: Highcharts.getOptions().colors[2]    // leurs couleurs
                    }
                }//,                                                // si on veux paramétrer des limites sur l'axe on dé-commente ces 3 lignes
                 //min: 900,                                        // valeur min de l'axe
                 //max: 1080                                        // valeur max de l'axe
            },{                                                     // 4eme axe Y (ordonnées)  
                opposite: true,                                     // à gauche
                title: {                                            // On définie le titre de l'axe
                    text: 'Pression Eau',                           // Le nom de l'axe
                    style: {
                        color: Highcharts.getOptions().colors[3]    // sa couleur
                    }
                },
                labels: {                                           // On définie la forme des valeurs le long de l'axe
                    format: '{value} bar',                          // La valeur suivie de bar
                    style: {
                        color: Highcharts.getOptions().colors[3]    // leurs couleurs
                    }
                }//,                                                // si on veux paramétrer des limites sur l'axe on dé-commente ces 3 lignes
                 //min: 900,                                        // valeur min de l'axe
                 //max: 1080                                        // valeur max de l'axe
            },{                                                     // 5eme axe Y (ordonnées)  
                opposite: false,                                    // à droite
                title: {                                            // On définie le titre de l'axe
                    text: 'Compteur Eau',                           // Le nom de l'axe
                    style: {
                        color: Highcharts.getOptions().colors[4]    // sa couleur
                    }
                },
                labels: {                                           // On définie la forme des valeurs le long de l'axe
                    format: '{value} ltr',                          // La valeur suivie de ltr
                    style: {
                        color: Highcharts.getOptions().colors[4]    // leurs couleurs
                    }
                }//,                                                // si on veux paramétrer des limites sur l'axe on dé-commente ces 3 lignes
                 //min: 900,                                        // valeur min de l'axe
                 //max: 1080                                        // valeur max de l'axe
            },{                                                     // 6eme axe Y (ordonnées)  
                opposite: true,                                     // à gauche
                title: {                                            // On définie le titre de l'axe
                    text: 'Pluie',                                  // Le nom de l'axe
                    style: {
                        color: Highcharts.getOptions().colors[5]    // sa couleur
                    }
                },
                labels: {                                           // On définie la forme des valeurs le long de l'axe
                    format: '{value} mm',                           // La valeur suivie de mm
                    style: {
                        color: Highcharts.getOptions().colors[5]    // leurs couleurs
                    }
                }//,                                                // si on veux paramétrer des limites sur l'axe on dé-commente ces 3 lignes
                 //min: 900,                                        // valeur min de l'axe
                 //max: 1080                                        // valeur max de l'axe
            },{                                                     // 7eme axe Y (ordonnées)  
                opposite: false,                                    // à droite
                title: {                                            // On définie le titre de l'axe
                    text: 'Vent',                                   // Le nom de l'axe
                    style: {
                        color: Highcharts.getOptions().colors[6]    // sa couleur
                    }
                },
                labels: {                                           // On définie la forme des valeurs le long de l'axe
                    format: '{value} K/h',                          // La valeur suivie de K/h
                    style: {
                        color: Highcharts.getOptions().colors[6]    // leurs couleurs
                    }
                }//,                                                // si on veux paramétrer des limites sur l'axe on dé-commente ces 3 lignes
                 //min: 900,                                        // valeur min de l'axe
                 //max: 1080                                        // valeur max de l'axe
            },{                                                     // 8eme axe Y (ordonnées)  
                opposite: true,                                     // à gauche
                title: {                                            // On définie le titre de l'axe
                    text: 'Secteur',                                // Le nom de l'axe
                    style: {
                        color: Highcharts.getOptions().colors[7]    // sa couleur
                    }
                },
                labels: {                                           // On définie la forme des valeurs le long de l'axe
                    format: '{value)1=ON',                          // La valeur suivie de 1=ON
                    style: {
                        color: Highcharts.getOptions().colors[7]    // leurs couleurs
                    }
                }//,                                                // si on veux paramétrer des limites sur l'axe on dé-commente ces 3 lignes
                 //min: 900,                                        // valeur min de l'axe
                 //max: 1080                                        // valeur max de l'axe
            }],
            tooltip: {                                              // infos bulle au passage de la souris (true = infos des 4 courbes)                   
                shared: true,
            },
            legend: {                                               // la légende ( en haut à droite )
                    layout: 'vertical',
                    align: 'right',
                    verticalAlign: 'top',
                    x: -100,
                    y: -50,
                    floating: true,
                    borderWidth: 0
                },
                                                                    // Les séries (datas pour chaques axes Y)
            series: [{                                              // 1ère série
                name: 'Température Ext',                            // son nom
                type: 'spline',                                     // le type de graphique (line, bar etc...)
                yAxis: 0,                                           // l'axe y correspondant
                marker: {                                           // le type des points de la courbe
                    enabled: false,                                 // ici désactivé par défaut
                    states: {
                        hover: {
                            enabled: true                           // activé si l'on passe la souris au dessus
                        }
                    }
                },
                data: sonde[1].data,                                // les datas : celles du champs 1 récupérées par la fonction sonde (ligne2)
                tooltip: {
                    valueSuffix: ' °C'                              // formate les datas pour l' infos bulle au passage de la souris (ajoute °C après la valeur)
                }
            },{                                                     // 2ème série
                name: 'Humidité Ext',                               // son nom
                type: 'spline',                                     // le type de graphique (line, bar etc...)
                yAxis: 1,                                           // l'axe y correspondant
                marker: {                                           // le type des points de la courbe
                    enabled: false,                                 // ici désactivé par défaut
                    states: {
                        hover: {
                            enabled: true                           // activé si l'on passe la souris au dessus
                        }
                    }
                }, 
                data: sonde[2].data,                                // les datas : celles du champs 2 récupérées par la fonction sonde (ligne2)
                tooltip: {
                    valueSuffix: ' %'                               // formate les datas pour l' infos bulle au passage de la souris (ajoute % après la valeur)
                }
            },{                                                     // 3ème série
                name: 'Pression Atm',                               // son nom
                type: 'spline',                                     // le type de graphique (line, bar etc...)
                yAxis: 2,                                           // l'axe y correspondant
                marker: {                                           // le type des points de la courbe
                    enabled: false,                                 // ici désactivé par défaut
                    states: {
                        hover: {
                            enabled: true                           // activé si l'on passe la souris au dessus
                        }
                    }
                }, 
                data: sonde[3].data,                                // les datas : celles du champs 2 récupérées par la fonction sonde (ligne2)
                tooltip: {
                    valueSuffix: ' bar'                             // formate les datas pour l' infos bulle au passage de la souris (ajoute bar après la valeur)
                }
            },{                                                     // 4ème série
                name: 'Pression Eau',                               // son nom
                type: 'spline',                                     // le type de graphique (line, bar etc...)
                yAxis: 3,                                           // l'axe y correspondant
                marker: {                                           // le type des points de la courbe
                    enabled: false,                                 // ici désactivé par défaut
                    states: {
                        hover: {
                            enabled: true                           // activé si l'on passe la souris au dessus
                        }
                    }
                }, 
                data: sonde[4].data,                                // les datas : celles du champs 2 récupérées par la fonction sonde (ligne2)
                tooltip: {
                    valueSuffix: ' bar'                              // formate les datas pour l' infos bulle au passage de la souris (ajoute bar après la valeur)
                }
            },{                                                     // 5ème série
                name: 'Compteur Eau',                               // son nom
                type: 'spline',                                     // le type de graphique (line, bar etc...)
                yAxis: 4,                                           // l'axe y correspondant
                marker: {                                           // le type des points de la courbe
                    enabled: false,                                 // ici désactivé par défaut
                    states: {
                        hover: {
                            enabled: true                           // activé si l'on passe la souris au dessus
                        }
                    }
                }, 
                data: sonde[5].data,                                // les datas : celles du champs 2 récupérées par la fonction sonde (ligne2)
                tooltip: {
                    valueSuffix: ' ltr'                              // formate les datas pour l' infos bulle au passage de la souris (ajoute mm après la valeur)
                }
            },{                                                     // 6ème série
                name: 'Pluie par heure',                            // son nom
                type: 'spline',                                     // le type de graphique (line, bar etc...)
                yAxis: 5,                                           // l'axe y correspondant
                marker: {                                           // le type des points de la courbe
                    enabled: false,                                 // ici désactivé par défaut
                    states: {
                        hover: {
                            enabled: true                           // activé si l'on passe la souris au dessus
                        }
                    }
                }, 
                data: sonde[6].data,                                // les datas : celles du champs 2 récupérées par la fonction sonde (ligne2)
                tooltip: {
                    valueSuffix: ' mm'                             // formate les datas pour l' infos bulle au passage de la souris (ajoute mm après la valeur)
                }
            },{                                                     // 7ème série
                name: 'Vent Maxi par heure',                              // son nom
                type: 'spline',                                     // le type de graphique (line, bar etc...)
                yAxis: 6,                                           // l'axe y correspondant
                marker: {                                           // le type des points de la courbe
                    enabled: false,                                 // ici désactivé par défaut
                    states: {
                        hover: {
                            enabled: true                           // activé si l'on passe la souris au dessus
                        }
                    }
                }, 
                data: sonde[7].data,                                // les datas : celles du champs 2 récupérées par la fonction sonde (ligne2)
                tooltip: {
                    valueSuffix: ' K/h'                             // formate les datas pour l' infos bulle au passage de la souris (ajoute K/h après la valeur)
                }
            },{                                                     // 8ème série
                name: 'Présence Secteur',                           // son nom
                type: 'spline',                                     // le type de graphique (line, bar etc...)
                yAxis: 7,                                           // l'axe y correspondant
                marker: {                                           // le type des points de la courbe
                    enabled: false,                                 // ici désactivé par défaut
                    states: {
                        hover: {
                            enabled: true                           // activé si l'on passe la souris au dessus
                        }
                    }
                }, 
                data: sonde[8].data,                                // les datas : celles du champs 2 récupérées par la fonction sonde (ligne2)
                tooltip: {
                    valueSuffix: '1/0'                              v// formate les datas pour l' infos bulle au passage de la souris (ajoute 1/0 après la valeur)
                }
            }]
        });
    });
});

petit flag pour Henri alors @hbachetti :slight_smile:

Tu as fait une petite investigation de ta base MySQL avec phpMyAdmin?
Les nouveaux capteurs sont bien visibles dans la base?

Bonjour

C'est pas ça par hasard ?

A+

Ma base Mysql fonctionne et toutes les données sont bien dedans.
En plus, aucune erreur dans le fichier log.
Quand je fait des modifs dans graph.php (pour la mise en forme hightcharts)e tel que changer le titre du graphique, cela n'apparait pas.
Ce qui me fait penser que j'ai du oublier quelque chose mais quoi ?
J'ai recherché sur le RPI s'il subsistait un ancien fichier, mais rien.
Mystère

Non, ce n'est pas
Un WEB server ARDUINO sur Ethernet (avec graphes HighCharts)

Essaie de vider le cache de ton navigateur

OK, Merci ça marche !
Je suis une biille !

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.