• Rezultati Niso Bili Najdeni

Za delovanje pridobivanja podatkov preko ANT+ je telefon potreboval ˇse dve aplikaciji (ANT+ Plugins Service in ANT Radio Service), ki sta veˇcinoma ˇze nameˇsˇceni na telefonih s podprtim ANT+.

4.3 Uporabljene tehnologije

Pred odloˇcitvijo, katero tehnologijo bomo uporabili, smo najprej preverili, kaj sploh imamo na voljo. Torej, imamo Garminovo uro, kar nam omogoˇca uporabo tehnologije Bluetooth preko Garminovega API-ja ter tehnologijo ANT+ in imamo dostop do Samsungove pametne ure z operacijskim sistemom Android, kar nam omogoˇca uporabo Googlovega API-ja. Naˇsa prva odloˇcitev je bil Garminov API.

Ko nam ga ni uspelo pridobiti, smo se odloˇcili za tehnologijo ANT+. Na spletni strani [39] smo naˇsli dokumentacijo, primere, razlago in potrebne knjiˇznice. V konˇcni razliˇcici smo uporabili izboljˇsano verzijo knjiˇznice iz leta 2019 [41].

Izbrani operacijski sistem telefona je Android.

20 Aplikacija

4.3.1 ANT+

ANT+ je ANT omreˇzje, ki uporablja profile naprav, da definira poslane podatke preko omreˇzja. Profili naprav doloˇcajo specifiˇcne parametre kanala, kot so na pri-mer format poslanih podatkov, hitrost in pogostost poˇsiljanja. ANT je brezˇziˇcni protokol, Ki najbolje deluje na najniˇzjem, fiziˇcnem nivoju. Za oddajanje upora-blja frekvenco 2.4 GHz. Narejen je bil za uporabo v senzorjih, ki jih lahko nosimo na sebi in imajo majhno baterijo. ANT senzor vzpostavi kanal s telefonom, preko katerega poˇsilja podatkovne pakete. Vsi paketi so enako veliki in dokler je kanal vzpostavljen, jih bo senzor neprestano poˇsiljal z doloˇceno frekvenco. ˇCe ANT senzor zazna druge kanale, ki poˇsiljajo podatke v istem trenutku, se ˇcasovno prilagodi, da se ne prekrivajo, kar omogoˇca, da komunicira hkrati veˇc kot 300 senzorjev. Uporabo in razvoj ANT in ANT+ nadzira zveza ANT, ki je v lasti Garmina.[39]

4.3.2 Android

Android je najpopularnejˇsi mobilni operacijski sistem. Nahaja se na 2.5 mili-jarde aktivnih napravah in ima preko 3 milimili-jarde uporabnikov. Nameˇsˇcen je na telefonih, tablicah, pametnih urah, televizijah (Android TV) in vozilih (Android Automotive). Del operacijskega sistema Android je tudi Android Auto.[42]

Android Auto je sistem, ki poveˇze pametni telefon z zaslonom vozila in omogoˇca uporabo nekaterih funkcij telefona uporabnikom, kot na primer po-sluˇsanje glasbe, navigacijo in izvajanje klicev.[43]

Android in Android Auto vzdrˇzuje in razvija Google. Proizvajalci mobilnih naprav lahko spremenijo izgled operacijskega sistema s tem, da nanj namestijo svojo programsko opremo.[42]

4.4 Moˇzna uporaba aplikacije v avtomobilu 21

4.4 Moˇ zna uporaba aplikacije v avtomobilu

Naˇcrtovana aplikacija bi za grafiˇcni uporabniˇski vmesnik uporabljala Android Auto in zaslon vozila. ˇZal Android Auto podpira le ˇse tri kategorije aplikacij in sicer multimedijske aplikacije (za predvajanje glasbe, radia, avdio knjig in podob-nega), aplikacije za branje sporoˇcil (omogoˇca tudi odgovarjanje preko glasovnih posnetkov) in aplikacije za navigacijo, parkiranje in iskanje polnilnic.[44] Ker naˇsa aplikacija ne sodi med te, smo morali poiskati drugo reˇsitev. V avtomobilu bi bilo moˇzno uporabljati naˇso aplikacijo preko zrcaljenja zaslona, ki deluje do razliˇcice Androida 10. Od Androida 10 naprej je moˇzno preko zrcaljenja le prikazovati podatke in uporaba aplikacij ni mogoˇca. Tako zrcaljenje bi delovalo preko opera-cijskega sistema podobnega Android Autu, kot je na primer OpenAuto podjetja Blue Wave. Google ponovno omogoˇca izdelavo aplikacij za Android Auto izven zgoraj navedenih kategorij posebno izbranim partnerjem, pri ˇcemer ponovno na-vajajo moˇznost, da bo izdelava v prihodnosti dostopna tudi ˇsirˇsi javnosti.

4.5 Opis delovanja

4.5.1 Povezovanje s senzorjem

Ko pritisnemo na gumb Zaˇcetek, se najprej sproˇzi preverjanje, ali ˇze obstaja povezava s senzorjem. ˇCe obstaja, se zapre. S pomoˇcjo ANT+ knjiˇznice aplikacija nato poiˇsˇce obstojeˇce in ˇze povezane naprave ter jih izpiˇse v dveh seznamih, da lahko izberemo ˇzeleni senzor. Sledi vzpostavitev povezave z izbranim senzorjem z uporabo ANT+ knjiˇznice. Aplikacija sprejme rezultat povezovanja in izpiˇse sporoˇcilo uporabniku.

22 Aplikacija

Tabela 4.1: Izpisano sporoˇcilo uporabniku glede na sprejeti rezultat Sprejeti rezultat Sporoˇcilo uporabniku Dodatna akcija aplikacije CHANNEL NOT

AVAILABLE Kanal ni na voljo. Ni dodatne akcije.

ADAPTER NOT

Podatke se iz ANT+ senzorja pridobi s pomoˇcjo ANT knjiˇznice. Tako se v metodi naroˇcimo na vsak srˇcni utrip in takoj uporabimo podatek. Metoda nam poda srˇcni utrip kot ˇstevilko in ˇcas meritve kot datum. Srˇcni utrip uporabimo v metodi za izraˇcun nivoja stresa, za katerega uporabljamo metodo, znano kot HrTSS.

HrT SS = sum(t·HRR·0.64·e(F·HRR))·100/N N = 60·T HRR·0.64·e(F·HRR)

HRR = (HR−HRnajmanjˇsi)/(HRnajveˇcji−HRpovpreˇcni)

(4.1)

4.5 Opis delovanja 23

Neznanke v enaˇcbah so:

• HR = srˇcni utrip

• THRR = HRR pri povpreˇcnem srˇcnem utripu

• F = konstanta (1,92 za moˇske in 1,67 za ˇzenske)

To metodo uporabljajo za doloˇcanje nivoja stresa aplikacije za pametne ure, ki merijo uporabnikovo fiziˇcno stanje, kot sta na primer Strava in Garmin Connect IQ.[45, 46] Okvirno metoda deluje za merjenje v daljˇsem ˇcasovnem obdobju, saj je sestavljena kot vsota vrste, ki se deli s povpreˇcjem za celo ˇcasovno obdobje.

Ker mora aplikacija pridobivati podatke dinamiˇcno, smo metodo poenostavili, da namesto v vrstah, nivo preraˇcuna takoj. S tem se je zmanjˇsala natanˇcnost.

Poleg tega je potreben vnos najmanjˇsega, najveˇcjega in povpreˇcnega srˇcnega utripa uporabnika. Prav tako spola, saj se v formuli uporabi razliˇcna konstanta (1,92 za moˇske in 1,67 za ˇzenske). ˇCe srˇcni utrip naraste nad najveˇcji ali pade pod najmanjˇsi doloˇceni, se nastavitve prilagodijo. Nivo stresa tako ni nikoli nad vrednostjo 100 ali pod 0.

4.5.3 Shranjevanje v bazo podatkov

Za shranjevanje podatkov smo uporabili SQLite bazo podatkov. Za osnovne metode smo si naredili razred SQLHelper, ki razˇsirja SQLiteOpenHelper. V tem razredu smo definirali ime baze in ime tabele, ter imena stolpcev v tabeli. Razred vsebuje poleg konstruktorja tudi metodo onCreate, ki ustvari tabelo, in metodo onUpgrade, ki izbriˇse obstojeˇco tabelo in jo ponovno ustvari. Trenutna verzija naˇse baze je 3, saj smo najprej naredili tabelo izkljuˇcno za shranjevanje srˇcnega utripa, kasneje pa smo dodali ˇse stres in na koncu utrujenost. Tabela vsebuje ˇstiri stolpce: stolpec za datum, ki je tipa Date, in stolpce za srˇcni utrip, stres in utrujenost, ki so tipa Integer. Srˇcni utrip vsebuje ˇstevilo utripov srca v minuti, nivo stresa od 0 do 100 in utrujenost dejstvo, ali je bil uporabnik v danem trenutku utrujen, z 0 ali 1.

Na koncu metode, ki procesira podatke, kliˇcemo metodo za shranjevanje po-datkov v bazo. Metoda sprejme tri parametre: srˇcni utrip, nivo stresa in

utruje-24 Aplikacija

nost (0, ˇce uporabnik ni utrujen in 1, ˇce je). Metoda najprej odpre podatkovno bazo, nato napolni vrednosti in jih vstavi v tabelo. Na koncu zapre bazo. Datum, ki se vpiˇse v stolpec datum, se pridobi iz trenutnega ˇcasa v gregorijanskem kole-darju (GregorianCalendar) z nemˇskim lokalnim ˇcasom. Formatira se v naslednji format: dd.MM.yyyy HH:mm:ss.