27
SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 4876 Predviđanje okupiranosti prostorije na temelju povijesnih podataka o okupiranosti iz očitanja niskoenergetskog Bluetooth beacon sustava Hari Barić Zagreb, lipanj 2017.

Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi

SVEUČILIŠTE U ZAGREBU

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

ZAVRŠNI RAD br. 4876

Predviđanje okupiranosti prostorije na

temelju povijesnih podataka o

okupiranosti iz očitanja niskoenergetskog

Bluetooth beacon sustava

Hari Barić

Zagreb, lipanj 2017.

Page 2: Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi
Page 3: Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi

Sadržaj

1.Uvod ............................................................................................................ 4

2. BLE tehnologija .......................................................................................... 6

2.1 Oglašavanje i otkrivanje ........................................................................ 6

2.2 Softverski model ................................................................................... 6

2.3 Utjecaj na bateriju ................................................................................. 8

2.4 Tehničke specifikacije BLE beacona..................................................... 9

3. Prikupljanje podataka o okupiranosti ........................................................ 10

3.1 Konfiguracija beacona ........................................................................ 10

3.2 Mobilna aplikacija................................................................................ 12

3.2.1 Pozadinski servis mobilne aplikacije ............................................. 13

3.2.2 BackgroundScanService .............................................................. 13

4. Poslužitelj ................................................................................................. 16

5. Predviđanje okupiranosti .......................................................................... 17

5.1 Generiranje podataka ......................................................................... 17

5.2 Neuronske mreže................................................................................ 18

5.2.1. Unakrsna provjera ....................................................................... 20

5.2.2. Optimizacija modela ................................................................... 20

5.3 Predviđanje okupiranosti prostorije ..................................................... 22

6. Zaključak .................................................................................................. 23

7. Literatura .................................................................................................. 25

Page 4: Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi

1.Uvod

Ušteda energije kao jedna od primarnih tema današnjice sve je

aktualnija, stoga se postavlja pitanje kako primjenom suvremenih tehnologija

možemo smanjiti potrošnju energije u zgradama koje troše oko 40% ukupne

energije koju čovječanstvo danas koristi.

Poznavanjem stanja okupiranosti prostorije te točnim predviđanjem

okupiranosti značajno se može unaprijediti energetska učinkovitost zgrada

ukoliko se navedene informacije koriste pri upravljanju sustavima grijanja i

hlađenja u zgradama.

ENHEMS-Buildings projekt kojeg je vodio Fakultet elektrotehnike i

računarstva Sveučilišta u Zagrebu (FER) od 2013. do 2015. godine, pomoću

informacijsko-komunikacijskih tehnologija upravlja potrošnjom energije u

zgradama, te kao ključne komponente obuhvaća optimalno i prediktivno

upravljanje sustavima, meteorologiju i otvorene sustave za prijenos

informacija u zgradi [5].

Jedan dio ENHEMS-Buildings projekta je nativna Android aplikacija koja

omogućuje korisnicima pregled trenutnih vrijednosti temperature, vlažnosti

zraka i udjela CO2 u prostorijama, te pregled povijesnih podataka za svaki od

navedenih parametara u više vremenskih raspona [6]. Dijagram cijelog

sustava može se vidjeti na Slika 1.

Slika 1 Dijagram sustava

Page 5: Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi

U okviru ovog rada u navedenu mobilnu aplikaciju dodana je

funkcionalnost pozadinskog servisa za detekciju BLE beacona (eng.

Bluetooth Low Energy Beacon), tj. BLE odašiljača pomoću kojih se realizira

sakupljanje podataka o okupiranosti u odabranim prostorijama 9. kata

neboderske zgrade FER-a u svrhu lokalizacije korisnika i radi poboljšanja

uštede energije temeljem navedenih podataka. Zbog proširenja

funkcionalnosti mobilne aplikacije, bilo je potrebno implementirati

odgovarajući pozadinski servis za poslužiteljsko računalo koji obrađuje

podatke o okupiranosti i sprema ih u bazu podataka. Zatim je pomoću

povijesnih podataka o okupiranosti realiziran algoritam predviđanja

okupiranosti prostorije korištenjem neuronskih mreža (eng. neural networks)

prikladne strukture, te je verificirana njegova efikasnost.

Page 6: Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi

2. BLE tehnologija

BLE (engl. Bluetooth Low Energy) ili Bluetooth Smart bežična je

tehnologija koju je napravila tvrtka Bluetooth Special Interest Group [1].

Navedena tehnologija najčešće se koristi u granama poput zdravstva,

fitness-a, bluetooth beacona i sigurnosti. U odnosu na klasičnu Bluetoothu

tehnologiju, glavna karakteristika BLE tehnologije je u tome što ima znatno

smanjenu potrošnju električne energije dok joj cijena ostaje u rangu sa

standardnom Bluetooth tehnologijom.

Mobilni operacijski sustavi, uključujući iOS, Android, Windows Phone i

BlackBerry te macOS, Linux, Windows 8 i Windows 10 nativno podržavaju

Bluetooth Smart. Bluetooth Special Interest Group predviđa da će do 2018.

godine više od 90% pametnih telefona koji podržavaju Bluetooth tehnologiju

podržavati i Bluetooth Smart [1].

2.1 Oglašavanje i otkrivanje

BLE uređaji otkrivaju se pomoću procesa koji se temelji na emitiranju

paketa za oglašavanje (engl. advertising packets). Navedeni proces postiže

se koristeći 3 različita kanala (frekvencije) kako bi se izbjegle smetnje.

Uređaji koji emitiraju pakete te uređaji koji skeniraju iste, prolaze kroz 3

kanala u svakom koraku u nizu. To znači da u prosjeku postoji vjerojatnost

od 1 naprema 9 za uređaj koji skenira da otkrije paket za oglašavanje dok se

pokazalo da je vjerojatnost puno manja u praksi. Kao posljedica male

vjerojatnosti detektiranja paketa za oglašavanje, vrijeme potrebno da se

otkrije neki BLE uređaj vrlo je varijabilno i u prosjeku puno veće nego

frekvencija pri kojoj uređaji emitiraju pakete.

2.2 Softverski model

Svi Bluetooth Smart (BLE) uređaji koriste softverski model GATT

(engl. Generic Attribute Profile). Sučelje programiranja aplikacija (engl. API)

koje nudi operacijski sustav koji podržava Bluetooth Smart upravo se bazira

na konceptima GATT-a [1]. GATT koristi sljedeću terminologiju:

Klijent

- uređaj koji inicira GATT naredbe i zahtjeve, te prihvaća odgovore, npr.

pametni telefon

Page 7: Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi

Poslužitelj

- uređaj koji prima GATT naredbe i zahtjeve, te vraća odgovore, npr.

BLE beacon

Svojstvo

- vrijednost podatka koji se šalje između klijenta i poslužitelja, npr.

razina napona baterije

Opisnik

- opisnik pruža dodatnu informaciju o svojstvu. Npr. vrijednost

temperature kao svojstvo prikazuje jedinicu u celzijusima, te

maksimalne i minimalne vrijednosti koje senzor mjeri. Opisnici nisu

obvezni – svako svojstvo može imati proizvoljni broj opisnika.

Servis

- kolekcija srodnih svojstava koja zajedno surađuju kako bi obavili

određenu funkciju. Npr. servis termometra koji sadrži svojstvo o

vrijednosti izmjerene temperature, te vremenski interval između

mjerenja

Identifikator

- servisi, svojstva i opisnici kolektivno se nazivaju atributima, a

identificiraju se pomoću UUID-a (engl. Universally unique identifier).

Na korisniku je da izabere nasumični UUID za svoje potrebe, ali tvrtka

Bluetooth SIG rezervirala je raspon UUID-a (u formi xxxxxxxx-0000-

1000-8000-00805F9B34FB) za standardne atribute. Zbog efikasnosti,

identifikatori su reprezentirani u obliku 16 bitnih ili 32 bitnih vrijednosti

u protokolu, umjesto 128 bitnih vrijednost potrebnih za reprezentaciju

cijelog UUID-a. Npr. atribut koji opisuje informacije o uređaju (eng.

Device Information) adresira se skraćenim kodom 0x180A, umjesto da

se piše puni UUID u obliku „0000180A-0000-1000-...“ .

Page 8: Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi

GATT operacije

- GATT protokol nudi razne naredbe pomoću kojih klijent otkriva

informacije o poslužitelju. To uključuje:

Oktrivanje UUID-a za sve primarne uređaje

Pronađi servis s danim UUID-om

Pronađi sekunderne servise s danim primarnim servisom

Otkrij sva svojstva za dani servis

Nađi svojstva koja odgovaraju danom UUID-u

Pročitaj sve opisnike za određeno svojstvo

Naredbe su također predviđene za čitanje (prijenos podataka od

poslužitelja prema klijentu) i pisanje (od klijenta prema poslužitelju)

vrijednosti svojstva:

vrijednost se može pročitati temeljem UUID-a svojstva ili preko

handle vrijednosti

operacije pisanja uvijek identificiraju svojstvo preko handle

vrijednosti, ali imaju mogućnost odabira jeli potreban odgovor

od poslužitelja ili ne

operacije 'Long read' i 'Long write' koriste se u slučaju kada je

veličina vrijednosti svojstva podataka veća od MTU-a (eng.

Maximum transmission unit) radio veze

GATT također pruža funkcionalnost notifikacija (eng. notifications) i

indikacija (eng. indications). Klijent može napraviti zahtjev za

notifikacijom za određeno svojstvo od poslužitelja. Poslužitelj tada

može poslati traženu vrijednost klijentu svaki put kada to bude

moguće. Npr. senzor za temperaturu kao poslužitelj može obavijestiti

klijenta (npr. pametni telefon) svaki put nakon što obavi novo mjerenje.

Time se izbjegava potreba za klijentom da čeka (eng. poll) poslužitelja,

što bi zahtjevalo da poslužiteljska radio veza bude konstanto u

operativnom stanju.

2.3 Utjecaj na bateriju

Bluetooth Smart dizajniran je tako da omogućuje uređajima malu

potrošnju energije. Studija tvrtke koja se bavi softverom za bluetooth

beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi koji mjere

udaljenost (eng. proximity beacons) , u prosjeku mogu nesmetano raditi u

vremenskom razmaku od 1 do 2 godine koristeći bateriju od 1,000 mAh. To

je izvedivo isključivo iz razloga što Bluetooth Smart tehnologija koristi

protokol koji odašilje malene pakete u odnosu na stariju Bluetooth Classic

tehnologiju koja također može slati i audio podatke zbog svoje visoke

Page 9: Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi

podatkovne propusnosti. Važno je naglasiti da Android i iOS uređaji imaju

različite utjecaje na bateriju ovisno u kojem režimu skeniranja operiraju te

koliko je BLE uređaja u neposrednoj blizini. Razvojem novijih i modernijih

čipova te optimizacijom softvera, Android i iOS uređaji danas imaju

zanemarivu potrošnju energije u realnim scenarijima korištenja.

2.4 Tehničke specifikacije BLE beacona

Bluetooth Smart tehnologija djeluje u istom rasponu spektra (2.400 –

2.4835 GHz ISM band) kao i klasična Bluetooth tehnologija, ali koristi drugi

skup kanala. Umjesto 79 kanala koji rade na frekvenciji od 1 MHz, Bluetooth

Smart radi s 40 kanala pri frekvenciji od 2 MHz. Podaci se odašilju koristeći

Gaussovu frekvencijsku modulaciju (eng. Gaussian frequency shift

modulation), koja je slična načinu na koji se podaci odašilju kod klasične

Bluetooth tehnologije. Brzina slanja podataka je 1 Mbit/s dok je najjača snaga

emitiranja 10 mW. Bluetooth Smart koristi frekvencijsko poskakivanje (eng.

frequency hopping) za suzbijanje pojava smetnje. Usporedbu tehničkih

specifikacija između tehnologije Bluetooth Classic i Bluetooth Smart (BLE)

tehnologije možemo vidjeti u Tablica 1.

Tehnička

specifikacija

Klasična Bluetooth

tehnologija

Bluetooth Smart

tehnologija

Domet (teoretski

maksimum)

100 m >100 m

Brzina prijenosa u

zraku

1-3 Mbit/s 1Mbit/s – 2 Mbit/s

Sigurnost 56/128-bit te ovisno

o korisničkoj

definiciji u

aplikacijskom sloju

128-bit AES Counter Mode

CBC-MAC te ovisno o

korisničkoj definiciji u

aplikacijskom sloju

Latentnost 100 ms 6 ms

Minimalno vrijeme za

slanja podataka

100 ms 3 ms

Potrošnja energije 1 W 0.01-0.50 W (ovisno o

primjeni)

Maksimalna potrošnja

električne struje

<30 mA <15 mA

Tablica 1

Page 10: Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi

3. Prikupljanje podataka o okupiranosti

Za prikupljanje podataka o okupiranosti korištena je tehnologija

Bluetooth Smart (BLE) na KontaktIO Bluetooth USB beaconima. Beaconi su

uređaji koji emitiraju Bluetooth signal u određenom vremenskom intervalu.

Navedeni beaconi izabrani su iz razloga što imaju konstantan izvor energije

preko USB sučelja zbog čega nemaju ograničenja u performansama, te

mogu slati maksimalan broj paketa u jedinici vremena radi veće preciznosti i

boljih rezultata. Oni pružaju aplikacijama informacije o svojoj lokaciji u

lokalnom okruženju te ovisno o svojoj konfiguraciji mogu se koristiti u raznim

primjenama poput:

navigacije u zatvorenom prostoru (eng. indoor navigation),

praćenje imovine (eng. asset tracking),

praćenje zaposlenika (eng. employee tracking),

marketing temeljen na korisničkoj udaljenosti od beacona (eng.

proximity marketing).

3.1 Konfiguracija beacona

Konfiguracija Kontakt beacona obavlja se preko mobilne Android

aplikacije. Mjenjanjem željenih parametara za konfiguraciju, oni se također

ažuriraju na Cloud servisu, te se isto tako mogu promjeniti preko web

aplikacije. Nakon odabira željenih parametara, podaci za konfiguraciju se

preko Bluetooth protokola zapisuju u sami beacon uređaj.

Signal koji se odašilje od strane beacona te prima od strane Android

uređaja ovisi o mnogo parametara. Razni predmeti i objekti, ljudi te razni

elektronički uređaji mogu dovesti do varijacija u primljenom signalu preko

kojeg se određuju podaci o okupiranosti, stoga je potrebno odabrati najbolju

moguću konfiguraciju.

Najvažniji parametar za konfiguraciju beacona je TX Power level,

odnosno snaga pri kojoj će se odašiljati signal. Bitno je napomenuti da

Blueooth signal može prolaziti kroz betonski zid, a za potrebe određivanja u

kojoj prostoriji se korisnik nalazi, pogotovo u slučaju da je prostorija malih

dimenzija (širina ili duljina <2 m) može doći do pogrešnih rezultata ako se

signali preklapaju kao što je ilustrirano na Slika 2, npr. ako korisnik koji je

ušao u prostoriju A dohvati signal iz susjedne sobe B u sustavu će se

registrirati da je korisnik istovremeno i u sobi A i u sobi B.

Page 11: Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi

Slika 2. Preklapanje signala u prostoriji

U ovom slučaju za parametar TX Power level izabrana je vrijednost 0,

tj. jačina signala koju odašilje beacon je -30 dBm što bi značilo da je domet

signala koju emitira beacon oko 2 m. U Tablica 2 mogu se vidjeti ostale

vrijednosti parametra TX Power level koje su omogućene za konfiguraciju.

Za komunikacijski protokol izabran je Eddystone protokol koji je ujedno

i cross-platform što znači da ne radi samo na iOS i Android uređajima, već

na bilo kojem uređaju koji podržava komunikaciju s Bluetooth beaconima.

Kao što je navedeno prije u tekstu, beaconi šalju Bluetooth signale u

određenom vremenskom intervalu dok se komunikacijskim protokolom

opisuje format u kojem će se slati podaci preko signala. Eddystone paket

sastoji se od UUID-a, tj. identifikatora beacona, a kao dodatne parametre

može se zadati URL koji će se otvoriti na pametnom telefonu ili nekom

drugom Bluetooth uređaju prilikom primitka paketa, te parametar TLM u

kojem se mogu zapisati određeni podaci koje želimo poslati od strane

beacona.

Page 12: Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi

Interval oglašavanja, tj. parametar advertising interval postavljen je na

vrijednost od 50 ms iz razloga kako bi se povećala vjerojatnost da klijent

(pametni telefon) dobije određeni paket, koji se iz prije obrazloženih razloga

može lagano izgubiti ovisno o radnoj okolini.

Hex vrijednost TX Power level Snaga transmisije

[dBm]

Domet [m]

E2 0 -30 dBm 2 m

EC 1 -20 dBm 4 m

F0 2 -16 dBm 10 m

F4 3 -12 dBm 20 m

F8 4 -8 dBm 30 m

FC 5 0 dBm 60 m

04 6 4 dBm 70 m

Tablica 2. snage transmisije i dometi za različite postavke TX Power level na BLE beaconu

3.2 Mobilna aplikacija

U okviru ovog rada implementirana je dodatna funkcionalnost

ENHEMS mobilne aplikacije zadužena za detekciju BLE beacona

postavljenih u prostorijama na 9. katu neboderske zgrade FER-a. Mobilna

aplikacija zasnovana je na operacijskom sustavu Android te je napisana u

programskom jeziku Java. Minimalna verzija Android operacijskog sustava

potrebna za pokretanje aplikacije je 4.1 Jelly Bean kako bi se aplikacija

mogla koristiti i na starijim uređajima.

Mobilna aplikacija radi sigurnosti zahtjeve prema poslužitelju šalje

preko protokola HTTPS (eng. HTTP over TLS/SSL), uključujući i podatke o

okupiranosti prostorija, što omogućuje sigurnu komunikaciju između klijenta i

poslužitelja.

Page 13: Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi

3.2.1 Pozadinski servis mobilne aplikacije

Pozadinski servis (eng. Service) komponenta je sučelja za

programiranje aplikacija operacijskog sustava Android, te je ujedno zadužena

za prikupljanje podataka o BLE beaconima. Pozadinski servis namijenjen je

za obradu dugotrajnih operacija u pozadini operacijskog sustava, a poziva ga

određena aplikacija pozivom metode startService. U slučaju da se korisnik

odluči prebaciti na drugu aplikaciju, te ako je aplikacija ugašena od strane

korisnika ili ju operacijski sustav ugasi zbog manjka radne memorije,

pozadinski servis može neovisno nastaviti svoj rad [2]. Prilikom skeniranja

BLE beacona, pozadinski servis implementiran u ENHEMS mobilnoj aplikaciji

(BackgroundScanService) zadužen je za periodično skeniranje beacona, te

asinkronu komunikaciju sa poslužiteljem kojemu se šalju podaci. Između

aplikacije i navedenog servisa nema direktne komunikacije (osim tijekom

inicijalizacije), što omogućuje da se skeniranje beacona u pozadini odrađuje

neovisno o tome ako je aplikacija otvorena ili zatvorena.

3.2.2 BackgroundScanService

Prilikom pokretanja ENHEMS mobilne aplikacije, pokreće se

LoginActivity, što je zapravo početna aktivnost aplikacije koja omogućuje

korisnicima prijavu u sustav. Nakon unosa korisničkog imena i lozinke,

LoginActivity provjerava postoji li aktivni token u privatnoj memoriji aplikacije

koji je dodijeljen u slučaju da se korisnik ulogirao u sustav u vremenskom

razmaku od 24 sata. Na taj način korisnik ne mora svaki put unositi podatke

u slučaju da želi koristiti aplikaciju.

Nakon uspješne prijave u sustav, poziva se nova aktivnost

CurrentActivity koja prikazuje glavni ekran aplikacije. CurrentActivity se

prilikom svoje inicijalizacije spaja na poslužitelj HTTP protokolom, koji zatim

šalje upit prema bazi podataka o trenutno registriranim prostorijama kojima je

pridjeljen jedan BLE beacon. U slučaju da dođe do greške na poslužitelju ili

bazi podataka, odnosno ako aplikacija ne dobije nužne podatke kako bi znala

točno koje Bluetooth uređaje traži, BackgroundScanService neće se

pokrenuti i aplikacija će dalje nastaviti nesmetano s radom, ali dakako bez

mogućnosti skeniranja beacona. Ako se podaci uspiju dohvatiti, stvara se

nova instanca BakcgroundScanService-a koja tada započinje sa skeniranjem

BLE beacona u pozadini aplikacije. Na Slika 3 može se vidjeti CurrentActivity

kako u trenutku nakon inicijalizacije ispisuje na ekran poruku da su uspješno

dohvaćeni podaci o registriranim sobama i beaconima.

Page 14: Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi

Slika 3. Poruka o uspješnom dohvatu BLE podataka

Nakon pokretanja BackgroundScanService-a, instancira se primjerak

razreda ProximityManager koji je zadužen za konfiguraciju parametara za

skeniranje Bluetooth uređaja. BLE tehnologija nudi dvije predefinirane duljine

intervala za skeniranje. Prva je ranging koji pruža najveće performanse iz

razloga što je skeniranje cijelo vrijeme aktivno, ali time se gubi na efikasnosti

zbog veće potrošnje baterije. Drugi interval skeniranja zove se monitoring. U

tom režimu rada aktivno se skenira u periodu od 8 sekundi, te se zatim

zaustavlja skeniranje i čeka sljedećih 30 sekundi do sljedećeg aktivnog

perioda. ProximityManager konfiguriran je na način da skenira u monitoring

režimu zbog puno veće efikasnosti, tj. zbog značajno manje potrošnje

baterije. ProximityManager također nudi 3 parametra koja određuju snagu pri

kojoj će se izvršavati skeniranje. To su low_power, balanced i low_latency.

Prvi parametar obavlja skeniranje u režimu rada s najmanjom potrošnjom

energije, te je ujedno iz tog razloga izabran pošto je ušteda energije prioritet

tijekom dužih intervala skeniranja, dok ostala dva parametra konzumiraju

više energije, ali uz bolje performanse.

Page 15: Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi

Nakon konfiguracije ProximityManager-a , potrebno mu je predati

implementaciju objekta EddystoneListener koji je pretplaćen na promjene

prilikom detekcije BLE beacona. EddystoneListener objekt mora

implementirati dvije metode nužne za detekciju. Prva metoda koja se poziva

kada je otkriven beacon zove se onEddystoneDiscovered. Naime ova

metoda se poziva samo nakon što je beacon prvi puta detektiran prilikom

ulaska u njegov domet signala. Metoda se može ponovno pozvati za pojedini

beacon samo u slučaju da je korisnik izašao iz dometa signala beacona, tj.

nakon poziva druge metode potrebne za implementaciju onEddystoneLost,

koja se poziva nakon što korisnik izađe iz dometa signala beacona. Pri

svakom pozivu navedenih metoda, asinkrono se uspostavlja veza sa

poslužiteljem, te se šalju podaci o okupiranosti pojedinog korisnika u JSON

formatu koji će biti opisan kasnije u tekstu.

U slučaju da se ENHEMS mobilna aplikacija ugasi, ili je automatski

ugašena od strane operacijskog sustava, pozadinski servis za skeniranje

beacona nastaviti će nesmetano skenirati u pozadini. Naime ako korisnik

odluči zaustaviti pozadinsko skeniranje, to je moguće preko tzv. application

drawer-a koji se nalazi u odjeljku za obavijesti (eng. notification bar) grafičkog

sučelja. Tijekom cijelog životnog ciklusa BackgroundScanService-a može se

vidjeti poruka o aktivnom skeniranju, te se isto tako može prekinuti skeniranje

u bilo kojem trenutku pritiskom gumba kao što je prikazano na Slika 4.

Obavijest o aktivnom skeniranjuSlika 4 .

Slika 4. Obavijest o aktivnom skeniranju

Page 16: Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi

4. Poslužitelj

Zadatak poslužitelja je obraditi zahtjeve koji se šalju preko mobilne

aplikacije, tj. nakon obrade podatke o okupiranosti spremiti u bazu podataka.

Poslužiteljski servis radi na Apache Tomcat poslužitelju te koristi Java Servlet

tehnologiju za obrađivanje zahtjeva.

Kada korisnik uključi svoju mobilnu aplikaciju, radi se upit prema

poslužitelju kako bi se dohvatile sve prostorije u kojima su postavljeni

beaconi, na taj način mobilna aplikacija zna koje Bluetooth uređaje treba

tražiti. Navedeni upit mapiran je na tzv. InitServlet. InitServlet posebna je

implementacija razreda Servlet, a njegova zadaća je da na HTTP GET upit

mobilne aplikacije, uspostavi vezu s bazom podataka, te iz tablice

ble_location (Slika 5) izvuče informacije o svim beaconima pridjeljenim

pojedinim prostorijama koje će mobilna aplikacija pretraživati. Nakon što

InitServlet dobije željene podatke, oni se pretvaraju u JSON (eng. JavaScript

Object Notation) String, te se vraćaju u HTTP odgovoru mobilnoj aplikaciji.

Slika 5. Tablica u bazi podataka ble_location

U trenutku kada mobilna aplikacija detektira BLE beacon ili izgubi vezu

s istim, mobilna aplikacija šalje HTTP POST zahtjev kako bi se podatak o

trenutnoj okupiranosti upisao u bazu podataka. Podatak je formatiran u

JSON formatu na način da se registrira trenutno vrijeme u kojem je došlo do

detekcije beacona, zatim u kojoj sobi je došlo do detekcije, status sobe

(korisnik je ušao ili izašao), te ID korisnika i beacona. U slučaju kada mobilna

aplikacija detektira beacon, u tablicu user_location u polje ble_status upisuje

se '1', dok u slučaju kada se izgubi signal od pojedinog beacona koji je

zadnji put oktriven, upisuje se '0'. Servlet zadužen za upisivanje navedenih

podataka u bazu zove se InsertBLEServlet. Format tablice s upisanim

podacima može se vidjeti na Slika 6.

Page 17: Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi

Slika 6. Tablica u bazi podataka user_location

5. Predviđanje okupiranosti

Kako bi se što bolje povećala energetska učinkovitost zgrada, u ovom

radu razvijena je funkcionalnost generiranja ispitnih podataka okupiranosti

prostorija, čime se tvori dovoljan skup podataka za korištenje prilikom učenja

neuronske mreže za predviđanje okupiranosti.

5.1 Generiranje podataka

Ulazne varijable za neuronsku mrežu najviše se odnose na vrijeme u

kojem je korisnik prisutan u nekoj prostoriji. To se većinom odnosi na dan i

sat za koje se predviđa stanje okupiranosti. Drugi parametri koji su se koristili

kao ulazni podaci su identifikatori pojedine prostorije, te identifikator

pojedinog korisnika.

Prva ulazna varijabla, dan u tjednu, koristi se kako bi se moglo

napraviti predviđanje za pojedine dane u tjednu. Očekuje se da stanje

okupiranosti ovisi od dana do dana za pojedinog korisnika, te se uključuje

kao ulazni parametar kako bi klasifikator korišten za predikciju mogao postići

bolji rezultat. Dan u tjednu određen je cjelobrojnim brojem na intervalu [0,6],

gdje 0 označava ponedjeljak, a 6 nedjelju. Druga ulazna varijabla broj je sati,

Page 18: Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi

koristi se kako bi se moglo u određenom vremenu tijekom dana odretiti stanje

okupiranosti u prostoriji, dok su preostala dva parametra identifikatori za

korisnika i prostoriju, potrebni kako bi mogli identificirati koji korisnik se nalazi

u određenoj prostoriji.

Prilikom generiranja podataka, uzeo se vremenski interval od dva

tjedna. Zatim se za svakog korisnika odredila vjerojatnost da se nalazi u

prostoriji u određenom vremenu koje se generira prema Gaussovoj razdiobi

kako bi se dobili što realniji podaci. Na navedeni način simuliralo se vrijeme

dolaska korisnika u prostoriju, te isto tako odlazak u vremenskom intervalu za

koji se vjeruje da se korsnik ne nalazi u sobi. U Tablica 3 prikazan je opis

ulaznih podataka za neuronsku mrežu.

Varijabla Tip varijable Kratki opis

Dan u tjednu Cjelobrojna Redni broj dana u

tjednu

Vrijeme Cjelobrojna Vrijeme u satima

ID Korisnika Cjelobrojna Identifikator korisnika

ID Prostorije Cjelobrojna Identifikator prostorije

Tablica 3. Opis ulaznih podataka

5.2 Neuronske mreže

Izabrani pristup za predviđanje okupiranosti prostorija neuronske su

mreže. One su se pokazale kao dobra metoda zbog lakog učenja zavisnosti

između ulaznih varijabli. Neuronska mreža sastoji se od neurona koji su

međusobno povezani, te na svojem ulazu primaju jedan ili više ulaza koje na

određeni način zbrajaju kako bi se dobio izlaz (tj. aktivacija). Obično se broj

svih ulaza ponderira, te se zbroj predaje nelinearnoj funkciji koja se zove

aktivacijska funkcija. Neuronske mreže podijeljene su na slojeve koji se

mogu razvrstati kroz 3 osnovna oblika: ulazni sloj, skriveni sloj (sastoji se od

jednog ili više slojeva) te izlazni sloj. Najčešće korištene mreže su

unaprijedne neuronske mreže (engl. feed-forward neural networks) kao npr.

višeslojni perceptron (engl. Multilayer Perceptron) te neuronske mreže s

radijalnim baznim funkcijama (engl. Radial Basis Function Network).

Page 19: Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi

Prednost neuronskih mreža mogućnost je nelinearnog modeliranja

zavisnosti između ulaznih varijabli. U ovom radu predviđanje okupiranosti

neuronskom mrežom može se prikazati sljedećim izrazom koju koristi

višeslojni perceptron:

𝑓(𝑥) = 𝑊2𝑔(𝑊1𝑇𝑥 + 𝑏1) + 𝑏2

gdje 𝑓 predstavlja funkciju koju uči klasifikator za svaki neuron u skrivenom

sloju gdje su 𝑊1 ∈ 𝑅𝑚 i 𝑊2, 𝑏1, 𝑏2 ∈ 𝑅 parametri modela. 𝑊1 predstavlja

težinu ulaznog sloja, a 𝑊2 predstavlja težinu skrivenog sloja, dok 𝑏1

predstavlja pristranost koja se dodaje skrivenom sloju mreže, a 𝑏2 pristranost

koja se dodaje izlaznom sloju.

𝑔(∙): 𝑅 → 𝑅 je aktivacijska funkcija, tj. funkcija tangens hiperbolni:

𝑔(𝑧) = 𝑒𝑧 − 𝑒−𝑧

𝑒𝑧 + 𝑒−𝑧

Za funkciju gubitka (engl. loss function) klasifikator koristi sljedeći izraz:

𝑔𝑢𝑏𝑖𝑡𝑎𝑘(𝑦, �̂�, 𝑊) = −𝑦𝑙𝑛(�̂�) − (1 − 𝑦) ln(1 − �̂�) + 𝛼 ||𝑊||22

gdje je 𝛼 ||𝑊||22 član L2-regularizacije ili kazna (engl. penalty), koji kažnjava

kompleksne modele gdje je 𝛼 > 0 nenegativni hiperparametar koji kontrolira

veličinu kazne.

Počevši od nasumičnih težina, višeslojni perceptron minimizira funkciju

gubitka tako što uzastopno ažurira navedene težine. Nakon što se izračuna

gubitak, on se propagira unazad (engl. backpropagation) od izlaznog sloja do

prethodnih slojeva, te se svakom težinskom parametru ažurira vrijednost

kako bi se smanjio gubitak. Pomoću gradijentnog spusta (engl. gradient

descent), računa se gradijent ∇𝑔𝑢𝑏𝑖𝑡𝑎𝑘𝑊 s obzirom na težine, te se odbija

od 𝑊. To možemo opisati izrazom:

𝑊𝑖+1 = 𝑊𝑖 − 𝜖∇𝑔𝑢𝑏𝑖𝑡𝑎𝑘𝑤𝑖

gdje 𝑖 predstavlja korak u iteraciji, a 𝜖 stopu učenja koja ima vrijednost veću

od 0. Nakon određenog broja iteracija, algoritam se zaustavlja [6].

Page 20: Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi

5.2.1. Unakrsna provjera

Kako ne bi došlo do prenaučenosti li podnaučenosti modela

neuronske mreže koristi se metoda pod imenom unakrsna provjera (engl.

cross-validation). Kod unakrsne provjere skup ulaznih podataka razdvaja se

na dva djela: skup za učenje (engl. training set) i skup za provjeru (engl.

validation set). Model se uči na skupu za učenje, a njegovu generalizacijsku

