ˇ ´I TECHNICKE´ V BRNEˇ VYSOKE´ UCEN BRNO UNIVERSITY OF TECHNOLOGY
ˇ ´ICH TECHNOLOGI´I FAKULTA INFORMACN ´ ´ U ˚ USTAV INTELIGENTN´ICH SYSTEM FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INTELLIGENT SYSTEMS
´ ´ AN ´ ´I PREZENTAC´I POMOC´I BEZDRATOV E´ OVLAD ˇ ´ITACE ˇ KAPESN´IHO POC
´ RSK ˇ ´ PRACE ´ BAKALA A BACHELOR’S THESIS
´ AUTOR PRACE AUTHOR
BRNO 2007
ˇ JAN LISKA
ˇ ´I TECHNICKE ´ V BRNE ˇ VYSOKE´ UCEN BRNO UNIVERSITY OF TECHNOLOGY
ˇ ´ICH TECHNOLOGI´I FAKULTA INFORMACN ´ ´ U ˚ USTAV INTELIGENTN´ICH SYSTEM FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INTELLIGENT SYSTEMS
´ ´ AN ´ ´I PREZENTAC´I POMOC´I BEZDRATOV E´ OVLAD ˇ ´ITACE ˇ KAPESN´IHO POC WIRELESS CONTROL OF PRESENTATIONS BY POCKET COMPUTER
´ RSK ˇ ´ PRACE ´ BAKALA A BACHELOR’S THESIS
´ AUTOR PRACE
ˇ JAN LISKA
AUTHOR
´ VEDOUC´I PRACE SUPERVISOR
BRNO 2007
ING. PETR NOVOSAD
Zad´an´ı Bezdr´atov´e ovl´ad´an´ı prezentac´ı pomoc´ı kapesn´ıho poˇc´ıtaˇce 1. Seznamte se s mobiln´ı platformou Pocket PC a s tvorbou program˚ u pro pˇr´ısluˇsn´e kapesn´ı poˇc´ıtaˇce. 2. Navrhnˇete zp˚ usob komunikace mezi stoln´ım a kapesn´ım poˇc´ıtaˇcem tak, aby bylo moˇzn´e z kapesn´ıho poˇc´ıtaˇce bezdr´atovˇe ovl´adat z´akladn´ı funkce prezentaˇcn´ıch program˚ u spuˇstˇen´ ych na stoln´ım poˇc´ıtaˇci. 3. Navrˇzen´e aplikace pro stoln´ı a kapesn´ı poˇc´ıtaˇc implementujte. 4. Zhodnot’te dosaˇzen´e v´ ysledky a naznaˇcte moˇzn´e pokraˇcov´an´ı projektu. Kategorie: Poˇc´ıtaˇcov´e s´ıtˇe
Licenˇcn´ı smlouva
Licenˇcn´ı smlouva je uloˇzena v archivu Fakulty informaˇcn´ıch technologi´ı Vysok´eho uˇcen´ı technick´eho v Brnˇe.
Abstrakt C´ılem projektu je navrhnout a realizovat aplikaci pro PDA, kter´a osvobod´ı osobu prov´adˇej´ıc´ı prezentaci z notebooku nebo i stoln´ıho poˇc´ıtaˇce od nutnosti ovl´adat prezentaci z kl´avesnice. Takov´a osoba totiˇz bˇeˇznˇe stoj´ı daleko od pl´atna nebo jeˇstˇe h˚ uˇre neust´ale pˇrech´az´ı od kl´avesnice k pl´atnu a zpˇet. Takov´eto ovl´ad´an´ı umoˇzn´ı prezentuj´ıc´ımu lepˇs´ı kontakt s posluchaˇci. Dokument obsahuje kr´atk´e sezn´amen´ı s kapesn´ımi poˇc´ıtaˇci a tvorbou program˚ u pro tato zaˇr´ızen´ı. V hlavn´ı ˇc´asti se zab´ yv´am n´avrhem a realizac´ı aplikace pomoc´ı architektury klient-server. Na z´avˇer uv´ad´ım n´avrhy pro dalˇs´ı v´ yvoj aplikace.
Kl´ıˇcov´a slova PDA, Pocket PC, Kapesn´ı poˇc´ıtaˇc, Prezentace, PowerPoint, Microsoft Visual Studio, C/C++, WinAPI, Microsoft Windows, Windows CE, Architektura klient-server, Bluetooth
Abstract This work deals with design and realization of an application for Pocket PC which controls presentation on notebook or desktop PC. The goal of this project is to free person from staying behind the computer during presentation. With this remote controller this person can move freely in the whole room and can be in better contact with audience. This document consists of short introduction to Pocket PCs and development tools for this devices. The main part describes concept and implementation of this application by client-server architecture. In the end there are suggestions for future developement of this application.
Keywords PDA, Pocket PC, presentation, PowerPoint, Microsoft Visual Studio, C/C++, WinAPI, Microsoft Windows, Windows CE, Client-server architecture, Bluetooth
Citace Jan Liˇska: Bezdr´atov´e ovl´ad´an´ı prezentac´ı pomoc´ı kapesn´ıho poˇc´ıtaˇce, bakal´aˇrsk´a pr´ace, Brno, FIT VUT v Brnˇe, 2007
Bezdr´atov´e ovl´ad´an´ı prezentac´ı pomoc´ı kapesn´ıho poˇc´ıtaˇce Prohl´aˇsen´ı Prohlaˇsuji, ˇze jsem tuto bakal´aˇrskou pr´aci vypracoval samostatnˇe pod veden´ım Ing. Petra Novosada ....................... Jan Liˇska 15. kvˇetna 2007
c Jan Liˇska, 2007.
Tato pr´ ace vznikla jako ˇskoln´ı d´ılo na Vysok´em uˇcen´ı technick´em v Brnˇe, Fakultˇe informaˇcn´ıch technologi´ı. Pr´ ace je chr´ anˇena autorsk´ym z´ akonem a jej´ı uˇzit´ı bez udˇelen´ı opr´ avnˇen´ı autorem je nez´ akonn´e, s v´yjimkou z´ akonem definovan´ych pˇr´ıpad˚ u.
Obsah ´ 1 Uvod
3
2 PDA 2.1 Charakteristika PDA . . . . . . . 2.2 Platformy na PDA . . . . . . . . 2.3 Tvorba program˚ u pro Pocket PC 2.3.1 Visual Studio .NET 2003 2.3.2 eMbedded Visual C++ 3.0 2.3.3 eMbedded Visual C++ 4.0 2.3.4 Jazyk C# . . . . . . . . . 2.3.5 Jazyk C/C++ . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
4 4 5 5 5 6 6 6 6
3 Anal´ yza probl´ emu 3.1 Motivace . . . . . . . . . . . . . . . . . . . 3.2 Funkˇcn´ı poˇzadavky . . . . . . . . . . . . . 3.3 Architektura klient - server . . . . . . . . 3.4 Klientsk´a ˇc´ast - PDA . . . . . . . . . . . . 3.5 Serverov´a ˇc´ast - PC . . . . . . . . . . . . 3.6 WinAPI . . . . . . . . . . . . . . . . . . . 3.6.1 Rozhran´ı API a pamˇet’ov´e modely 3.6.2 Komponenty WinAPI . . . . . . . 3.6.3 Moˇznosti jazyka . . . . . . . . . . 3.6.4 Programovac´ı prostˇred´ı . . . . . . 3.7 Bluetooth . . . . . . . . . . . . . . . . . . 3.7.1 Specifikace Bluetooth . . . . . . . 3.7.2 Programov´e ˇreˇsen´ı Bluetooth . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
. . . . . . . . . . . . .
8 8 8 9 9 9 9 9 10 10 10 11 11 11
4 N´ avrh 4.1 Komunikace mezi stoln´ım poˇc´ıtaˇcem a PDA 4.2 Klientsk´a ˇc´ast - PDA . . . . . . . . . . . . . 4.2.1 Zah´ajen´ı komunikace . . . . . . . . . 4.2.2 Odesl´an´ı zpr´avy . . . . . . . . . . . 4.2.3 Uˇzivatelsk´e rozhran´ı . . . . . . . . . 4.3 Serverov´a ˇc´ast - PC . . . . . . . . . . . . . 4.3.1 Zah´ajen´ı komunikace . . . . . . . . . 4.3.2 Uˇzivatelsk´e rozhran´ı . . . . . . . . . 4.3.3 Prov´adˇen´ı pˇr´ıkaz˚ u . . . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
12 12 12 12 13 13 14 14 14 14
. . . . . . . .
. . . . . . . .
1
. . . . . . . .
. . . . . . . .
5 Implementace 5.1 Klient . . . . . . . . . . . . . . . . 5.1.1 Pouˇzit´e v´ yvojov´e prostˇred´ı 5.1.2 Prvn´ı implementace . . . . 5.1.3 V´ ysledn´a implementace . . 5.1.4 Nˇekter´e d˚ uleˇzit´e funkce . . 5.2 Server . . . . . . . . . . . . . . . . 5.2.1 Pouˇzit´e v´ yvojov´e prostˇred´ı ˇ sen´ı . . . . . . . . . . . . 5.2.2 Reˇ 5.2.3 Nˇekter´e d˚ uleˇzit´e funkce . .
. . . . . . . . .
15 15 15 15 16 19 20 20 20 20
6 Podobn´ e produkty 6.1 Hardwarov´a ˇreˇsen´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Softwarov´a ˇreˇsen´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Srovn´an´ı . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22 22 23 23
7 Budouc´ı v´ yvoj
24
8 Z´ avˇ er
25
Seznam pouˇ zit´ ych zdroj˚ u
26
Seznam pˇ r´ıloh
27
A Obsah CD
28
B Uˇ zivatelsk´ a pˇ r´ıruˇ cka
29
. . . . . . . . .
2
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
Kapitola 1
´ Uvod Bˇehem posledn´ıch let velmi vzrostla obliba pouˇz´ıv´an´ı mobiln´ıch zaˇr´ızen´ı, jako jsou mobiln´ı telefony, pˇrenosn´e poˇc´ıtaˇce a dalˇs´ı, kter´e dok´aˇz´ı velmi zefektivnit kaˇzdodenn´ı pr´aci. Jsou pouˇz´ıvanˇejˇs´ı ˇc´ım d´al t´ım v´ıc zejm´ena proto, ˇze jejich rozmˇery jsou st´ale kompaktnˇejˇs´ı, a pˇritom jejich v´ ykon se neust´ale zvyˇsuje. V tˇechto dnech, kdy si t´emˇeˇr kaˇzd´ y potˇrebuje organizovat ˇcas, m´ıt pˇri sobˇe sv´e kontakty a pˇristupovat na internet a email t´emˇeˇr odkudkoliv, se zaˇc´ınaj´ı mezi lidmi rozˇsiˇrovat kapesn´ı poˇc´ıtaˇce. Kapesn´ı poˇc´ıtaˇc sice nem˚ uˇze plnˇe nahradit stoln´ı poˇc´ıtaˇc, ale umoˇzn´ı dostateˇcnou n´ahradu jeho bˇeˇzn´ ych funkc´ı v m´ıstˇe a dobˇe, kdy stoln´ı poˇc´ıtaˇc vyuˇz´ıt nelze. Hmotnost tˇechto zaˇr´ızen´ı vˇetˇsinou nepˇres´ahne 200 gram˚ u a je tedy moˇzn´e m´ıt je pˇri sobˇe 24 hodin dennˇe. Nav´ıc se na tˇechto zaˇr´ızen´ıch daj´ı spouˇstˇet programy podobn´e tˇem, kter´e zn´ame ze stoln´ıch poˇc´ıtaˇc˚ u. Pˇri pˇredstavov´an´ı nov´ ych myˇslenek, produkt˚ u, nebo pˇri v´ yuce se nezˇr´ıdka vyuˇz´ıv´ a prezentac´ı, kter´e jsou spuˇstˇeny na stoln´ım poˇc´ıtaˇci a zobrazov´any na prom´ıtac´ım pl´atnˇe. Prezentace slouˇz´ı pˇredevˇs´ım posluchaˇc˚ um, aby se ve v´ ykladu neztratili, a tak´e prezentuj´ıc´ımu jako vod´ıtko, kter´eho se chce pˇri sv´em v´ ystupu drˇzet. Ovl´ad´an´ı prezentace vyˇzaduje ˇ st´at u poˇc´ıtaˇce, na kter´em je prezentace spuˇstˇena. Casto by vˇsak prezentuj´ıc´ı chtˇel pˇrej´ıt od poˇc´ıtaˇce k pl´atnu, nebo bl´ıˇz k posluchaˇc˚ um, avˇsak odtud by nemohl prezentaci ovl´adat. Vytvoˇren´ım aplikace, kter´a by pomoc´ı kapesn´ıho poˇc´ıtaˇce umoˇznila ovl´adat prezentaci spuˇstˇenou na jin´em poˇc´ıtaˇci, se zab´ yv´a tato pr´ace. Pr´ace byla rozˇclenˇena do osmi kapitol. Prvn´ı kapitola uv´ad´ı ˇcten´aˇre do problematiky z ˇsirˇs´ıho pohledu. V druh´e kapitole jsou pops´any kapesn´ı poˇc´ıtaˇce a problematika v´ yvoje aplikac´ı pro tato zaˇr´ızen´ı. Tˇret´ı kapitola rozeb´ır´a anal´ yzu probl´emu, podle kter´e jsou nast´ınˇena moˇzn´a ˇreˇsen´ı v souvislosti s poˇzadavky na funkˇcnost. V dalˇs´ı kapitole je podle anal´ yzy proveden n´avrh ˇreˇsen´ı, navrˇzen pˇribliˇzn´ y vzhled uˇzivatelsk´eho rozhran´ı a chov´an´ı aplikace. P´at´a kapitola popisuje konkr´etn´ı implementaci podle n´avrhu. V ˇsest´e kapitole jsou pops´any podobn´e produkty, kter´e rovnˇeˇz umoˇzn ˇuj´ı ovl´ad´an´ı prezentace na d´alku. Je zde provedeno srovn´an´ı s navrhovan´ ym ˇreˇsen´ım. Sedm´a kapitola naznaˇcuje moˇzn´ y budouc´ı v´ yvoj aplikace. Posledn´ı kapitola uzav´ır´ a ˇreˇsen´ y probl´em a sumarizuje dosaˇzen´e v´ ysledky a zkuˇsenosti s v´ yvojem.
3
Kapitola 2
PDA 2.1
Charakteristika PDA
Podle [8, 5] se zkratkou PDA oznaˇcuje mal´ y kapesn´ı poˇc´ıtaˇc. Tento akronym je odvozen z n´azvu Personal Digital Assistant - osobn´ı digit´aln´ı pomocn´ık. P˚ uvodnˇe mˇely PDA za c´ıl pˇredevˇs´ım pomoci s organizov´an´ım ˇcasu a kontakt˚ u. Souˇcasn´e PDA jsou velmi v´ ykonn´e a zvl´adaj´ı i pˇrehr´av´an´ı videa a spoustu dalˇs´ıch aplikac´ı, kter´e jsou podobn´e tˇem ze stoln´ıch poˇc´ıtaˇc˚ u. Historie PDA sah´a do roku 1980, kdy firma Psion definovala tento n´azev. V´ ykon a vybaven´ı tˇechto zaˇr´ızen´ı se vyv´ıj´ı velmi rychle. Nyn´ı jiˇz maj´ı nˇekter´e PDA procesor o frekvenci vyˇsˇs´ı neˇz 600 MHz a aˇz 128 MB RAM operaˇcn´ı pamˇeti. D´ale mohou obsahovat modul pro komunikaci pˇres Bluetooth, Wi-Fi pro bezdr´atov´e pˇripojen´ı, GSM modul pro pouˇz´ıv´ an´ı PDA souˇcasnˇe jako mobiln´ıho telefonu, nebo modul GPS pro urˇcen´ı pozice uˇzivatele na Zemi. Nav´ıc kaˇzd´e PDA obsahuje slot pro pamˇet’ovou kartu, kter´ y nejˇcastˇeji slouˇz´ı pro zv´ yˇsen´ı kapacity u ´loˇzn´eho prostoru, avˇsak rovnˇeˇz umoˇzn ˇuje pˇridat dalˇs´ı pˇr´ıdavn´a zaˇr´ızen´ı, kter´a PDA neobsahuje, jako napˇr. fotoapar´at. • Hmotnost kapesn´ıho poˇc´ıtaˇce se pohybuje mezi 100 a 250 gramy a rozmˇery obvykle nepˇresahuj´ı 15 × 10 × 2 cm. Pouˇz´ıv´a baterii jako zdroj energie. • Kapesn´ı poˇc´ıtaˇc je vybaven dotykov´ ym displejem, kter´ y se ovl´ad´a tuˇzkou, naz´ yvanou stylus. Ovl´ad´an´ı prob´ıh´a prostˇrednictv´ım ukazov´an´ı na grafick´e objekty, zobrazen´e na displeji. • PDA nem´a plnohodnotnou kl´avesnici jako stoln´ı poˇc´ıtaˇc. Text se zad´av´a pomoc´ı syst´emu rozpozn´av´an´ı p´ısma, nebo mal´e kl´avesnice, kter´a se zobraz´ı na displeji. Tento zp˚ usob vyhovuje pouze pˇri psan´ı kr´atk´ ych text˚ u, jako napˇr. pozn´amek nebo kontakt˚ u. • PDA je schopn´e komunikovat s okol´ım bud’ pomoc´ı bezdr´atov´ ych technologi´ı, nebo pˇres kabel. Budoucnost kapesn´ıch poˇc´ıtaˇc˚ u je naznaˇcov´ana mnoha trendy, kter´e jsou ale nezˇr´ıdka protich˚ udn´e. Z jedn´e strany je zde snaha pˇribliˇzovat se komunik´ator˚ um a implementovat funkce mobiln´ıch telefon˚ u, na druh´e stranˇe vznikaj´ı modely s velk´ ymi displeji a vysok´ ym rozliˇsen´ım. Dokonce se objevily i pˇr´ıstroje s pevn´ ym diskem. Asi neexistuje jedna optim´aln´ı cesta, protoˇze kaˇzd´emu vyhovuje nˇeco trochu jin´eho. D´ıky tomu ale m˚ uˇze vznikat ˇsirok´ a nab´ıdka r˚ uzn´ ych pˇr´ıstroj˚ u se sice podobn´ ymi, avˇsak v detailech rozd´ıln´ ymi vlastnostmi. 4
2.2
Platformy na PDA
Mezi nejˇcastˇejˇs´ı operaˇcn´ı syst´emy pouˇz´ıvan´e na PDA patˇr´ı Windows Mobile, PalmOS, Linux a Symbian. Pro tento projekt byla vybr´ana platforma Pocket PC od firmy Microsoft, a proto se j´ı budu nyn´ı zab´ yvat. Prvn´ı u ´vahy o implementaci tohoto operaˇcn´ıho syst´emu (t´eˇz zvan´em Pocket PC) pro kapesn´ı poˇc´ıtaˇce pˇriˇsly na svˇet v roce 1992. Do projektu se zapojily zejm´ena spoleˇcnosti Microsoft, Compaq, Motorola, NEC a Sharp. V roce 1995 byl vyd´an Windows CE 1. V roce 1998 vyˇsel Windows CE 2.0, kter´ y pˇrinesl vˇetˇs´ı rozliˇsen´ı a tak´e podporu Wi-Fi pro pˇr´ıstup do bezdr´atov´ ych s´ıt´ı. V dubnu 2000 byl vyd´an Windows CE 3.0, kter´ y se od pˇredchoz´ıch verz´ı dost odliˇsoval, a byl n´apadnˇe podobn´ y konkurenˇcn´ımu Palmu. Nepouˇz´ıval totiˇz kl´avesnici, displej byl vyˇsˇs´ı neˇz ˇsirˇs´ı s rozliˇsen´ım 320*240 a prim´arnˇe se vˇse ovl´adalo pˇres dotykov´ y displej. Pouze nejˇcastˇeji pouˇz´ıvan´e funkce byly namapov´any na hardwarov´a tlaˇc´ıtka a tento syst´em se v z´asadˇe pouˇz´ıv´a dodnes. Souˇcasnˇe s tˇemito zmˇenami doˇslo k dalˇs´ı d˚ uleˇzit´e vˇeci, a to k v´ yrazn´emu sn´ıˇzen´ı cen PDA s t´ımto operaˇcn´ım syst´emem, a Windows CE z´ıskal pˇrevahu nad Palmem. Od verze Windows CE 4.0 je syst´em oznaˇcov´an jako Pocket PC 2003, nebo sp´ıˇse jako Windows Mobile 2003, k v´ yrazn´ ym zmˇen´am, kter´ ych by si uˇzivatel´e vˇsimli, ale nedoˇslo. Windows Mobile 2003 SE pˇrinesl podporu rozliˇsen´ı VGA. Aktu´aln´ı verze je Windows Mobile 2005 (Windows CE 5.0), kter´a pˇredevˇs´ım umoˇzn ˇuje synchronizaci s operaˇcn´ım syst´emem Windows Vista na stoln´ıch poˇc´ıtaˇc´ıch. V´ıce viz [10].
2.3
Tvorba program˚ u pro Pocket PC
V´ yvoj aplikac´ı pro PDA se pˇr´ıliˇs neliˇs´ı od v´ yvoje aplikac´ı pro stoln´ı poˇc´ıtaˇce. Pˇri v´ yvoji je vˇsak potˇreba br´at v u ´vahu slabˇs´ı v´ ykon procesoru, m´enˇe operaˇcn´ı pamˇeti, menˇs´ı displej, ovl´ad´an´ı stylusem a tak´e v´ ydrˇz baterie PDA. V souˇcasn´e dobˇe je k dispozici nˇekolik v´ yvojov´ ych n´astroj˚ u. Zde se budu vˇenovat tˇem od spoleˇcnosti Microsoft, nebot’ jsou zdarma a pro v´ yvoj´aˇre volnˇe k dispozici. Microsoft tˇemito n´astroji pokr´ yv´a v podstatˇe vˇsechna Pocket PC a Smartphone zaˇr´ızen´ı zaloˇzen´a na architektuˇre Windows Mobile. Tato kapitola poskytne pˇrehled z´akladn´ıch moˇznost´ı a vyuˇzit´ı nab´ızen´ ych n´astroj˚ u tak, aby bylo moˇzn´e vybrat si ten, kter´ y nejv´ıce vyhovuje poˇzadavk˚ um tohoto projektu. V´ıce viz [1].
2.3.1
Visual Studio .NET 2003
Tento n´astroj vyuˇz´ıv´a moˇznost´ı, kter´e pˇrin´aˇs´ı Microsoft .NET Compact Framework a umoˇzn ˇuj´ıc´ı v´ yvoj distribuovan´ ych aplikac´ı. V´ yvoj´aˇri poskytuje knihovnu tˇr´ıd pro pohodln´ y a rychl´ y v´ yvoj aplikac´ı, stejnˇe jako i tvorbu tˇr´ıd (komponent) nov´ ych a opˇetovnˇe pouˇziteln´ ych. V´ yvoj´aˇr vyv´ıj´ı aplikace, kter´e pouˇz´ıvaj´ı stejn´e n´astroje jak na Pocket PC, tak i na stoln´ım poˇc´ıtaˇci. T´ım se cel´ y v´ yvojov´ y proces sjednocuje a poskytuje pˇrenositeln´ y a univerz´aln´ı zdrojov´ y k´od nez´avisl´ y na procesoru a operaˇcn´ım syst´emu. Programovac´ım jazykem se zde st´av´a novˇe vznikl´e C# a upraven´ y Visual Basic .NET. Ve v´ yˇctu vlastnost´ı nesm´ı chybˇet tak´e podpora Web proces˚ u.
5
2.3.2
eMbedded Visual C++ 3.0
Microsoft eMbedded Visual Tools 3.0 poskytuje koncov´e v´ yvoj´aˇrsk´e prostˇred´ı s jednoduch´ ym a intuitivn´ım grafick´ ym uˇzivatelsk´ ych rozhran´ım (d´ale GUI), integrovan´ y kompil´ator, lad´ıc´ı n´astroj a samozˇrejmˇe kompletn´ı dokumentaci k platformˇe. Tento n´astroj je prim´arnˇe urˇcen pro v´ yvoj aplikac´ı pro operaˇcn´ı syst´em Windows Mobile 2002 (t´eˇz zn´am´ y jako Pocket PC 2002). Je moˇzn´e v nˇem vyv´ıjet aplikace urˇcen´e pro OS Windows Mobile 2003, i kdyˇz v´ ysledn´ y k´od nen´ı zoptimalizovan´ y pˇr´ımo pro nˇej. Ladˇen´ı aplikac´ı je moˇzn´e dvˇema zp˚ usoby. ’ Bud pˇres MS ActiveSync nebo pomoc´ı integrovan´eho emul´atoru. Emul´ator je dod´av´an automaticky jako souˇc´ast SDK (Software Development Kit) pro WM2002, plnˇe emuluje moˇznosti Pocket PC zaˇr´ızen´ı vˇcetnˇe vzhledu a umoˇzn ˇuje spouˇstˇet zkompilovan´e bin´arn´ı soubory pro WM2002 pˇr´ımo ve virtu´aln´ım prostˇred´ı. M´am-li prov´est srovn´an´ı, pak je nutn´e ztotoˇznit tento n´astroj s n´astrojem zn´am´ ym ze stoln´ıch poˇc´ıtaˇc˚ u – MS Visual Studio. Souˇc´ast´ı je eM++ ++ bedded Visual C 3.0 (odlehˇcen´e Visual C ) a tak´e eMbedded Visal Basic 3.0 (odlehˇcen´ y Visual Basic). Stejnˇe jako na stoln´ıch poˇc´ıtaˇc´ıch, i zde je moˇzn´e pouˇz´ıvat ActiveX komponenty, COM servery nebo grafick´e rozhran´ı poskytovan´e pomoc´ı Game API (GAPI).
2.3.3
eMbedded Visual C++ 4.0
Microsoft eMbedded Visual C++ 4.0 poskytuje koncov´e v´ yvoj´aˇrsk´e prostˇred´ı pro v´ yvoj aplikac´ı pro Windows CE .NET 4.2 zaˇr´ızen´ı a pˇres dostupn´ y opravn´ y bal´ıˇcek (SP2) tak´e pro WM2003. Z principu vych´az´ı z eVC++ 3.0 a pˇrid´av´a k nˇemu nov´e moˇznosti, kter´e dˇr´ıve nebyly v´ yvoj´aˇr˚ um dostupn´e. Tyto moˇznosti zahrnuj´ı JIT (Just-In-Time) lad´ıc´ı n´astroj pro diagnostiku nezachycen´ ych vyj´ımek, strukturovan´a spr´ava vyj´ımek zn´am´a z VC++, ,,Attach-To” proces (neboli pˇripojen´ı k jin´emu procesu) pro lepˇs´ı lad´ıc´ı moˇznosti (zn´am´ y probl´em ladˇen´ı napˇr. Today doplˇ nk˚ u, kter´e nebylo v eVC++ 3.0 prakticky moˇzn´e) a samozˇrejmˇe tak´e nov´ y emul´ator zaloˇzen´ y na WM2003. K´od produkovan´ y t´ımto n´astrojem je moˇzn´e spustit pouze na zaˇr´ızen´ıch zaloˇzen´ ych na WM2003 nebo Windows CE .NET 4.2.
2.3.4
Jazyk C#
C# (vyslovovan´e anglicky jako C sharp) je vysoko´ urovˇ nov´ y objektovˇe orientovan´ y programovac´ı jazyk vyvinut´ y firmou Microsoft z´aroveˇ n s platformou .NET. Microsoft zaloˇzil C# na jazyc´ıch C++ a Java (a je tedy nepˇr´ım´ ym potomkem jazyka C, ze kter´eho ˇcerp´ a syntaxi). C# se vyuˇz´ıv´a hlavnˇe k tvorbˇe datab´azov´ ych program˚ u, webov´ ych aplikac´ı, webov´ ych sluˇzeb, formul´aˇrov´ ych aplikac´ı ve Windows apod. V´ yhodou je pˇrenositelnost mezi platformami, kter´a vypl´ yv´a z toho, ˇze zdrojov´ y k´od je kompilov´an aˇz za bˇehu aplikace. Nev´ yhodou je pomalejˇs´ı bˇeh programu a pro spuˇstˇen´ı aplikace je nutn´e m´ıt nainstalov´ an .NET framework.
2.3.5
Jazyk C/C++
C je programovac´ı jazyk, kter´ y vyvinuli Ken Thompson a Dennis Ritchie pro potˇreby operaˇcn´ıho syst´emu Unix v roce 1973. V souˇcasn´e dobˇe je to jeden z nejpopul´arnˇejˇs´ıch jazyk˚ u, zˇrejmˇe nejˇcastˇejˇs´ı pro psan´ı syst´emov´eho softwaru, ale velmi rozˇs´ıˇren´ y i pro aplikace. Pojmenov´an´ı ,,C” zvolili, protoˇze mnoho vlastnost´ı pˇreb´ırali ze starˇs´ıho jazyka zvan´eho ,,B”, jehoˇz n´azev byl zase odvozen od jazyka BCPL. Jedn´a se o jazyk kompilovan´ y, a tud´ıˇs nepotˇrebuje ˇz´adn´e dalˇs´ı nainstalovan´e prostˇred´ı pro spuˇstˇen´ı aplikace.
6
C++ je objektovˇe orientovan´ y programovac´ı jazyk, kter´ y vyvinul Bjarne Stroustrup a dalˇs´ı v Bellov´ ych laboratoˇr´ıch AT&T jako rozˇs´ıˇren´ı jazyka C. C++ podporuje nˇekolik programovac´ıch styl˚ u (paradigmat), jako je procedur´aln´ı programov´an´ı, objektovˇe orientovan´e programov´an´ı a generick´e programov´an´ı. Z toho vypl´ yv´a, ˇze to nen´ı jazyk ˇcistˇe objektov´ y. Jazyk C je aˇz na nˇekolik jasnˇe definovan´ ych v´ yjimek podmnoˇzinou C++. Jak uv´ ad´ı Bjarne Stroustrup, vˇsechny programy uveden´e ve slavn´e uˇcebnici jazyka C The C Programming Language od Briana W. Kernighana a Dennise M. Ritchieho jsou z´aroveˇ n programy v C++. Prvn´ı pˇrekladaˇce C++ byly preprocesory, kter´e pˇrekl´adaly z C++ do ˇcist´eho C. Povaˇzovat jazyk C++ za pouh´e rozˇs´ıˇren´ı jazyka C by ale bylo chybou, protoˇze nen´ı s jazykem C zcela kompatibiln´ı. Nˇekter´e programy v jazyce C nelze pˇrekl´adat pˇrekladaˇci pro C++.
7
Kapitola 3
Anal´ yza probl´ emu 3.1
Motivace
Bˇehem posledn´ıch let se vˇetˇsina pˇredn´aˇsek a konferenc´ı pˇrenesla od prezentac´ı na pr˚ usvitk´ ach k prezentac´ım, kter´e jsou vytvoˇreny a ovl´ad´any pomoc´ı poˇc´ıtaˇce. Zobrazovac´ı technika umoˇzn ˇuje zobrazit prezentaci na velk´em pl´atnˇe, kter´e je dobˇre viditeln´e vˇsem posluchaˇc˚ um v mnohdy velk´ ych pˇredn´aˇskov´ ych s´alech. Prezentace slouˇz´ı pˇredn´aˇsej´ıc´ımu jako vod´ıtko, kter´eho se m´a pˇri prezentov´an´ı drˇzet, ale hlavnˇe posluchaˇc˚ um, kteˇr´ı z n´ı vyˇctou nejd˚ uleˇzitˇejˇs´ı pojmy. B´ yvaj´ı do n´ı zahrnuty tak´e sloˇzitˇejˇs´ı ˇc´asti, kter´e chce prezentuj´ıc´ı podrobnˇeji vysvˇetlit. K tomu ˇcasto potˇrebuje pˇrej´ıt od poˇc´ıtaˇce, ze kter´eho prezentaci ovl´ad´a, k pl´atnu a z tohoto m´ısta na pl´atnˇe konkr´etn´ı vˇeci ukazovat a vysvˇetlovat. Pokud ale chce pokraˇcovat v ovl´ad´an´ı prezentace, mus´ı se opˇet vr´atit od pl´atna ke kl´avesnici. Podobn´ y probl´em m˚ uˇze nastat tehdy, pokud chce b´ yt prezentuj´ıc´ı v bliˇzˇs´ım kontaktu s posluchaˇci, napˇr´ıklad mezi nimi proch´azet a bavit se s nimi z oˇc´ı do oˇc´ı. Pak opˇet nem´a moˇznost prezentaci na poˇc´ıtaˇci ovl´adat. Je to podobn´e jako s televiz´ı. Dok´aˇze si dnes jeˇstˇe nˇekdo pˇredstavit pˇrep´ın´an´ı programu nebo zes´ılen´ı zvuku bez d´alkov´eho ovl´ad´an´ı? Elektronika m´a lidem usnadˇ novat ˇzivot a tato pr´ace se usnadnˇen´ı a zefektivnˇen´ı snaˇz´ı doc´ılit.
3.2
Funkˇ cn´ı poˇ zadavky
Uˇzivatel by mˇel b´ yt schopen pomoc´ı kapesn´ıho poˇc´ıtaˇce ovl´adat prezentaci spuˇstˇenou na stoln´ım poˇc´ıtaˇci. Tzn. uˇzivatel na PDA stiskne tlaˇc´ıtko a podle tlaˇc´ıtka se pˇr´ısluˇsn´a akce na tomto poˇc´ıtaˇci vykon´a. Ovl´ad´an´ım prezentace se mysl´ı tyto funkce: • pˇrechod na dalˇs´ı / pˇredchoz´ı sn´ımek prezentace • pˇrechod na zaˇc´atek / konec prezentace • zes´ılen´ı / zeslaben´ı zvuku prezentace • ovl´ad´an´ı kurzoru myˇsi PDA a PC spolu mus´ı nˇejak´ ym zp˚ usobem komunikovat. Jedn´ım ze zp˚ usob˚ u komunikace, kter´ y se hod´ı pro tento pˇr´ıpad, je technologie Bluetooth (bude probr´ana v kapitole 3.7). Projekt se tedy skl´ad´a ze dvou ˇc´ast´ı: serverov´e a klientsk´e. Klientsk´a ˇc´ast je program pro PDA. To slouˇz´ı jako d´alkov´ y ovladaˇc, kter´ y odes´ıl´a poˇzadavky. Serverov´a ˇc´ast je program 8
pro PC, kter´ y realizuje pˇr´ıkazy od klienta. D´ale se jiˇz budu vˇenovat klientsk´e i serverov´e ˇc´asti samostatnˇe.
3.3
Architektura klient - server
Jedn´a se o s´ıt’ovou architekturu, kter´a oddˇeluje klienta od serveru. Klient m˚ uˇze b´ yt aplikace s grafick´ ym uˇzivatelsk´ ym rozhran´ım, kter´a na vyˇz´ad´an´ı zobrazuje data pˇrijat´a od serveru. Typick´ ym pˇr´ıkladem je webov´ y prohl´ıˇzeˇc. Jakmile webov´ y prohl´ıˇzeˇc (klient) odeˇsle serveru poˇzadavek na webovou str´anku, server poˇzadavek zpracuje, vyhled´a vˇsechny souˇc´asti potˇrebn´e pro zobrazen´ı str´anky a tu odeˇsle zpˇet klientovi, kter´ y n´aslednˇe str´anku zobraz´ı. Jin´ y pˇr´ıpad architektury klient - server je tzv. vzd´alen´a prezentace, kdy server pˇrij´ım´ a data od klienta a zobrazuje je (zpracov´av´a). To je pˇr´ıpad naˇs´ı aplikace. V´ıce viz [6].
3.4
Klientsk´ aˇ c´ ast - PDA
Po spuˇstˇen´ı programu se zobraz´ı obrazovka pro ustaven´ı komunikace mezi klientem a serverem. V pˇr´ıpadˇe komunikace pˇres Bluetooth mus´ı uˇzivatel zvolit pouze pˇr´ısluˇsn´ y port a d´ale jiˇz vid´ı obrazovku s ovl´adac´ımi tlaˇc´ıtky, pomoc´ı kter´ ych m˚ uˇze ovl´adat spuˇstˇenou prezentaci. Klientsk´a ˇc´ast by mˇela obsahovat hezk´e grafick´e rozhran´ı, spoˇc´ıvaj´ıc´ı v ergonomick´em rozloˇzen´ı tlaˇc´ıtek. Aplikace by mˇela prezentuj´ıc´ımu ulehˇcit ovl´ad´an´ı prezentace tak, aby mohl pˇrech´azet mezi sn´ımky bez nutnosti d´ıvat se na PDA a nedoch´azelo pˇritom k ˇcast´ ym stisknut´ım jin´ ych tlaˇc´ıtek.
3.5
Serverov´ aˇ c´ ast - PC
Server nejprve ˇcek´a na pˇripojen´ı klienta a po nav´az´an´ı spojen´ı pˇrij´ım´a a vykon´av´a jeho poˇzadavky. Ovl´ad´an´ı prezentace by mˇelo b´ yt nez´avisl´e na programu, ve kter´em je prezentace spuˇstˇena. Takov´e programy vˇzdy rozum´ı kl´avesov´ ym povel˚ um page up, page down apod. Pro takov´e ovl´ad´an´ı je nutn´a spolupr´ace aplikace s operaˇcn´ım syst´emem – v naˇsem pˇr´ıpadˇe Microsoft Windows, a pˇresnˇe tyto sluˇzby nab´ız´ı Windows API (viz n´asleduj´ıc´ı kapitola).
3.6
WinAPI
WinAPI [3, 9] je neform´aln´ı zkratka pro Windows Application Programming Interface – aplikaˇcn´ı programov´e rozhran´ı operaˇcn´ıho syst´emu Microsoft Windows.
3.6.1
Rozhran´ı API a pamˇ et’ov´ e modely
Z pohledu program´atora je operaˇcn´ı syst´em definov´an sv´ ym API. API obsahuje vˇsechna vol´an´ı funkc´ı, kter´e od operaˇcn´ıho syst´emu m˚ uˇze aplikaˇcn´ı program ˇz´adat. Nav´ıc obsahuje definice souvisej´ıc´ıch datov´ ych typ˚ u a struktur. Obecnˇe plat´ı, ˇze Windows API z˚ ust´av´a zcela konzistentn´ı od Windows 1.0. Funkce, kter´e byly dostupn´e ve Windows 1.0, jsou stejn´e i v dneˇsn´ıch verz´ıch Windows, nebo byly rozˇs´ıˇreny z d˚ uvodu pˇrechodu z 16bitov´e architektury na 32bitovou. Prvn´ı Windows podporovaly m´enˇe neˇz 450 funkc´ı, zat´ımco dnes jich jsou tis´ıce.
9
3.6.2
Komponenty WinAPI
Podle funkc´ı, kter´e WinAPI nab´ız´ı, m˚ uˇzeme komponenty rozdˇelit do sedmi kategori´ı. Pˇreklad nˇekter´ ych n´azv˚ u do ˇceˇstiny by byl umˇel´ y a nepouˇz´ıv´a se, a proto ponech´am n´azvy v angliˇctinˇe. Soubory, kter´e poskytuj´ı jednotliv´e funkce, maj´ı r˚ uzn´e n´azvy v z´avislosti na tom, jestli je operaˇcn´ı syst´em 16bitov´ y nebo 32bitov´ y. J´a zde vyp´ıˇsi pouze jejich 32bitov´e verze. Base Services – poskytuj´ı pˇr´ıstup k z´akladn´ım zdroj˚ um operaˇcn´ıho syst´emu. Jedn´a se napˇr. o souborov´ y syst´em, zaˇr´ızen´ı, procesy, vl´akna, pˇr´ıstup k registr˚ um a zpracov´ an´ı chyb. Tyto funkce se nach´azej´ı v souborech kernel32.dll a advapi32.dll. Graphics Device Interface - poskytuj´ı funkce pro grafick´ y v´ ystup na monitor, tisk´arnu apod. Naj´ıt je m˚ uˇzeme v gdi32.dll ve 32bitov´ ych Windows. User Interface - pomoc´ı t´eto komponenty m˚ uˇzeme vytv´aˇret okna na obrazovce a vˇetˇsinu kontroln´ıch prvk˚ u, jako jsou tlaˇc´ıtka a posuvn´ıky, zpracov´avat zpr´avy od myˇsi a kl´avesnice a dalˇs´ı. Tato komponenta tak´e obsahuje funkce, spojen´e s uˇzivatelsk´ ym rozhran´ım syst´emu Windows. Obsahuje je soubor user32.dll. Od verze Windows XP se tyto funkce, spoleˇcnˇe s Common Control Library, nach´azej´ı v comctl32.dll. Common Dialog Box Library - tato komponenta zpˇr´ıstupˇ nuje dialogov´a okna pro otev´ır´ an´ı a ukl´ad´an´ı soubor˚ u, vyb´ır´an´ı druh˚ u p´ısma a podobn´a. Nach´az´ı se v comdlg32.dll. Common Control Library - umoˇzn ˇuje aplikaci pˇristupovat k pokroˇcilejˇs´ım prvk˚ um syst´emu, jako je stavov´ y ˇr´adek a dalˇs´ı souˇc´asti okna. Tyto funkce se nach´azej´ı v comctl32.dll. Windows Shell - komponenta, umoˇzn ˇuj´ıc´ı pˇr´ıstup k funkc´ım, kter´e poskytuje shell operaˇcn´ıho syst´emu. Tyto funkce se nach´azej´ı v shlwapi.dll Network Services - poskytuje funkce pro vyuˇz´ıv´an´ı s´ıt’ov´ ych sluˇzeb, jako jsou NetBIOS, Winsock a dalˇs´ı.
3.6.3
Moˇ znosti jazyka
Jazyk C a jemu vlastn´ı API nen´ı jedin´ ym zp˚ usobem psan´ı program˚ u ve Windows. Tento postup vˇsak pˇrin´aˇs´ı nejlepˇs´ı v´ ykon a nejˇsirˇs´ı moˇznosti funkc´ı Windows. Spustiteln´e soubory jsou pomˇernˇe mal´e a pro spuˇstˇen´ı nepotˇrebuj´ı dalˇs´ı knihovny (samozˇrejmˇe kromˇe samotn´ ych knihoven DLL ve Windows).
3.6.4
Programovac´ı prostˇ red´ı
Pro v´ yvoj aplikace, kter´a vyuˇz´ıv´a WinAPI, existuje nˇekolik v´ yvojov´ ych prostˇred´ı. Jednou z nejlepˇs´ıch voleb je Microsoft Visual C++, kter´e kromˇe pˇrekladaˇce jazyka C a dalˇs´ıch soubor˚ u a n´astroj˚ u potˇrebn´ ych pro pˇreklad a sestaven´ı program˚ u pro Windows obsahuje tak´e prostˇred´ı pro u ´pravu zdrojov´ ych k´od˚ u a interaktivn´ı vytv´aˇren´ı zdroj˚ u, jako jsou ikony ’ nebo dialogov´a okna. D´ale umoˇzn ˇuje spouˇstˇet a odlad ovat pˇreloˇzen´e programy. Mezi dalˇs´ı bychom mohli zaˇradit pˇrekladaˇc od firmy Borland. Tento, spolu s pˇrekladaˇci od firmy Microsoft, byly dlouhou dobu jedinn´ ymi n´astroji, kter´e byly schopn´e program pro Windows pˇreloˇzit. V dneˇsn´ı dobˇe lze pouˇz´ıt i projekty MinGW nebo Cygwin, kter´e poskytuj´ı prostˇred´ı zaloˇzen´e na GNU Compiler Collection [7].
10
3.7 3.7.1
Bluetooth Specifikace Bluetooth
Bluetooth, v pˇrekladu ,,modr´ y zub”, vznikl v devades´at´ ych letech minul´eho stolet´ı jako technologie, kter´a chtˇela spojit vˇsechna mobiln´ı zaˇr´ızen´ı a poskytnout jim tak moˇznost vz´ajemn´e spolupr´ace. Je to specifikace bezdr´atov´e komunikace urˇcen´e zejm´ena pro malou vzd´alenost (vˇetˇsinou do 10m), kter´a nahrazuje hardwarovˇe a softwarovˇe nekompatibiln´ı kabelov´a ˇreˇsen´ı. Z hlediska mobiln´ıch zaˇr´ızen´ı m´a Bluetooth dvˇe obrosvk´e v´ yhody: • mal´ y pˇr´ıkon (vypl´ yvaj´ıc´ı z omezen´eho dosahu) • automatickou konfiguraci (uˇzivatelsky jednoduch´a technologie) Z v´ yˇse uveden´ ych vlastnost´ı vypl´ yv´a, ˇze tato komunikace je vhodn´a pr´avˇe pro spojen´ı mobiln´ıch poˇc´ıtaˇc˚ u, mobiln´ıch telefon˚ u, PDA, tisk´aren, fotoapar´at˚ u a dalˇs´ıch pˇrenosn´ ych zaˇr´ızen´ı. Stejnˇe tak jako vˇetˇsina jin´ ych specifikac´ı, i Bluetooth specifikace zahrnuje jak pravidla pro implementaci rozhran´ı, tak i pro n´avrh periferi´ı. Technologie je zaloˇzena na radiov´em spojen´ı v p´asmu 2,4GHz na frekvenc´ıch 2400 MHz - 2483,5 MHz. Toto p´asmo je definov´ano ve vˇetˇsinˇe st´at˚ u jako bezlicenˇcn´ı. Spojen´ı m˚ uˇze pˇren´aˇset spolehlivˇe a pomˇernˇe rychle jak data, tak i hlasov´ y sign´al. Podle maxim´aln´ıho v´ ystupn´ıho v´ ykonu definuje specifikace 3 tˇr´ıdy zaˇr´ızen´ı: • 10 mW (20 dBm) - dosah cca 100m • 2,5 mW (4 dBm) - dosah cca 50m • 1 mW (0 dBm) standardn´ı specifikace - dosah cca 10m
3.7.2
Programov´ eˇ reˇ sen´ı Bluetooth
Moˇzn´e aplikace jsou definov´any tzv. profily, kter´e tvoˇr´ı z´akladn´ı ˇc´ast specifikace. Zajiˇst’uj´ı vz´ajemnou sluˇcitelnost zaˇr´ızen´ı na nejvyˇsˇs´ı softwarov´e u ´rovni. Profily urˇcuj´ı zp˚ usob komunikace a moˇzn´e vyuˇzit´ı Bluetooth zaˇr´ızen´ı. Aby zaˇr´ızen´ı mohla smysluplnˇe komunikovat, mus´ı podporovat obˇe komunikuj´ıc´ı strany stejn´ y profil (S´eriov´ y, Dial-up, Headset...). Je logick´e, ˇze napˇr´ıklad bezdr´atov´ y headset bude podporovat Headset profil, bude moci komunikovat s GSM pˇr´ıstrojem podporuj´ıc´ım stejn´ y profil a nebude komunikovat s digit´aln´ım fotoapar´atem). V tomto projektu budu vyuˇz´ıvat Serial Port Profile, kter´ y definuje nastaven´ı virtu´aln´ıch s´eriov´ ych port˚ u pomoc´ı Bluetooth. Jedn´a se tak o klasickou n´ahradu s´eriov´eho propojen´ı s rychlost´ı do 128kbps. V´ıce o Bluetooth se lze doˇc´ıst zde [4, 2].
11
Kapitola 4
N´ avrh 4.1
Komunikace mezi stoln´ım poˇ c´ıtaˇ cem a PDA
Jak bylo uvedeno v pˇredchoz´ıch kapitol´ach, zaˇr´ızen´ı spolu budou komunikovat bezdr´atovˇe pomoc´ı technologie Bluetooth. Jedn´a se o s´eriovou komunikaci a v naˇsem pˇr´ıpadˇe bude staˇcit komunikace jednosmˇern´a, tj. smˇerem od klienta k serveru. Klient nepotˇrebuje pˇrij´ımat od serveru ˇz´adn´e poˇc´ateˇcn´ı nastaven´ı, ani potvrzov´an´ı o spr´avn´em doruˇcen´ı zpr´avy. Spojen´ı se ustav´ı tak, ˇze uˇzivatel zvol´ı pˇr´ısluˇsn´e Bluetooth porty na PDA a na PC. Klient i server maj´ı pˇredem domluvenou sadu zpr´av, kdy kaˇzd´ y z nich v´ı, co kter´a zpr´ava znamen´a. N´asledn´ a komunikace spoˇc´ıv´a v odesl´an´ı domluven´e zpr´avy od klienta serveru, kter´ y zpr´avu pˇrijme a provede pˇr´ısluˇsnou ˇcinnost. Zpr´avy m˚ uˇzeme rozdˇelit do dvou kategori´ı: • zpr´avy, kter´e jsou generovan´e softwarov´ ymi tlaˇc´ıtky klientsk´eho programu, a to: – zpr´avy, slouˇz´ıc´ı pro navigov´an´ı v prezentaci (vpˇred, vzad, zaˇc´atek a konec) – zpr´avy pro zes´ılen´ı nebo zeslaben´ı zvuku • zpr´avy generovan´e hardwarov´ ymi tlaˇc´ıtky PDA (joystickem), kter´e umoˇzn ˇuj´ı ovl´adat kurzor myˇsi
4.2 4.2.1
Klientsk´ aˇ c´ ast - PDA Zah´ ajen´ı komunikace
Po spuˇstˇen´ı programu mus´ı uˇzivatel pouze zah´ajit komunikaci pˇres Bluetooth. To spoˇc´ıv´ a ve vybr´an´ı pˇr´ısluˇsn´eho portu. Pokud uˇzivatel spustil program poprv´e, m´a dvˇe moˇznosti. Bud’ vybere port ze seznamu ruˇcnˇe, nebo poˇz´ad´a program, aby se pokusil pˇr´ısluˇsn´ y port naj´ıt automaticky. Automatick´e hled´an´ı portu nen´ı a nem˚ uˇze b´ yt s jistotou pˇresn´e, protoˇze s´eriov´ ych port˚ u je v PDA cel´a ˇrada a pokud bychom ze z´aznam˚ u v registrech vybrali jen ty, kter´e pˇr´ısluˇs´ı Bluetooth, nach´az´ı se jich zde v´ıce. Kdyˇz jsem zkouˇsel vyˇreˇsit tento probl´em obousmˇernou komunikac´ı klienta a serveru, nastaly dva probl´emy. Prvn´ım byl ten, ˇze musela b´ yt spuˇstˇena serverov´a ˇc´ast, ve kter´e rovnˇeˇz uˇzivatel mus´ı vybrat spr´avn´ y port (kter´ y takt´eˇz nemus´ı zn´at). Druh´ y probl´em nastal, kdyˇz jsem se pokouˇsel odes´ılat zpr´avy na vˇsechny porty postupnˇe a ˇcekal, ze kter´eho portu pˇrijde odpovˇed’ od serveru. Pˇri pokusu
12
o otevˇren´ı urˇcit´ ych port˚ u a n´asledn´ ym odesl´an´ım zpr´avy ale cel´e PDA zamrzlo a pomohl pouze restart. Pokud uˇz komunikace jednou u ´spˇeˇsnˇe prob´ıh´a, m´a uˇzivatel moˇznost uloˇzit si aktu´aln´ı profil s nastaven´ım programu a s n´ım se uloˇz´ı i konkr´etn´ı ˇc´ıslo portu, kter´ y se pouˇz´ıv´ a. Pˇri dalˇs´ıch spuˇstˇen´ıch programu uˇz m˚ uˇze uˇzivatel obnovit dˇr´ıve uloˇzen´ y profil a probl´em s v´ ybˇerem portu odpad´a.
4.2.2
Odesl´ an´ı zpr´ avy
Po spr´avn´em otevˇren´ı pˇr´ısluˇsn´eho portu je jiˇz samotn´e odesl´an´ı zpr´avy jednoduch´e. Po stisknut´ı tlaˇc´ıtka staˇc´ı zapsat pˇr´ısluˇsn´ y k´od akce na tento port.
4.2.3
Uˇ zivatelsk´ e rozhran´ı
Uˇzivatelsk´e rozhran´ı pro klientskou ˇc´ast je jednou z nejd˚ uleˇzitˇejˇs´ıch ˇc´ast´ı t´eto pr´ace. PDA se pˇres dotykovou obrazovku vˇetˇsinou ovl´ad´a stylusem, ale v tomto pˇr´ıpadˇe bude program sp´ıˇse ovl´ad´an pˇr´ımo palcem. Tento zp˚ usob ovl´ad´an´ı nen´ı pˇr´ıliˇs pˇresn´ y, a proto je potˇreba, aby mˇela tlaˇc´ıtka velk´e rozmˇery a nedoch´azelo k nechtˇen´ ym stisknut´ım jin´ ych tlaˇc´ıtek. Obrazovka PDA je necel´ ych 10 cm vysok´a a pˇribliˇznˇe 6 cm ˇsirok´a. Pokud m´a palec naj´ıt tlaˇc´ıtko intuitivnˇe, nem˚ uˇze b´ yt tlaˇc´ıtek na obrazovce velk´e mnoˇzstv´ı. Nejpouˇz´ıvanˇejˇs´ı funkc´ı je zˇrejmˇe pˇrechod na dalˇs´ı sn´ımek, a tedy tlaˇc´ıtko pro tuto funkci by mˇelo b´ yt um´ıstˇeno v co nejpˇrirozenˇejˇs´ı poloze pro palec vzhledem k drˇzen´ı PDA. Po nˇekolika testech jsem zjistil, ˇze kdyˇz ˇclovˇek drˇz´ı PDA a pak palcem s´ahne ,,nˇekam” na dotykovou obrazovku, ve vˇetˇsinˇe pˇr´ıpad˚ u palec sah´a pˇribliˇznˇe do poloviny ˇs´ıˇrky obrazovky a liˇs´ı se pouze v´ yˇska dotyku vzhledem ke spodn´ımu okraji displeje (v z´avislosti na zp˚ usobu uchopen´ı PDA). Potˇeˇsuj´ıc´ı je fakt, ˇze nez´aleˇzelo na tom, zda bylo PDA drˇzeno v lev´e ruce nebo prav´e. Podle tohoto pr˚ uzkumu tedy vyˇslo jasn´e rozloˇzen´ı tlaˇc´ıtek. Tlaˇc´ıtka vpˇred a vzad tedy budou nejvˇetˇs´ı a budou m´ıt ˇs´ıˇrku vˇetˇs´ı, neˇz je polovina ˇs´ıˇrky displeje. Ostatn´ı tlaˇc´ıtka budou podstatnˇe menˇs´ı, mus´ı vˇsak b´ yt st´ale moˇzn´e stisknout je palcem. N´avrh je vidˇet na obr´azku:
Obr´azek 4.1: N´avrh rozloˇzen´ı tlaˇc´ıtek ˇ ri menˇs´ı na lev´e stranˇe slouˇz´ı k zes´ılen´ı Na obr´azku je vidˇet ˇsest pozic pro tlaˇc´ıtka. Ctyˇ a zeslaben´ı zvuku a k pˇrechodu na zaˇc´atek a konec prezentace. Tyto funkce se nepouˇz´ıvaj´ı tak ˇcasto, takˇze nen´ı tak d˚ uleˇzit´e, jestli je ovl´ad´an´ı zvuku v horn´ı ˇc´asti nebo ve spodn´ı, uˇzivatel se v pˇr´ıpadˇe potˇreby pod´ıv´a a snadno je najde. Um´ıstˇen´ı ale nen´ı tak jednoduch´e,
13
pokud se jedn´a o velk´a tlaˇc´ıtka pro pˇrechod na n´asleduj´ıc´ı nebo pˇredchoz´ı sn´ımek. Ty totiˇz uˇzivatel pouˇz´ıv´a v podstatˇe neust´ale a ovl´ad´an´ı pro nˇeho mus´ı b´ yt intuitivn´ı. Nˇekdo je zvykl´ y ˇc´ıst dokumenty z poˇc´ıtaˇce, a tedy na dalˇs´ı str´anku pˇrech´az´ı smˇerem dolu (ˇsipkou dolu). Nˇekomu naopak m˚ uˇze pˇrij´ıt pˇrirozen´e na n´asleduj´ıc´ı str´anku pˇrej´ıt smˇerem dopˇredu (ˇsipkou nahoru). Kaˇzd´ y m´a proto moˇznost nastavit si v programu takov´e chov´an´ı ˇsipek, kter´e mu vyhovuje. PDA m´a (jak jiˇz bylo ˇreˇceno) kromˇe dotykov´eho displeje tak´e hardwarov´a tlaˇc´ıtka. Z nich se d´a v t´eto aplikaci s v´ yhodou vyuˇz´ıt joysticku, prim´arnˇe pro pohyb kurzoru myˇsi. Joystick m´a oproti softwarov´ ym tlaˇc´ıtk˚ um jednu velkou v´ yhodu. Pokud totiˇz stiskneme tlaˇc´ıtko na displeji a drˇz´ıme ho delˇs´ı dobu, akce se nez´avisle na d´elce drˇzen´ı provede jen jednou. Joystick se chov´a jinak, pˇri jeho drˇzen´ı se akce st´ale opakuje, a tak pˇri ovl´ad´an´ı myˇsi se m˚ uˇze kurzor pohybovat plynule. Tento zp˚ usob se d´a ale vyuˇz´ıt i pˇri proch´azen´ı v prezentaci. Pokud obsahuje prezentace mnoho str´anek, vyhled´an´ı urˇcit´e str´anky pˇrech´azen´ım po jedn´e by bylo zdlouhav´e a kaˇzd´ y pˇrechod by vyˇzadoval jedno stisknut´ı. Uˇzivatel m´a tedy moˇznost zmˇenit si v programu chov´an´ı joysticku tak, aby s n´ım neovl´adal myˇs, ale smˇerov´e kl´avesy pro pˇrechod mezi str´ankami. Prezentace mohou prob´ıhat i v setmˇen´e m´ıstnosti, a protoˇze displej kapesn´ıho poˇc´ıtaˇce m˚ uˇze dost z´aˇrit, je vhodn´e m´ıt moˇznost pˇrepnout zobrazen´ı do tzv. noˇcn´ıho reˇzimu, ve kter´em displej nebude zbyteˇcnˇe osvˇetlovat jinak tmavou m´ıstnost.
4.3 4.3.1
Serverov´ aˇ c´ ast - PC Zah´ ajen´ı komunikace
Po spuˇstˇen´ı programu je opˇet potˇreba pouze vybrat port, kter´ y pouˇz´ıv´a Bluetooth jako s´eriov´ y port. Tento port lze vˇetˇsinou snadno naj´ıt v programu, kter´ y se nainstaluje spoleˇcnˇe s Bluetooth zaˇr´ızen´ım.
4.3.2
Uˇ zivatelsk´ e rozhran´ı
Uˇzivatelsk´e rozhran´ı pro tuto ˇc´ast nen´ı tak d˚ uleˇzit´e, jako v pˇr´ıpadˇe ˇc´asti pro PDA. K pln´e funkˇcnosti programu staˇc´ı pouze seznam pro v´ ybˇer port˚ u, ze kter´ ych uˇzivatel vyb´ır´a pˇri zahajov´an´ı komunikace, d´ale tlaˇc´ıtka Start a Stop pro zah´ajen´ı a ukonˇcen´ı komunikace a posuvn´ık, kter´ ym se nastavuje rychlost pohybu kurzoru myˇsi pˇri ovl´ad´an´ı joystickem. Program pot´e pracuje na pozad´ı a aby nezab´ıral m´ısto ve spodn´ı liˇstˇe, je moˇzn´e ho minimalizovat do syst´emov´e oblasti, kde je zobrazena pouze mal´a ikona.
4.3.3
Prov´ adˇ en´ı pˇ r´ıkaz˚ u
Vˇsechny n´ami potˇrebn´e pˇr´ıkazy umoˇzn ˇuje realizovat WinAPI. Jedn´ım z typ˚ u pˇr´ıkaz˚ u jsou pˇr´ıkazy umoˇzn ˇuj´ıc´ı pohyb v prezentaci. Tyto pˇr´ıkazy vlastnˇe simuluj´ı stisknut´ı kl´avesy na kl´avesnici. Jedn´a se o kl´avesy ˇsipka nahoru, ˇsipka dol˚ u, ˇsipka vlevo, ˇsipka vpravo, home a end s pˇr´ısluˇsn´ ymi virtu´aln´ımi k´ody. Dalˇs´ım typem jsou pˇr´ıkazy pro pohyb kurzoru myˇsi. Pˇrestoˇze to nen´ı pˇr´ıliˇs pohodln´e, lze touto aplikac´ı ˇc´asteˇcnˇe nahradit myˇs. Joystick na PDA se d´a i stisknout a stisknut´ı m´ a tedy logicky pˇriˇrazenu myˇs´ı funkci stisknut´ı lev´eho tlaˇc´ıtka. Posledn´ım typem jsou pˇr´ıkazy, kter´e umoˇzn ˇuj´ı zes´ılit a zeslabit zvuk na PC. WinAPI poskytuje struktury, kter´e velmi usnadˇ nuj´ı pˇr´ıstup ke zvukov´ ym zaˇr´ızen´ım poˇc´ıtaˇce, a proto jich vyuˇzijeme. 14
Kapitola 5
Implementace Jak jiˇz bylo zm´ınˇeno dˇr´ıve, obˇe ˇc´asti (klientsk´a i serverov´a) jsou implementov´any v jazyce C/C++ a pro vol´an´ı funkc´ı operaˇcn´ıho syst´emu je pouˇzito WinAPI. Nyn´ı se opˇet budu vˇenovat kaˇzd´e ˇc´asti samostatnˇe.
5.1 5.1.1
Klient Pouˇ zit´ e v´ yvojov´ e prostˇ red´ı
Po prostudov´an´ı v´ yvojov´ ych prostˇred´ı jsem vybral v´ yvojov´e prostˇred´ı Microsoft eMbedded Visual C++ 4.0 s aktu´aln´ım opravn´ ym bal´ıˇckem SP4, kter´e velmi usnadˇ nuje vytv´aˇren´ı aplikac´ı pro kapesn´ı poˇc´ıtaˇce. Editor tohoto n´astroje zv´ yrazˇ nuje syntaxi pouˇz´ıvan´eho jazyka, umoˇzn ˇuje pohled na stromovou strukturu soubor˚ u a vˇsech tˇr´ıd projektu a tak´e velmi usnadˇ nuje vytv´aˇren´ı a u ´pravu zdroj˚ u. Dalˇs´ı v´ yhodou tohoto n´astroje je to, ˇze po zkompilov´an´ı a sestaven´ı programu umoˇzn ˇuje spustit program bud’ na klasick´em fyzicky pˇripojen´em PDA (pomoc´ı synchronizaˇcn´ıho n´astroje Microsoft ActiveSync), nebo pˇr´ımo ve vestavˇen´em emul´atoru. Pro v´ yvoj napˇr. uˇzivatelsk´eho rozhran´ı tedy nen´ı nutn´e PDA vlastnit. Pomoc emul´atoru jsem ale nevyuˇz´ıval pˇr´ıliˇs dlouho, nebot’ nen´ı moˇzn´e simulovat Bluetooth adapt´er a bohuˇzel se mi ani nepodaˇrilo nastavit virtu´aln´ı port, kter´ y by Bluetooth simuloval.
5.1.2
Prvn´ı implementace
Nejprve jsem si myslel, ˇze celou aplikaci zaloˇz´ım na dialogu. Znaˇcnˇe se t´ım ulehˇcilo vytv´aˇren´ı tlaˇc´ıtek pomoc´ı editoru zdroj˚ u, kter´ y dok´aˇze vytvoˇrit tlaˇc´ıtko na dialogu pouze jedn´ım kliknut´ım myˇsi. Zanedlouho jsem vˇsak narazil na dva probl´emy, z nichˇz jeden byl neˇreˇsiteln´ y. Prvn´ı probl´em byl ten, ˇze pˇri pouˇzit´ı mod´aln´ıho dialogu (takov´eho, kter´ y je nad vˇsemi ostatn´ımi okny) nebylo moˇzn´e pouˇz´ıvat v programu nab´ıdku menu. Tento probl´em by se dal vyˇreˇsit pouˇzit´ım nemod´aln´ıho dialogu. Pouze by se muselo kontrolovat, zda je okno aplikace nad vˇsemi ostatn´ımi okny pˇred stisknut´ım hardwarov´eho tlaˇc´ıtka. Druh´ y probl´em, kter´ y se t´ ykal pr´avˇe hardwarov´ ych tlaˇc´ıtek – joysticku – vˇsak jiˇz ˇreˇsiteln´ y nebyl. Pokud je totiˇz spuˇstˇen dialog, joystick (smˇerov´e ˇsipky) slouˇz´ı k pohybu po prvc´ıch na dialogu, napˇr. po tlaˇc´ıtk´ach. Zpr´avy od joysticku tedy nen´ı moˇzn´e odchytit a pˇriˇradit jim jin´e chov´an´ı. Protoˇze joystick hraje v´ yznamnou roli v m´e aplikaci, byl jsem nucen od t´eto implementace upustit.
15
5.1.3
V´ ysledn´ a implementace
Abych tedy mohl vyuˇz´ıvat joystick, nezb´ yv´a jin´a alternativa, neˇz um´ıstit ovl´adac´ı tlaˇc´ıtka do hlavn´ıho okna programu a dialogy pouˇz´ıvat pouze pro r˚ uzn´a nastaven´ı. Po spuˇstˇen´ı se nejprve vytvoˇr´ı hlavn´ı okno programu se vˇsemi ovl´adac´ımi tlaˇc´ıtky a pot´e se ihned otevˇre dialog pro zvolen´ı zp˚ usobu komunikace, kter´e hlavn´ı okno pˇrekr´ yv´a (obr´azek 5.1). Pˇri vytv´aˇren´ı grafiky jsem zohlednil i moˇzn´a budouc´ı rozˇs´ıˇren´ı programu a jsou zde dvˇe tlaˇc´ıtka. Jedno pro v´ ybˇer komunikace pˇres Bluetooth a druh´e pro komunikaci pˇres Wi-Fi. Druh´e tlaˇc´ıtko je ale zat´ım bez funkce.
Obr´azek 5.1: Zvolen´ı zp˚ usobu komunikace Po kliknut´ı na tlaˇc´ıtko Bluetooth se zobraz´ı dalˇs´ı dialog s nastaven´ım komunikace (obr´azek 5.2). Jeˇstˇe pˇred zobrazen´ım dialogu probˇehne kontrola, zda je zaˇr´ızen´ı Bluetooth v zaˇr´ızen´ı pˇr´ıtomn´e. Pokud zaˇr´ızen´ı Bluetooth neobsahuje, uˇzivatel obdrˇz´ı varovn´e hl´aˇsen´ı. Pokud je Bluetooth vypnut´e, program se ho pokus´ı zapnout. V t´eto f´azi opˇet nastaly komplikace, protoˇze v kapesn´ıch poˇc´ıtaˇc´ıch jsou ovladaˇce pro Bluetooth od dvou r˚ uzn´ ych v´ yrobc˚ u. Jedn´a se o Bluetooth stack od spoleˇcnost´ı Microsoft a od spoleˇcnosti Widcomm. Microsoft poskytuje, narozd´ıl od Widcommu, sv´e API pro pˇr´ıstup k Bluetooth zaˇr´ızen´ı zdarma a nen´ı tedy probl´em pomoc´ı dostupn´ ych funkc´ı Bluetooth zapnout nebo vypnout. V pˇr´ıpadˇe PDA s ovladaˇci od spoleˇcnosti Widcomm jsem situaci vyˇreˇsil hled´an´ım a zapisov´an´ım pˇr´ımo do registr˚ u syst´emu, a API tedy nebylo potˇreba kupovat (aˇckoliv by to velmi usnadnilo implementaci). Po zah´ajen´ı komunikace se dialog ukonˇc´ı a uˇzivatel vid´ı hlavn´ı okno programu (obr´ azek 5.3). Tlaˇc´ıtka pro ovl´ad´an´ı nejsou vytvoˇrena jako bˇeˇzn´a tlaˇc´ıtka, ale jako klikac´ı oblasti, kdy se pˇri kaˇzd´em dotyku displeje testuje m´ısto, na kter´e bylo kliknuto, a pokud to bylo v oblasti nˇekter´eho tlaˇc´ıtka, provede se pˇr´ısluˇsn´a akce. Z´aroveˇ n je po dobu stisknut´ı tlaˇc´ıtka zmˇenˇena jeho grafick´a podoba, a tak m´a uˇzivatel kontrolu, kter´e tlaˇc´ıtko zas´ahl. Pokud je tlaˇc´ıtko uvolnˇeno, odeˇsle se k´od akce na otevˇren´ y s´eriov´ y port. Tlaˇc´ıtka 1 a 2 umoˇzn ˇuj´ı 16
Obr´azek 5.2: Nastaven´ı komunikace pˇres Bluetooth
Obr´azek 5.3: Hlavn´ı obrazovka s ovl´adac´ımi tlaˇc´ıtky a menu
17
pohyb vpˇred a vzad v prezentaci. Je moˇzn´e zmˇenit rozloˇzen´ı tlaˇc´ıtek (vlevo, vpravo) a tak´e funkˇcnost (jak´ ym smˇerem se v prezentaci posune). Kaˇzd´ y m´a tedy moˇznost nastavit si vzhled a chov´an´ı tlaˇc´ıtek pˇresnˇe podle sebe. D˚ uvody k tomuto byly probr´any v kapitole 4.2.3. Tlaˇc´ıtka 3 a 4 slouˇz´ı k presunu na zaˇc´atek nebo konec prezentace (kl´avesy Home a End na kl´avesnici). Zbyl´a dvˇe tlaˇc´ıtka 5 a 6 zesiluj´ı nebo zeslabuj´ı zvuk. Z t´eto obrazovky je pˇr´ıstupn´e menu na spodn´ım okraji displeje. Poloˇzka vlevo umoˇzn ˇuje • uloˇzit aktu´aln´ı profil • znovu zah´ajit komunikaci (pˇrej´ıt na u ´vodn´ı obrazovku) • ukonˇcit program Poloˇzka uprostˇred otevˇre dialog s uˇzivatelsk´ ym nastaven´ım (obr´azek 5.4) a posledn´ı poloˇzka zobraz´ı informace o programu.
Obr´azek 5.4: Dialog pro nastaven´ı uˇzivatelsk´eho profilu V pˇr´ıpadˇe, ˇze uˇzivatelsk´ y profil byl jiˇz uloˇzen, u ´daje jsou zaps´any v souboru settings.txt na stejn´e adres´aˇrov´e u ´rovni, jako spustiteln´ y soubor aplikace. V tomto souboru kaˇzd´ y ˇr´adek obsahuje kl´ıˇc a hodnotu a nez´aleˇz´ı na poˇrad´ı ˇr´adk˚ u. Tato implementace umoˇzn ˇuje uˇzivateli jednoduˇse editovat jeho profil, pˇr´ıpadnˇe pouˇz´ıvat v´ıce profil˚ u. Uˇzivatelsk´ y profil je v aplikaci definovan´ y jako struktura. V pˇr´ıpadˇe existence souboru s profilem se tato struktura pˇri spuˇstˇen´ı aplikace napln´ı u ´daji ze souboru. Pokud jeˇstˇe profil uloˇzen nebyl, nebo je z nˇejak´eho d˚ uvodu poˇskozen´ y, struktura se napln´ı pˇredem nastaven´ ymi v´ ychoz´ımi hodnotami. Pokud uˇzivatel z menu zvol´ı poloˇzku uloˇzit profil, u ´daje ze struktury se zap´ıˇs´ı do souboru. Implementace struktury: typedef struct profile { 18
int nm; int bt_port; int sipky; int pohyb_sipek; int joystick; } PROFILE;
// // // // //
night mode (1 - nocni rezim, 0 - normalni) cislo bluetooth portu 0 - up down, 1 - left right 0 - horni sipka pohyb zpet, 1 - horni vpred 0 - ovladani mysi, 1 - ovladani sipek
Takhle m˚ uˇze vypadat soubor settings.txt: nightmode 0 bt_port 7 sipky 1 pohyb_sipek 0 joystick 0
5.1.4
Nˇ ekter´ e d˚ uleˇ zit´ e funkce
void zpracujBt() tato funkce je vol´ana pˇri otev´ır´an´ı dialogu pro nastaven´ı komunikace pˇres Bluetooth. M´ a za u ´kol zjistit, zda zaˇr´ızen´ı obsahuje Bluetooth modul, typ BT stacku a pˇr´ıpadnˇe Bluetooth zapnout. Nejprve ze syst´emov´eho registru zjist´ı, jak´ y Bluetooth stack dan´e zaˇr´ızen´ı m´a a n´aslednˇe ho aktivuje. V pˇr´ıpadˇe MS stacku pomoc´ı syst´emov´e funkce BthSetMode(), v pˇr´ıpadˇe Widcomm stacku virtu´aln´ım kliknut´ım pˇr´ımo na ikonu Bluetooth v syst´emu Windows Mobile, protoˇze knihovna od firmy Widcomm je placen´a. HANDLE OpenComPort(char cislo, BOOL test) funkce, kter´a se pokus´ı otevˇr´ıt port, jehoˇz ˇc´ıslo je pˇred´ano jako prvn´ı parametr, a v pˇr´ıpadˇe u ´spˇechu vr´at´ı handle otevˇren´eho portu. Port se otev´ır´a stejnou funkc´ı jako klasick´ y soubor, a to funkc´ı OpenFile(), jen s t´ım rozd´ılem, ˇze prvn´ı parametr mus´ı m´ıt pˇresn´ y form´ at s´eriov´eho portu (napˇr. ,,COM5:”). Druh´ y parametr slouˇz´ı k povolen´ı nebo zak´az´an´ı v´ ypisu chyb. Pokud prob´ıh´a automatick´e vyhled´av´an´ı portu, nen´ı potˇreba u vˇetˇsiny port˚ u vypisovat, ˇze se port nepodaˇrilo otevˇr´ıt. int WriteToCom(HANDLE hComm, int kod) funkce, kter´a zap´ıˇse na otevˇren´ y port (prvn´ı parametr funkce) k´od akce, kter´a se m´a vykonat (druh´ y parametr). Z´apis je realizov´an pomoc´ı stejn´e funkce, kter´a se pouˇz´ıv´a pro z´apis do souboru, a to WriteFile(). N´avratov´ y k´od informuje o stavu proveden´e operace. int TestRegion(HRGN *regiony[], int dlg, LONG x, LONG y, HWND hwnd) funkce, kter´a obdrˇz´ı jako parametry ukazatel na pole region˚ u, identifik´ator okna (dialogu), na kter´e bylo kliknuto, souˇradnice kliknut´ı a handle hlavn´ıho okna programu. Pozici kliknut´ı testuje pomoc´ı syst´emov´e funkce PtInRegion(). Funkce vr´at´ı identifik´ator tlaˇc´ıtka, na kter´e bylo kliknuto, pˇr´ıpadnˇe 0, pokud bylo kliknuto jinam.
19
5.2 5.2.1
Server Pouˇ zit´ e v´ yvojov´ e prostˇ red´ı
Pro v´ yvoj serverov´e ˇc´asti programu jsem pouˇzil Microsoft Visual Studio 2005. Tento n´astroj je sv´ ym vzhledem i poskytovan´ ymi funkcemi velice podobn´ y eMbedded Visual Studiu, kter´e bylo pops´ano v kapitole 5.1.1. Rovnˇeˇz v sobˇe obsahuje kompil´ator, umoˇzn ˇuje spustit a ladit program a v neposledn´ı ˇradˇe zv´ yraznit syntaxi. Nejv´ıc mi ale usnadnil pr´aci na tomto projektu vestavˇen´ y editor zdroj˚ u, pomoc´ı kter´eho je vytvoˇreno cel´e uˇzivatelsk´e rozhran´ı programu.
5.2.2
ˇ sen´ı Reˇ
Cel´a aplikace je zaloˇzena na dialogu (viz obr´azek 5.5). V horn´ı ˇc´asti je um´ıstˇeno pole pro v´ ybˇer pˇr´ısluˇsn´eho Bluetooth portu, d´ale posuvn´ık pro nastaven´ı rychlosti pohybu kurzoru myˇsi a dvˇe ovl´adac´ı tlaˇc´ıtka pro zah´ajen´ı a ukonˇcen´ı komunikace. Po spuˇstˇen´ı programu se zobraz´ı ikona v syst´emov´e oblasti Windows, odkud je moˇzn´e program obnovit, pokud byl minimalizov´an, a nezab´ıral tak m´ısto ve spodn´ı liˇstˇe. Program je implementov´an jako v´ıcevl´aknov´a aplikace. Prim´arn´ı vl´akno vytvoˇr´ı hlavn´ı okno aplikace a vˇsechny procedury tohoto okna a zpracov´av´a vˇsechny zpr´avy. Tak´e jako jedin´e komunikuje s uˇzivatelem. Druh´e vl´akno je vytvoˇreno po zah´ajen´ı komunikace (stisknut´ım tlaˇc´ıtka Start). Toto vl´akno pˇredstavuje v´ ykonn´ y mechanismus na pozad´ı, odeb´ır´a data, kter´a pˇrijdou na s´eriov´ y port, a vykon´av´a podle nich pˇr´ısluˇsnˇe operace. V´ıcevl´aknov´a implementace byla nevyhnuteln´a, protoˇze funkce ReadFile, kter´a ˇcte data z portu, je v souvislosti s pˇredem nezn´am´ ym intervalem pˇr´ıchodu dat na port nastavena jako blokuj´ıc´ı.
Obr´azek 5.5: Serverov´a ˇc´ast aplikace
5.2.3
Nˇ ekter´ e d˚ uleˇ zit´ e funkce
HANDLE OpenPort(int cisloPortu) funkce, kter´a se pokus´ı otevˇr´ıt port, jehoˇz ˇc´ıslo je pˇred´ano jako prvn´ı parametr, a v pˇr´ıpadˇe u ´spˇechu vr´at´ı handle otevˇren´eho portu. Port se otev´ır´a stejnou funkc´ı jako klasick´ y soubor, a to funkc´ı OpenFile(), jen s t´ım rozd´ılem, ˇze prvn´ı parametr mus´ı m´ıt pˇresn´ y form´ at s´eriov´eho portu (napˇr. ,,COM5:”). 20
void GenerateKey(int keycode) funkce, kter´a jako prvn´ı parametr obdrˇz´ı virtu´aln´ı k´od kl´avesy a provede simulaci jej´ıho stisknut´ı, jako kdyby kl´avesu nˇekdo doopravdy stiskl na kl´avesnici. Pro aplikaci Microsoft PowerPoint nelze pouˇz´ıt syst´emovou funkci PostMessage(), proto pouˇz´ıv´am funkci SendInput(), kter´a pos´ıl´a vstup do okna, kter´e je aktivn´ı (,,m´a focus”). void GenerateMove(int direction, int count) funkce, kter´a posouv´a kurzor myˇsi v z´avislosti na smˇeru (prvn´ı parametr) a rychlosti (druh´ y parametr). Pohyb je realizov´an jako zrychlen´ y, ˇc´ım d´ele je joystick drˇzen, t´ım rychleji se kurzor pohybuje. Pro nastaven´ı polohy kurzoru je pouˇzita funkce SetCursorPos(). void LeftClick() funkce, kter´a simuluje stisknut´ı lev´eho tlaˇc´ıtka myˇsi a opˇet pouˇz´ıv´a funkci SendInput(). void SetVolume(WPARAM wParam) funkce, kter´a v z´avislosti na parametru zes´ıl´ı nebo zeslab´ı zvuk. Jako z´akladn´ı objekt je pouˇzit HMIXER, kter´ y slouˇz´ı k z´ısk´an´ı a uchov´an´ı parametr˚ u a kter´ y n´aslednˇe vyuˇz´ıvaj´ı funkce mixerGetControlDetails() a mixerSetControlDetails() pro nastaven´ı hlasitosti.
21
Kapitola 6
Podobn´ e produkty 6.1
Hardwarov´ aˇ reˇ sen´ı
Inspirac´ı pro aplikaci, kter´a by umoˇzn ˇovala ovl´adat prezentaci na poˇc´ıtaˇci pomoc´ı kapesn´ıho poˇc´ıtaˇce, byly d´alkov´e ovladaˇce, kter´e pˇresnˇe toto umoˇzn ˇuj´ı. Jedn´ım ze z´astupc˚ u je Genius Wireless Pointer (6.1). Jedn´a se o univerz´aln´ı r´adiov´e d´alkov´e ovl´ad´an´ı pro prezentace a multim´edia, vybaven´e vestavˇen´ ym laserov´ ym ukazov´atkem. Disponuje vˇsesmˇerov´ ym ovladaˇcem a dvˇema tlaˇc´ıtky pro ovl´ad´an´ı kurzoru myˇsi, otoˇcn´ ym tlaˇc´ıtkem pro listov´an´ı nebo nastaven´ı hlasitosti a tˇremi multifunkˇcn´ımi tlaˇc´ıtky. Pracuje ve dvou m´odech: prezentaˇcn´ım, kdy lze snadno ovl´adat laserov´e ukazov´atko, posouvat zobrazen´ı prezentace a listovat str´ankami, nebo multimedi´aln´ım, kdy umoˇzn ˇuje spouˇstˇet a zastavovat pˇrehr´av´an´ı audio a video soubor˚ u a regulovat hlasitost.
Obr´azek 6.1: Genius Wireless Pointer Protoˇze je zaˇr´ızen´ı navrˇzeno pouze pro tento jeden u ´ˇcel, m´a l´epe vyˇreˇsenou ergonomii drˇzen´ı a ovl´ad´an´ı. Naopak nev´ yhodou tohoto ˇreˇsen´ı je nutnost zapojen´ı pˇrij´ımaˇce do USB portu poˇc´ıtaˇce a tak´e to, ˇze se jedn´a o dalˇs´ı zaˇr´ızen´ı, kter´e mus´ı prezentuj´ıc´ı nosit s sebou. Dalˇs´ı nev´ yhodou m˚ uˇze b´ yt cena. Nav´ıc ne pro kaˇzd´eho m˚ uˇze b´ yt ovl´ad´an´ı smˇerov´ ym tlaˇc´ıtkem intuitivn´ı.
22
6.2
Softwarov´ aˇ reˇ sen´ı
Dalˇs´ı produkt, kter´ y umoˇzn ˇuje podobn´e funkce, je program ShowDirector 2.0 for PowerPoint od Signal Beach Software (http://www.signalbeach.com). Tento program ovl´ad´ a prezentaci pˇres webov´ y prohl´ıˇzeˇc a na stranˇe kapesn´ıho poˇc´ıtaˇce se tedy nejedn´a o samostatnou aplikaci. Je ale nutn´e b´ yt pˇripojen pomoc´ı Bluetooth nebo Wi-Fi k internetu, coˇz nen´ı dostupn´e vˇzdy. Dalˇs´ı nev´ yhodou je to, ˇze spolupracuje pouze s programem Microsoft PowerPoint. Dok´aˇze vˇsak kromˇe klasick´eho pˇrechodu mezi sn´ımky tak´e pomoc´ı kapesn´ıho poˇc´ıtaˇce upravovat sn´ımky prezentace a ke kaˇzd´emu sn´ımku m´ıt na PDA pozn´amku, kterou nechce prezentuj´ıc´ı zapomenout ˇr´ıct. Program tak´e nen´ı zdarma.
6.3
Srovn´ an´ı
Tato bakal´aˇrsk´a pr´ace nem´a tak rozs´ahl´ y v´ ybˇer funkc´ı, jako v´ yˇse popsan´e produkty, dostaˇcuj´ı vˇsak k plnohodnotn´emu ovl´ad´an´ı prezentace. Velkou v´ yhodu oproti obˇema zm´ınˇen´ ym vˇsak vid´ım v moˇznosti u ´pln´eho si pˇrizp˚ usoben´ı rozloˇzen´ı a funkˇcnosti ovl´adac´ıch tlaˇc´ıtek. Tato tlaˇc´ıtka pˇritom jsou pro ovl´ad´an´ı prezentace nejd˚ uleˇzitˇejˇs´ı. Dalˇs´ı nespornou v´ yhodou oproti v´ yˇse popsan´ ym produkt˚ um je cena, aplikace je dostupn´a zdarma. Nav´ıc oproti programu ShowDirector nen´ı z´avisl´a na jednom konkr´etn´ım programu. Dok´aˇze ovl´adat vˇsechny programy, kter´e lze ovl´adat kl´avesnic´ı, pˇr´ıpadnˇe jednoduˇse myˇs´ı.
23
Kapitola 7
Budouc´ı v´ yvoj Tato bakal´aˇrsk´a pr´ace poskytuje u ´pln´ y v´ yˇcet funkc´ı, kter´e jsou potˇrebn´e pro ovl´ad´ an´ı prezentace. Z´aroveˇ n je zde vˇsak velk´ y prostor pro rozˇs´ıˇren´ı. Zde je seznam moˇznost´ı, kter´e by nˇejak´ ym zp˚ usobem mohly tuto pr´aci vylepˇsit nebo rozˇs´ıˇrit: • Jako jedna z hlavn´ıch moˇznost´ı rozˇs´ıˇren´ı t´eto aplikace je spojen´ı kapesn´ıho a stoln´ıho poˇc´ıtaˇce pˇres s´ıt’ Wi-Fi. Modul Wi-Fi je nyn´ı jiˇz ve vˇetˇsinˇe notebook˚ u vestavˇen´ y a pro mnoho uˇzivatel˚ u, kteˇr´ı nemaj´ı vestavˇen´ y Bluetooth modul, by to bylo usnadnˇen´ı. Funkce pro ovl´ad´an´ı prezentace z˚ ustanou beze zmˇeny, pouze se pˇrid´a dialog pro nastaven´ı spojen´ı a pˇridaj´ı se poloˇzky v uˇzivatelsk´em profilu. • Hlavn´ı nedostatek v jin´ ych ˇreˇsen´ıch, popsan´ ych v kapitole 6, vid´ım v nemoˇznosti pouˇz´ıvat program v jin´em operaˇcn´ım syst´emu, neˇz je Microsoft Windows. Proto by bylo pˇr´ınosn´e implementovat aplikaci tak´e pro operaˇcn´ı syst´em Linux, aby i uˇzivatel´e tohoto operaˇcn´ıho syst´emu mohli prezentaci snadnˇeji ovl´adat. Jednalo by se pouze o serverovou ˇc´ast aplikace, ˇc´ast na PDA by z˚ ustala beze zmˇeny. Pouˇzita by mohla b´ yt architektura X Window a knihovna Xlib, kter´a pro tento u ´ˇcel poskytuje vˇsechny potˇrebn´e funkce. • Co se t´ yˇce ovl´ad´an´ı programu, bylo by pro prezentuj´ıc´ıho pˇr´ıjemn´e doplnit funkci pozn´amek ke kaˇzd´emu sn´ımku, kterou obsahuje zm´ınˇen´ y program ShowDirector. Prezentuj´ıc´ı by tak u kaˇzd´eho sn´ımku vidˇel na sv´em PDA text, kter´ y by chtˇel nav´ıc ke sn´ımku ˇr´ıct. • Dalˇs´ım vylepˇsen´ım, kter´e by udˇelalo program jeˇstˇe v´ıce univerz´aln´ım, by byla moˇznost ruˇcnˇe nadefinovat kl´avesov´e zkratky. Toto rozˇs´ıˇren´ı by vyˇzadovalo pomˇernˇe rozs´ahl´e zmˇeny v aplikaci, avˇsak program by pak dok´azal ovl´adat libovolnou jinou aplikaci.
24
Kapitola 8
Z´ avˇ er Bˇehem v´ yvoje t´eto pr´ace jsem postupoval pˇresnˇe podle krok˚ u, kter´e mi urˇcovalo zad´an´ı. Sezn´amil jsem se s mobiln´ı platformou Pocket PC a nastudoval principy tvorby program˚ u pro kapesn´ı poˇc´ıtaˇce na t´eto platformˇe. D´ale jsem navrhl zp˚ usob komunikace mezi kapesn´ım a stoln´ım poˇc´ıtaˇcem. Komunikace tˇechto dvou zaˇr´ızen´ı prob´ıh´a pomoc´ı technologie Bluetooth. N´aslednˇe jsem provedl anal´ yzu a n´avrh aplikace, kter´a by pomoc´ı kapesn´ıho poˇc´ıtaˇce dok´azala ovl´adat prezentaci, spuˇstˇenou na stoln´ım poˇc´ıtaˇci. Tuto aplikaci jsem podle proveden´eho n´avrhu implementoval. Aplikace poskytuje vˇsechny funkce, kter´e jsou pro ovl´ad´ an´ı prezentace potˇrebn´e. Nad r´amec zad´an´ı jsem pˇridal moˇznost uloˇzen´ı vlastn´ıho profilu a uˇzivateli tedy staˇc´ı jednou si program nastavit podle sv´ ych pˇredstav a pˇri dalˇs´ıch spuˇstˇen´ıch m˚ uˇze vˇse obnovit jedn´ım kliknut´ım. Jako dalˇs´ı rozˇs´ıˇren´ı jsem pˇridal moˇznost volby denn´ıho a noˇcn´ıho reˇzimu a uˇzivatel tak m˚ uˇze pˇrizp˚ usobit vzhled aplikace aktu´aln´ımu prostˇred´ı. Aplikace je v re´alu pouˇziteln´a a dok´aˇze lidem usnadnit a zpˇr´ıjemnit prezentov´an´ı. Dokazuje to i odezva uˇzivatel˚ u, kteˇr´ı program vyuˇz´ıvaj´ı a od kter´ ych dost´av´am n´avrhy na dalˇs´ı moˇzn´a vylepˇsen´ı a rozˇs´ıˇren´ı Pr´ace na tomto projektu pro mˇe byla velmi pˇr´ınosn´a, nebot’ jsem se pˇri n´ı nauˇcil v podstatˇe od z´aklad˚ u programov´an´ı pomoc´ı funkc´ı, kter´e poskytuje WinAPI. T´ım jsem z´aroveˇ n l´epe pochopil, jak funguje komunikace v operaˇcn´ım syst´emu Microsoft Windows prostˇrednictv´ım zas´ıl´an´ı zpr´av. Jsem tak´e r´ad, ˇze jsem si vyzkouˇsel tvorbu programu pro kapesn´ı poˇc´ıtaˇce, kter´a je velice zaj´ımav´a a podle m´eho n´azoru velice perspektivn´ı. Zaj´ımav´e bylo tak´e zjiˇst’ov´an´ı moˇznost´ı v komunikaci pˇres Bluetooth. Z´aroveˇ n jsem si vyzkouˇsel tvorbu rozs´ahlejˇs´ıho programu a uvˇedomil si pˇri tom, ˇze pro v´ yvoj vˇetˇs´ıho projektu pouh´e programov´an´ı nestaˇc´ı, ale ˇze je velmi d˚ uleˇzit´e vytvoˇrit si na zaˇc´atku kvalitn´ı n´avrh. V´ yvoji aplikace bych se chtˇel vˇenovat i v budoucnu a r´ad bych implementoval funkce, kter´e jsem popsal v kapitole 7. Program je volnˇe ˇsiˇriteln´ y a ani v budoucnu nepl´anuji jeho komerˇcn´ı vyuˇzit´ı.
25
Seznam pouˇ zit´ ych zdroj˚ u ´ [1] eXEden - CE4YOU: Uvod do programov´ an´ı pro Windows Mobile 2002 a 2003 V´yvojov´e n´ astroje [ONLINE]. Posledn´ı modifikace 18. z´aˇr´ı 2003. [cit. 2007-04-20]. Dostupn´e na URL: http://www.ce4you.cz/articles/detail.asp?a=54 [2] Kobe - specialista na mobiln´ı technologie: Popis Bluetooth [ONLINE]. [cit. 2007-05-06]. Dostupn´e na URL: http://www.kobe.cz/inshop/scripts/show.asp?page= technologie_bluetooth.htm&rnd=2964950 [3] PETZOLD, C.: Programov´ an´ı ve Windows. Computer Press, prvn´ı vyd´an´ı, 1999, ISBN 80-7226-206-8, 1216 s. [4] The Official Bluetooth Membership Site: Bluetooth [ONLINE]. Posledn´ı modifikace 2007. [cit. 2007-05-06]. Dostupn´e na URL: http://www.bluetooth.org ´C ˇ J., ZAORAL O.: Pr˚ [5] TKA uvodce svˇetem kapesn´ıch poˇc´ıtaˇc˚ u aneb PDA na dlani. Grada Publishing, prvn´ı vyd´an´ı, 2005, ISBN 80-247-1227-X, 205 s. [6] Wikipedia: Client-server [ONLINE]. Posledn´ı modifikace 4. kvˇetna 2007, 9:37. [cit. 2007-05-06]. Dostupn´e na URL: http://en.wikipedia.org/wiki/Client/server [7] Wikipedia: GNU Compiler Collection [ONLINE]. Posledn´ı modifikace 6. kvˇetna 2007, 5:35. [cit. 2007-05-06]. Dostupn´e na URL: http://en.wikipedia.org/wiki/GNU_Compiler_Collection [8] Wikipedia: Personal digital assistant [ONLINE]. Posledn´ı modifikace 4. kvˇetna 2007, 9:37. [cit. 2007-05-06]. Dostupn´e na URL: http://en.wikipedia.org/wiki/Personal_digital_assistant [9] Wikipedia: WinAPI [ONLINE]. Posledn´ı modifikace 4. kvˇetna 2007, 9:37. [cit. 2007-05-06]. Dostupn´e na URL: http://en.wikipedia.org/wiki/WinAPI ˇ ´ P.: Historie Pocket PC [ONLINE]. [cit. 2007-04-20]. [10] ZIVN Y, Dostupn´e na URL: http://www.pdasoft.cz/modules.php?name=News&file=article&sid=1794
26
Seznam pˇ r´ıloh A
Obsah CD
B
Uˇzivatelsk´a pˇr´ıruˇcka
27
Pˇ r´ıloha A
Obsah CD
Obr´azek A.1: Adres´aˇrov´a struktura • Sloˇzka release - obsahuje spustiteln´e soubory aplikace pro stoln´ı i kapesn´ı poˇc´ıtaˇc • Sloˇzka source - obsahuje zdrojov´e k´ody klientsk´e i serverov´e ˇc´asti vˇcetnˇe projektov´ ych soubor˚ u do Microsoft Visual Studia, ze kter´ ych je moˇzn´e spustiteln´e soubory pˇreloˇzit a sestavit • bp.pdf - textov´a ˇc´ast pr´ace
28
Pˇ r´ıloha B
Uˇ zivatelsk´ a pˇ r´ıruˇ cka Tato pˇr´ıruˇcka obsahuje n´avod na zprovoznˇen´ı aplikace a popisuje zp˚ usob jej´ıho pouˇz´ıv´an´ı. Na pˇriloˇzen´em CD jsou um´ıstˇeny jak zdrojov´e k´ody programu, tak i pˇreloˇzen´e programy, pˇripraven´e k okamˇzit´emu spuˇstˇen´ı.
Poˇ zadavky na syst´ em Serverov´a ˇc´ast je spustiteln´a v operaˇcn´ım syst´emu Microsoft Windows (testov´ano na Microsoft Windows 2000 a Windows XP). Klientsk´a ˇc´ast poˇzaduje pro sv´e spuˇstˇen´ı Microsoft Windows Mobile (testov´ano na WM2003, 2003SE a 2005).
Pˇ reloˇ zen´ı programu Zdrojov´e k´ody programu jsou um´ıstˇeny na CD v adres´aˇri source. Serverov´a ˇc´ast je vyv´ıjena v prostˇred´ı Microsoft Visual Studio 2005. Po otevˇren´ı projektu v tomto prostˇred´ı a n´asledn´em pˇreloˇzen´ı se vytvoˇr´ı spustiteln´ y soubor pro PC. Klientsk´a ˇc´ast je vyv´ıjena v prostˇred´ı Microsoft eMbedded Visual Studio 2003 a po pˇreloˇzen´ı zdrojov´ ych k´od˚ u v tomto prostˇred´ı vznikne spustiteln´ y soubor pro PocketPC. Pro spr´avnou funkˇcnost je vˇsak jeˇstˇe potˇreba zkop´ırovat do PDA adres´aˇr pic, kter´ y je rovnˇeˇz na CD um´ıstˇen. Tento adres´aˇr mus´ı b´ yt v PDA na stejn´e adres´aˇrov´e u ´rovni, jako spustiteln´ y soubor.
Instalace programu Program nen´ı tˇreba instalovat, staˇc´ı pouze nahr´at pˇr´ısluˇsn´e soubory bud’ na PC nebo na PDA a spustit je. Spustiteln´e soubory jsou na CD um´ıstˇeny v adres´aˇri release. Adres´aˇr PC obsahuje jeden soubor rc-srv.exe – serverov´a ˇc´ast programu. Adres´aˇr PDA obsahuje soubor rc-cli.exe a adres´aˇr pic. Jedn´a se o klientskou ˇc´ ast programu. Soubor i adres´aˇr mus´ı b´ yt v PDA na stejn´e adres´aˇrov´e u ´rovni. V opaˇcn´em pˇr´ıpadˇe se po spuˇstˇen´ı zobraz´ı pouze b´ıl´e pozad´ı bez tlaˇc´ıtek.
Spuˇ stˇ en´ı a ovl´ ad´ an´ı Pˇri komunikaci dvou zaˇr´ızen´ı pˇres Bluetooth je potˇreba tato zaˇr´ızen´ı nejprve sp´arovat (tzv. vytvoˇrit partnerstv´ı). To se provede pomoc´ı pr˚ uvodce nastaven´ı, kter´ y se objev´ı po zapnut´ı 29
Bluetooth. Serverov´ aˇ c´ ast - PC • spustit na PC serverovou ˇc´ast (obr´azek B.1) • vybrat Bluetooth port, kter´ y pouˇz´ıv´a PC na s´eriovou komunikaci (lze nal´ezt napˇr. v aplikaci, kter´a je dod´av´ana spoleˇcnˇe s ovladaˇcem pro dan´e bluetooth zaˇr´ızen´ı) • kliknout na Zah´ ajit
Obr´azek B.1: Serverov´a ˇc´ast aplikace Klientsk´ aˇ c´ ast - PDA • spustit na PDA klientskou ˇc´ast • vybrat Bluetooth (pokud nen´ı Bluetooth zapnut´e, program jej zapne) (obr´azek B.2) – vybrat Bluetooth port, kter´ y pouˇz´ıv´a PDA na s´eriovou komunikaci a kliknout na Start (obr´azek B.3) – pokud uˇz je uloˇzen´ y profil, lze ho vyvolat kliknut´ım na M˚ uj profil – program se m˚ uˇze pokusit vyhledat port automaticky (nen´ı 100%) • po u ´spˇeˇsn´em zah´ajen´ı komunikace se objev´ı obrazovka s ovl´adac´ımi tlaˇc´ıtky a s menu pro nastaven´ı (obr´azek B.4) Popis menu • prvn´ı poloˇzka v menu – uloˇ zit profil - uloˇz´ı aktu´aln´ı profil (Bluetooth port, rozloˇzen´ı ˇsipek, denn´ı/noˇcn´ı reˇzim) – komunikace - pˇrechod na u ´vodn´ı obrazovku s v´ ybˇerem komunikace – konec - ukonˇc´ı program • druh´a poloˇzka v menu - zobraz´ı dialog s uˇzivatelsk´ ym nastaven´ım • tˇret´ı poloˇzka - zobraz´ı informace o programu
30
Obr´azek B.2: Zvolen´ı zp˚ usobu komunikace
Obr´azek B.4: Hlavn´ı obrazovka s ovl´adac´ımi tlaˇc´ıtky a menu
Obr´azek B.3: Nastaven´ı komunikace pˇres Bluetooth
31