Browse Month: December 2016

IoT u Petnici

Na jesenjem seminaru računarstva u Petnici, deo pažnje je bio posvećen Internet of Things (IoT) tehnologijama gde su polaznici slušali predavanja na tu temu, ali su mogli i da probaju da kontrolišu jedan model takvog sistema. Deo predavanja je bio posvećen bezbednosti, odnosno rizicima koje IoT tehnologije donose i dešavanjima čiji smo bili svedoci u poslednjih mesec dana.

Pomenuti model je imitacija pametne kuće koja je opremljena senzorima i uređajima koji se mogu udaljeno kontrolisati. Kako je ovo bila prva verzija kuće, model nije imao zavidan dizajn, ali je bio funkcionalan i služio je svrsi 🙂

img_20161120_112735-1

Od senzora/uređaja na/u kući su se našli zvučnik (piezo buzzer), LED sijalice, prozor povezan na micro servo motor, uređaj za ventilaciju/hlađenje (ventilator), uređaj za grejanje (grejač u kombinaciji sa ventilatorom), kao i senzori za merenje vlage, unutrašnje i spoljašnje temperature i temperature uređaja za grejanje. Sve ove komponente su povezane na Arduino Mega 2560, koji preko Ethernet shield-a komunicira sa serverom (koji predstavlja cloud) odakle dobija komande. U normalnim uslovima, kontrola svih uređaja je prepuštena (u ovom slučaju) polaznicima koji šalju komande na server. Izuzetak je uređaj za grejanje, koji je zaštićen od pregrevanja, tako da u slučaju kada dostigne kritičnu temperaturu, kontrolu nad kućom preuzima Arduino i aktivira proceduru hlađenja.

untitled-diagram

Pored kuće, razvijen je i pomenuti server koji predstavlja posrednika u komunikaciji između polaznika i kuće, ali i koji održava konekciju prema kući i pamti stanja u kojim se kuća nalazi. Server takođe služi i kao neki vid zaštite od ne autorizovane kontrole kuće, kao i zaštita od učestalih slanja komandi. Inače, server je namerno razvijen da ima “rupe” i da omogući polaznicima da probaju da preuzmu kontrolu nad kućom kada to nije omogućeno podešavanjima. Uz ovaj server, razvijen je i server sa korisničkim web interfejsom gde se iz browsera mogu očitavati vrednosti temperature ali i kontrolisati uređaji.

kuca

Polaznici na seminaru su imali niz zadataka:

  • kontrolisanje kuće iz web interfejsa radi održavanja date temperature, ali i izbegavanje pregrevanja,
  • uspostava konekcije sa glavnim serverom i slanje direktnih komandi pod ograničenim privilegijama
  • takmičenje gde dva tima pokušavaju da održe temperaturu koja im je zadata (npr: tim1=27C , tim2=31C),
  • zadatak sličan prethodnom, samo je ovog puta potrebno napisati skriptu koja to sama radi,
  • sprečavanje pregrevanja u situaciji gde je dozvoljena ograničena kontrola kuće,
  • preuzimanje potpune kontrole nad serverom i dobijanje svih privilegija,
  • preuzimanje konekcije između kuće i glavnog servea u cilju sprečavanja/izazivanja pregrevanja