Cuprins:

Creați propriile grafice pentru datele mele IOT pe un Raspberry PI: 3 pași
Creați propriile grafice pentru datele mele IOT pe un Raspberry PI: 3 pași

Video: Creați propriile grafice pentru datele mele IOT pe un Raspberry PI: 3 pași

Video: Creați propriile grafice pentru datele mele IOT pe un Raspberry PI: 3 pași
Video: Raspberry Pi Pico for Robotics 2024, Iulie
Anonim
Creați propriile mele grafice pentru datele mele IOT pe un Raspberry PI
Creați propriile mele grafice pentru datele mele IOT pe un Raspberry PI

Vă rugăm să citiți mai departe dacă doriți să puteți crea propriile grafice IOT folosind 7 linii de cod.

Am vrut să creez diagrame pentru a afișa date într-un format grafic de la senzorii IOT pe o pagină web. Anterior, pentru asta, am folosit servicii terțe (unele plătite) și funcții grafice terțe părți pentru sistemul meu de baze de date - Mysql, folosind un limbaj de programare cunoscut sub numele de Php. Am găsit aceste servicii terță parte prea dificile sau prea costisitoare pentru a fi implementate. Prin urmare, am scris propria mea funcție Php simplă, care ia date ca tablouri dintr-un fișier text sau dintr-un tabel de baze de date (probabil din Mysql) și le afișează ca un grafic liniar pe o pagină web. Am pus la dispoziție tot codul php pe github - https://github.com/scanos/php-simple-chart. De asemenea, am inclus unele dintre coduri aici - primul fișier php - PhpSimpleChart2.php - conține fișierul funcției grafic linie, celălalt, PhpSimpleChart_ex1.php, este un exemplu de fișier care arată cum să îl folosiți. Vă sugerez să vizitați și pagina github pentru a primi actualizări de cod.

Îl implementez pe Raspberry Pi. Iată de ce aveți nevoie:

1) Câteva cunoștințe despre implementarea unui server web, cum ar fi Apache, o bază de date precum Mysql și PHP. În mod colectiv, acestea sunt cunoscute sub numele de LAMP - Linux, Apache, Mysql și PHP. și există o cantitate imensă de informații pe web cu privire la implementarea acestora pe un Raspberry Pi. Prin urmare, nu voi acoperi acest lucru aici.

2) Un mediu Linux LAMP - din nou, cum ar fi Raspberry Pi.

3) Un mijloc de a încărca și crea fișiere în mediul dvs. web, adică folderele de pe Raspberry Pi în care implementați fișierele php ale programului.

În continuare, vă voi arăta cum să creați propriile fișiere Php folosind cele două fișiere php la care am făcut aluzie mai devreme.

Pasul 1: Codul funcției PHP - PhpSimpleChart2.php

Codul funcției PHP - PhpSimpleChart2.php
Codul funcției PHP - PhpSimpleChart2.php

Acest fișier se numește PhpSimpleChart2.php - va trebui să îl descărcați din depozitul git făcând clic pe butonul de descărcare / clonare - vedeți imaginea de mai sus. După ce ați făcut acest lucru, transferați cele două fișiere php pe serverul dvs. web utilizând clientul FTP standard sau poate ați configurat o partajare samba pe Raspberry Pi, ceea ce face ca folderele dvs. Pi să arate ca folderele Windows.

Nu trebuie să schimbați codul în acest fișier principal Php - PhpSimpleChart2.php. Aceasta este o funcție simplă de creare a diagramei liniare pentru Php. Practic, 2 matrice sunt transmise funcției, precum și alte argumente, cum ar fi dimensiunile grafice. Prima matrice conține primele valori brute, cum ar fi temperatura etc. A doua matrice conține valorile date asociate. Programul încearcă să autodimensioneze graficul în funcție de interval, min, max și elemente matrice. Diagrama rezultată poate fi tăiată și lipită în documentele MS Office ca gif,-p.webp

După ce ați încărcat PhpSimpleChart2.php pe serverul dvs. web, puteți scrie propriul script pentru a utiliza acest lucru. Acest lucru este afișat în pagina următoare.

Pasul 2: Scrierea propriului program pe baza programului de exemplu

Scrierea propriului program pe baza programului de exemplu
Scrierea propriului program pe baza programului de exemplu

Am arătat un exemplu de program, PhpSimpleChart_ex1.php care este din nou în depozitul git. Prima linie a codului este să apelați scriptul php care conține funcția de diagramă -

require ("PhpSimpleChart2.php");

În acest caz, fișierul PhpSimpleChart2.php este plasat în același folder cu scriptul pe care îl scrieți pentru a-l apela. Sperăm că veți ști că fișierele php trebuie să aibă proprietățile de citire / scriere 755 corecte.

Apoi, trebuie să vă creați sursele de date și să completați matricea. Iată matricile de exemplu, una pentru date și una pentru datele și orele asociate. Evident, trebuie să existe același număr de valori în ambele tablouri.

$ 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", "12a 16h", "12a 17h", "12a 18h", "12a 19h", "12a 20h", "12a 21h", "12a 15h", "12a 16h", "12a 17h", "12a 18h", "12a 19h", "12a 20h", "12a 21h");

De obicei, ați citi aceste valori dintr-o interogare a bazei de date sau le-ați încărca dintr-un fișier text.

Apoi, trebuie să setați parametrii pentru graficul dvs. Este destul de direct. Setați mai întâi titlurile și apoi fixați înălțimea și lățimea graficului.

$ chart_text = "Diagrama mea de testare iulie 2018";

$ y_title = "Temp Deg C";

$ x_scale = 1000;

$ y_scale = 400;

Apoi efectuați un apel funcțional după cum urmează.

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

Am arătat ieșirea acestui exemplu de program în imaginea atașată. Funcția grafică încearcă să ajusteze automat și să evite aglomerația axei y și a punctelor descriptorului graficului. Sperăm că funcționează pentru tine. Asta e tot ce ai nevoie.

Pasul 3: Concluzie

Sper că ți s-a părut util acest lucru. Este posibil să utilizați o altă metodă care funcționează pentru dvs., dar iată câteva gânduri în orice caz;

1) Majoritatea serviciilor de graficare IOT de la terțe părți funcționează ca un serviciu online accesibil, de obicei, ca API.

2) Utilizatorii IOT au o gamă largă de competențe în ceea ce privește implementarea funcționalității grafice.

PROS al soluției mele

a) Poate funcționa offline

b) Cost zero.

c) Amprentă mică

CONTRA

a) Nu a fost testat la aceeași rigoare ca și marile case de software.

b) Funcționalitate limitată, adică fără diagrame etc.

Hrana pentru minte!

Recomandat: