Analyzujte, navrhněte a implementujte aplikaci pro sledování spánku dětí Chůvička pro telefony na platformě Android. Od existujících aplikací se bude aplikace odlišovat tímto: funkční na dual-sim telefonech možnost přesměrovat příchozí hovory možnost nastavení více telefonních čísel pro případ, že je jedno nedostupné možnost využití internetového volání (Skype, Fring, Viber, Line,... ) Aplikaci řádně otestujte a zdokumentujte.
České vysoké učení technické v Praze Fakulta informačních technologií Katedra softwarového inženýrství Bakalářská práce Android aplikace pro sledování spánku dětí Pavel Stambrecht Vedoucí práce: Ing. Martin Komárek 10. dubna 2014
Prohlášení Prohlašuji, že jsem předloženou práci vypracoval(a) samostatně a že jsem uvedl(a) veškeré použité informační zdroje v souladu s Metodickým pokynem o etické přípravě vysokoškolských závěrečných prací. Beru na vědomí, že se na moji práci vztahují práva a povinnosti vyplývající ze zákona č. 121/2000 Sb., autorského zákona, ve znění pozdějších předpisů. V souladu s ust. 46 odst. 6 tohoto zákona tímto uděluji nevýhradní oprávnění (licenci) k užití této mojí práce, a to včetně všech počítačových programů, jež jsou její součástí či přílohou a veškeré jejich dokumentace (dále souhrnně jen Dílo ), a to všem osobám, které si přejí Dílo užít. Tyto osoby jsou oprávněny Dílo užít jakýmkoli způsobem, který nesnižuje hodnotu Díla a za jakýmkoli účelem (včetně užití k výdělečným účelům). Toto oprávnění je časově, teritoriálně i množstevně neomezené. Každá osoba, která využije výše uvedenou licenci, se však zavazuje udělit ke každému dílu, které vznikne (byť jen zčásti) na základě Díla, úpravou Díla, spojením Díla s jiným dílem, zařazením Díla do díla souborného či spracováním Díla (včetně překladu), licenci alespoň ve výše uvedeném rozsahu a zároveň zpřístupnit zdrojový kód takového díla alespoň srovnatelným způsobem a ve srovnatelném rozsahu, jako je zpřístupněn zdrojový kód Díla. V Praze dne 10. dubna 2014.....................
České vysoké učení technické v Praze Fakulta informačních technologií c 2014 Pavel Stambrecht. Všechna práva vyhrazena. Tato práce vznikla jako školní dílo na Českém vysokém učení technickém v Praze, Fakultě informačních technologií. Práce je chráněna právními předpisy a mezinárodními úmluvami o právu autorském a právech souvisejících s právem autorským. K jejímu užití, s výjimkou bezúplatných zákonných licencí, je nezbytný souhlas autora. Odkaz na tuto práci Stambrecht, Pavel. Android aplikace pro sledování spánku dětí. Bakalářská práce. Praha: České vysoké učení technické v Praze, Fakulta informačních technologií, 2014.
Abstrakt Cílem mé bakalářské práce je analyzovat, navrhnout, implementovat a otestovat aplikaci pro mobilní telefony s operačním systémem Android. Aplikace bude sloužit ke sledování spánku dětí. Hlavní požadavky na aplikaci jsou funkčnost na DUAL-SIM telefonech, možnost přesměrování příchozích hovorů, možnost nastavení více kontaktů a možnost využití internetového volání. Klíčová slova Android aplikace, hlídání dětí, DUAL-SIM telefon, přesměrování hovorů, internetové volání Abstract The bachelor s thesis is focused on analyzing, designing, implementing and testing an application for mobile phones with Android operating system. The application will be used to monitor the sleep of children. Main requirements for the application are DUAL-SIM support,the possibility of forwarding incoming phone calls, the possibility of setting more contacts and the possibility of using an internet calls. Keywords Android application, baby monitoring, DUAL-SIM phones, forwarding calls, internet calls vii
Obsah Úvod 1 1 Cíl práce 3 2 Analýza 5 2.1 Model požadavků.......................... 5 2.2 Model případu užití........................ 7 3 Návrh 13 4 Implementace 15 5 Testování 17 Závěr 19 A Seznam použitých zkratek 21 B Obsah přiloženého CD 23 ix
Seznam obrázků 0.1 Dětská chůvička............................ 1 2.1 Model případu užití.......................... 7 2.2 Případy použití............................. 8 2.3 Nastavení kontaktních údajů..................... 8 2.4 Monitorování spánku dítěte...................... 10 2.5 Kalibrace mikrofonu.......................... 10 2.6 Nastavení aplikace........................... 11 xi
Úvod Hlídání dětí patří a vždy patřilo mezi nejdůležitější činnosti jejich rodičů. Tato aktivita je nejvíce potřeba v době, kdy je dítě malé, nesamostatné a nejvíce zranitelné. Aby bylo o dítě nejlépe postaráno, je nutné mu věnovat téměř neustálou pozornost. Tato činnost je pro rodiče mnohokrát vyčerpávající a velmi časově náročná, proto někteří využívají různé způsoby, které jim hlídání usnadňují. Jednou z možností, jak si hlídání usnadnit, je používat dětskou chůvičku. Dětská chůvička, neboli elektronická chůvička, je elektronické zařízení, které rodičům pomáhá při hlídání jejich spících dětí. Zařízení monitoruje spánek dítěte a informuje o stavu, kdy je dítě vzhůru (např. pokud brečí). Zařízení využívá vlastnosti vysílaček, proto se také skládá ze dvou částí, které mezi sebou komunikují. První částí je monitorovací zařízení, které se nechává v blízkosti dítěte. Monitorovací zařízení je primárně určeno Obrázek 0.1: Dětská chůvička k měření hlasitosti zvuku a odesílání získaných dat do druhé části dětské chůvičky. Na základě hlasitosti zvuku dětská chůvička určuje, zda dítě spí či ne. Další funkce, které toto zařízení může podporovat, jsou měření teploty a vlhkosti vzduchu či nahrávání videa. Druhou částí je zařízení, které během monitorování mají u sebe rodiče. Zařízení zobrazuje přijatá data z monitorovací části a upozorňuje rodiče o stavu, kdy dítě nespí. 1
Úvod Dětské chůvičky již existují i ve formě aplikací do mobilních zařízeních. Mobilní zařízení v dnešní době podporují vše, co využívají dětské chůvičky (nahrávání zvuku, vzdálená komunikace, atd.), takže mohou plně zastat jejich funkci. Rodiče tedy nemusí kupovat nové zařízení, které by museli nabíjet a které by postupem času, jak dítě roste, přestali používat. Aplikace, které dokáží zastat funkčnost klasických dětských chůviček se navíc dají pořídit i zdarma. Z těchto důvodu může být jejich použití výhodnější než pořízení nové dětské chůvičky. Jednou z platform, pro které lze tuto i jiné aplikace vyvíjet, je například Android. Android je open source platforma, která byla primárně určena pro mobilní zařízení. Zahrnuje v sobě operační systém založený na jádru Linux, middleware, uživatelské rozhraní a aplikace. Jednou z předností platformy Android je možnost běhu na různém hardware. 2
Kapitola 1 Cíl práce Cílem mé bakalářské práce je vyvinout aplikaci která by zastupovala funkce dětských chůviček a tím rodičům přinášela další možnost, jak si usnadnit hlídání jejich spících dětí. Aplikace bude vyvíjena pro mobilní zařízení na platformě Android. Od ostatních aplikací zabývajících se touto problematikou, se tato aplikace bude lišit následujícími vlastnostmi: Aplikaci bude možno používat i na telefonech, které mají dvě SIM karty - tedy DUAL SIM telefonech Aplikace bude podporovat přesměrování příchozích hovorů na předem zvolené telefonní číslo Aplikace bude umožňovat vložení více telefonních čísel pro případ, že by některé z nich bylo nedostupný Pro informování uživatelů o stavu, kdy dítě nespí, bude aplikace umožňovat využití internetového volání 3
Kapitola 2 Analýza 2.1 Model požadavků V této části mé bakalářské práce popisuji všechny požadavky, které jsou na mnou aplikaci kladeny. Požadavky jsou rozděleny na dvě základní části - funkční a nefunkční požadavky. 2.1.1 Funkční požadavky Funkční požadavky slouží k určení všech primárních funkcí, které by aplikace měla splňovat. Aplikace, kterou vyvíjím bude splňovat následující funkční požadavky: 2.1.1.1 Podporora DUAL-SIM telefonů Na dnešním trhu s elektronikou přibývá stále více mobilních zařízeních, která podporují současný běh dvou SIM karet. Tyto mobilní zařízení se nazývají DUAL-SIM mobilní telefony. Některé aplikace, které byly vyvinuty pro běh na mobilních telefonech s jednou SIM kartou, nemusí na DUAL-SIM mobilních telefonech fungovat správně. Z tohoto důvodu je nutné do mé aplikace zahrnout podporu těchto zařízeních. 2.1.1.2 Přesměrování příchozích hovorů Mobilní telefon, který bude zastávat funkci dětské chůvičky, bude muset rodič během monitorování spánku nechat nedaleko dítěte. Z toho vyplývá, že se na tento telefon během monitorování nikdo nedovolá. Aby se tento problém odstranil, je žádoucí, aby aplikace umožňovala přesměrování příchozích hovorů na jiný přístroj, který může mít rodič u sebe. 5
2. Analýza 2.1.1.3 Nastavení více telefonních čísel Během monitorování spánku dítěte je nutné informovat rodiče o stavu, kdy se dítě probudí. Mobilní telefon, který bude detekovat probuzení dítěte, musí provést upozornění na zařízení, které bude mít u sebe rodič. Jednou z možností, jak to provést, je upozornit rodiče na telefonní číslo. Problém nastane v době, kdy je toto zařízení nedostupné (např. pokud se vybije baterie). Z tohoto důvodu je nutné, aby aplikace umožňovala nastavení více telefonních čísel. V době, kdy bude některé číslo nedostupné, provede se upozornění na jiné. 2.1.1.4 Internetového volání Téměř každý telefon s operačním systémem Android umožňuje připojit se k internetu. Internetové volání může být i bezplatné, takže uživatel platí jen za samotné připojení k internetu, což bývá velmi často výhodné. Z tohoto důvodu bude aplikace umožňovat provádění upozornění o probuzení dítěte pomocí internetového volání. 2.1.2 Nefunkční požadavky Nefunkční požadavky jsou takové požadavky, které nesouvisejí přímo s funkčností aplikace, ale i tak jsou důležité pro její správný běh. Aplikace, kterou vyvíjím, bude splňovat následující nefunkční požadavky. 2.1.2.1 Grafické uživatelské rozhraní Aplikace, kterou vyvíjím, bude uživatelům nabízet grafické uživatelské rozhraní (tzv. GUI). GUI uživatelům umožní ovládání aplikace dotyky prstu na display telefonu. 2.1.2.2 Běh na pozadí systému Monitorování spánku a detekce probuzení dítěte musí běžet nezávisle na zapnuté či vypnuté aplikaci. Abychom tohoto docílili, bude aplikace tyto funkce spouštět na pozadí systému. 2.1.2.3 Běh na platformě Android Aplikace bude navržena tak, aby ji bylo možno spustit na operačním systému Android. Použití operačního systému Android umožní uživatelům spouštět aplikaci na různých zařízeních. 6
2.2. Model případu užití 2.1.2.4 Detekce hlasitého zvuku Jednou z funkcí aplikace bude detekce hlasitého zvuku. Aplikace bude z mikrofonu získávat data o hlasitosti zvuku. Na základě těchto dat bude vyhodnocovat, zda dítě spí či je probuzené. 2.2 Model případu užití Model případu užití (tzv. use case model) je model, který zobrazuje veškerou funkcionalitu aplikace. Model dále obsahuje popis všech osob, které aplikaci používají. V mém případě se jedná jen o jednoho uživatele. Obrázek 2.1: Model případu užití 2.2.1 Případy použití Tato část mé bakalářské práce popisuje jednotlivé případy užití mé aplikace pro hlídání spánku a detekci probuzení dítěte. Konkrétně se jedná o nastavení kontaktních údajů, monitorování spánku dítěte, kalibraci mikrofonu a nastavení aplikace. 7
2. Analýza Obrázek 2.2: Případy použití 2.2.1.1 Nastavení kontaktních údajů Tato kapitola obsahuje popis funkčností systému souvisejících s nastavením kontaktních údajů. Obrázek 2.3: Nastavení kontaktních údajů 8
2.2. Model případu užití Aktivovat kontakt Aktivace kontaktu se použije v době, kdy chce uživatel některý kontakt nastavit aktivní pro odesílání upozornění o probuzení dítěte. Aktivace se provede zaškrtnutím políčka checkbox. Deaktivovat kontakt Deaktivace kontaktu se použije v době, kdy chce uživatel některý kontakt nastavit neaktivní pro odesílání upozornění o probuzení dítěte. Dektivace se provede odškrtnutím políčka checkbox. Nastavit kontakt pro přesměrování hovorů Případ užití této akce nastane v době, kdy chce uživatel nastavit dříve vložený kontakt pro přesměrování příchozích hovorů. Uživatel dlouže podrží vybraný kontakt. Následně se zobrazí menu, kde vybere možnost "Nastavit kontakt pro přesměrování příchozích hovorů". Nastavit primární kontakt Případ užití této akce nastane v době, kdy chce uživatel nastavit dříve vložený kontakt jako primární pro odesílání upozornění o probuzení dítěte. Uživatel dlouže podrží vybraný kontakt. Následně se zobrazí menu, kde vybere možnost "Nastavit jako primární kontakt". Odstranit kontakt Případ užití této akce nastane v době, kdy chce uživatel odstranit dříve vložený kontakt. Uživatel dlouže podrží vybraný kontakt. Následně se zobrazí menu, kde vybere možnost "Odstranit kontakt". Přidat kontakt Případ užití této akce nastane v době, kdy chce uživatel přidat nový kontakt. Uživatel klikne na tlačítko "Přidat kontakt". Následně se zobrazí formulář, kde si vybere typ kontaktu, který chce vložit. Vloží údaje o kontaktu a stiskne tlačítko "Vložit". Upravit kontakt Případ užití této akce nastane v době, kdy chce uživatel upravit dříve vložený kontakt. Uživatel dlouže podrží vybraný kontakt. Následně se zobrazí menu, kde vybere možnost "Upravit kontakt". Dále se zobrazí formulář, kde bude moci uživatel upravit dříve vložené údaje. Upravené údaje vloží stisknutím tlačítka "Upravit". 9
2. Analýza 2.2.2 Monitorování spánku dítěte Tato kapitola obsahuje popis funkčností systému souvisejících s monitorováním spánku dítěte. Obrázek 2.4: Monitorování spánku dítěte Spustit monitorování Případ užití této akce nastane v době, kdy chce uživatel monitorovat spánek a detekovat probuzení dítěte. Uživatel tuto akci spustí stisknutím tlačítka "Start". Zastavit monitorování Případ užití této akce nastane v době, kdy chce uživatel zastavit monitorovaní spánku a detekci probuzení dítěte. Uživatel tuto akci spustí stisknutím tlačítka ukazujícím aktuální hlasitost zvuku v db (jedná se o tlačítko "Start"). 2.2.3 Kalibrace mikrofonu Tato kapitola obsahuje popis funkčností systému souvisejících s kalibrací mikrofonu. Obrázek 2.5: Kalibrace mikrofonu 10
2.2. Model případu užití Odebrat decibel Případ užití této akce nastane v době, kdy chce uživatel kalibrovat hodnoty získané z mikrofonu odebráním decibelu. Uživatel stiskne tlačítko "-", čímž se od původních hodnot začne odečítat právě jeden decibel. Přidat decibel Případ užití této akce nastane v době, kdy chce uživatel kalibrovat hodnoty získané z mikrofonu přidáním decibelu. Uživatel stiskne tlačítko "+", čímž se k původním hodnotám začne přičítat právě jeden decibel. 2.2.4 Nastavení aplikace Tato kapitola obsahuje popis funkčností systému souvisejících s nastavením aplikace. Obrázek 2.6: Nastavení aplikace Nastavení hranice detekce hluku Hranice detekce hluku slouží jako mez, od které jsou veškeré vyšší hodnoty hlasitosti zvuku brány jako hluk. Případ užití této akce nastane v době, kdy chce uživatel nastavit tuto hranici. Uživatel v nastavení vloží číselnou hodnotu, která bude sloužit jako nová hranice detekce hluku. Nastavení délky trvání hluku Aby aplikace odeslala upozornění uživateli o stavu, kdy se dítě probudí, musí hluk trvat minimálně tak dlouho, jak je nastavena délka trvání hluku. Případ užití nastavení délky trvání hluku nastane v době, kdy chce uživatel nastavit tuto délku. Uživatel v nastavení vloží číselnou hodnotu v milisekundách, která bude sloužit jako délka trvání hluku. 11
Kapitola 3 Návrh 13
Kapitola 4 Implementace 15
Kapitola 5 Testování 17
19 Závěr
Příloha A Seznam použitých zkratek GUI Graphical user interface XML Extensible markup language 21
Příloha B Obsah přiloženého CD 23