Kazalo:

Ustvari lastne grafike za podatke IOT na malini PI: 3 koraki
Ustvari lastne grafike za podatke IOT na malini PI: 3 koraki

Video: Ustvari lastne grafike za podatke IOT na malini PI: 3 koraki

Video: Ustvari lastne grafike za podatke IOT na malini PI: 3 koraki
Video: RTX 3090 Ti vs RTX 3060 Ultimate Showdown for Stable Diffusion, ML, AI & Video Rendering Performance 2024, Julij
Anonim
Ustvari lastne grafike za podatke IOT na malini PI
Ustvari lastne grafike za podatke IOT na malini PI

Prosimo, preberite, če želite ustvariti lastne grafikone IOT z uporabo 7 vrstic kode.

Želel sem ustvariti grafikone za prikaz podatkov v grafični obliki iz mojih senzorjev IOT na spletni strani. Prej sem za to uporabljal storitve tretjih oseb (nekatere plačane) in funkcije grafov tretjih oseb za svoj sistem zbirk podatkov - Mysql z uporabo programskega jezika, znanega kot Php. Zdelo se mi je, da so te storitve tretjih oseb pretežke ali predrage za uporabo. Zato sem napisal svojo lastno preprosto funkcijo Php, ki podatke vzame kot matrike iz besedilne datoteke ali tabele zbirke podatkov (morda iz Mysql) in jih prikaže kot linijski graf na spletni strani. Vse kode php sem dal na voljo na githubu-https://github.com/scanos/php-simple-chart. Sem sem vključil tudi nekaj kode - prva datoteka php - PhpSimpleChart2.php - vsebuje datoteko funkcijske vrstice grafa, druga, PhpSimpleChart_ex1.php, pa je primer datoteke, ki prikazuje, kako jo uporabljati. Predlagam, da obiščete tudi stran github, da dobite posodobitve kode.

To uvajam na svojem Raspberry Pi. Tukaj potrebujete:

1) Nekaj znanja o uvajanju spletnega strežnika, kot je Apache, zbirke podatkov, kot sta Mysql in PHP. Skupaj so ti znani kot LAMP - Linux, Apache, Mysql in PHP. in na spletu je ogromno informacij o njihovi uvedbi na Raspberry Pi. Zato tega ne bom obravnaval tukaj.

2) LAMP linux okolje - spet na primer Raspberry Pi.

3) Sredstvo za nalaganje in ustvarjanje datotek v vaše spletno okolje, to je mape na vašem Raspberry Pi, kamor uvajate datoteke programa php.

Nato vam bom pokazal, kako ustvarite lastne datoteke Php z uporabo dveh datotek php, na katere sem že omenil.

1. korak: Funkcijska koda PHP - PhpSimpleChart2.php

Koda funkcije PHP - PhpSimpleChart2.php
Koda funkcije PHP - PhpSimpleChart2.php

Ta datoteka se imenuje PhpSimpleChart2.php - prenesti jo boste morali iz skladišča git s klikom na gumb za prenos / kloniranje - glejte zgornjo sliko. Ko to storite, prenesite dve datoteki php na svoj spletni strežnik s standardnim odjemalcem FTP ali pa ste morda nastavili skupno rabo sambe na svojem Raspberry Pi, zaradi česar so vaše mape Pi videti kot mape Windows.

Kode v tej glavni datoteki Php - PhpSimpleChart2.php - vam ni treba spreminjati. To je preprosta funkcija za ustvarjanje linijskega grafikona za Php. V bistvu se funkciji posredujeta 2 niza in drugi argumenti, na primer dimenzije grafikona. Prvi niz vsebuje prve surove vrednosti, kot so temperatura itd. Drugi niz vsebuje povezane datumske vrednosti. Program poskuša avtomatizirati graf glede na obseg, min, max in elemente matrike. Dobljeni grafikon lahko izrežete in prilepite v pisarniške dokumente MS kot gif,-p.webp

Ko naložite PhpSimpleChart2.php na svoj spletni strežnik, lahko za to uporabite svoj skript. To je prikazano na naslednji strani.

2. korak: Pisanje lastnega programa na podlagi vzorčnega programa

Pisanje lastnega programa na podlagi vzorčnega programa
Pisanje lastnega programa na podlagi vzorčnega programa

Pokazal sem primer programa, PhpSimpleChart_ex1.php, ki je spet v skladišču git. Prva vrstica kode je poklicati skript php, ki vsebuje funkcijo grafikona -

require ("PhpSimpleChart2.php");

V tem primeru je datoteka PhpSimpleChart2.php postavljena v isto mapo kot skript, ki ga pišete, da jo pokličete. Upajmo, da boste vedeli, da morajo imeti datoteke php pravilne lastnosti branja / pisanja 755.

Nato morate ustvariti svoje podatkovne vire in napolniti matriko. Tu so primeri nizov, enega za podatke in enega za povezane datume in ure. Očitno mora biti v obeh matrikah enako število vrednosti.

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

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

Običajno bi te vrednosti prebrali iz poizvedbe v bazi podatkov ali jih naložili iz besedilne datoteke.

Nato morate nastaviti parametre za svoj grafikon. To je precej naravnost. Najprej nastavite naslove, nato pa določite višino in širino grafa.

$ chart_text = "Moj preskusni grafikon julij 2018";

$ y_title = "Temp Deg C";

$ x_scale = 1000;

$ y_scale = 400;

Nato pokličete funkcijo na naslednji način.

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

Izhod tega primera programa sem prikazal na priloženi sliki. Funkcija grafikona poskuša samodejno prilagoditi obseg in se izogniti neredu osi y in deskriptorjev grafikona. Upajmo, da vam bo uspelo. To je vse, kar potrebujete.

3. korak: Zaključek

Upam, da se vam je to zdelo koristno. Morda uporabljate drugo metodo, ki vam ustreza, vendar je v tem primeru nekaj misli;

1) Večina grafičnih storitev IOT tretjih oseb deluje kot spletna storitev, ki je običajno dostopna kot API.

2) Uporabniki IOT imajo široko paleto kompetenc v zvezi z uvajanjem grafičnih funkcij.

ZA mojo rešitev

a) Lahko deluje brez povezave

b) Nič stroškov.

c) Majhen odtis

SLABOSTI

a) Ni testirano na enako strogost kot velike programske hiše.

b) Omejena funkcionalnost, tj. brez stolpcev itd.

Hrana za misli!

Priporočena: