Upload
markmaras1
View
10
Download
0
Embed Size (px)
DESCRIPTION
Platforma otvorenog koda za Internet of things temeljena na Node.js
Citation preview
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