sposobnost provjeravamo na skupu za provjeru. Budući da klasifikator nije

učen na primjerima iz skupa za provjeru, na ovaj način može se vrlo dobro

procijeniti kako će se klasifikator ponašati na neviđenim primjerima. Što se

bolje klasificira hipoteza sa primjerima iz skupa za provjeru, to će biti bolja

generalizacijska sposobnost, odnosno lakše ćemo predvidjeti slične primjere

koje mreža još nije vidjela. Pogreška hipoteze mjerena na skupu koji nije

korišten za učenje (engl.off- training-set error) zove se pogreška

generalizacije [5].

Page 21: Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi

5.2.2. Optimizacija modela

Za optimizaciju modela koristio se algoritam pod imenom Adam što

dolazi od Adaptive Moments Estimation. Baziran je na stohastičkom

optimizatoru gradijenta prvog reda što omogućuje algoritmu malu potrošnju

memorije i efikasno izvršavanje. Navedeni algoritam prati uprosječno

kretanje gradijenta i kvadrata gradijenta uz eksponencijalno zaboravljanje [7].

Korekcija se radi prema uprosječenom gradijentu, a ne izračunatom (tj. efekt

momenta). U nastavku može se vidjeti pseudokod algoritma [4].

1. Algoritam Adam

1. Osiguraj: Korak veličine 휀 (predložena zadana vrijednost: 0.001)

2. Osiguraj: Eksponencijalne stope propadanja za procjene momenta, 𝜌1 𝑖 𝜌2 na

intervalu [0,1). (predložene zadane vrijednosti: 0.9 i 0.999 respektabilno)

3. Osiguraj : Mala konstanta 𝛿 korištena za numeričku stabilizaciju (predložena zadana

vrijednost 10−8)

4. Inicijaliziraj parametre 𝜽

Inicijaliziraj prvu i drugu varijablu momenta s = 0, r = 0

Inicijaliziraj vremenski korak t = 0

ponavljaj dok nije dostignut uvjet zaustavljanja

Uzmi mali skup uzoraka od m uzoraka iz skupa za učenje {𝒙(𝟏), … , 𝒙(𝒎)} s

odgovarajućim izlazom 𝒚(𝒊).

Izračunaj gradijent: 𝒈

← 𝟏

𝒎 𝛁 𝜽 ∑ 𝑳(𝒇(𝒙(𝒊); 𝜽), 𝒚(𝒊) )𝒊

𝒕

← 𝒕 + 𝟏

Ažuriraj pristranu procjenu prvog momenta: 𝒔

← 𝝆𝟏𝒔 + (𝟏 − 𝝆𝟏)𝒈

Ažuriraj pristranu procjenu drugog momenta: 𝒓

← 𝝆𝟐𝒓 + (𝟏 − 𝝆𝟐)𝒈ʘ𝒈

Ispravi pristranost u prvom momentu: 𝒔 ̂

← 𝒔

𝟏−𝝆𝟏𝒕

Ispravi pristranost u drugom momentu: : 𝒓 ̂

← 𝒓

𝟏−𝝆𝟐𝒕

Izračunaj ažurirane parametre: ∆𝜽 = −𝝐 �̂�

√𝒓 ̂+ 𝜹

Primjeni ažurirane parametre: 𝜽

← 𝜽 + ∆𝜽

završi petlju

Page 22: Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi

Kako bi se dobila što manja pogreška na skupu podataka za

validaciju,tj. kako bi predviđanja bila što točnija, potrebno je optimizirati tzv.

hiperparametre. Prilikom optimizacije hiperparametara, kao skup podataka

za učenje koristilo se 80% ulaznih podataka, dok se skup podataka za

validaciju sastojao od 20% ulaznih podataka. Budući da ne postoji primjeren

način kako izabrati hiperparametre, pogotovo kod složenijih sustava,

koristimo iscrpno traženje parametara iteriranjem kroz sve parametre, dok se

ne pronađe najmanja pogreška predikcije na skupu podataka za validaciju.

Na Slika može se vidjeti dio ispisa prilikom traženja hiperparametara, te na

kraju izabrane parametre za koje se dobio najbolji rezultat, tj. gdje je

pogreška na skupu za validaciju minimalna.

Slika 7. Traženje hiperparametara

Nakon optimizacije hiperparametara, dobivamo neuronsku mrežu

strukture koja koristi četiri ulazne varijable: dan u tjednu, broj sati,

identifikator korisnika i identifikator sobe. Izlaz neuronske mreže je '0' u

slučaju da se traženi korisnik ne nalazi u prostoriji, te '1' u slučaju da se

nalazi. Prilikom odabira hiperparametara, tražila se najmanja greška na

validacijskom skupu i najveća uspješnost koja se računa prema izrazu:

𝑢𝑠𝑝𝑗𝑒š𝑛𝑜𝑠𝑡(𝑦, �̂�) = 1

𝑛𝑢𝑧𝑜𝑟𝑎𝑘𝑎 ∑ 1(�̂�𝑖 = 𝑦𝑖)

𝑛𝑢𝑧𝑜𝑟𝑎𝑘𝑎− 1

𝑖=0

gdje je �̂�𝑖 uzorak izlaza iz predviđenog skupa, a 𝑦 uzorak izlaza iz skupa za

validaciju. Faktor učenja kod gradijentnog spusta 𝛼 određen je na vrijednost

od 10−6, dok je najbolje rezultate dala aktivacijska funkcija tangens

hiperbolni. Uspješnost neuronske mreže na validacijskom skupu je 96.53%.

Page 23: Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi

5.3 Predviđanje okupiranosti prostorije

Nakon optimizacije hiperparametara, neuronska mreža sprema se na

disk kako bi se mogla kasnije koristiti za predviđanje. Prilikom generiranja

podataka izgeneriralo se 3 korisnika kojima je pridjeljena određena prostorija

s time da je najveća vjerojatnost da se nalaze u svojoj sobi u određenom

vremenu. Želimo li predvidjeti hoće li se neki korisnik u određenom vremenu

nalaziti u željenoj prostoriji, napravljena je jednostavna desktop aplikacija s

grafičkim sučeljem koja nam to omogućava. Potrebno je odabrati željene

ulazne podatke, što su ujedno ulazni podaci izgenerirane neuronske mreže.

U navedenom primjeru na Slika možemo vidjeti kako je aplikacija predvidjela

da se korisnik nalazi u sobi za navedeno vrijeme.

Slika 8. Aplikacija za predviđanje okupiranosti

Page 24: Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi

6. Zaključak

Kako bi na što efikasniji i jednostavniji način smanjili energetsku

potrošnju zgrada, bitno je prepoznati tehnologije s kojima je to najlakše, te

najefikasnije napraviti. Bluetooth Low Energy pokazala se kao odlična

tehnologija za akviziciju podataka o okupiranosti prostorija za razliku od

standardne i zastarjele Bluetooth tehnologije, jer nudi značajno manju

potrošnju baterije i prisutna je na gotovo svim pametnim telefonima

današnjice. Bitno je naglasiti da je u opticaju i nova Bluetooth 5 tehnologija,

koja nudi još dvostruko brži prijenos podataka, i troši još manje energije od

trenutne Bluetooth Low Energy tehnologije, što znači da će se u skoroj

budućnosti Bluetooth beaconi moći koristiti sve više i efikasnije.

U ovom radu opisana je i implementirana funkcionalnost akvizicije

podataka korištenjem BLE tehnologije na Android mobilnim uređajima, te je

proširena poslužiteljska strana poslužitelja pokrenutog u sklopu ENHEMS-

Buildings projekta kako bi mobilna aplikacija mogla dohvaćati i spremati

podatke. Određenom konfiguracijom beacona, uključujući i odabir mjesta na

koje će se beaconi postaviti u prostoriji, mogu se dobiti precizne informacije o

okupiranosti prostorija tijekom dužeg vremenskog perioda.

Generiranjem podataka o okupiranosti pokušalo se na što realniji

način simulirati okupiranost korisnika u prostorijama neboderske zgrade

FER-a. U obzir su uzeta tipična vremena dolaska korisnika na radno mjesto,

okvirno vrijeme pauze, te vremena odlaska s radnog mjesta kako bi se

provjerila izvodljivost algoritma za predviđanje u realnim slučajevima.

Navedeni podaci zatim su korišteni za predviđanje okupiranosti pomoću

neuronskih mreža određenih struktura, te se pokazalo da su rezultati

predviđanja zadovoljavajući na vremenskoj bazi od jednog sata.

Page 25: Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi

7. Literatura

[1] Bluetooth BLE 2017. www.bluetooth.com

[2] Android Activity and Service 2017. https://developer.android.com

[3] Load forecast of a university building for application in microgrid power

flow optimization. http://ieeexplore.ieee.org/document/6850579

[4] Diederik P.Kingma, Jimmy Lei Ba. Adam: A Method for Stochastic

Optimization

[5] Jan Šnajder, Bojana Dalbelo Bašić. Strojno učenje. 2014.

[6] Machine Learning in Python . http://scikit-learn.org

[7] Duboko učenje – Optimizacija parametara modela. Marko Čupić. 2016.

Page 26: Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi

Predviđanje okupiranosti prostorije na temelju povijesnih podataka o

okupiranosti iz očitanja niskoenergetskog Bluetooth beacon sustava

Sažetak: Poznavanjem stanja okupiranosti prostorije te točnim

predviđanjem okupiranosti značajno se može unaprijediti

energetska učinkovitost zgrada ukoliko se navedene

informacije koriste pri upravljanju sustavima grijanja i hlađenja

zgrada. U ovom radu realizirano je sakupljanje podataka o

okupiranosti u odabranim prostorijama 9. kata neboderske

zgrade FER-a na minutnoj rezoluciji u postojeću bazu podataka

za upravljanje sustavom grijanja i hlađenja, korištenjem

niskoenergetskog Bluetooth beacon sustava za akviziciju

navedenih podataka, te algoritam predviđanja okupiranosti

prostorije na temelju povijesnih podataka o okupiranosti,

korištenjem neuronskih mreža prikladne strukture.

Ključne riječi: bluetooth, android, ble, predviđanje okupiranosti prostora

Page 27: Predviđanje okupiranosti prostorije na - bib.irb.hrbib.irb.hr/datoteka/903350.Zavrsni_rad_0036479891_Hari_Baric.pdf · beacone, Aislelabs, utvrdila je da uređaji kao što su beaconi

Prediction of Room Occupancy Based on Historical Occupancy Data from

Readings of the Bluetooth Low Energy Beacon System

Abstract: With knowledge of room occupancy data, as well as correct

prediction of occupancy data, it is possible to greatly improve

energy efficiency of buildings if they are used for controlling

heating and cooling systems of the building. Implementation of

acquiring occupancy data for 9th floor of the FER's C-building

to existing database used for controlling heating and cooling

systems using Bluetooth Low Energy beacon system, as well

as algorithm for prediction of occupancy data using neural

networks of suitable structure can be found in this thesis.

Keywords: bluetooth, android, ble, prediction of room occupancy