Esineiden Internetiin IoT:hen yhdistettyjen antureiden tilakaaviot

Esineiden Internetiin IoT:hen yhdistettyjen antureiden tilakaaviot

Esineiden Internetiin IoT:hen yhdistettyjen antureiden tilakaaviot

Yksi anturiverkon liittämisen eduista esineiden Internetiin on kyky analysoida saatuja tietoja. Esittämällä nämä tiedot graafisesti, ihminen (toisin kuin ohjelma) voi intuitiivisemmin ymmärtää tarkkailtavien suureiden merkityksen, esimerkiksi vertaamalla niitä toisiinsa tai seuraamalla niiden kehitystä ajan myötä.

Sisällysluettelo

    Tämä artikkeli aloittaa neljästä osasta koostuvan sarjan, joka selittää yksinkertaisen ehdotuksen IoT:hen liitettyjen antureiden keräämien tietojen graafiseen esittämiseen. Samalla filosofialla kuin muissakin artikkeleissa ehdotettu menetelmä on täysin toimiva, vaikka päätavoite on didaktinen. Kuten yleisön tekninen profiili, jolle blogi polaridad.es, ja tämä teksti koskee elektroniikkaa eikä verkkokehitystä, jokainen osio toimii johdannossa käytettyihin kieliin tai tekniikkaan: HTML, CSS, SVG y JavaScript.

    Datakaaviot antureista, jotka on liitetty esineiden Internet (IoT) -säilöyn HTML-muodossaEsineiden Internetiin (IoT) yhdistettyjen antureiden datakaaviot CSS:n ulkonäön määritelmäDatakaaviot antureista, jotka on liitetty esineiden Internetiin (IoT) piirtäen SVG:lläDatakaaviot esineiden Internetiin (IoT) yhdistetyistä antureista Luominen ja muokkaaminen JavaScriptillä

    Edellisen sarjan artikkelit kuinka tallentaa esineiden Internetiin (IoT) liitetyistä laitteista saatuja tietoja He päätyivät selittämällä, kuinka tietokantoihin tallennettuja tietoja voidaan käyttää. Sarjan esimerkeissä käytettiin prosessin helpottamiseksi välittäjänä web-palvelinta, joka vastasi tietojen vastaanottamisesta HTTP-protokollan POST-pyyntöjen kautta, tallentamisesta tietokantaan ja näyttämisestä web-sivulla.

    IoT-verkkopalvelinHTTP POST IoT -verkkopalvelinMySQL-tietokanta. IoT-verkkopalvelinPHP-kielinen IoT-verkkopalvelin

    Vaikka tämän järjestelmän suurin haittapuoli on suorituskyky (jota voitaisiin lievittää vaihtoehdoilla, kuten Node.js ja MongoDB, jotka selitetään tulevissa artikkeleissa), vastineeksi se tarjoaa kaksi suurta etua: sen toteutus on erittäin yksinkertainen (mukaan lukien saatavuus). palveluista julkinen) ja voi näyttää tiedot selaimessa, eli se ei vaadi erityisiä sovelluksia (kuten mobiililaitteen sovellusta) esittämään tallennettuja tietoja, jotka edustaisivat Internetiin kytkettyjen laitteiden historiallista tilaa. Asiat.

    Tässä artikkelissa hyödynnetään sitä etua, että voidaan helposti esittää verkkosivulla tähän järjestelmään tallennettuja tietoja IoT:hen yhdistettyjen laitteiden tilasta. Tässä artikkelissa selitetään, kuinka nämä tiedot näytetään graafisesti muotoa käyttäen. SVG alkaen JavaScript Web-sivun luomiseen dynaamisesti HTML.

    Kirjakauppoja on monia JavaScript jolla ratkaistaan ​​tietojen graafinen esitys. Näiden artikkeleiden tarkoituksena ei ole kehittää toista; Tämän tekstin tarkoituksena on ymmärtää prosessi ja pystyä kehittämään omia toteutuksiasi; niin didaktinen kuin tuottava tavoite. Jos olet kiinnostunut käyttämään tuotetta sen sijaan, että kehität sitä itse, suosittelen, että tutustut joihinkin erinomaisiin kirjastoihin grafiikan luomiseen JavaScript ilmaisilla lisensseillä, kuten Charts.js, Highcharts, Google-kaaviotyökalut, Aikakausi, Raphael, Grafico (perustuen Raphael), dc.js, Chartist.js, D3.js (suositukseni), C3.js (perustuen D3.js), NVD3 (uudelleenkäytettävä grafiikka varten D3.js) ...

    HTML-dokumenttirakenne SVG-grafiikalla

    Tämän artikkelin ehdotuksessa anturitietojen esittämisestä graafisesti verkkosivu, jolla se näytetään, koostuu seuraavista:

    • konttina toimiva asiakirja on kirjoitettu HTML,
    • sivun ulkoasu määritellään koodilla CSS,
    • graafin piirtäminen tehdään kielellä SVG y
    • Tietojen lukeminen palvelimelta ja kaavioiden näyttäminen on ohjelmoitu JavaScript

    Internet of Things (IoT) -tietojen esitysmalli JavaScriptillä HTML-verkkosivulla, jossa on JavaScript

    Kaikki elementit, erityisesti koodi HTML sivun, voidaan luoda palvelimella PHP:llä, kuten artikkelissa on selitetty PHP ohjelmointikieli sarjasta noin tietojen tallennus esineiden Internetiin yhdistetyistä laitteista.

    Koodi CSS y JavaScript voidaan ladata (tuoda) koodilla HTML sen sijaan, että se kirjoitetaan suoraan osaksi asiakirjaa HTML. Tämän etuna on, että samoja asiakirjoja voidaan käyttää uudelleen useilla sivuilla ja muokata niitä mukavammin. mutta ehkä hieman pidempään lataamiseen liittyvä vaiva riippuen siitä, voitko käyttää välimuistissa olevaa koodia (ladattu edellisessä käytössä) vai jopa CDN. Tuotantovaiheessa on triviaalia integroida kaikki PHP:n koodi ja luoda yksi dokumentti HTML kaikki tiedot, jos valitset tämän vaihtoehdon. Koko tämän artikkelisarjan ajan katsotaan selvyyden vuoksi, että työskentelemme erillisten asiakirjojen parissa.

    Meitä kiinnostaviin tarkoituksiin käyttää sitä grafiikkasäiliönä ja hyvin karkeasti ottaen asiakirjan rakenteen ensimmäisen tason sisältö HTML olisi:

    Ensimmäinen rivi osoittaa verkkoselaimelle, että sen lukema asiakirja on kirjoitettu HTML, erityisesti versiossa 5 (tunnetaan nimellä HTML5). Aiemmat versiot HTML, perustuen SGML (Standard Generalized Markup Language), sisälsi asiakirjatyypin määritelmän (DTD), jossa asiakirjaa kuvaavassa kielessä käytetyt säännöt on ilmoitettu.

    Toinen ja viimeinen rivi sisältävät koodin HTML direktiivien joukossa <html> y </html> jotka toimivat vastaavasti avaavina ja sulkevina. Direktiivit HTML Ne sulkevat nimen ja attribuutit merkkien "pienempi kuin" ja "suurempi kuin" väliin muodostaen eräänlaisia ​​"akuutteja sulkumerkkejä". Elementit HTML Sisällön liittävillä sisällöillä on sulkemiskäsky, joka sisältää vinoviivan nimen edessä kuten kohdassa </html>.

    Elementtien ominaisuudet tai attribuutit erotetaan välilyönnillä nimestä ja toisistaan ​​ja ilmaistaan ​​pelkkänä tekstinä tai useammin tekstinä (omaisuuden nimi), jota seuraa yhtäläisyysmerkki ja arvo lainausmerkeissä. Koodin avausdirektiivin tapauksessa HTML omaisuutta on käytetty lang rohkeudella es, lang="es" osoittaa, että asiakirjan teksti HTML käyttää espanjan kieltä.

    Kommentti on lisätty HTML-koodin avauskäskyn jälkeen. Kommentit sisään HTML Ne voivat olla useita rivejä ja käyttää koodia aloitusmerkkinä <!-- ja päätteeksi -->

    Koodi HTML Se koostuu kahdesta lohkosta: otsikosta <head> ja ruumis <body>. Ensimmäisen tarkoituksena on tiedottaa itse asiakirjasta, mukaan lukien tiedot siitä (metatiedot), ja toinen on tukea asiakirjan sisältöä.

    Direktiivissä <body> tapahtuma on otettu mukaan onload jolla toiminto suoritetaan automaattisesti JavaScript kun sisältö on ladattu. Tämän resurssin avulla voit käynnistää koodin suorittamisen, joka määrittelee graafiset objektit ja päivittää ne, kun palvelimelta ladataan tietoja grafiikkaa edustavien antureiden tilasta.

    Kaikesta metatiedosta, joka voidaan sisällyttää asiakirjan otsikkoon HTML, olemme erityisen kiinnostuneita seuraavien direktiivien kuvaamasta:

    • <title> joka antaa asiakirjalle otsikon. Se näkyy tavallisesti selainikkunassa tai vastaavassa välilehdessä ja auttaa meitä tunnistamaan sen sisältämät grafiikat.
    • <charset> ilmoittaa asiakirjan koodaamiseen käytetyn merkistön. Se on erityisen tärkeä "erityisille" merkeille, kuten eñeille tai aksenteille.
    • <link> mahdollistaa yhteyden luomisen asiakirjan välille HTML nykyiset ja muut ulkoiset. Se auttaa meitä lataamaan tyylisivun muodossa CSS asiakirjan ulkonäön kanssa.
    • <script> sisältää komentosarjan suoritettavalla koodilla. Lataamme funktiot käyttämällä tätä direktiiviä JavaScript jolla luodaan tai muokataan grafiikkaa SVG.

    Kuten esimerkistä voidaan nähdä HTML yläpuolella asiakirjan nimi (ja polku, jos sellainen on) tyylillä CSS on merkitty attribuutilla href, kun taas koodin tapauksessa JavaScript sitä käytetään src. Molemmat osakkeenomistajat type rohkeudella text/css y text/javascript vastaavasti.

    Asiakirjan sisällön osalta elementtiä vastaava osa <body>, HTML5 Sen avulla voit luoda erityisiä rakenteita verkkosivun yleisimmille komponenteille, kuten alatunnisteen, sivuosion tai navigointipalkin, mutta mikä kiinnostaa meitä, on käyttää dokumenttia grafiikkasäiliönä. SVG ovat elementtejä <div> jotka toimivat itsenäisinä lohkoina, jotka mahdollistavat hierarkkisen rakenteen määrittämisen sisäkkäisillä <div> muiden sisällä.

    Edellisessä esimerkissä käytetään elementtiä <div> joka sisältää kaksi muuta. Tämä esimerkki esittelee kaksi erittäin tärkeää ominaisuutta koodin käyttöön. HTML: id jota käytetään yksilöllisen tunnisteen määrittämiseen elementille HTML ( <div>, tässä tapauksessa) ja class jonka kanssa sille on määritetty luokka, jota käytämme ulkonäön määrittämiseen. Luokan, luokan, ei tarvitse olla ainutlaatuinen, itse asiassa suuri osa sen tehokkuudesta piilee useissa elementeissä, jotka jakavat saman näkökohdan.

    Elementti (tai tunniste) <p> määrittää kappaleen, joka tavallisesti sisältää tekstiä (vaikka in HTML tässä suhteessa ei ole rajoituksia). Voit tehdä ryhmittelyjä kappaleen sisällä (tai a <div>, ei myöskään ole rajoituksia) -tunnistetta käytetään <span>. Tämän elementin avulla on mahdollista esimerkiksi sisällyttää tekstiä kappaleeseen, jotta se saa erilaisen ulkonäön, kuten alleviivauksen tai lihavoinnin.

    Graafisten ominaisuuksien määritelmä ja yleensä elementtiin liittyvä käyttäytyminen HTML Luokan määrittäminen tapahtuu koodissa CSS; asiakirjan edellisen esimerkin tapauksessa aspecto.css.

    Ominaisuuksien määrittämisen optimoimiseksi CSS on mahdollista, että sama elementti HTML kuuluu useisiin luokkiin ja on siten niiden määrittelemä ulkonäkö tai käyttäytyminen. Tätä tehtävää varten kirjoita eri luokkien nimet erottamalla ne pilkuilla kohteen oikealle puolelle. class

    Edellisessä esimerkissä elementti <div> joka on tunnistettu primer_hijo Kolme luokkaa on määrätty: aspecto_de_hijo, aspecto_raro y tipografia_grande, joiden oletetaan yhdessä määrittävän elementin ulkonäön ja käyttäytymisen. Kuten seuraavassa artikkelissa kerrotaan IoT-anturin grafiikan verkkoulkomuodon määrittäminen CSS:n avulla, kun käytetään useita luokkia, jos jokin aspektin määrittävistä ominaisuuksista on määritelty molemmissa, viimeksi viitattu pätee.

    Kuten on nähty, elementit <div> Ne voivat sisältää muita elementtejä, mukaan lukien muut <div>. Yksinkertaisempi tapaus olisi <div> joka sisälsi tekstiä. Tyyliä määrittelevä ilme CSS vaikuttaisi myös elementin sisältämään tekstiin.

    Ominaisuuksien määrittämisen optimoimiseksi CSS on mahdollista, että sama elementti HTML kuuluu useisiin luokkiin ja on siten niiden määrittelemä ulkonäkö tai käyttäytyminen. Tätä tehtävää varten kirjoita eri luokkien nimet erottamalla ne pilkuilla kohteen oikealle puolelle. class

    Edellisessä esimerkissä kolme luokkaa, jotka liittyvät <div> primer_hijo Ne määrittelevät elementin ulkonäön ja sen sisältävän tekstin, esimerkiksi tekemällä fontista, jolla se kirjoitetaan, suureksi (jos sen nimen viimeisessä luokassa osoittama tarkoitus on totta)

    Versiosta 5 lähtien (HTML5) on mahdollista sisällyttää grafiikkakoodi muodossa SVG itse koodin sisällä HTML yhtenä lisäelementtinä. Koodin näkökulmasta HTML, sisältö SVG se on elementti <svg> joka sisältää erilaisia ​​graafisia elementtejä (viivoja, ympyröitä, suorakulmioita...

    Vaikka on sanottu, että elementtien graafiset ominaisuudet HTML määritellään tyylillä CSS ja liittyvät siihen luokan kautta, on myös mahdollista määrittää osa niistä suoraan elementteihin kahdella tavalla. Toisaalta voit käyttää omaisuutta style ja määritä kohteen erilaiset graafiset ominaisuudet sen arvoksi. Loogisesti ajatellen on parempi käyttää edellä mainittua tekniikkaa aspektin määrittämisessä luokkaan, mutta tällä mahdollisuudella voit lisätä elementtiin pienen korjauksen (erittäin erityinen poikkeus) ilman, että tarvitsee luoda uutta luokkaa.

    Toisaalta joitain elementtejä HTML Niiden avulla voit käyttää tiettyjä ominaisuuksia, jotka määrittävät niiden ulkonäön. Yleisesti ottaen, vaikka nämä ominaisuudet ovat olemassa, on suositeltavaa käyttää luokkia, mutta valitettavasti kaikki elementit eivät tarjoa tätä vaihtoehtoa, jotkut odottavat, että tietty arvo ilmaistaan ​​suoraan noilla erityisominaisuuksilla sen sijaan, että viitattaisiin siihen liittyvään luokkaan. Yksi tämäntyyppisen käyttäytymisen elementeistä on juuri koodi SVG, johon meidän on määritettävä ominaisuuksien leveyden ja korkeuden prosenttiarvo width y heightluokan sijaan.

    Kuten nähdään tarkemmin artikkeli, joka puhuu SVG-koodista, jotta voidaan käyttää ehdotettua yksinkertaista menetelmää, on suositeltavaa tarkastella kaavion mittoja prosentteina. Kun kyseessä on objektin kokonaiskoko, ilmoittamalla 100 % leveyden ja korkeuden arvossa, kontti määrittää lopulliset mitat ( <div> kanssa id="dibujo", edellisessä esimerkissä)

    Kuvaajan eri komponenttien tapauksessa SVG (viivat, ympyrät, suorakulmiot...), sisällytetään alueelle, jonka mitat ovat 100 × 100 (mikä tahansa yksikkö), ja ne laajenevat suorakaiteen muotoon ilman, että suhteet säilyvät. Ominaisuudet viewBox y preserveAspectRatio elementin SVG He ovat vastuussa näiden arvojen vahvistamisesta. ensimmäisessä tapauksessa suorakaiteen muotoisella näkymällä, joka kulkee koordinaattipisteestä (0,0) koordinaattipisteeseen (100,100) ja ilmaistaan "0 0 100 100" ja toisessa arvolla none.

    Kaiken edellä mainitun avulla voit nyt määrittää täydellisen koodin, joka toimisi grafiikkasäilönä. SVG luotu tai muokattu JavaScript. Alla oleva esimerkki sisältää neljä grafiikkalohkoa, jotka käyttävät muotoa HTML edustusehdotuksesta, jota aiomme käyttää.

    Alta näet, miltä edellinen koodi näyttäisi tyylillä muotoiltuna CSS vastaava, luominen kanssa JavaScript grafiikkaa SVG IoT:hen kytkettyjen antureiden tallentamien tietojen palvelinlukemat. Lukuun ottamatta sitä, että tietoja ei ladata palvelimelta, vaan ne luodaan satunnaisesti asiakkaassa (selaimessasi), muuta koodia käytetään tässä artikkelisarjassa määritellyssä ehdotuksessa.

    Seuraava artikkeli tässä sarjassa selittää kuinka määritellä CSS-tyylejä antaa ulkoasua HTML-koodille, joka toimii grafiikan säilönä SVG jolla voidaan kuvata esineiden Internetiin (IoT) kytkettyjen antureiden tilaa.

    1 kommentti

    kommentin käyttäjä
    kasino

    ??

    Post Comment

    Olet ehkä missannut