zetta internet of things

Upload: markmaras1

Post on 09-Mar-2016

10 views

Category:

Documents


0 download

DESCRIPTION

Platforma otvorenog koda za Internet of things temeljena na Node.js

TRANSCRIPT

  • ZETTA INTERNET OF THINGS PLATFORMA

    KOLEGIJ: UPRAVLJANJE U PROGAMSKOM INENJERSTVU

    LUKA DUBRAVIMARK MARAS

  • SADRAJ

    INTERNET OF THINGS ZETTA NODE.JS OSNOVNI DIJELOVI SUSTAVA PRIMJER

  • Internet of Things Thing - fiziki objekt koji se putem ugraene tehnologije

    povezuje putem Interneta te ima mogunost opaanja, mjerenja, interakcije s drugim stvarima oko sebe.

    Mrea senzornih/pokretnih ureaja povezanih preko interneta Senzori:

    zadueni za prikupljanje podataka iz okoline tj. dobivamo podatkovne izvjetaje

    Actuators (pokretai) zadaa im je djelovanje na okolinu oni su naa povratna veza na svijet

  • Internet of Things Trenutno prisutan trend konstantnog rasta mrea ovoga tipa Brojke:

    26 milijardi ureaja namjenjenih za ovaj tip komunikacije predvia se do 2020. (Gartner, Inc)

    19. trilijona dolara ekonomske vrijednosti do 2020. (Cisco) Vanost zbog irokog podruja primjene:

    pametni gradovi (kontrola prometa, upravljanje otpadom, pametne ceste, parking, gradska rasvjeta, praenje stanja graevinskih objekata)

    pametni okoli (praenje poara, kvalitete zraka, razina snijega, detekcija potresa)

    trgovina (NFC plaanje, praenje inventara, kontrola nabavnog lanca) Itd.

  • Internet of Things Specifini problemi:

    Suelja i protokoli: irok izbor protokola problem sigurnosti

    Ureaji: problem koordinacije ureaja poboljavanje responzivnosti u velikim sustavima

    Podaci: spremanje upotreba odreenih podataka data mining

    IoT alati: izbor alata mnotvo alata ima svoje prednosti i mane nedostatak developera sa odreenim iskustvom

  • ZETTA Platforma otvorenog koda za Internet of things Temeljena je na Node.js platformi(razvojna okolina za

    posluiteljsku stranu) Pogodna za aplikacije koje zahtjevaju obradu vee

    koliine podataka Jednostavnost Pretvara svaki ureaj u API

  • ZETTA

    Zettin pristup rjeavanju IoT problema:

    Suelje i protokoli: HTTP protokol prema ureajima Svaki ureaj sadri svoj API (Node.js)

    Ureaji: podrka za veliki broj ureaja, mnotvo drivera za izravan i neizravan pristup

    Podaci: prijenos podataka preko web sockets protokola tenja prema dodatnom olakavanju prikupljanja i analize s pristupanim sueljem

    IoT alati: tenja prema to veoj pristupanosti i intuitivnosti Sama platforma Node.js omoguava veliku slobodu

  • Node.js razvojna okolina Open source Cross-platform, event-driven okolina napisana

    JavaScriptom Razvoj posluiteljskih i mrenih aplikacija Google V8 Javascript engine, veliki broj modula napisan

    u javascript-u Node.js nudi mogunost aplikacijama da djeluju kao web

    serveri kao takvi (nije potreban Apache /IIS software) Glavna prednost aplikacije bazirane na JavaScriptu

    neovisne o platformi

  • Osnovni dijelovi sustava Posluitelj Povezivanje Upravljaki programi Mehanizam za detekciju

    (scouts) Aplikacije Dodatke posluitelju Registar

  • Posluitelj (server) Veinom se pokree na izlaznim ureajima poput

    Raspberry Pi ili BeagleBone Sadri Upravljake programe, Obavijesti (scouts),

    Aplikacije i Dodatke Koordinira interakciju izmeu spomenutih komponenta u

    vidu komunikacije s ureajima, te generira HTTP suelja s kojima korisnik vri interakciju

  • Povezivanje (linking) Zetta posluitelj

    dozvoljava kreiranje sigurnih tuneliranih veza izmeu 2 posluitelja

    Takva veza sama brine o konfiguraciji mree i vatrozida (firewall), te tako zaobilazi taj relativno est problem kod IoT platformi

  • Upravljaki programi (drivers) State-machine prikaz ureaja Primarno su odgovorni za modeliranje ureaja i rad s

    ureajem na fizikom nivou Dobiveni modeli se koriste za generiranje HTTP i

    JavaScript suelja za rad Zette

  • Mehanizam za detekciju (scouts) Slue kao mehanizam za otkrivanje ureaja koji se mogu nalaziti

    na mrei, ili za zahtjevanje sistemskih resursa od strane ureaja za komunikaciju sa protokolima

    Trae ureaje na odreenom protokolu i javljaju Zetti ukoliko su ureaji pronaeni

    Odravaju i osiguravaju sve potrebne podatke za interakciju s ureajem

    Takoer mogu koristiti informacije identifikacije pojedinih ureaja(MAC adresa), prepoznati ako je ve obavljana interakcija sa tim ureajem te osigurati postojanost podataka i sigurnosne kredencije

  • Aplikacije Interakcije izmeu ureaja pisane u JavaScriptu Nain za kreiranje ponaanja odreenih

    dijelova sustava vezano uz npr. Podatke dobivene sa senzora, ili samih promjena na ureaju

    Neovisno djelovanje, omoguavaju brz odgovor sustava na odreeni dogaaj

  • Dodaci posluitelju omoguuju model spajanja ureaja, te na taj nain

    prorivanje funkcionalnosti aplikacija pr. definiranje dodatnih suelja ili dodavanje sigurnosti

    odreenom suelju

    Registar mala baza podataka na strani posluitelja sadri informacije o ureajima povezanim na posluitelj

  • Postavljanje sustava Tipian proces postavljanja sustava odvija se u 3 koraka:

    1. Jedan posluitelj slui za komunikaciju na nekom izlaznom ureaju (hardware hub - npr. Raspberry PI)

    Izlazni ureaj se spaja s ostalim ureajima (Zetta posreduje s potrebnim protokolima (od HTTP-a, do odreenog protokola))

    2. Drugi posluitelj nalazi se na cloud-u Zetta posluitelj na izlaznom ureaju se spaja s posluiteljem na

    cloud-u

    3. Zetta zatim kreira suelja prema definiranim ureajima svim klijentima na cloud-u

  • Primjer

  • Primjer Jednostavan sustav koji se sastoji od LED

    lampice te svjetlosnog senzora, te aplikacije koja s obzirom na jakost svijetla pali lampicu

  • Kreiranje vora sa LED elemetnom

    Kreiramo na server.js file, zadajemo mu parametre

  • Zetta browser Otvaramo zetta browser na naem lokalnom serveru

    (127.0.0.1)

  • Povezivanje na cloud Povezujemo na lokalni vor sa cloud vorom

    (http://hello-zetta.herokuapp.com/)

  • Cloud suelje

  • Svjetlosni senzor Definiramo na virtualni senzor koji e prikupljati podatke

  • Suelje na cloud voru Detektira se na senzor te se dodaje na listu ureaja

  • Aplikacija Dodajemo skriptu koja ovisno o senzoru daje

    odreeni izlaz na LED lampici Naa aplikacija.js skripta

  • Finalno suelje server.js skriptu updateamo sa novom aplikacijom, te

    dobivamo suelje koje prati razinu svijetla

  • Hvala na panji!

    Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28