Taula de continguts:

Creeu els meus propis gràfics per a les meves dades IOT en un Raspberry PI: 3 passos
Creeu els meus propis gràfics per a les meves dades IOT en un Raspberry PI: 3 passos

Vídeo: Creeu els meus propis gràfics per a les meves dades IOT en un Raspberry PI: 3 passos

Vídeo: Creeu els meus propis gràfics per a les meves dades IOT en un Raspberry PI: 3 passos
Vídeo: Web Programming - Computer Science for Business Leaders 2016 2024, Desembre
Anonim
Creeu els meus propis gràfics per a les meves dades IOT en un Raspberry PI
Creeu els meus propis gràfics per a les meves dades IOT en un Raspberry PI

Seguiu llegint si voleu poder crear els vostres propis gràfics IOT mitjançant 7 línies de codi.

Volia crear gràfics per mostrar les dades en un format gràfic a partir dels meus sensors IOT en una pàgina web. Anteriorment, per a això, havia utilitzat funcions de serveis de tercers (alguns de pagament) i gràfics de tercers per al meu sistema de bases de dades: Mysql, mitjançant un llenguatge de programació conegut com a Php. He trobat que aquests serveis de tercers són massa difícils o massa costosos de desplegar. Per tant, he escrit la meva pròpia funció Php senzilla que pren les dades com a matrius d’un fitxer de text o una taula de base de dades (potser de Mysql) i les mostra com a gràfic lineal en una pàgina web. He fet que tot el codi php estigui disponible a github: https://github.com/scanos/php-simple-chart. També he inclòs alguns dels codis aquí: el primer fitxer php - PhpSimpleChart2.php -conté el fitxer de funció de gràfic de línies; l’altre, PhpSimpleChart_ex1.php, és un fitxer d’exemple que mostra com utilitzar-lo. Us proposo que també visiteu la pàgina de github per obtenir actualitzacions de codi.

Estic implementant això al meu Raspberry Pi. Això és el que necessiteu:

1) Alguns coneixements sobre el desplegament d’un servidor web com ara Apache, una base de dades com Mysql i PHP. Col·lectivament, es coneixen com LAMP: Linux, Apache, Mysql i PHP. i hi ha una gran quantitat d’informació al web pel que fa al desplegament d’aquests en un Raspberry Pi. Per tant, no tractaré això aquí.

2) Un entorn Linux LAMP, de nou, com ara Raspberry Pi.

3) Un mitjà per carregar i crear fitxers al vostre entorn web, és a dir, les carpetes del vostre Raspberry Pi on desplegueu els fitxers php del programa.

A continuació, us mostraré com crear els vostres propis fitxers Php mitjançant els dos fitxers php als quals he al·ludit anteriorment.

Pas 1: el codi de la funció PHP: PhpSimpleChart2.php

El codi de la funció PHP: PhpSimpleChart2.php
El codi de la funció PHP: PhpSimpleChart2.php

Aquest fitxer s’anomena PhpSimpleChart2.php: l’haureu de descarregar des del dipòsit git fent clic al botó de descàrrega / clonació. Vegeu la imatge superior. Un cop fet això, transfereu els dos fitxers php al vostre servidor web mitjançant el vostre client FTP estàndard o potser heu configurat un recurs compartit de samba al vostre Raspberry Pi que fa que les vostres carpetes Pi semblin carpetes de Windows..

Realment no cal canviar el codi d’aquest fitxer principal de Php: PhpSimpleChart2.php. Aquesta és una funció de creació de gràfics de línies senzilla per a PHP. Bàsicament, es passen 2 matrius a la funció, així com altres arguments, com ara les dimensions del gràfic. La primera matriu conté els primers valors en brut, com ara la temperatura, etc. La segona matriu conté els valors de data associats. El programa intenta redimensionar automàticament el gràfic en funció de l'interval, el mínim, el màxim i els elements de la matriu. El gràfic resultant es pot tallar i enganxar als documents de MS Office com a gif, png, etc. Aquí es mostra un exemple de gif.

Un cop hàgiu carregat PhpSimpleChart2.php al vostre servidor web, podeu escriure el vostre propi script per utilitzar-lo. Això es mostra a la pàgina següent.

Pas 2: escriure el vostre propi programa basat en l'exemple de programa

Redacció del vostre propi programa basat en l'exemple de programa
Redacció del vostre propi programa basat en l'exemple de programa

He mostrat un exemple de programa, PhpSimpleChart_ex1.php, que de nou es troba al repositori de git. La primera línia del codi consisteix a trucar a l'script php que conté la funció de gràfics:

require ("PhpSimpleChart2.php");

En aquest cas, el fitxer PhpSimpleChart2.php es col·loca a la mateixa carpeta que l'script que esteu escrivint per anomenar-lo. Amb sort, sabreu que els fitxers php han de tenir les propietats de lectura / escriptura 755 correctes.

A continuació, heu de crear les fonts de dades i emplenar la matriu. A continuació es mostren les matrius d’exemple, una per a dades i una per a dates i hores associades. Viouslybviament, hi ha d’haver el mateix nombre de valors en ambdues matrius.

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

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

Normalment, llegiu aquests valors des d’una consulta de base de dades o els carregueu des d’un fitxer de text.

A continuació, heu d’establir els paràmetres del vostre gràfic. És força senzill. Primer definiu els títols i, a continuació, fixeu l’alçada i l’amplada del gràfic.

$ chart_text = "El meu gràfic de prova juliol de 2018";

$ y_title = "Temp C Deg";

$ x_scale = 1000;

$ y_scale = 400;

A continuació, feu una trucada de funció de la següent manera.

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

He mostrat la sortida d’aquest programa d’exemple a la imatge adjunta. La funció de gràfics intenta escalar automàticament i evitar el desordre de l'eix y i els punts del descriptor de gràfics. Amb sort, us funciona. Això és tot el que necessites.

Pas 3: Conclusió

Espero que us sigui útil. És possible que utilitzeu un altre mètode que us funcioni, però aquí teniu algunes idees;

1) La majoria dels serveis de gràfics IOT de tercers funcionen com un servei en línia al qual es pot accedir normalment com a API.

2) Els usuaris d’IOT tenen una àmplia gamma de competències pel que fa al desplegament de la funcionalitat gràfica.

PROS de la meva solució

a) Pot funcionar fora de línia

b) Cost zero.

c) Petita petjada

CONTRES

a) No s'ha provat amb el mateix rigor que les grans cases de programari.

b) Funcionalitat limitada, és a dir, sense gràfics de barres, etc.

Aliment per al pensament!

Recomanat: