Aplikace pro mobilní zařízení Semestrálná práce z Y36MM1



Podobné dokumenty
ZAŘÍZENÍ PRO VZDÁLENÝ SBĚR A PŘENOS DAT FIRMWARE

Obsah. Kapitola 1. Předmluva 11 O této knize 13 Konvence...13

IP kamera. Uživatelský manuál

Simluátor Trilobota. (projekt do předmětu ROB)

Connection Manager - Uživatelská příručka


ROZVOJ ICT A PDA ZAŘÍZENÍ THE DEVELOPMENT OF ICT AND PDA DEVICES Jiří Vaněk

VirtualBox desktopová virtualizace. Zdeněk Merta

E LEARNINGOVÁ WEBOVÁ APLIKACE PRO VÝUKU BIOMEDICÍNSKÉHO INŽENÝRSTVÍ Petr Huňka

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

TÉMATICKÝ OKRUH Softwarové inženýrství

(JME) Vybrané partie z jazyka Java (NPRG021) Jiří Tomeš

SEMESTRÁLNÍ PROJEKT Y38PRO

Technologie Java. Jaroslav Žáček

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Inteligentní řešení kamerového systému

9. Sítě MS Windows. Distribuce Windows. Obchodní označení. Jednoduchý OS pro osobní počítače, pouze FAT, základní podpora peer to peer sítí,

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

EXTRAKT z mezinárodní normy

Obsah. Úvodem 9 Kapitola 1 Jaký počítač a jaký systém? 11. Kapitola 2 Obrázky a fotografie 21

Streaming multimediálního obsahu s

1) Instalace aplikace a) otevřete Obchod Play ve Vašem zařízení b) do vyhledávacího pole zajdejte výraz CamHi a vyhledání potvrďte

Duální Full HD kamerový systém Secutek C-M2W

Zápočtová úloha z předmětu KIV/ZSWI DOKUMENT SPECIFIKACE POŽADAVKŮ

Software pro vzdálenou laboratoř

Uživatelský manuál WEB SERVICE V3.0 IP kamer Dahua

MOBILNÍHO TELEFONU S BLUETOOTH

Programátorská příručka

TSM for Virtual Environments Data Protection for VMware v6.3. Ondřej Bláha CEE+R Tivoli Storage Team Leader. TSM architektura IBM Corporation

Nastavení telefonu Nokia N9

Analýza aplikačních protokolů

ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická. Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy

Úvod do aplikace SMS/MMS Manager

log in AHD_DVR Průvodce rychlým startem První část: základní operace

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

DINOX IP kamery řady: DDC-xxxx DDR-xxxx DDX-xxxx DDB-xxxx

Mobilní informační průvodce - RegTim

Vzdálený přístup k počítačům

Použití UART a radia na platformě micro:bit

Identifikátor materiálu: ICT-1-17

SCADA systémy na platformě mobilních zařízení

Semináˇr Java X J2EE Semináˇr Java X p.1/23

2N Helios IP. produktová prezentace

Komunikační protokoly počítačů a počítačových sítí

EXTRAKT z technické normy ISO

Identifikátor materiálu: ICT-3-03

File Transfer Protocol (FTP)

Jednotlivé hovory lze ukládat nekomprimované ve formátu wav. Dále pak lze ukládat hovory ve formátu mp3 s libovolným bitrate a také jako text.

Obsah ZÁKLADNÍ DESKA. O autorech 11 Úvod 13

Měření teploty, tlaku a vlhkosti vzduchu s přenosem dat přes internet a zobrazování na WEB stránce

Microsoft Windows Server System

TMU. USB teploměr. teploměr s rozhraním USB. měření teplot od -55 C do +125 C. 26. května 2006 w w w. p a p o u c h. c o m

gdmss Lite Android DVR Mobile Client Návod k obsluze aplikace

Návod k obsluze IP kamery Zoneway. IP kamery jsou určené pro odbornou montáž.

Návod k použití aplikace Reliview

Semestra lnı pra ce z prˇedmeˇtu : Mobilnı komunikace Popis profilu Bluetooth zar ˇı zenı Autor Libor Uhlı rˇ

SIMATIC S IT. Micro Automation. Promoters Meeting October Představení CP IT SPIDER CONTROL TELESERVIS. TESTOVACÍ server.

Uživatelský manuál. Format Convert V3.1

Nahrávací systém TriREC

Max. v pohotovosti: 220 h Max. doba hovoru: 4 h

Využití Adobe Flash pro řízení systémů připojených k PC

Video. Co je to video. Vlastnosti videa. Frame rate. Prokládání

Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám.

Seznam. Technologie Konfigurace. FFserver. Miroslav Slugeň. Teramos Multimedia, s.r.o. May 15, 2012

EXTRAKT z české technické normy

STŘEDOŠKOLSKÁ ODBORNÁ ČINNOST. Obor SOČ: 18. Informatika. Školní sdílení PC obrazovek. School sharing PC screens

Jakub Šesták. ESEJ DO PŘEDMĚTU DIGITÁLNÍ KNIHOVNY

BDVR HD IR. Návod na použití

Registrační číslo projektu: CZ.1.07/1.5.00/ Název projektu: Moderní škola 21. století. Zařazení materiálu: Ověření materiálu ve výuce:

Základní informace. Operační systém (OS)

JAVA. Java Micro Edition

TC-502L. Tenký klient

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

ADMINISTRACE POČÍTAČOVÝCH SÍTÍ. OPC Server

Dětská chůvička AI-IP020 se skrytou Full HD Wi-Fi kamerou

Fakulta informačních technologií VUT v Brně Ústav počítačových systémů Periferní zařízení, cvičení IPZ Analýza komunikace na sběrnici USB

Uživatelská příručka Kamera do auta DFS-V1

TC-502L TC-60xL. Tenký klient

Videoformáty na internetu Ing. Jakub Vaněk KIT digital Czech a.s. Situation: Q4 09 and 2010 Budget

Možnosti a využití linuxových přijímačů twin HD PVR se systémem Enigma2

Radiobudík s meteostanicí a skrytou kamerou

eses bezpečnostní kamera Full HD 1080P

Nastavení telefonu T-Mobile MDA Compact III

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

2. Nastavení aplikace pro použit s GoXtreme Omni 360

Mini adaptér USB2.0 -> Bluetooth 2.0, class II (10m) Katalogové číslo:

Název DUM: VY_32_INOVACE_2B_9_Software_-_základní_programové_vybavení_počítače

Cisco IOS TCL skriptování využití SMTP knihovny

Zpracování zvuku v prezentacích

Load Balancer. RNDr. Václav Petříček. Lukáš Hlůže Václav Nidrle Přemysl Volf Stanislav Živný

Nastavení telefonu HTC HD2

2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.

S10. Jednoduše výrazný a stylový. Vydání - Září, Vždy příjemný společník

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Použití programu WinProxy

Digitální video, formáty a kódování. Jan Vrzal, verze 0.8

Nastavení telefonu Nokia 206

B Series Waterproof Model. IP Kamera. Uživatelský manuál

EXTRAKT z mezinárodní normy

Transkript:

České vysoké učení technické v Praze Fakulta elektrotechnická Softwarové technologie a management Aplikace pro mobilní zařízení Akademický rok 2008/2009, LS Jiří Chadima chadij1@fel.cvut.cz Jiří Mašek masekj5@fel.cvut.cz

Obsah I. Cíle semestrální práce...3 II. Technologie...4 1. J2ME...4 2. MIDP 2.0...4 3. Mobile Media API (JSR 135)...4 1. Bluetooth (JSR 82)...5 3. Implementace...7 1. Architektura a vlastnosti aplikace...7 A. Mobilní zařízení Mobilní zařízení...7 B. Mobilní zařízení Počítač...8 2. Požadavky na mobilní zařízení...8 3. Používání...8 4. Závěr...9 5. Seznam použité literatury...10 IV. Přílohy...11 1. Otestovaná mobilní zařízení...11

I. Cíle semestrální práce Rozhodli jsme se implementovat a zprovoznit aplikaci pro živé streamování videa zaznamenaného pomocí vestavěného fotoaparátu v telefonu na jiné zařízení vybavené technologií Bluetooth. Jako platformu jsme zvolili J2ME 1, která je dnes v mobilních zařízeních standardem. 1 Java Micro Edition - 3 -

II. Technologie 1. J2ME J2ME je mobilní verze Javy, která oproti standardní Javě disponuje některými specialitami. Za prvé si musíme uvědomit, že J2ME je podmnožinou standardní edice Javy a musíme se obejít bez některých standardních knihoven. Naopak ale mobilní Java disponuje systémem profilů a kvalitně použitelným systémem návrhu funkcionalit pomocí JSR 2. Díky této architektuře se dají mobilní zařízení rozdělit do několika skupin a dá se velice snadno zjistit, zda dané zařízení podporuje knihovny, které my potřebujeme. Pro zvolenou úlohu je potřeba tato konfigurace zařízení. 2. MIDP 2.0 MIDP 3 rozšiřuje standard CLDC 4, který definuje základní standardy mobilní Javy. Původní MIDP přineslo základní API pro tvorbu mobilních aplikací, obsahuje knihovnu starající se o midlety (samotné mobilní aplikace), podporu pro perzistentní úložiště a v neposlední řadě také balík pro obsluhu GUI 5. MIDP 2.0 zareagovalo na příchod multimédií mezi telefony a vývojový tým připravil programátorům API pro práci právě s přehráváním audia a videa a také balík pro tvorbu GUI mobilních her. Práce s multimédii ve standardu MIDP 2.0 však není úplně dokonalá. Existuje JSR nazvané Mobile Media API, které MIDP 2.0 implementuje jen zčásti. Celá implementace sice existuje, její podpora ale není podmínkou pro zařazení mobilního telefonu mezi zařízení podporující MIDP 2.0. 3. Mobile Media API (JSR 135) Mobile Media API tedy přináší kvalitní podporu pro multimédia a zavádí možnost zaznamenávání audia či videa, nebo generování tónů. Základním principem je komunikace mezi zdrojem dat (DataSource) a přehrávačem (Player). Nad těmito dvěma třídami dlí Manager, který je obsluhuje. Následující ukázka kódu pochází přímo z dokumentace JSR 135 a je nazvaná zaznamenávání a nahrávání (Capturing and Recording). 2 Java Specification Request 3 Mobile Information Device Profile 4 Connected Limited Device Configuration 5 Graphical User Interface - 4 -

1. try { 2. // Vytvor DataSource zaznamenavajici zive audio. 3. Player p = Manager.createPlayer("capture://audio"); 4. p.realize(); 5. // Ziskej RecordControl, nastav umisteni pro nahravku a 6. // spust Player tak, aby nahraval 5 vterin 7. RecordControl rc = (RecordControl)p.getControl("RecordControl"); 8. rc.setrecordlocation("file:/tmp/audio.wav"); 9. rc.startrecord(); 10. p.start(); 11. Thread.currentThread().sleep(5000); 12. p.stop(); 13. rc.stoprecord(); 14. rc.commit(); 15.} catch (IOException ioe) { 16.} catch (MediaException me) { 17.} catch (InterruptedException e) { } K fotoaparátu (kameře) se přistupuje stejně, pomocí protokolu capture://video. Tento řetězec je takzvaný Media Locator, který specifikuje cestu ke zdroji dat. Nabízí například varianty pro lokální zdroje, zdroje přístupné přes RTP 6 nebo pro radiový signál. Zabudovaná je i podpora protokolu HTTP. 1. Bluetooth (JSR 82) Specifikace JSR 82 je programové rozhraní vyvinuté komunitou JCP 7, jenž umožňuje mobilním aplikacím na podporovaných zařízeních přístup k Bluetooth. Obr. 1: Bluetooth Protocol Stack a jeho vrstvy Rozhraní dále podporuje možnost využití různých protokolů Bluetooth (Obr. 1), nicméně jelikož cílem práce je pouhé streamování 6 Real-time Transport Protocol 7 Java Community Process - 5 -

videa, bohatě zde vystačí protokol RFCOMM 8, jenž je též znám jako virtuální sériový port. Specifikace v neposlední řadě podporuje architekturu klient server, přičemž v následujících dvou diagramech je znázorněn postup, jakým server (Obr. 2) s klientem (Obr. 3) navazují spojení. Obr. 2: Sekvenční diagram zobrazující interakci serveru při navazování spojení. Obr. 3: Sekvenční diagram zobrazující interakci klienta při navazování spojení. 8 Radio Frequency Communication - 6 -

3. Implementace 1. Architektura a vlastnosti aplikace Úloha se nám nakonec trochu přiohla a rozvětvila na dvě části. V následujících odstavcích se vám pokusíme přiblížit, jak tato řešení fungují. První variantou je komunikace mezi dvěma mobilními zařízeními, druhou pak komunikace mezi mobilním zařízením a počítačem. A. Mobilní zařízení Mobilní zařízení Pro aplikaci jsme obecně zvolili architekturu klient-server (vysílač-přijímač). Celou aplikaci řídí MainMidlet, který je jakýmsi controllerem. Příkazy od uživatelů jsou zpracovávány objektem třídy Commander, který implementuje rozhraní CommandListener a stává se jediným obsluhovačem událostí v celé aplikaci. Server i klient jsou zahrnuti v jedné aplikaci a není tak potřeba víc obsluhujících midletů. Zásadní funkcionalitou je hledání okolních zařízení, na kterých je spuštěn náš přijímací server. To je zajištěno v balíku devicediscovery, který se sestává z třídy obsluhující samotnou detekci a třídy reprezentující obrazovku, na níž se nalezené telefony objevují. Na stejné obrazovce má také uživatel možnost spustit server. Třídy obsluhující server jsou uloženy v balíku server. Jestliže je spuštěn server, zařízení se zviditelní pro okolní přístroje a očekává připojení jednoho klienta. Poté v nekonečné smyčce přijímá data z tohoto vysílače, dokud server nezastavíme. Klient se spustí po vybrání serveru, na který chceme posílat data. Předpoklad byl takový, že v reálném čase budeme odesílat celé video. Tady se však ukázaly limity mobilní Javy. Specifikace takové využití podporuje a nabízí, neobjevili jsme však žádný emulátor, který by uvedenou funkcionalitu poskytoval. Rozhodli jsme se tedy původní záměr malinko přehodnotit a aplikaci upravit tak, aby na vyžádání posílala tzv. snapshoty (snímky). Není ale problém aplikaci upravit tak, aby snapshoty posílala automaticky ve zvoleném intervalu, a je možné, že nakonec budeme prezentovat tuto automatickou variantu. A proč nejde streamovat přímo video? Podle specifikace má nahrávání zajišťovat objekt třídy RecordControl. Pro práci s videem však jeho podpora není implementována, a ačkoliv by se s jeho pomocí tato úloha dala zvládnout velice elegantně, není možné toto řešení efektivně otestovat, protože jednoduše není na čem. Při každém řešení se ale hlavně musí brát zřetel na technologické možnosti Bluetooth. Standardní přenosová rychlost se obecně udává - 7 -

někde na úrovni dvou megabitů, v praxi se na to však nedá spolehnout. Je proto potřeba při řešení s odesíláním celého videa vhodně nastavit jeho kvalitativní parametry (rozměry, barevná hloubka, komprese), v případě odesílání jednotlivých obrázků můžeme leccos ovlivnit i frekvencí. B. Mobilní zařízení Počítač Pro účely prezentace jsme se také rozhodli vytvořit jednoduchou desktopovou aplikaci, která bude zobrazovat snapshoty odesílané z mobilního zařízení. Desktopová aplikace se od té mobilní prakticky vůbec neliší, neboť obsahuje zcela totožnou třídu Server, přičemž knihovny mobilní Javy, jenž standardně implementují rozhraní JSR 182, zde byly pouze nahrazeny knihovnou avetanabluetooth v případě verze aplikace pro Linux a knihovnou BlueCove pro Windows a Mac. 2. Požadavky na mobilní zařízení Pro běh aplikace je potřeba mít telefon, nebo jiné zařízení s mobilní verzí Javy, které podporuje profily MIDP 2.0 a CLDC 1.0, a obsahuje podporu pro Bluetooth a MMAPI. Většina telefonů mladších dvou let tyto požadavky bez problému splňuje, avšak v praxi se chytřejší telefony ukázaly být velkým problémem. Pokusy o spuštění aplikace v prostředí Windows Mobile dopadly zcela neúspěšně. Příčinu problému se nám nicméně nepodařilo odhalit. Triviálním požadavkem je též přítomnost kamery na vysílacím zařízení. 3. Používání Aplikace mezi dvěma mobilními telefony funguje jak v emulátoru integrovaném přímo v NetBeans 6.5, tak i v Sun Wireless Toolkit. Při provozu aplikace na reálném zařízení může být řada zabezpečovacích mechanismů mobilní Javy pro uživatele dosti omezující. Stručně řečeno při každé zásadnější operaci vyžaduje mobilní zařízení uživatelův souhlas daným, přičemž největším problémem je žádost o potvrzení při každém pořízení snapshotu. Výrobci by však měli vesměs podporovat možnost vypnutí těchto opatření, takže pokud se s tímto problémem setkáte i ve vašem zařízení, zapátrejte v nastavení oprávnění aplikace a možná budete - 8 -

úspěšní. Provoz aplikace mezi mobilním zařízením a počítačem pak už jen vyžaduje PC s Bluetooth a mobilní zařízení vyhovující výše uvedeným podmínkám. - 9 -

4. Závěr Naučili jsme se pracovat s mobilní edicí Javy a prozkoumali jsme její multimediální možnosti. Ačkoliv to tak nevypadá, je to nástroj vskutku mocný a my jsme z něj využili jen velmi málo. Podpora Bluetooth je naprosto vynikající a vytvoření spojení není nijak obtížné a obdobně se to má i s multimédii. Zvolený přístup k práci s nimi je velice intuitivní a jejich používání je snadné. Momentálně snad jen zamrzí, že specifikace není zcela dotažená. Vývoj jde ale velice rychle dopředu a věřím tomu, že v dalších ročnících se některému z týmu podaří úlohu přenášející video v reálném čase implementovat. Zhruba za rok a půl by se měl komerčně rozšířit nový Bluetooth standard schopný rychlejších přenosů a zařízení podporující víc a víc z multimediálních specifikací se objevují snad každým dnem. Velice zajímavou a překvapivou situací tak byla skutečnost, že aplikace se nekamarádí s Windows Mobile. Čekali jsme, že velký operační systém bude Javu podporovat lépe. Nutno také říci, že internet je plný příkladů, dokumentů a tutoriálů, jak s mobilní Javou, potažmo multimédii pracovat. Zajímavým článkem je [6], kde autor zkoumá možnosti příjmu různých multimediálních formátů pomocí mobilní Javy. Ačkoliv se nám tedy tak úplně nepovedlo naplnit prvotní cíl naší práce, doufáme, že řešení, které se nám nakonec povedlo sestavit alespoň částečně dokáže nahradit přenos plnohodnotného videa. - 10 -

5. Seznam použité literatury 1. Wikipedia contributors. Wikipedia : Java APIs for Bluetooth [online]. Wikipedia, The Free Encyclopedia., 2005, last modified on 16 April 2009 [cit. 2009-05-10]. Dostupný z WWW: <http://en.wikipedia.org/w/index.php?title=java_apis_for_bluetooth&oldid=284221501>. 2. SOHAM, Sengupta. Wireless control of a hand held mobile device using bluetooth and java. [online]. 2006 [cit. 2009-05-10]. Dostupný z WWW: <http://www.geocities.com/sohamsengupta/net_03.doc>. 3. BRUCE, Hopkins. Using the JSR-82 API for OBEX Image Transfers. Sun Developer Network [online]. 2006 [cit. 2009-05-10]. Dostupný z WWW: <http://developers.sun.com/mobility/apis/articles/bluetoothobex/>. 4. The MMAPI Expert Group. Dokumentace k JSR 135, Mobile Media API [online]. 2006 [2009-05-31]. Dostupný z www: <http://java.sun.com/javame/reference/apis/jsr135/> 5. GOYAL, Vikram. J2ME Tutorial, Part 4: Multimedia and MIDP 2.0 [online]. 2005 [cit. 2009-05-31]. Dostupný z www: <http://today.java.net/pub/a/today/2005/09/27/j2me4.html> 6. GOYAL, Vikram. Experiments in Streaming Content in Java ME [online]. 2006 [cit. 2009-05-31]. Dostupný z WWW: <http://today.java.net/pub/a/today/2006/08/22/experiments-in-streaming-java-me.html> - 11 -

IV. Přílohy 1. Otestovaná mobilní zařízení Sony Ericsson W810i Nokia 6131 Úspěšně Úspěšně Sony Ericsson X1 Neúspěšně Ve Windows Mobile 6.0 nebylo možné aplikaci vůbec spustit. - 12 -