Grafi stanja senzorjev, povezanih z internetom stvari IoT

Grafi stanja senzorjev, povezanih z internetom stvari IoT

Grafi stanja senzorjev, povezanih z internetom stvari IoT

Ena od prednosti povezave senzorskega omrežja z internetom stvari je možnost analize pridobljenih podatkov. Z grafično predstavitvijo teh informacij lahko oseba (v nasprotju s programom) bolj intuitivno razume pomen spremljanih količin, na primer tako, da jih primerja med seboj ali sledi njihovemu razvoju skozi čas.

Kazalo

    Ta članek začenja serijo, sestavljeno iz štirih delov, ki pojasnjuje preprost predlog za grafično predstavitev podatkov, pridobljenih s senzorji, povezanimi z IoT. Z enako filozofijo kot v drugih člankih je predlagana metoda popolnoma funkcionalna, čeprav je glavni cilj didaktičen. Kot tehnični profil javnosti, ki mu je blog polaridad.esin to besedilo govori o elektroniki in ne o spletnem razvoju, vsak od razdelkov služi kot uvod v uporabljene jezike ali tehnologijo: HTML, CSS, SVG y JavaScript.

    Podatkovni grafi iz senzorjev, povezanih z vsebnikom interneta stvari (IoT) v HTMLGrafi podatkov iz senzorjev, povezanih z definicijo videza interneta stvari (IoT) v CSSPodatkovni grafi iz senzorjev, povezanih z internetom stvari (IoT), risanje s SVGPodatkovni grafi iz senzorjev, povezanih z internetom stvari (IoT) Generiranje in spreminjanje z JavaScriptom

    Članki iz prejšnje serije o kako shraniti podatke, pridobljene z napravami, povezanimi z internetom stvari (IoT) Na koncu so razložili, kako dostopati do informacij, shranjenih v bazah podatkov. V primerih iz serije je bil za lažji postopek uporabljen spletni strežnik kot posrednik, ki je bil odgovoren za sprejemanje podatkov preko POST zahtev protokola HTTP, njihovo shranjevanje v bazo podatkov in prikaz na spletni strani.

    IoT spletni strežnikHTTP POST IoT spletni strežnikBaza podatkov MySQL. IoT spletni strežnikJezik PHP IoT spletni strežnik

    Čeprav je glavna pomanjkljivost tega sistema zmogljivost (ki bi jo lahko ublažili z alternativami, kot sta Node.js in MongoDB, kar bo pojasnjeno v prihodnjih člankih), v zameno ponuja dve veliki prednosti: njegova implementacija je zelo preprosta (vključno z razpoložljivostjo javnih storitev) in lahko prikaže podatke v brskalniku, kar pomeni, da ne potrebuje posebnih aplikacij (kot je aplikacija za mobilno napravo) za prikaz shranjenih informacij, ki bi predstavljale zgodovinsko stanje naprav, povezanih z internetom. Stvari.

    Z izkoriščanjem prednosti, da lahko na spletni strani preprosto predstavite informacije, ki so bile shranjene v tem sistemu o statusu naprav, povezanih z IoT, ta članek pojasnjuje, kako grafično prikazati te informacije z uporabo oblike SVG iz JavaScript za dinamično ustvarjanje spletne strani HTML.

    Knjigarn je veliko JavaScript s katerimi bi rešili grafični prikaz podatkov. Ti članki ne nameravajo razviti drugega; Namen tega besedila je razumeti proces in biti sposoben razviti lastne izvedbe; didaktični cilj, pa tudi produktiven. Če vas zanima uporaba izdelka, namesto da bi ga razvijali sami, vam priporočam, da si ogledate nekaj odličnih knjižnic za ustvarjanje grafike z JavaScript z brezplačnimi licencami, kot je Charts.js, visoke lestvice, Orodja Google Chart, Epoha, Raphael, Graf (temelji na Raphael), dc.js, Chartist.js, D3.js (moje priporočilo), C3.js (temelji na D3.js), NVD3 (grafike za večkratno uporabo za D3.js) ...

    Struktura dokumenta HTML z grafiko SVG

    V predlogu tega članka za grafično predstavitev senzorskih podatkov je spletna stran, na kateri so prikazani, sestavljena iz:

    • vpisan je dokument, ki služi kot vsebnik HTML,
    • videz strani je definiran s kodo CSS,
    • risanje grafa je narejeno z uporabo jezika SVG y
    • Programirano je branje podatkov s strežnika in prikaz grafov JavaScript

    Shema predstavitve podatkov interneta stvari (IoT) z JavaScriptom na spletni strani HTML z JavaScriptom

    Vsi elementi, še posebej koda HTML strani, je mogoče ustvariti na strežniku s PHP, kot je razloženo v članku o PHP programski jezik iz serije o shranjevanje podatkov iz naprav, povezanih z internetom stvari.

    Koda CSS y JavaScript se lahko naloži (uvozi) v kodi HTML namesto da bi bila zapisana neposredno kot del dokumenta HTML. Prednost tega je, da lahko ponovno uporabite iste dokumente na več straneh in jih lahko udobneje urejate; vendar morda neprijetnost, da nalaganje traja nekoliko dlje, odvisno od tega, ali lahko uporabite kodo v predpomnilniku (naloženo v prejšnji uporabi) ali celo CDN. V produkcijski fazi je nepomembno integrirati vso kodo iz PHP in ustvariti en sam dokument HTML z vsemi informacijami, če izberete to možnost. V tej seriji člankov zaradi jasnosti velja, da delamo z ločenimi dokumenti.

    Za namene, ki nas zanimajo, da ga uporabimo kot grafični vsebnik in zelo grobo, vsebino prve ravni strukture dokumenta HTML bi:

    Prva vrstica služi spletnemu brskalniku, da pokaže, da je dokument, ki ga bere, zapisan HTML, zlasti v različici 5 (znani kot HTML5). Prejšnje različice HTML, temelji na SGML (Standardni splošni označevalni jezik), vključeval definicijo vrste dokumenta (DTD), v katerem je bila deklarirana vrsta pravil, uporabljenih v jeziku za opis dokumenta.

    Druga in zadnja vrstica vsebujeta kodo HTML med direktivami <html> y </html> ki delujeta kot odpiranje oziroma zapiranje. Direktive HTML Obdajajo ime in atribute med znakoma "manj kot" in "več kot", ki tvorijo neke vrste znake "ostrega oklepaja". Elementi HTML ki zajemajo vsebino, imajo zaključno direktivo, ki vključuje poševnico pred imenom kot v </html>.

    Lastnosti ali atributi elementov so ločeni s presledki od imena in drug od drugega ter so izraženi kot golo besedilo ali, pogosteje, kot besedilo (ime lastnosti), ki mu sledi znak enačaja in vrednost v narekovajih. V primeru direktive o odpiranju kode HTML lastnina je bila uporabljena lang z vrednostjo es, lang="es" za navedbo, da je besedilo dokumenta HTML uporablja španski jezik.

    Za uvodnim ukazom kode HTML je bil vključen komentar. Komentarji v HTML Zavzamejo lahko več vrstic in uporabljajo kodo kot začetni znak <!-- in kot zaključek -->

    Koda HTML Sestavljen je iz dveh blokov: glave <head> in telo <body>. Prvi je namenjen obveščanju o samem dokumentu, vključno z informacijami o njem (metainformacije), drugi pa je podpora vsebini dokumenta.

    V direktivi <body> dogodek je bil vključen onload s katerim samodejno izvede funkcijo JavaScript ko je vsebina naložena. Ta vir vam omogoča, da začnete z izvajanjem kode, ki bo definirala grafične objekte in jih posodabljala, ko se s strežnika nalagajo informacije o stanju senzorjev, ki predstavljajo te grafike.

    Od vseh metainformacij, ki jih je mogoče vključiti v glavo dokumenta HTML, nas še posebej zanima tista, ki jo opisujejo naslednje direktive:

    • <title> ki služi za naslov dokumenta. Običajno se prikaže v oknu brskalnika ali na ustreznem zavihku in nam pomaga prepoznati grafiko, ki jo vsebuje.
    • <charset> deklarira nabor znakov, uporabljen za kodiranje dokumenta. To je še posebej pomembno za "posebne" znake, kot so eñes ali poudarki.
    • <link> omogoča vzpostavitev razmerja med dokumentom HTML trenutne in druge zunanje. Pomagal nam bo pri nalaganju slogovnega lista v formatu CSS z videzom dokumenta.
    • <script> vsebuje skript z izvršljivo kodo. Z uporabo te direktive bomo naložili funkcije JavaScript s katerim ustvarite ali spremenite grafiko SVG.

    Kot je razvidno iz primera HTML zgoraj ime (in pot, če je primerno) dokumenta s slogom CSS je označen z atributom href, medtem ko je v primeru kode JavaScript uporablja se src. Oba delita lastništvo type z vrednostjo text/css y text/javascript oz.

    Glede na vsebino dokumenta del, ki ustreza elementu <body>, HTML5 Omogoča ustvarjanje specifičnih struktur za najpogostejše komponente na spletni strani, kot je noga, stranski odsek ali navigacijska vrstica, toda tisto, kar nas zanima, je uporaba dokumenta kot vsebnika grafike. SVG so elementi <div> ki delujejo kot neodvisni bloki, ki omogočajo definiranje hierarhične strukture z gnezdenjem nekaterih <div> znotraj drugih.

    V prejšnjem primeru je uporabljen element <div> ki vsebuje še dva. Ta primer predstavlja dve zelo pomembni lastnosti za uporabo kode, ki jo želimo uporabiti. HTML: id ki se uporablja za dodelitev edinstvenega identifikatorja elementu HTML ( <div>, v tem primeru) in class s katerim mu je dodeljena kategorija, ki jo bomo uporabili za ugotavljanje videza. Ni nujno, da je kategorija, razred, edinstvena, pravzaprav je velik del njene učinkovitosti v več elementih, ki si delijo isti vidik.

    Element (ali oznaka) <p> služi za določitev odstavka, ki bo običajno vseboval besedilo (čeprav v HTML v zvezi s tem ni omejitev). Za združevanje znotraj odstavka (ali a <div>, prav tako ni omejitev) se uporablja oznaka <span>. S tem elementom je mogoče na primer vključiti besedilo v odstavek in mu dati drugačen videz, na primer podčrtano ali krepko.

    Opredelitev grafičnih značilnosti in na splošno obnašanja, ki je povezano z elementom HTML Pripisovanje razreda se izvede v kodi CSS; v primeru prejšnjega primera v dokumentu aspecto.css.

    Za optimizacijo dodeljevanja karakteristik CSS možno je, da isti element HTML pripada več razredom in ima tako videz ali obnašanje, ki ga določajo. Če želite narediti to dodelitev, napišite imena različnih razredov in jih ločite z vejicami na desni strani lastnosti. class

    V prejšnjem primeru je element <div> ki je bil identificiran kot primer_hijo Dodeljeni so trije razredi: aspecto_de_hijo, aspecto_raro y tipografia_grande, ki naj bi skupaj določala izgled in obnašanje elementa. Kot je pojasnjeno v naslednjem članku o Definiranje spletnega videza IoT senzorske grafike s CSS, pri uporabi več razredov, če je katera od lastnosti, ki definirajo vidik, definirana v obeh, prevlada zadnja navedena.

    Kot smo videli, elementi <div> Lahko vsebujejo druge elemente, vključno z drugimi <div>. Enostavnejši primer bi bil <div> ki je vsebovalo besedilo. Videz, ki definira slog CSS vplivalo tudi na besedilo v elementu.

    Za optimizacijo dodeljevanja karakteristik CSS možno je, da isti element HTML pripada več razredom in ima tako videz ali obnašanje, ki ga določajo. Če želite narediti to dodelitev, napišite imena različnih razredov in jih ločite z vejicami na desni strani lastnosti. class

    V prejšnjem primeru so trije razredi, povezani z <div> primer_hijo Določili bi videz elementa in besedila, ki ga vsebuje, na primer, da bi pisavo, v kateri je napisan, naredili veliko (če je namen, ki ga navaja njegovo ime v zadnjem razredu, resničen)

    Od različice 5 (HTML5) je možno vključiti grafično kodo v format SVG znotraj same kode HTML kot še en element. Z vidika kode HTML, vsebina SVG je element <svg> ki vsebuje različne grafične elemente (črte, kroge, pravokotnike...

    Čeprav je bilo rečeno, da grafične značilnosti elementov HTML so opredeljeni v slogu CSS in so z njim povezani prek razreda, je mogoče nekatere od njih tudi neposredno dodeliti elementom na dva načina. Po eni strani lahko uporabite nepremičnino style in dodelite različne grafične značilnosti predmeta kot njegovo vrednost. Logično je, da je bolje uporabiti zgoraj omenjeno tehniko dodeljevanja vidika razredu, vendar s to možnostjo lahko elementu dodate majhen popravek (zelo posebna izjema), ne da bi morali ustvariti nov razred.

    Po drugi strani pa nekateri elementi HTML Omogočajo vam uporabo posebnih lastnosti, ki določajo njihov videz. Na splošno je, tudi če te lastnosti obstajajo, bolje uporabiti razrede, vendar na žalost vsi elementi ne ponujajo te možnosti, nekateri pričakujejo, da bo določena vrednost navedena neposredno s temi posebnimi lastnostmi, namesto da bi se nanašala na povezani razred. Eden od elementov, ki imajo tovrstno vedenje, je prav koda SVG, ki mu moramo v lastnostih dodeliti odstotno vrednost širine in višine width y height, namesto razreda.

    Kot bo podrobneje razvidno iz članek, ki govori o kodi SVG, je za uporabo predlagane preproste metode priporočljivo upoštevati dimenzije grafa kot odstotke. V primeru skupne velikosti predmeta, z navedbo 100% vrednosti širine in višine, bo vsebnik tisti, ki nastavi končne dimenzije ( <div> z id="dibujo", v prejšnjem primeru)

    V primeru različnih komponent grafa SVG (črte, krogi, pravokotniki ...), so vključeni v površino, ki meri 100×100 (poljubna enota) in se razširijo v pravokotno obliko, ne da bi ohranili razmerje. Lastnosti viewBox y preserveAspectRatio elementa SVG Odgovorni so za vzpostavitev teh vrednot. v prvem primeru s pravokotnim pogledom, ki poteka od koordinatne točke (0,0) do koordinatne točke (100,100) in je izražen kot "0 0 100 100" v drugem pa z vrednostjo none.

    Z vsem zgoraj naštetim lahko zdaj definirate celotno kodo, ki bi služila kot grafični vsebnik. SVG ustvarjen ali spremenjen iz JavaScript. Spodnji primer vsebuje štiri grafične bloke, ki uporabljajo format HTML predloga reprezentacije, ki ga bomo uporabili.

    Spodaj si lahko ogledate, kako bi izgledala prejšnja koda, oblikovana s slogom CSS ustrezen, ki ustvarja z JavaScript grafiko SVG s strežniškimi odčitki podatkov, ki jih hranijo senzorji, povezani z IoT. Razen tega, da se podatki ne nalagajo s strežnika, ampak se naključno generirajo v odjemalcu (vašem brskalniku), bo preostala koda uporabljena v predlogu, opredeljenem v tej seriji člankov.

    Naslednji članek v tej seriji pojasnjuje kako definirati sloge CSS da se prikaže koda HTML, ki deluje kot vsebnik za grafiko SVG s katerim predstavljajo stanje senzorjev, povezanih z internetom stvari (IoT).

    po Komentar

    Morda ste zamudili