Sadržaj:

Izradite vlastite grafikone za svoje IOT podatke na PI od maline: 3 koraka
Izradite vlastite grafikone za svoje IOT podatke na PI od maline: 3 koraka

Video: Izradite vlastite grafikone za svoje IOT podatke na PI od maline: 3 koraka

Video: Izradite vlastite grafikone za svoje IOT podatke na PI od maline: 3 koraka
Video: 🚀 RUTUBE и ТОЧКА. Разработка РУТУБА за 5 часов *БЕЗ ВОДЫ* [Next / React / Nest / PostgreSQL / Redux] 2024, Studeni
Anonim
Izradite vlastite grafikone za svoje IOT podatke na PI -ju od maline
Izradite vlastite grafikone za svoje IOT podatke na PI -ju od maline

Čitajte dalje ako želite stvoriti vlastite IOT grafikone koristeći 7 redaka koda.

Htio sam stvoriti grafikone za prikaz podataka u grafičkom formatu sa svojih IOT senzora na web stranici. Ranije sam za to koristio usluge trećih strana (neke plaćene) i grafičke funkcije trećih strana za svoj sustav baze podataka - Mysql, koristeći programski jezik poznat kao Php. Smatrao sam da su ove usluge trećih strana preteške ili preskupe za implementaciju. Stoga sam napisao svoju jednostavnu funkciju Php koja uzima podatke kao nizove iz tekstualne datoteke ili tablice baze podataka (možda iz Mysql -a) i prikazuje ih kao linijski grafikon na web stranici. Učinio sam sav php kod dostupnim na githubu-https://github.com/scanos/php-simple-chart. Ovdje sam također uključio dio koda - prva php datoteka - PhpSimpleChart2.php - sadrži datoteku funkcije grafikona linije, druga, PhpSimpleChart_ex1.php, je datoteka primjera koja pokazuje kako se s njom koristi. Predlažem da posjetite i stranicu github kako biste dobili ažuriranja koda.

Ovo postavljam na svoj Raspberry Pi. Evo što vam treba:

1) Nešto znanja o postavljanju web poslužitelja kao što je Apache, baze podataka kao što je Mysql i PHP. Zajedno su poznati kao LAMP - Linux, Apache, Mysql i PHP. a na webu postoji ogromna količina informacija o njihovom postavljanju na Raspberry Pi. Stoga ovo neću pokrivati ovdje.

2) LAMP linux okruženje - opet, poput Raspberry Pi.

3) Sredstvo za prijenos i stvaranje datoteka u vaše web okruženje, tj. Mape na vašem Raspberry Pi u koje postavljate svoje programske php datoteke.

Zatim ću vam pokazati kako stvoriti vlastite Php datoteke koristeći dvije php datoteke na koje sam ranije aludirao.

Korak 1: Funkcijski kod PHP - PhpSimpleChart2.php

Kod funkcije PHP - PhpSimpleChart2.php
Kod funkcije PHP - PhpSimpleChart2.php

Ova datoteka se zove PhpSimpleChart2.php - morat ćete je preuzeti iz git spremišta klikom na gumb za preuzimanje / kloniranje - pogledajte gornju sliku. Nakon što to učinite, prenesite dvije php datoteke na svoj web poslužitelj pomoću svog standardnog FTP klijenta ili ste možda postavili samba dijeljenje na vašem Raspberry Pi -ju zbog čega vaše Pi mape izgledaju kao Windows mape.

Ne morate mijenjati kôd u ovoj glavnoj Php datoteci - PhpSimpleChart2.php. Ovo je jednostavna funkcija stvaranja linijskog grafikona za Php. U osnovi, 2 polja se prosljeđuju funkciji, kao i drugi argumenti, poput dimenzija grafikona. Prvi niz sadrži prve neobrađene vrijednosti, poput temperature itd. Drugi niz sadrži pridružene vrijednosti datuma. Program pokušava automatizirati graf ovisno o rasponu, min, max i elementima polja. Rezultirajući grafikon može se izrezati i zalijepiti u MS office dokumente kao gif,-p.webp

Nakon što ste učitali PhpSimpleChart2.php na svoj web poslužitelj, tada možete napisati vlastitu skriptu da biste je koristili. To je prikazano na sljedećoj stranici.

Korak 2: Pisanje vlastitog programa na temelju Primjera programa

Pisanje vlastitog programa na temelju Primjera programa
Pisanje vlastitog programa na temelju Primjera programa

Prikazao sam primjer programa, PhpSimpleChart_ex1.php koji se opet nalazi u git spremištu. Prvi redak koda je pozvati php skriptu koja sadrži funkciju crtanja -

require ("PhpSimpleChart2.php");

U tom slučaju, datoteka PhpSimpleChart2.php smještena je u istu mapu kao skripta koju pišete da biste je nazvali. Nadajmo se da ćete znati da php datoteke moraju imati ispravna svojstva čitanja / pisanja 755.

Zatim morate stvoriti svoje izvore podataka i popuniti polje. Evo primjera nizova, jedan za podatke, a drugi za pridružene datume i vremena. Očigledno, mora postojati isti broj vrijednosti u oba niza.

$ data_array = niz ("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");

Obično biste te vrijednosti čitali iz upita baze podataka ili ih učitavali iz tekstualne datoteke.

Zatim morate postaviti parametre za svoj grafikon. Prilično je ravno naprijed. Prvo postavite naslove, a zatim popravite visinu i širinu grafikona.

$ chart_text = "Moj testni grafikon srpanj 2018.";

$ y_title = "Temp. stupanj C";

$ x_scale = 1000;

$ y_scale = 400;

Zatim pozivate funkciju na sljedeći način.

crtež_crtice_crt ($ data_array, $ date_array, $ chart_text, $ x_scale, $ y_scale, $ y_title);

Prikazao sam izlaz ovog primjera programa na priloženoj slici. Funkcija grafikona pokušava automatizirati i izbjeći nered na osi y i deskriptorima grafikona. Nadajmo se da vam to uspijeva. To je sve što vam treba.

Korak 3: Zaključak

Nadam se da vam je ovo bilo korisno. Možda koristite drugu metodu koja vam odgovara, ali evo nekoliko misli u svakom slučaju;

1) Većina IOT grafičkih usluga trećih strana radi kao internetska usluga koja je obično dostupna kao API.

2) Korisnici IOT -a imaju širok raspon kompetencija u pogledu implementacije grafičkih funkcija.

ZA moje rješenje

a) Može raditi izvan mreže

b) Nulti trošak.

c) Mali otisak

PROTIV

a) Nije testirano na istu strogost kao velike softverske kuće.

b) Ograničena funkcionalnost, tj. bez trakastih grafikona itd.

Hrana za razmišljanje!

Preporučeni: