zetta internet of things
DESCRIPTION
Platforma otvorenog koda za Internet of things temeljena na Node.jsTRANSCRIPT
-
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