INHOUDSOPGAWE:

Skep my eie grafieke vir my IOT -data op 'n framboos -PI: 3 stappe
Skep my eie grafieke vir my IOT -data op 'n framboos -PI: 3 stappe

Video: Skep my eie grafieke vir my IOT -data op 'n framboos -PI: 3 stappe

Video: Skep my eie grafieke vir my IOT -data op 'n framboos -PI: 3 stappe
Video: GRAFFITI AANLYNKUIER MET DANA SNYMAN 2024, Julie
Anonim
Skep my eie grafieke vir my IOT -data op 'n framboos -PI
Skep my eie grafieke vir my IOT -data op 'n framboos -PI

Lees verder as u u eie IOT -grafieke met 7 reëls kode wil kan skep.

Ek wou kaarte skep om data in 'n grafiese formaat van my IOT -sensors op 'n webblad te vertoon. Voorheen het ek hiervoor dienste van derde partye (sommige betaal) en grafiekfunksies van derde partye gebruik vir my databasisstelsel - Mysql, met behulp van 'n programmeertaal wat bekend staan as Php. Ek vind hierdie derdeparty -dienste te moeilik of te duur om te implementeer. Daarom het ek my eie eenvoudige Php -funksie geskryf wat data as skikkings uit 'n tekslêer of databasistabel neem (miskien uit Mysql) en dit as 'n lyngrafiek op 'n webbladsy vertoon. Ek het al die php-kode op github beskikbaar gestel-https://github.com/scanos/php-simple-chart. Ek het ook 'n deel van die kode hier ingesluit - die eerste php -lêer - PhpSimpleChart2.php - bevat die lyngrafiekfunksielêer, die ander, PhpSimpleChart_ex1.php, is 'n voorbeeldlêer wat wys hoe u dit moet gebruik. Ek stel voor dat u ook die github -bladsy besoek om kodeopdaterings te kry.

Ek implementeer dit op my Raspberry Pi. Hier is wat jy nodig het:

1) 'n Paar kennis oor die implementering van 'n webbediener, soos Apache, 'n databasis soos Mysql en PHP. Gesamentlik staan dit bekend as LAMP - Linux, Apache, Mysql en PHP. en daar is baie inligting op die internet oor die implementering daarvan op 'n Raspberry Pi. Daarom sal ek dit nie hier bespreek nie.

2) 'n LAMP Linux -omgewing - weer, soos Raspberry Pi.

3) 'n middel om lêers na u webomgewing op te laai en te skep, dit wil sê die vouers op u Raspberry Pi waar u u program -php -lêers implementeer.

Vervolgens sal ek u wys hoe u u eie Php -lêers kan skep met behulp van die twee php -lêers waarop ek vroeër verwys het.

Stap 1: Die PHP -funksiekode - PhpSimpleChart2.php

Die PHP -funksiekode - PhpSimpleChart2.php
Die PHP -funksiekode - PhpSimpleChart2.php

Hierdie lêer heet PhpSimpleChart2.php - u moet dit van die git -bewaarplek aflaai deur op die aflaai / kloon -knoppie te klik - sien die prent hierbo. Sodra u dit gedoen het, dra die twee php -lêers oor na u webbediener met u standaard FTP -kliënt, of miskien het u 'n samba -aandeel op u Raspberry Pi opgestel, wat u Pi -lêers soos vensters laat lyk.

U hoef nie regtig die kode in hierdie hoof Php -lêer te verander nie - PhpSimpleChart2.php. Dit is 'n eenvoudige skeppingsfunksie vir lyngrafieke vir Php. Basies word 2 skikkings na die funksie oorgedra, sowel as ander argumente, soos die grafiekafmetings. Die 1ste skikking bevat die eerste rou waardes soos temperatuur, ens. Die tweede skikking bevat die gepaardgaande datumwaardes. Die program probeer om die grafiek outomaties te maak, afhangende van die reeks, min, maksimum en skikking elemente. Die gevolglike grafiek kan as 'n gif, png, ens. In 'n MS office -dokument gesny en geplak word. 'N Voorbeeld-g.webp

Sodra u PhpSimpleChart2.php na u webbediener opgelaai het, kan u u eie skrif skryf om dit te gebruik. Dit word op die volgende bladsy getoon.

Stap 2: Skryf u eie program op grond van die voorbeeldprogram

Skryf u eie program op grond van die voorbeeldprogram
Skryf u eie program op grond van die voorbeeldprogram

Ek het 'n voorbeeldprogram, PhpSimpleChart_ex1.php, gewys wat weer in die git -bewaarplek is. Die eerste reël van die kode is om die php -script te noem wat die kaartfunksie bevat -

vereis ("PhpSimpleChart2.php");

In hierdie geval word die lêer PhpSimpleChart2.php in dieselfde gids geplaas as die skrif wat u skryf om dit te noem. Hopelik sal u weet dat die php -lêers die korrekte lees- / skryf -eienskappe 755 moet hê.

Vervolgens moet u u databronne skep en die skikking vul. Hier is die voorbeeldskikkings, een vir data en een vir verwante datums en tye. Dit is duidelik dat daar dieselfde aantal waardes in beide skikkings moet wees.

$ 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");

Gewoonlik lees u hierdie waardes uit 'n databasisnavraag of laai dit uit 'n tekslêer.

Vervolgens moet u die parameters vir u grafiek stel. Dit is redelik reguit vorentoe. U stel eers die titels in en bepaal dan die hoogte en breedte van die grafiek.

$ chart_text = "My toetskaart Julie 2018";

$ y_title = "Temp Deg C";

$ x_skaal = 1000;

$ y_skaal = 400;

U maak dan 'n funksie -oproep soos volg.

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

Ek het die uitvoer van hierdie voorbeeldprogram in die aangehegte prent getoon. Die kaartfunksie probeer outomaties skaal en vermoei van y-as en kaartbeskrywingspunte vermy. Hopelik werk dit vir u. Dit is al wat jy nodig het.

Stap 3: Gevolgtrekking

Ek hoop dat u dit nuttig gevind het. U gebruik moontlik 'n ander metode wat vir u werk, maar hier is in elk geval 'n paar gedagtes;

1) Die meeste IOT -grafiese dienste van derde partye werk as 'n aanlyn diens wat gewoonlik toeganklik is as 'n API.

2) IOT -gebruikers het 'n wye verskeidenheid vaardighede met betrekking tot die implementering van grafiese funksies.

Voordele van my oplossing

a) Kan vanlyn werk

b) Nul koste.

c) Klein voetspoor

Nadele

a) Nie op dieselfde strengheid getoets as groot sagtewarehuise nie.

b) Beperk in funksionaliteit, dit wil sê geen staafdiagramme ens.

Iets om aan te herkou!

Aanbeveel: