Asjade Internetiga ühendatud andurite olekugraafikud

Asjade Internetiga ühendatud andurite olekugraafikud

Asjade Internetiga ühendatud andurite olekugraafikud

Andurivõrgu asjade internetiga ühendamise üheks eeliseks on võimalus analüüsida saadud andmeid. Seda teavet graafiliselt kujutades saab inimene (erinevalt programmist) intuitiivsemalt aru jälgitavate suuruste tähendusest, näiteks neid omavahel võrreldes või nende arengut ajas jälgides.

Sisukord

    See artikkel alustab neljast osast koosnevat seeriat, mis selgitab lihtsat ettepanekut asjade Internetiga ühendatud andurite abil saadud andmete graafiliseks esitamiseks. Sama filosoofiaga nagu teistes artiklites, on pakutud meetod täiesti toimiv, kuigi peamine eesmärk on didaktiline. Avalikkuse tehnilise profiilina, kellele ajaveebi polaridad.esja see tekst käsitleb elektroonikat, mitte veebiarendust, kõik jaotised on sissejuhatuseks kasutatavatesse keeltesse või tehnoloogiasse: HTML, CSS, SVG y JavaScript.

    Asjade Interneti (IoT) konteineriga ühendatud andurite andmegraafikud HTML-isAsjade Internetiga (IoT) ühendatud andurite andmete graafikud CSS-is ilmumise määratlusAndmegraafikud asjade Internetiga (IoT) ühendatud anduritelt joonistades SVG-gaAndmegraafikud asjade Internetiga (IoT) ühendatud anduritelt Genereerimine ja muutmine JavaScriptiga

    Eelmise sarja artiklid teemal kuidas salvestada asjade Internetiga (IoT) ühendatud seadmete abil saadud andmeid Need lõppesid andmekogudesse salvestatud teabele juurdepääsu selgitamisega. Seeria näidetes kasutati protsessi lihtsustamiseks vahendajana veebiserverit, mis vastutas HTTP-protokolli POST päringute kaudu andmete vastuvõtmise, andmebaasi salvestamise ja veebilehel kuvamise eest.

    IoT veebiserverHTTP POST IoT veebiserverMySQL andmebaas. IoT veebiserverPHP keele IoT veebiserver

    Kuigi selle süsteemi peamiseks puuduseks on jõudlus (mida saab leevendada alternatiividega nagu Node.js ja MongoDB, mida selgitatakse tulevastes artiklites), annab see vastutasuks kaks suurt eelist: selle rakendamine on väga lihtne (sealhulgas kättesaadavus teenuste avalik) ja suudab kuvada andmeid brauseris, see tähendab, et see ei vaja spetsiaalseid rakendusi (nt mobiilseadme rakendust), et esitada salvestatud teave, mis kajastaks Interneti-ühendusega seadmete ajaloolist olekut. Asjad.

    Selles artiklis selgitatakse, kuidas seda teavet vormingus graafiliselt kuvada, kasutades ära selle eelise, et veebilehel on lihtne esitada sellesse süsteemi salvestatud teavet asjade Internetiga ühendatud seadmete oleku kohta. SVG pärit JavaScript veebilehe dünaamiliseks genereerimiseks HTML.

    Raamatupoode on palju JavaScript millega lahendada andmete graafiline esitus. Need artiklid ei kavatse arendada teist; Selle teksti eesmärk on mõista protsessi ja olla võimeline välja töötama oma teostusi; nii didaktiline kui ka produktiivne eesmärk. Kui olete huvitatud toote kasutamisest, mitte selle ise arendamisest, soovitan teil vaadata mõnda suurepärast teeki graafika loomiseks. JavaScript tasuta litsentsidega nagu Charts.js, Edetabelid, Google'i diagrammitööriistad, Ajastu, Raphael, skeem (põhineb Raphael), dc.js, Chartist.js, D3.js (minu soovitus), C3.js (põhineb D3.js), NVD3 (korduvkasutatav graafika jaoks D3.js) ...

    HTML-dokumendi struktuur SVG-graafikaga

    Selle artikli ettepanekus andurite andmete graafiliseks esitamiseks koosneb veebileht, millel need kuvatakse:

    • konteinerina kasutatav dokument on sisse kirjutatud HTML,
    • lehe välimus määratakse koodiga CSS,
    • graafiku joonistamine toimub keele abil SVG y
    • Andmete lugemine serverist ja graafikute kuvamine on sisse programmeeritud JavaScript

    Asjade Interneti (IoT) andmete esitusskeem JavaScriptiga HTML-i veebilehel JavaScriptiga

    Kõik elemendid, eriti kood HTML lehe, saab serveris PHP-ga genereerida, nagu on selgitatud lehe artiklis PHP programmeerimiskeel sarjast umbes andmete salvestamine asjade Internetiga ühendatud seadmetest.

    Kood CSS y JavaScript saab laadida (importida) koodina HTML selle asemel, et kirjutada otse dokumendi osana HTML. Selle eeliseks on võimalus samu dokumente mitmel lehel uuesti kasutada ja neid mugavamalt redigeerida; kuid võib-olla tekitab laadimine veidi kauem aega, olenevalt sellest, kas saate kasutada vahemälus sisalduvat koodi (laetud eelneval kasutamisel) või isegi CDN. Tootmisfaasis on triviaalne integreerida kogu PHP-st pärit kood, genereerides sisse ühe dokumendi HTML koos kogu teabega, kui valite selle alternatiivi. Selguse huvides leitakse kogu selle artiklisarja jooksul, et töötame eraldi dokumentidega.

    Meid huvitavatel eesmärkidel kasutada seda graafikakonteinerina ja väga umbkaudu dokumendi struktuuri esimese taseme sisu HTML oleks:

    Esimene rida näitab veebibrauserile, et loetav dokument on sisse kirjutatud HTML, täpsemalt versioonis 5 (tuntud kui HTML5). Eelmised versioonid HTML, põhineb SGML (Standardne üldistatud märgistuskeel), sisaldas dokumendi tüübi määratlust (DTD), milles deklareeriti dokumendi kirjeldamiseks kasutatud reeglite tüüp.

    Teine ja viimane rida sisaldavad koodi HTML direktiivide hulgas <html> y </html> mis toimivad vastavalt avamise ja sulgemisena. Direktiivid HTML Nad lisavad nime ja atribuudid märkide "vähem kui" ja "suurem kui" vahele, moodustades omamoodi "ägeda sulgude" märgid. Elemendid HTML kaasasoleval sisul on sulgemiskäskkiri, mis sisaldab nime ees kaldkriipsu nagu ka </html>.

    Elementide omadused või atribuudid eraldatakse nimest ja üksteisest tühikutega ning neid väljendatakse lihttekstina või sagedamini tekstina (omaduse nimi), millele järgneb võrdusmärk ja väärtus jutumärkides. Koodiavamise käskkirja puhul HTML vara on kasutatud lang julgusega es, lang="es" näidata, et dokumendi tekst HTML kasutab hispaania keelt.

    Pärast HTML-koodi avamiskäsku on lisatud kommentaar. Kommentaarid sisse HTML Need võivad hõivata mitu rida ja kasutada koodi avamärgina <!-- ja lõpetuseks -->

    Kood HTML See koosneb kahest plokist: päisest <head> ja keha <body>. Esimene eesmärk on teavitada dokumendist endast, sealhulgas teavet selle kohta (meta-informatsioon) ja teise eesmärk on toetada dokumendi sisu.

    Käskkirjas <body> sündmus on lisatud onload millega funktsiooni automaatselt täita JavaScript kui sisu on laaditud. See ressurss võimaldab teil käivitada koodi täitmine, mis määratleb graafilised objektid ja värskendab neid, kui serverist laaditakse teavet graafikat esindavate andurite oleku kohta.

    Kogu metainfost, mida saab dokumendi päisesse lisada HTML, oleme eriti huvitatud sellest, mida kirjeldavad järgmised direktiivid:

    • <title> mis annab dokumendile pealkirja. Tavaliselt kuvatakse see brauseriaknas või vastaval vahekaardil ja aitab meil tuvastada selles sisalduvat graafikat.
    • <charset> deklareerib dokumendi kodeerimiseks kasutatud märgistiku. See on eriti oluline "eriliste" märkide puhul, nagu eñes või aktsendid.
    • <link> võimaldab luua seose dokumendi vahel HTML praegused ja muud välised. See aitab meil laaditabeli vormingus laadida CSS koos dokumendi välimusega.
    • <script> sisaldab käivitatava koodiga skripti. Selle direktiivi abil laadime funktsioonid JavaScript millega graafikat genereerida või muuta SVG.

    Nagu on näha näites HTML ülal dokumendi nimi (ja tee, kui see on kohaldatav) koos stiiliga CSS tähistatakse atribuudiga href, samas kui koodi puhul JavaScript seda kasutatakse src. Mõlemad aktsiad type julgusega text/css y text/javascript vastavalt.

    Dokumendi sisu osas elemendile vastav osa <body>, HTML5 See võimaldab teil luua konkreetseid struktuure veebilehe kõige sagedasemate komponentide jaoks, nagu jalus, külgmine osa või navigeerimisriba, kuid meile pakub huvi dokumendi kasutamine graafikakonteinerina. SVG on elemendid <div> mis toimivad sõltumatute plokkidena, mis võimaldavad määratleda hierarhilise struktuuri, pesastades mõnda <div> teiste sees.

    Eelmises näites kasutatakse elementi <div> mis sisaldab veel kahte. See näide tutvustab kahte väga olulist atribuuti koodi kasutamiseks. HTML: id mida kasutatakse elemendile kordumatu tunnuse määramiseks HTML ( <div>, antud juhul) ja class millega sellele määratakse kategooria, mille abil me välimust määrame. Kategooria, klass, ei pea olema ainulaadne, tegelikult seisneb suur osa selle tõhususest mitmes elemendis, millel on sama aspekt.

    Element (või silt) <p> kasutatakse lõigu määratlemiseks, mis tavaliselt sisaldab teksti (kuigi sees HTML selles osas piiranguid ei ole). Rühmitamiseks lõigu sees (või a <div>, pole ka piiranguid) kasutatakse silti <span>. Selle elemendiga on võimalik näiteks lisada teksti lõiku, et anda sellele erinev välimus, näiteks allakriipsutatud või paksus kirjas.

    Graafiliste omaduste määratlus ja üldiselt elemendiga seotud käitumine HTML Klassi omistamine toimub koodis CSS; dokumendi eelmise näite puhul aspecto.css.

    Karakteristikute määramise optimeerimiseks CSS võimalik, et sama element HTML kuulub mitmesse klassi ja seega on neil nende poolt määratletud välimus või käitumine. Selle ülesande tegemiseks kirjutage erinevate klasside nimed, eraldades need komadega atribuudi paremale küljele. class

    Eelmises näites element <div> mis on tuvastatud kui primer_hijo Kolm klassi on määratud: aspecto_de_hijo, aspecto_raro y tipografia_grande, mis peaksid koos määratlema elemendi välimuse ja käitumise. Nagu on selgitatud järgmises artiklis IoT anduri graafika veebiilme määratlemine CSS-iga, kui kasutate mitut klassi, kui mõni aspekti defineeriv atribuut on mõlemas määratletud, domineerib viimane, millele viidatakse.

    Nagu näha, elemendid <div> Need võivad sisaldada muid elemente, sealhulgas muid <div>. Lihtsam juhtum oleks <div> mis sisaldas teksti. Välimus, mis määrab stiili CSS mõjutaks ka elemendis sisalduvat teksti.

    Karakteristikute määramise optimeerimiseks CSS võimalik, et sama element HTML kuulub mitmesse klassi ja seega on neil nende poolt määratletud välimus või käitumine. Selle ülesande tegemiseks kirjutage erinevate klasside nimed, eraldades need komadega atribuudi paremale küljele. class

    Eelmises näites olid kolm klassiga seotud <div> primer_hijo Need määraksid elemendi välimuse ja seda sisaldava teksti, näiteks muutes fondi, milles see on kirjutatud, suureks (kui selle nimega viimases klassis märgitud eesmärk on tõsi)

    Alates versioonist 5 (HTML5) on võimalik graafikakood vormingusse lisada SVG koodi enda sees HTML veel ühe elemendina. Koodi seisukohalt HTML, sisu SVG see on element <svg> mis sisaldab erinevaid graafilisi elemente (jooned, ringid, ristkülikud...

    Kuigi on öeldud, et elementide graafilised omadused HTML on määratletud stiilis CSS ja on sellega seotud klassi kaudu, on võimalik ka osa neist kahel viisil otse elementidele määrata. Ühest küljest saab kinnisvara kasutada style ja määrake selle väärtuseks objekti erinevad graafilised omadused. Loogiliselt on eelistatav kasutada eelmainitud klassile aspekti määramise tehnikat, kuid selle võimalusega saab lisada elemendile väikese paranduse (väga konkreetne erand), ilma et peaks uut klassi looma.

    Teisest küljest mõned elemendid HTML Need võimaldavad teil kasutada spetsiifilisi omadusi, mis määravad nende välimuse. Üldiselt, isegi kui need omadused on olemas, on eelistatav kasutada klasse, kuid kahjuks ei paku kõik elemendid seda alternatiivi, mõned eeldavad, et seotud klassile viitamise asemel näidatakse teatud väärtust otse nende spetsiifiliste omadustega. Üks seda tüüpi käitumise elemente on täpselt kood SVG, millele peame atribuutides määrama laiuse ja kõrguse protsendiväärtuse width y height, vastavalt klassi asemel.

    Nagu on üksikasjalikumalt näha artikkel, mis räägib SVG-koodist, pakutud lihtsa meetodi kasutamiseks on soovitatav graafiku mõõtmeid käsitleda protsentides. Objekti kogusuuruse puhul, märkides laiuse ja kõrguse väärtuses 100%, määrab konteineri lõplikud mõõtmed ( <div> koos id="dibujo", eelmises näites)

    Graafiku erinevate komponentide puhul SVG (jooned, ringid, ristkülikud...) sisalduvad alas, mille mõõtmed on 100 × 100 (ükskõik milline ühik) ja laienevad ristkülikukujuliselt ilma proportsiooni säilitamata. Omadused viewBox y preserveAspectRatio elemendi SVG Nad vastutavad nende väärtuste kehtestamise eest. esimesel juhul ristkülikukujulise vaatega, mis läheb koordinaatpunktist (0,0) koordinaatpunkti (100,100) ja mida väljendatakse kui "0 0 100 100" ja teises väärtusega none.

    Kõigi ülalnimetatutega saate nüüd määratleda täieliku koodi, mis toimiks graafikakonteinerina. SVG loodud või muudetud JavaScript. Allolev näide sisaldab nelja vormingut kasutavat graafikaplokki HTML esindusettepanekust, mida kavatseme kasutada.

    Allpool on näha, kuidas eelmine kood stiiliga vormindatuna välja näeks CSS vastav, koos genereerimine JavaScript graafika SVG IoT-ga ühendatud andurite salvestatud andmete serveri lugemistega. Välja arvatud see, et andmeid ei laadita serverist, vaid need genereeritakse juhuslikult kliendis (teie brauseris), kasutatakse ülejäänud koodi selles artiklite sarjas määratletud ettepanekus.

    Selle sarja järgmine artikkel selgitab kuidas defineerida CSS-stiile et anda välimus HTML-koodile, mis toimib graafika konteinerina SVG millega näidata asjade internetti (IoT) ühendatud andurite olekut.

    1 kommentaar

    kommentaaride kasutaja
    kasiino

    ??

    Postita kommentaar

    Võib-olla jäite vahele