Innholdsfortegnelse:

Lag mine egne grafer for mine IOT -data på en bringebær -PI: 3 trinn
Lag mine egne grafer for mine IOT -data på en bringebær -PI: 3 trinn

Video: Lag mine egne grafer for mine IOT -data på en bringebær -PI: 3 trinn

Video: Lag mine egne grafer for mine IOT -data på en bringebær -PI: 3 trinn
Video: Lady Gaga - Poker Face (Official Music Video) 2024, Juli
Anonim
Lag mine egne grafer for IOT -dataene mine på et bringebær -PI
Lag mine egne grafer for IOT -dataene mine på et bringebær -PI

Vennligst les videre hvis du vil kunne lage dine egne IOT -grafer ved hjelp av 7 kodelinjer.

Jeg ønsket å lage diagrammer for å vise data i et grafisk format fra IOT -sensorene mine på en webside. Tidligere, for dette, hadde jeg brukt tredjeparts tjenester (noen betalte) og tredjeparts graffunksjoner for mitt databasesystem - Mysql, ved å bruke et programmeringsspråk kjent som Php. Jeg syntes disse tredjepartstjenestene var for vanskelige eller for dyre å distribuere. Derfor har jeg skrevet min egen enkle Php -funksjon som tar data som matriser fra en tekstfil eller databasetabell (fra Mysql kanskje) og viser dem som en linjediagram på en webside. Jeg har gjort all php-koden tilgjengelig på github-https://github.com/scanos/php-simple-chart. Jeg har også tatt med en del av koden her - den første php -filen - PhpSimpleChart2.php - inneholder linjediagramfunksjonsfilen, den andre, PhpSimpleChart_ex1.php, er en eksempelfil som viser hvordan den skal brukes. Jeg foreslår at du også besøker github -siden for å få kodeoppdateringer.

Jeg distribuerer dette på Raspberry Pi. Her er hva du trenger:

1) Litt kunnskap om distribusjon av en webserver som Apache, en database som Mysql og PHP. Samlet er disse kjent som LAMP - Linux, Apache, Mysql og PHP. og det er en enorm mengde informasjon på nettet om distribusjon av disse på en Raspberry Pi. Derfor vil jeg ikke dekke dette her.

2) Et LAMP linux -miljø - igjen, for eksempel Raspberry Pi.

3) Et middel for å laste opp og opprette filer til nettmiljøet ditt, dvs. mappene på Raspberry Pi der du distribuerer programmets php -filer.

Deretter vil jeg vise deg hvordan du lager dine egne Php -filer ved hjelp av de to php -filene som jeg hentydet til tidligere.

Trinn 1: PHP -funksjonskoden - PhpSimpleChart2.php

PHP -funksjonskoden - PhpSimpleChart2.php
PHP -funksjonskoden - PhpSimpleChart2.php

Denne filen kalles PhpSimpleChart2.php - du må laste den ned fra git -depotet ved å klikke på nedlasting / klon -knappen - se bildet ovenfor. Når du har gjort det, overfører du de to php -filene til webserveren din med din vanlige FTP -klient, eller kanskje har du konfigurert en samba -deling på Raspberry Pi som får Pi -mappene dine til å ligne Windows -mapper.

Du trenger egentlig ikke å endre koden i denne hoved Php -filen - PhpSimpleChart2.php. Dette er en enkel linjediagramopprettingsfunksjon for Php. I utgangspunktet sendes 2 matriser til funksjonen i tillegg til andre argumenter, for eksempel diagrammet. Den første matrisen inneholder de første råverdiene som temperatur osv. Den andre matrisen inneholder de tilhørende datoverdiene. Programmet prøver å autosere grafen avhengig av rekkevidde, min, maks og matriseelementer. Det resulterende diagrammet kan klippes og limes inn i MS office -dokumenter som en gif,-p.webp

Når du har lastet opp PhpSimpleChart2.php til webserveren din, kan du skrive ditt eget skript for å bruke dette. Dette vises på neste side.

Trinn 2: Skrive ditt eget program basert på eksempelprogrammet

Skrive ditt eget program basert på eksempelprogrammet
Skrive ditt eget program basert på eksempelprogrammet

Jeg har vist et eksempelprogram, PhpSimpleChart_ex1.php som igjen er i git -depotet. Den første linjen i koden er å kalle php -skriptet som inneholder kartfunksjonen -

krever ("PhpSimpleChart2.php");

I dette tilfellet plasseres filen PhpSimpleChart2.php i samme mappe som skriptet du skriver for å kalle den. Forhåpentligvis vil du vite at php -filene må ha de riktige lese- / skriveegenskapene 755.

Deretter må du opprette datakilder og fylle ut matrisen. Her er eksempelarrayene, en for data og en for tilhørende datoer og klokkeslett. Tydeligvis må det være samme antall verdier i begge matriser.

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

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

Vanligvis vil du lese disse verdiene fra en databasespørring eller laste dem fra en tekstfil.

Deretter må du angi parametrene for diagrammet ditt. Det er ganske rett frem. Du angir først titlene og deretter fikser du høyden og bredden på grafen.

$ chart_text = "Mitt testdiagram juli 2018";

$ y_title = "Temp Deg C";

$ x_scale = 1000;

$ y_scale = 400;

Du foretar deretter et funksjonsanrop som følger.

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

Jeg har vist utgangen fra dette eksempelprogrammet i det vedlagte bildet. Kartfunksjonen prøver å autoskala og unngå rot av y-akser og kartbeskrivelsespunkter. Forhåpentligvis fungerer det for deg. Det er alt du trenger.

Trinn 3: Konklusjon

Jeg håper du synes dette var nyttig. Du bruker kanskje en annen metode som fungerer for deg, men her er noen tanker uansett;

1) De fleste tredjeparts IOT -graftjenester fungerer som en online -tjeneste som vanligvis er tilgjengelig som et API.

2) IOT -brukere har et stort spekter av kompetanser når det gjelder implementering av graffunksjonalitet.

PROS av løsningen min

a) Kan fungere frakoblet

b) Null kostnad.

c) Lite fotavtrykk

ULEMPER

a) Ikke testet til samme strenghet som store programvarehus.

b) Begrenset i funksjonalitet, dvs. ingen stolpediagrammer etc.

Noe å tenke på!

Anbefalt: