Table des matières:

Créer mes propres graphiques pour mes données IOT sur un Raspberry PI : 3 étapes
Créer mes propres graphiques pour mes données IOT sur un Raspberry PI : 3 étapes

Vidéo: Créer mes propres graphiques pour mes données IOT sur un Raspberry PI : 3 étapes

Vidéo: Créer mes propres graphiques pour mes données IOT sur un Raspberry PI : 3 étapes
Vidéo: Internet des Objets-Partie 4:Création d'un Dashboard avec Node-RED, MQTT et Raspberry PI 2024, Novembre
Anonim
Créer mes propres graphiques pour mes données IOT sur un Raspberry PI
Créer mes propres graphiques pour mes données IOT sur un Raspberry PI

Veuillez lire la suite si vous voulez pouvoir créer vos propres graphiques IOT en utilisant 7 lignes de code.

Je voulais créer des graphiques pour afficher les données dans un format graphique à partir de mes capteurs IOT sur une page Web. Auparavant, pour cela, j'avais utilisé des services tiers (certains payants) et des fonctions graphiques tierces pour mon système de base de données - Mysql, en utilisant un langage de programmation connu sous le nom de Php. J'ai trouvé ces services tiers trop difficiles ou trop coûteux à déployer. Par conséquent, j'ai écrit ma propre fonction PHP simple qui prend les données sous forme de tableaux à partir d'un fichier texte ou d'une table de base de données (de Mysql peut-être) et les affiche sous forme de graphique linéaire sur une page Web. J'ai rendu tout le code php disponible sur github - https://github.com/scanos/php-simple-chart. J'ai également inclus une partie du code ici - le premier fichier php - PhpSimpleChart2.php - contient le fichier de fonction de graphique linéaire l'autre, PhpSimpleChart_ex1.php, est un exemple de fichier montrant comment l'utiliser. Je vous suggère également de visiter la page github pour obtenir les mises à jour du code.

Je déploie ceci sur mon Raspberry Pi. Voici ce dont vous avez besoin:

1) Quelques connaissances sur le déploiement d'un serveur Web tel qu'Apache, une base de données telle que Mysql et PHP. Collectivement, ils sont connus sous le nom de LAMP - Linux, Apache, Mysql et PHP. et il existe une énorme quantité d'informations sur le Web concernant leur déploiement sur un Raspberry Pi. Par conséquent, je ne couvrirai pas cela ici.

2) Un environnement LAMP linux - encore une fois, comme Raspberry Pi.

3) Un moyen de télécharger et de créer des fichiers dans votre environnement Web, c'est-à-dire les dossiers de votre Raspberry Pi où vous déployez les fichiers php de votre programme.

Ensuite, je vais vous montrer comment créer vos propres fichiers Php en utilisant les deux fichiers php auxquels j'ai fait allusion plus tôt.

Étape 1: Le code de fonction PHP - PhpSimpleChart2.php

Le code de fonction PHP - PhpSimpleChart2.php
Le code de fonction PHP - PhpSimpleChart2.php

Ce fichier s'appelle PhpSimpleChart2.php - vous devrez le télécharger depuis le dépôt git en cliquant sur le bouton télécharger / cloner - voir l'image ci-dessus. Une fois que vous avez fait cela, transférez les deux fichiers php sur votre serveur Web à l'aide de votre client FTP standard ou peut-être avez-vous configuré un partage samba sur votre Raspberry Pi, ce qui fait que vos dossiers Pi ressemblent à des dossiers Windows.

Vous n'avez pas vraiment besoin de changer le code dans ce fichier Php principal - PhpSimpleChart2.php. Il s'agit d'une simple fonction de création de graphique en courbes pour Php. Fondamentalement, 2 tableaux sont transmis à la fonction ainsi que d'autres arguments tels que les dimensions du graphique. Le 1er tableau contient les premières valeurs brutes telles que la température, etc. Le deuxième tableau contient les valeurs de date associées. Le programme essaie de dimensionner automatiquement le graphique en fonction des éléments range, min, max et array. Le graphique résultant peut être coupé et collé dans des documents MS Office sous forme de gif, png, etc. Un exemple de-g.webp

Une fois que vous avez téléchargé PhpSimpleChart2.php sur votre serveur Web, vous pouvez alors écrire votre propre script pour l'utiliser. Ceci est montré dans la page suivante.

Étape 2: Écriture de votre propre programme basé sur le programme d'exemple

Écrire votre propre programme sur la base du programme d'exemple
Écrire votre propre programme sur la base du programme d'exemple

J'ai montré un exemple de programme, PhpSimpleChart_ex1.php qui se trouve à nouveau dans le référentiel git. La première ligne du code consiste à appeler le script php qui contient la fonction graphique -

require("PhpSimpleChart2.php");

Dans ce cas, le fichier PhpSimpleChart2.php est placé dans le même dossier que le script que vous écrivez pour l'appeler. Espérons que vous saurez que les fichiers php doivent avoir les bonnes propriétés de lecture/écriture 755.

Ensuite, vous devez créer vos sources de données et remplir le tableau. Voici les exemples de tableaux, un pour les données et un pour les dates et heures associées. Évidemment, il doit y avoir le même nombre de valeurs dans les deux tableaux.

$data_array = array("12", "15", "18", "12", "11", "23", "11", "24", "15", "18", "12", " 11", "23", "11", "24");

$date_array = array("12e 14h", "12e 15h", "12e 16h", "12e 17h", "12e 18h", "12e 19h", "12e 20h", "12e 21h", "12e 15h", "12e 16h", "12e 17h", "12e 18h", "12e 19h", "12e 20h", "12e 21h");

En règle générale, vous liriez ces valeurs à partir d'une requête de base de données ou les chargeriez à partir d'un fichier texte.

Ensuite, vous devez définir les paramètres de votre graphique. C'est assez simple. Vous définissez d'abord les titres, puis vous fixez la hauteur et la largeur du graphique.

$chart_text="Ma charte de test juillet 2018";

$y_title="Temp Deg C";

$x_scale=1000;

$y_scale=400;

Vous effectuez ensuite un appel de fonction comme suit.

draw_line_chart($data_array, $date_array, $chart_text, $x_scale, $y_scale, $y_title);

J'ai montré la sortie de cet exemple de programme dans l'image ci-jointe. La fonction de graphique essaie d'effectuer une mise à l'échelle automatique et d'éviter l'encombrement des points de l'axe des y et des descripteurs de graphique. J'espère que cela fonctionne pour vous. C'est tout ce dont vous avez besoin.

Étape 3: Conclusion

J'espère que vous avez trouvé cela utile. Vous utilisez peut-être une autre méthode qui fonctionne pour vous, mais voici quelques réflexions dans tous les cas;

1) La plupart des services graphiques IOT tiers fonctionnent comme un service en ligne accessible généralement en tant qu'API.

2) Les utilisateurs d'IOT disposent d'un large éventail de compétences en matière de déploiement de fonctionnalités graphiques.

AVANTAGES de ma solution

a) Peut fonctionner hors ligne

b) Coût zéro.

c) Faible encombrement

LES INCONVÉNIENTS

a) Non testé avec la même rigueur que les grandes maisons de logiciels.

b) Fonctionnalité limitée, c'est-à-dire pas de graphiques à barres, etc.

Nourriture pour la pensée!

Conseillé: