You are on page 1of 253

TRNG I HC KHOA HC T NHIN KHOA CNG NGH THNG TIN B MN MNG MY TNH V VIN THNG

O QU THI AN - TRN TH M HNH

TM HIU V CNG NGH BLUETOOTH V VIT NG DNG MINH HA

LUN VN C NHN TIN HC

Tp.HCM, 7/2005

TRNG I HC KHOA HC T NHIN KHOA CNG NGH THNG TIN B MN MNG MY TNH V VIN THNG

O QU THI AN TRN TH M HNH

0112421 0112345

TM HIU V CNG NGH BLUETOOTH V VIT NG DNG MINH HA

GIO VIN HNG DN :

Thc s : HUNH THY BO TRN

NIN KHA 2001 - 2005

NHN XT CA GIO VIN HNG DN


.................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. ..................................................................................................................................

NHN XT CA GIO VIN PHN BIN


.................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. .................................................................................................................................. ..................................................................................................................................

LI CM N
Chng em xin by t lng bit n chn thnh nht n C Hunh Thy Bo Trn, ngi tn tm hng dn, gip chng em trong sut thi gian thc hin lun vn ny. Chng con xin gi tt c lng bit n su sc v s knh trng n ng b, cha m, cng ton th gia nh, nhng ngi nui dy chng con trng thnh n ngy hm nay. Chng em cng xin chn thnh cm n qu Thy c trong Khoa Cng ngh thng tin, trng i hc Khoa hc T nhin Tp.H Ch Minh tn tnh ging dy, hng dn, gip v to iu kin cho chng em thc hin tt lun vn ny. Xin chn thnh cm n s gip , ng vin v ch bo rt nhit tnh ca cc anh ch v tt c cc bn, nhng ngi gip chng ti c ngh lc v ch hon thnh lun vn ny. Mc d c gng ht sc, song chc chn lun vn khng khi nhng thiu st. Chng em rt mong nhn c s thng cm v ch bo tn tnh ca qu Thy C v cc bn. TP.HCM, 7/2005 Nhm sinh vin thc hin o Qu Thi An Trn Th M Hnh

LI NI U
Ngy nay, x hi pht trin mnh m, k thut ngy cng hin i nn nhu cu v trao i thng tin, gii tr, nhu cu v iu khin thit b t xa,ngy cng cao. V nhng h thng dy cp phc tp li khng th p ng tt nhu cu ny, nht l nhng khu vc cht hp, nhng ni xa xi, trn cc phng tin vn chuyn,V th cng ngh khng dy ra i v ang pht trin mnh m, to rt nhiu thun li cho con ngi trong i sng hng ngy. K thut khng dy phc v rt nhiu nhu cu khc nhau ca con ngi, t nhu cu lm vic, hc tp n cc nhu cu gii tr nh chi game, xem phim, nghe nhc, v.vVi cc nhu cu a dng v phc tp , k thut khng dy a ra nhiu chun vi cc c im k thut khc nhau c th ph hp vi tng nhu cu, mc ch v kh nng ca ngi s dng nh IrDA, WLAN vi chun 802.11, ZigBee, OpenAir, UWB, Bluetooth, Mi chun k thut u c nhng u, khuyt im ring ca n, v Bluetooth ang dn ni ln l k thut khng dy tm ngn c nhiu u im, rt thun li cho nhng thit b di ng. Vi mt t chc nghin cu ng o, hin i v s lng nh sn xut h tr k thut Bluetooth vo sn phm ca h ngy cng tng, Bluetooth ang dn lan rng ra khp th gii, xm nhp vo mi lnh vc ca thit b in t v trong tng lai mi thit b in t u c th c h tr k thut ny. Xut pht t cc l do trn, chng em thc hin ti TM HIU CNG NGH BLUETOOTH V VIT NG DNG MINH HA. Trong ti ny, chng em tm hiu v k thut khng dy Bluetooth v xy dng mt chng trnh truyn phonebook qua Bluetooth gia cc in thoi Nokia s dng h iu hnh Symbian Series 60 vi nhau v vi my tnh. Mc tiu ca ti l tm hiu cng ngh Bluetooth v xy dng mt ng dng thng qua Bluetooth ca cc in thoi Nokia Series 60 v my tnh minh ha hot ng ca k thut ny Cc ni dung chnh ca ti bao gm:

Tm hiu v hot ng ca k thut Bluetooth. Tm hiu vn bo mt, virus v cc cch tn cng vo in thoi di ng thng qua Bluetooth. Tm hiu v h iu hnh Symbian v series 60. Xy dng ng dng chy trn in thoi di ng Nokia series 60 c tch hp Bluetooth : trao i phonebook gia hai in thoi di ng vi nhau, v gia in thoi di ng v my tnh. Ni dung ca lun vn c chia lm 3 phn v 10 chng: PHN I: BLUETOOTH Chng 1. Gii thiu tng quan v Bluetooth: Gii thiu khi qut v cng ngh Bluetooth nh khi nim, lch s pht trin, cc c im v mt s ng dng hin nay ca Bluetooth. Chng 2. K thut Bluetooth: M t chi tit cc k thut Bluetooth nh: cc khi nim dng trong cng ngh, sng radio trong Bluetooth, tng giao thc, c im k thut ca Bluetooth v so snh Bluetooth vi mt vi cng ngh khng dy khc. Chng 3. Vn v an ton v bo mt trong Bluetooth: Phn tch cc vn v an ton bo mt, hacking, virus, v cc gii php bo mt trong Bluetooth. Chng 4. Cc u nhc im v tng lai ca Bluetooth: Trnh by v cc u khuyt im ca Bluetooth v tng lai ca cng ngh ny. PHN II: H IU HNH SYMBIAN Chng 5. Tng quan v h iu hnh Symbian v th h Series 60: Gii thiu tng quan v h iu hnh Symbian cng nh kin trc h thng ca n. Gii thiu Series 60, mt platform trn cc in thoi di ng thng minh ca hng Nokia dng Symbian, lp trnh ng dng trn Symbian v lp trnh C++ cho Symbian. Chng 6. Lp trnh C++ trn Symbian : Trnh by mt s vn v lp trnh C++ trn Symbian. Chng 7. Bluetooth v Symbian : Lp trnh s dng giao tip Bluetooth trn Symbian vi C++: cc vn v lp trnh giao tip Bluetooth.

PHN III: XY DNG NG DNG MINH HA S DNG CNG NGH BLUETOOTH Chng 8. Phn tch v thit k ng dng trao i phonebook qua Bluetooth: Phn tch v thit k chng trnh ng dng phonebook. Chng 9. Ci t v th nghim: tin hnh ci t v th nghim ng dng. Chng 10. Tng kt.

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

MC LC
Phn 1 L THUYT V BLUETOOTH .............................................. 11
Chng 1
1.1. 1.2.

GII THIU TNG QUAN V BLUETOOTH.....................12


Khi nim Bluetooth. ................................................................................ 12 Lch s, hnh thnh v pht trin ca Bluetooth. ...................................... 12

1.2.1. 1.2.2. 1.3. 1.4.

Lch s tn Bluetooth:....................................................................... 12 Hnh thnh v pht trin ca Bluetooth: ........................................... 12

Cc c im ca Bluetooth. .................................................................... 14 ng dng ca Bluetooth. .......................................................................... 15 1.4.1. 1.4.2. 1.4.3. 1.4.4. 1.4.5. Thit b thng minh........................................................................... 15 Thit b truyn thanh......................................................................... 16 Thit b truyn d liu....................................................................... 17 Cc ng dng nhng. ........................................................................ 18 Mt s ng dng khc....................................................................... 20

Chng 2

K THUT BLUETOOTH ......................................................21

2.1. Cc khi nim dng trong cng ngh Bluetooth............................................ 21 2.1.1. Master Unit : ......................................................................................... 21 2.1.1. 2.1.2. 2.1.3. 2.1.4. 2.1.5. 2.1.6. 2.1.7. Slaver Unit : ...................................................................................... 21 Piconet: ............................................................................................. 22 Scatternet: ......................................................................................... 23 Kt ni theo kiu ad hoc: .................................................................. 25 nh ngha cc lin kt vt l trong Bluetooth: ................................ 26 Trng thi ca thit b Bluetooth: ..................................................... 26 Cc ch kt ni:............................................................................ 27

2.2. Bluetooth Radio. ............................................................................................ 27 2.2.1. Ad Hoc Radio Connectivity.................................................................. 27 2.2.2. Kin trc ca h thng Bluetooth Radio............................................... 28 2.2.2.1. Radio Spectrum-Dy sng v tuyn: ............................................28 2.2.2.2. Interference Immunity S chng nhiu: ....................................29 2.2.2.3. Multiple Access Scheme_Phi hp a truy cp: ..........................30 2.3. K thut tri ph nhy tn trong cng ngh Bluetooth................................... 32 2.3.1. Khi nim tri ph trong cng ngh khng dy :.................................. 32 2.3.2. K thut nhy tn s trong cng ngh Bluetooth : ................................ 32

o Qu Thi An Trn Th M Hnh

Tm hiu cng ngh Bluetooth v vit ng dng minh ha 2.4. Cch thc hot ng ca Bluetooth. .............................................................. 35 2.4.1. C ch truyn v sa li : ..................................................................... 35 2.4.2. Qu trnh hnh thnh Piconet ................................................................ 36 2.4.3. Qu trnh hnh thnh Scatternet ............................................................ 38 2.5. Cc tng giao thc trong Bluetooth. .............................................................. 39 2.5.1. Bluetooth Radio: ................................................................................... 40 2.5.2. BaseBand: ............................................................................................. 42 2.5.2.1. Network topology .........................................................................42 2.5.2.2. Lin kt SCO v ACL...................................................................44 2.5.2.3. a ch thit b...............................................................................44 2.5.2.4. nh dng gi tin ..........................................................................45 2.5.2.5. Qun l trng thi..........................................................................45 2.5.2.6. Thit lp kt ni ............................................................................46 2.5.2.7. Cc ch kt ni:........................................................................47 2.5.2.8. Nhng chc nng khc ca Baseband ..........................................47 2.5.3. Link Manager Protocol: ........................................................................ 48 2.5.4. Host Controller Interface: ..................................................................... 48 2.5.4.1. Nhng thnh phn chc nng ca HCI.........................................48 2.5.4.2. Cc lnh HCI.................................................................................50 2.5.4.3. Cc s kin, m li, lung d liu HCI ........................................50 2.5.4.4. Host Controller Transport Layer...................................................51 2.5.5. Logical link control and adaption protocol (L2CAP):.......................... 51 2.5.5.1. Nhng yu cu chc nng ca L2CAP.........................................51 2.5.5.2. Nhng c im khc ca L2CAP................................................52 2.5.6. RFCOMM Protocol: ............................................................................. 53 2.5.7. Service Discovery Protocol: ................................................................. 54 2.5.7.1. Thit lp giao thc SDP ................................................................54 2.5.7.2. Cc dch v SDP ...........................................................................55 2.5.7.3. Tm kim dch v ..........................................................................55 2.5.7.4. Data element .................................................................................56 2.6. Bluetooth Profiles: ......................................................................................... 57 2.6.1. 4 profile tng qut trong c t Bluetooth v1.1: ................................... 59 2.6.2. Model-Oriented Profiles ....................................................................... 60 2.6.3. Mt s Profiles khc. ............................................................................ 62 o Qu Thi An Trn Th M Hnh 2

Tm hiu cng ngh Bluetooth v vit ng dng minh ha 2.7. Vn s dng nng lng trong Bluetooth. ................................................ 64 2.7.1. Gii thiu. ............................................................................................. 64 2.7.2. Vic s dng v qun l nng lng trong cng ngh Bluetooth......... 65 2.7.2.1. Tng quan: ....................................................................................65 2.7.2.2. Cc ch nng lng..................................................................66 2.8. So snh Bluetooth vi cc k thut khng dy khc : Hng ngoi, Wi-fi (802.11b wireless)................................................................................................. 71 2.8.1. So snh Bluetooth vi Wi-Fi ................................................................ 71 2.8.2. So snh Bluetooth vi IrDA: ................................................................ 74

Chng 3 VN AN TON V BO MT TRONG BLUETOOTH. ..77


3.1. S lc v vn bo mt trong cc chun khng dy................................. 77 3.1.1. S lc chun bo mt mng khng dy trong 802.11......................... 77 3.1.2. Chun bo mt WEP trong IEEE 802.11.............................................. 77 3.1.3. Nhng vn ny sinh trong an ninh mng khng dy ....................... 79 3.2. Qui trnh bo mt trong Bluetooth :............................................................... 81 3.2.1. An ton bo mt trong Bluetooth:......................................................... 81 3.2.1.1. Phn m t v an ton bo mt: ....................................................82 3.2.1.2. Nhn s v bo mt Bluetooth: .....................................................84 3.2.2. Hacking:................................................................................................ 94 3.2.2.1. Impersonation attack by inserting/replacing data .........................94 3.2.2.2. Bluejacking ...................................................................................94 3.2.2.3. Bluetooth Wardriving ...................................................................95 3.2.2.4. Nokia 6310i Bluetooth OBEX Message DoS...............................96 3.2.2.5. Brute-Force attack.........................................................................96 3.2.2.6. Denial-of-Service attack on the device .........................................97 3.2.2.7. Disclosure of keys.........................................................................97 3.2.2.8. Unit key attacks.............................................................................98 3.2.2.9. Backdoor attack ............................................................................98 3.2.2.10. Pairing attack ..............................................................................98 3.2.2.11. BlueStumbling = BlueSnarfing...................................................99 3.2.2.12. BlueBug attack..........................................................................100 3.2.2.13. PSM Scanning...........................................................................100 3.2.2.14. On-line PIN cracking ................................................................100

o Qu Thi An Trn Th M Hnh

Tm hiu cng ngh Bluetooth v vit ng dng minh ha 3.2.2.15. A man-in-the-middle attack using Bluetooth in a WLAN interworking environment........................................................................100 3.2.2.16. Off-line encryption key (via Kc)...............................................101 3.2.2.17. Attack on the Bluetooth Key Stream Generator .......................101 3.2.2.18. Replay attacks ...........................................................................101 3.2.2.19. Man-in-the-middle attack..........................................................101 3.2.2.20. Denial-of-Service attack on the Bluetooth network..................101 3.2.3. Virus:................................................................................................... 102 3.2.3.1. Appdisabler.B .............................................................................102 3.2.3.2. Cabir.Dropper .............................................................................104 3.2.3.3. Cabir A.....................................................................................106 3.2.3.4. Cabir B .....................................................................................107 3.2.3.5. Cabir.Y........................................................................................109 3.2.3.6. Commwarrior.A ..........................................................................109 3.2.3.7. Dampig.A....................................................................................112 3.2.3.8. Doomboot.A................................................................................113 3.2.3.9. Drever A...................................................................................114 3.2.3.10. Drever C.................................................................................115 3.2.3.11. Fontal.A ....................................................................................116 3.2.3.12. Hobbes.A ..................................................................................117 3.2.3.13. Lasco.A .....................................................................................119 3.2.3.14. Locknut B...............................................................................121 3.2.3.15. Mabir.A.....................................................................................121 3.2.3.16. MGDropper.A...........................................................................123 3.2.3.17. Mosquito Trojan........................................................................125 3.2.3.18. Skulls A..................................................................................126 3.2.3.19. Skulls- B....................................................................................128 3.3. Cc gii php an ton bo mt khi s dng cng ngh mng Bluetooth. .... 129 3.3.1. Nhng mo an ton cho thit b Bluetooth: ........................................ 129 3.3.2. Phng chng virus trn mobile phone?............................................... 129

Chng 4 CC U NHC IM V TNG LAI CA BLUETOOTH. ................................................................................................131


4.1. u im ....................................................................................................... 131

o Qu Thi An Trn Th M Hnh

Tm hiu cng ngh Bluetooth v vit ng dng minh ha 4.2. Khuyt im................................................................................................. 131 4.3. Tm ng dng v tng lai ca Bluetooth................................................... 132 4.3.1. Cc phin bn k thut ca Bluetooth: ............................................... 132 4.3.2. Nhng ng dng Bluetooth: ............................................................... 136

Phn 2 H IU HNH SYMBIAN ................................................... 141


Chng 5 TNG QUAN V H IU HNH SYMBIAN V TH H SERIES 60 .................... ........................ .................................................142
5.1. Khi nim v h iu hnh Symbian. .......................................................... 142 5.2. Lch s pht trin. ........................................................................................ 143 5.3. Kin trc Tng quan ca h iu hnh Symbian. ........................................ 146 5.3.1. Nhn h iu hnh - Kernel ................................................................ 147 5.3.2. Middleware ......................................................................................... 148 5.3.3. Application Engine ............................................................................. 148 5.3.4. User Interface framework ................................................................... 148 5.3.5. K thut ng b - Synchronization technology ................................. 148 5.3.6. Java vitual machine implementation................................................... 149 5.4. Gii thiu v th h Series 60. ..................................................................... 149 5.5. Lp trnh ng dng cho Symbian................................................................. 151 5.5.1. Cc ngn ng lp trnh........................................................................ 151 5.5.2. Cc b cng c pht trin ng dng SDK (Software Development Kit) v cc mi trng pht trin tch hp IDE (Integrated Development Enviroment) cho lp trnh C++..................................................................... 152

Chng 6 LP TRNH C++ TRN SYMBIAN. .........................................154


6.1. Cc kiu d liu c bn................................................................................ 154 6.2. Kiu d liu chui v descriptor trn Symbian. .......................................... 155 6.3. Cc qui c trong lp trnh Symbian C++................................................... 160 6.3.1. Qui c v t tn lp......................................................................... 160 6.3.2. Qui c t tn d liu : ..................................................................... 160 6.3.3. Qui c t tn hm:........................................................................... 161 6.4. Qun l li trn Symbian. ............................................................................ 162 6.4.1. C ch bt li trn Symbian................................................................ 162 6.4.2. Hm Leave. ......................................................................................... 163 6.5. Mt s vn v qun l b nh trong lp trnh Symbian C++ :................ 164

o Qu Thi An Trn Th M Hnh

Tm hiu cng ngh Bluetooth v vit ng dng minh ha 6.5.1. C ch Cleanup Stack ......................................................................... 164 6.5.2. Khi to 2 pha (Two - phase constructor) .......................................... 166 6.5.3. Khi to i tng vi NewL() v NewLC() ..................................... 168

Chng 7 BLUETOOTH V SYMBIAN: LP TRNH S DNG GIAO TIP BLUETOOTH TRN SYMBIAN VI C++. .........................170
7.1. Gii thiu. .................................................................................................... 170 7.1.1. Cc ng dng Bluetooth trn cc thit b s dng h iu hnh Symbian: ....................................................................................................... 170 7.1.2. Cc cng c pht trin v v d:.......................................................... 170 7.2. Tng quan v Bluetooth API: ...................................................................... 171 7.2.1. Cc nhm hm Bluetooth API: ........................................................... 172 7.2.2. Quan h gia cc nhm hm API: ...................................................... 173 7.3. Mt vi kiu d liu Bluetooth thng dng. ................................................ 174 7.4. Bluetooth Sockets. ....................................................................................... 176 7.4.1. M v cu hnh Bluetooth Socket :..................................................... 176 7.4.2. Xy dng Bluetooth Socket Server : Lng nghe v chp nhn kt ni t thit b l Client : ...................................................................................... 178 7.4.3. Xy dng Bluetooth Socket Client : Tm kim v kt ni ti thit b l Server. ....................................................................................................... 181 7.4.3.1. Chn thit b kt ni ti : .......................................................181 7.4.3.2. Truy vn thng tin v thit b xung quanh:.................................181 7.4.3.3. Truy vn v dch v c cung cp trn thit b Server :...........184 7.4.3.4. Kt ni vi thit b c chn v thc hin trao i d liu: 184 7.4.4. Trao i d liu thng qua Bluetooth socket :.................................... 186 7.5. Bluetooth Service Discovery Database:....................................................... 187 7.5.1. Kt ni vo Bluetooth Service Discovery Database :......................... 187 7.5.2. ng k mt dch v vo Service Database : ...................................... 188 7.5.3. Thit lp cc thuc tnh trong mt Service Record: ........................... 190 7.6. Bluetooth Service Discovery Agent: ........................................................... 191 7.6.1. Truy vn cc dch v trn thit b khc vi Bluetooth Service Discovery Agent: .......................................................................................... 192 7.6.2. Tm kim cc thuc tnh dch v: ....................................................... 193 7.6.3. To ra i tng qun l cc kt qu truy vn:.............................. 194

o Qu Thi An Trn Th M Hnh

Tm hiu cng ngh Bluetooth v vit ng dng minh ha 7.7. Bluetooth security manager: ........................................................................ 195 7.7.1. Tng quan ........................................................................................... 195 7.7.2. Kt ni vo Bluetooth Security Manager............................................ 196 7.7.3. Thit lp cc ch bo mt : ............................................................ 197 7.8. Bluetooth Device Selection UI. ................................................................... 198 7.9. Xy dng ng dng Bluetooth trn Symbian OS vi Series 60 SDK ......... 201 7.9.1. S khc nhau v Bluetooth trn thit b o v thit b tht. ................ 201 7.9.2. Cc yu cu v phn cng v phn mm cho vic pht trin ng dng Bluetooth vi Series 60 SDK :............................................................. 202 7.9.3. Ci t v cu hnh thit b USB Bluetooth........................................ 203

Phn 3 XY DNG NG DNG MINH HA S DNG CNG NGH BLUETOOTH .............................................................................. 205
Chng 8 PHN TCH V THIT K NG DNG TRAO I PHONEBOOK.................................................................................................206
8.1. Gii thiu ..................................................................................................... 206 8.2. Phn tch v xc nh yu cu...................................................................... 206 8.3. Qui trnh kt ni v gi nhn d liu ........................................................... 207 8.4. Xy dng phn ng dng trn in thoi..................................................... 209 8.4.1. Phn Server ......................................................................................... 211 8.4.2. Phn Client.......................................................................................... 214 8.5. Xy dng phn ng dng PbkExchange trn my tnh ............................... 218 8.5.1. Kt ni vo cng COM :..................................................................... 218 8.5.2. Qung b dch v ................................................................................ 219 8.5.3. Chp nhn kt ni ............................................................................... 219 8.5.4. Thc hin truyn v nhn d liu : ..................................................... 219

Chng 9 CI T V TH NGHIM .....................................................221


9.1. Ci t: ......................................................................................................... 221 9.2. Th nghim.................................................................................................. 221

Chng 10 TNG KT..................................................................................222


T

PH LC A : Mt s thut ng s dng trong lun vn..................... 223 PH LC B : Hng dn s dng chng trnh PbkExchange ......... 227
1. 2. S dng ng dng PbkExchange trn in thoi :.................................. 227 S dng ng dng PbkExchange trn my tnh :.................................... 232 7

o Qu Thi An Trn Th M Hnh

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

PH LC C : Xy dng ng dng HelloWorld trn Symbian vi Series 60 SDK v1.2 .................................................................................... 236
1. Ci dt cc chng trnh cn thit : ................................................................ 236 2. To Project ...................................................................................................... 236 3. Cu trc th mc ca ng dng HelloWorld.................................................. 238 4. M mt project c :.................................................................................... 239 5. Xy dng v bin dch ng dng .................................................................... 239 6. To file ci t cho ng dng HelloWorld: .................................................... 240 7. Ci t ng dng trn thit b tht: ................................................................. 243

Ti liu tham kho .................................................................................... 243

Danh sch cc hnh


Hnh 1-1 Tai nghe Bluetooth ......................................................................................16 Hnh 1-2 Thit b truyn d liu .................................................................................17 Hnh 1-3 USB Bluetooth.............................................................................................17 Hnh 1-4 My nh iu khin bng in thoi di ng...............................................18 Hnh 1-5 Mn hnh hin th theo giao din dnh cho cc cuc in thoi..................19 Hnh 1-6 Bluetooth Car Kit ........................................................................................19 Hnh 1-7 My chp hnh k thut s c h tr Bluetooth truyn hnh nh ...........19 Hnh 1-8 ng h c h tr Bluetooth nghe nhc mp3 .........................................20 Hnh 2-1 Mt Piconet trong thc t. ...........................................................................22 Hnh 2-2 Piconet gm 1 Slave. ...................................................................................23 Hnh 2-3 Piconet gm nhiu Slave. ............................................................................23 Hnh 2-4 Mt Scatternet gm 2 Piconet. ....................................................................24 Hnh 2-5 S hnh thnh mt Scatternet theo cch 1. ..................................................24 Hnh 2-6 S hnh thnh mt Scatternet theo cch 2. ..................................................25 Hnh 2-7 K thut tri ph nhy tn s........................................................................32 Hnh 2-8 Cc Packet truyn trn cc tn s khc nhau...............................................33 Hnh 2-9 Cc Packet truyn trn khe thi gian...........................................................33 Hnh 2-10 Cu trc gi tin Bluetooth .........................................................................34 Hnh 2-11 Access code ...............................................................................................34 Hnh 2-12 Cu to mt packet. ...................................................................................35 Hnh 2-13 M hnh piconet.........................................................................................36 Hnh 2-14 Qu trnh truy vn to kt ni....................................................................37 Hnh 2-15 Truy vn to kt ni gia cc thit b trong thc t...................................38 Hnh 2-16 Minh ho mt Scatternet............................................................................39 Hnh 2-17 Bluetooth Protocol Stack ...........................................................................40 Hnh 2-18 Cc tng nghi thc Bluetooth. ...................................................................40 Hnh 2-19 Frequency hopping ....................................................................................41 Hnh 2-20 Piconet .......................................................................................................43 Hnh 2-21 Scatternet ...................................................................................................44 Hnh 2-22 nh dng gi tin Bluetooth ......................................................................45 Hnh 2-23 Host Controller Interface ...........................................................................49 o Qu Thi An Trn Th M Hnh 8

Tm hiu cng ngh Bluetooth v vit ng dng minh ha Hnh 2-24 Host controller transport layer...................................................................50 Hnh 2-25 Bluetooth v1.1 profiles ..............................................................................59 Hnh 2-26 TCS profile ................................................................................................60 Hnh 2-27 Networking Profiles...................................................................................61 Hnh 2-28 Headset Profile ..........................................................................................61 Hnh 2-29 LAN Access...............................................................................................61 Hnh 2-30 File Transfer Profile...................................................................................62 Hnh 2-31 Object Push Profile....................................................................................62 Hnh 2-32 Hands Free Profile .....................................................................................64 Hnh 2-33 Human Interface Device Profile ................................................................64 Hnh 2-34 Hold Mode Interaction...............................................................................68 Hnh 2-35 Sniff Mode Interaction...............................................................................69 Hnh 3-1 Hai phng php truy cp mng WLAN ....................................................78 Hnh 3-2 Kho WEP tnh c chia s cho AP v cc Client trong mng.................78 Hnh 3-3 Mng WLAN v cc thit b xm nhp.......................................................79 Hnh 3-4 Card mng vi kho m WEP bn trong. ....................................................80 Hnh 3-5 Cc Rogue AP tn cng mng bng cch gi danh mt AP hp php........80 Hnh 3-6 Qu trnh thit lp knh truyn ....................................................................86 Hnh 3-7 Bluetooth Key Generation from PIN...........................................................89 Hnh 3-8 Bluetooth Authentication.............................................................................91 Hnh 3-9 Bluetooth Encryption Process .....................................................................92 Hnh 3-10 Mn hnh in thoi nhim Cabir.D ........................................................105 Hnh 3-11 Tin nhn MMS c km su Comwarrior .................................................111 Hnh 3-12 Mn hnh ci t Doomboot.A ................................................................114 Hnh 3-13 Mn hnh yu cu ci t.........................................................................118 Hnh 3-14 Mn hnh ngay sau khi ci t xong ........................................................118 Hnh 3-15 Mn hnh yu cu ci t su Lasco.A ....................................................120 Hnh 3-16 Mosquito Trojan ......................................................................................125 Hnh 3-17 Troj/Skulls-A ...........................................................................................127 Hnh 3-18 Troj/Skulls-A ...........................................................................................128 Hnh 4-1 Nhng thit b ng dng Bluetooth ...........................................................136 Hnh 5-1 Cc nh sn xut c Symbian cp php (5/2005)..................................146 Hnh 5-2 Kin trc h iu hnh Symbian................................................................147 Hnh 5-3 Bn phm ca Series 60. ............................................................................150 Hnh 6-1 M hnh i tng TPtrC v TPtr .............................................................156 Hnh 6-2 M hnh i tng TBufC v TBuf...........................................................157 Hnh 6-3 M hnh i tng HBufC ........................................................................157 Hnh 6-4 S h thng cc descriptor....................................................................160 Hnh 7-1 Kin trc Bluetooth Stack..........................................................................171 Hnh 7-2 Quan h gia cc nhm hm Bluetooth API. ............................................173 Hnh 7-3 Bluetooth Data Element Types..................................................................175 Hnh 7-4 Bluetooth Sockets ......................................................................................177 Hnh 7-5 Cc bc khi to Bluetooth Socket Server..............................................179 Hnh 7-6 S khc bit gia chng giao thc Bluetooth trn thit b tht v trn my o................................................................................................................................202 Hnh 7-7 Virtual Bluetooth COM port to ra trn my tnh. ....................................204 Hnh 7-8 Cu hnh Bluetooth COM port cho thit b gi lp....................................204 Hnh 8-1 Qui trnh kt ni v gi nhn d liu.........................................................208 Hnh 8-2 S lp ca phn ng dng trn in thoi. ...........................................209 Hnh 8-3 M t chc nng cc lp ca phn ng dng trn in thoi. ...................210

o Qu Thi An Trn Th M Hnh

Tm hiu cng ngh Bluetooth v vit ng dng minh ha Hnh 8-4 S lp ca phn ng dng trn in thoi (Server)..............................211 Hnh 8-5 Qung b dch v ca Server.....................................................................212 Hnh 8-6 Nhn d liu t Client ...............................................................................213 Hnh 8-7 Truyn d liu phonebook ti client .........................................................214 Hnh 8-8 S lp ca phn ng dng trn in thoi (Client)...............................215 Hnh 8-9 S tm kim thit b ..............................................................................216 Hnh 8-10 S UML truy vn dch v trn thit b ...............................................217 Hnh B - 1 Giao din ng dng trn in thoi..........................................................228 Hnh B - 2 Khi to in thoi l server ...................................................................229 Hnh B - 3 Trng thi lng nghe ...............................................................................229 Hnh B - 4 Xc nhn yu cu kt ni ........................................................................230 Hnh B - 5 Menu sau khi kt ni thnh cng ............................................................230 Hnh B - 6 La chn cc contact truyn ..............................................................231 Hnh B - 7 S dng ng dng PbkExchange ............................................................231 Hnh B - 8 Khi to in thoi l client....................................................................232 Hnh B - 9 La chn thit b kt ni ....................................................................232 Hnh B - 10 Giao din ng dng PbkExchange trn my tnh. ................................233 Hnh B - 11 Combo Box la chn cng COM .........................................................233 Hnh B - 12 File d liu ............................................................................................233 Hnh B - 13 Listbox cha phonebook hin hnh ......................................................234 Hnh B - 14 Thng tin s lc ca mt contact........................................................234 Hnh B - 15 Dialog NewContact...............................................................................235 Hnh B - 16 Textbox Log..........................................................................................235 Hnh C - 1 To Project symbian mi trn visual C++ ..............................................237 Hnh C - 2 Thng tin project mi to ra ...................................................................238 Hnh C - 3 Cu trc th mc ca ng dng HelloWorld..........................................238 Hnh C - 4 M mt project c ..............................................................................239 Hnh C - 5 M mt project c ..............................................................................239 Hnh C - 6 Chy ng dng HelloWorld....................................................................240 Hnh C - 7 ng dng HelloWorld ............................................................................240 Hnh C - 8 Bin dch ng dng cho h thng ARMI................................................241 Hnh C - 9 Bin dch ng dng cho h thng ARMI................................................241 Hnh C - 10 To file ci t ......................................................................................242

Danh sch cc bng


Bng 1-1 Bng 1-2 Bng 3-1 Bng 3-2 Bng 3-3 Bng 3-4 So snh Wifi v Bluetooth ..........................................................................74 So snh IrDA v Bluetooth .........................................................................76 M t cc hm qung b dch v...............................................................213 M t cc hm tm thit b.........................................................................216 M t cc hm truy vn dch v ................................................................218 Tham s hm ReadFile v WriteFile ........................................................220

o Qu Thi An Trn Th M Hnh

10

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Phn 1 L THUYT V BLUETOOTH


Chng 1. Gii thiu tng quan v Bluetooth. Chng 2. K thut Bluetooth. Chng 3. Vn v an ton v bo mt trong Bluetooth. Chng 4. Cc u nhc im v tng lai ca Bluetooth.

o Qu Thi An Trn Th M Hnh

11

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Chng 1 GII THIU TNG QUAN V


BLUETOOTH
1.1.
_ Khi nim Bluetooth. Bluetooth l cng ngh khng dy cho php cc thit b in, in t

giao tip vi nhau trong khong cch ngn, bng sng v tuyn qua bng tn chung ISM (Industrial, Scientific, Medical) trong dy tng 2.40- 2.48 GHz. y l dy bng tng khng cn ng k c dnh ring dng cho cc thit b khng dy trong cng nghip, khoa hc, y t. _ Bluetooth c thit k nhm mc ch thay th dy cable gia my tnh v cc thit b truyn thng c nhn, kt ni v tuyn gia cc thit b in t li vi nhau mt cch thun li vi gi thnh r. _ Khi c kch hot, Bluetooth c th t ng nh v nhng thit b khc c chung cng ngh trong vng xung quanh v bt u kt ni vi chng. N c nh hng s dng cho vic truyn d liu ln ting ni.

1.2.

Lch s, hnh thnh v pht trin ca Bluetooth.

1.2.1. Lch s tn Bluetooth:

Bluetooth l tn ca nh vua an Mch- Harald I Bluetooth (Danish Harald Bltand) (910-985). Harald Bluetooth hp nht an Mch v Norway. Ngy nay Bluetooth l biu tng ca s thng nht gia Computer v Telecom, gia cng ngh my tnh v cng ngh truyn thng a phng tin.
1.2.2. Hnh thnh v pht trin ca Bluetooth:

_ Nm 1994: Ln u tin hng Ericsson a ra mt n nhm hp nht lin lc gia cc loi thit b in t khc nhau m khng cn phi dng n cc si cp ni cng knh, phc tp. y thc cht l mt mng v tuyn khng dy c ly ngn ch dng mt vi mch c 9mm c th chuyn cc tn hiu sng v tuyn iu khin thay th cho cc si dy cp iu khin ri rm.

o Qu Thi An Trn Th M Hnh

12

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

_ Nm 1998: 5 cng ty ln trn th gii gm Ericsson, Nokia, IBM, Intel v Toshiba lin kt, hp tc thit k v trin khai pht trin mt chun cng ngh kt ni khng dy mi mang tn BLUETOOTH nhm kt ni cc thit b vi in t li vi nhau dng sng v tuyn. _ n ngy 20/5/1998: nhm nghin cu Special Interest Group - SIG chnh thc c thnh lp vi mc ch pht trin cng ngh Bluetooth trn th trng vin thng. Bt k cng ty no c k hoch s dng cng ngh Bluetooth u c th tham gia vo. _ Thng 7/1999: cc chuyn gia trong SIG a ra thuyt minh k thut Bluetooth phin bn 1.0. _ Nm 2000 : SIG b sung thm 4 thnh vin mi l 3Com, Lucent Technologies, Microsoft v Motorola. Cng ngh Bluetooth c cp du chng nhn k thut ngay trong ln ra mt u tin. _ Nm 2001: Bluetooth 1.1 ra i cng vi b Buetooth software development kit-XTNDAccess Blue SDK, nh du bc pht trin cha tng c ca cng ngh Bluetooth trn nhiu lnh vc khc nhau vi s quan tm ca nhiu nh sn xut mi. Bluetooth c bnh chn l cng ngh v tuyn tt nht trong nm. _ Thng 7/2002, Bluetooth SIG thit lp c quan u no ton cu ti Overland Park, Kansas, USA. Nm 2002 nh du s ra i cc th h my tnh Apple h tr Bluetooth. Sau khng lu Bluetooth cng c thit lp trn my Macintosh vi h iu hnh MAC OX S. Bluetooth cho php chia s tp tin gia cc my MAC, ng b ha v chia s thng tin lin lc gia cc my Palm, truy cp internet thng qua in thoi di ng c h tr Bluetooth (Nokia, Ericsson, Motorola). _ Thng 5/2003, CSR (Cambridge Silicon Radio) cho ra i 1 chip Bluetooth mi vi kh nng tch hp d dng v gi c hp l hn. iu ny gp phn cho s ra i th h Motherboard tch hp Bluetooth, gim s chnh lch gi c gia nhng mainboard,
o Qu Thi An Trn Th M Hnh 13

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

cellphone c v khng c Bluetooth. Thng 11/2003 dng sn phm Bluetooth 1.2 ra i. _ Nm 2004, cc cng ty in thoi di ng tip tc khai thc th trng si ni ny bng cch cho ra i cc th h in thoi di ng i mi h tr Bluetooth (N7610, N6820, N6230). Motorola cho ra sn phm Bluetooth u tay ca mnh. Cc sn phm Bluetooth tip tc ra i v c v c xc tin mnh m qua chng trnh Operation Blueshock International Consumer Electronics Show (CES) ti Las Vegas ngy 9/1/2004. _ 6-1-2004, trong hi ngh Bluetooth CES (Consumer Electronics Show) Las Vegas, t chc Bluetooth SIG thng bo s thnh vin ca mnh t con s 3000, tr thnh t chc c s thnh vin ng o thuc nhiu lnh vc cng ngh: t my mc t ng n thit b y t, PC n in thoi di ng, tt c u s dng k thut khng dy tm ngn trong sn phm ca h _ Bluetooth hin ang c tc pht trin kh nhanh vi kh nng ng dng ngy cng a dng, theo tnh ton ca cng ty nghin cu th trng Frost & Sulivan, trong nm 2001 c 4.2 triu sn phm s dng cng ngh Bluetooth c a ra th trng, con s ny s tng ln 1.01 t vo nm 2006. _ Nhng nm gn y, Bluetooth c coi l th trng nng ng v si ni nht trong lnh vc truyn thng. Vi s ra i ca cng ngh Bluetooth th ta c th lc quan ni rng, thi k kt ni bng dy hu tuyn gia cc thit b n hi kt thc, thay vo l kh nng kt ni khng dy thng minh v trong sut, iu ny s l hin thc ch trong mt tng lai gn m thi.

1.3.

Cc c im ca Bluetooth. _ Tiu th nng lng thp, cho php ng dng c trong nhiu loi thit b, bao gm c cc thit b cm tay v in thoi di ng _ Gi thnh h (Gi mt chip Bluetooth ang gim dn, v c th xung di mc 5$ mt n v).

o Qu Thi An Trn Th M Hnh

14

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

_ Khong cch giao tip cho php : Khong cch gia hai thit b u cui c th ln n 10m ngoi tri, v 5m trong ta nh. Khong cch thit b u cui v Access point c th ln ti 100m ngoi tri v 30m trong ta nh. _ Bluetooth s dng bng tn khng ng k 2.4Ghz trn dy bng tn ISM. Tc truyn d liu c th t ti mc ti a 1Mbps (do s dng tn s cao) m cc thit b khng cn phi thy trc tip nhau (light-of-sight requirements) _ D dng trong vic pht trin ng dng: Bluetooth kt ni mt ng dng ny vi mt ng dng khc thng qua cc chun Bluetooth profiles, do c th c lp v phn cng cng nh h iu hnh s dng. _ Bluetooth c dng trong giao tip d liu ting ni: c 3 knh truyn ting ni, v 7 knh truyn d liu trong mt mng c nhn. _ An ton v bo mt: c tch hp vi s xc nhn v m ha ( build in authentication and encryption) _ Tnh tng thch cao, c nhiu nh sn xut phn cng cng nh phn mm h tr.

1.4.

ng dng ca Bluetooth. Gm c cc loi in thoi di ng, PDA, PC, cellphone, smartphone

1.4.1. Thit b thng minh.

in thoi di ng: Sony Ericsson P800, P900, Nokia 3650, 7610, 7650Cng ngh Bluetooth gn sn trn thit b di ng nn khng cn dng cp. C th kt ni vi tai nghe Bluetooth, camera k thut s hay my tnh, cho php ngi dng xem tivi, chp nh, quay phim, nghe MF3, FM, duyt web v email t in thoi

o Qu Thi An Trn Th M Hnh

15

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Nokia6600

Palm Tungsten

Hnh 1-1 Nokia 6600 - PalmTungsten Palm Tungsten W: mt trung tm d liu cm tay, cung cp mt s kt hp tinh vi ca cng ngh th in t khng dy, thng ip SMS, cc chc nng ca in thoi, cc ng dng kinh doanh v phn mm qun l thng tin c nhn ca Palm.Vi 3 bng tn 900-1800-1900 MHz, Palm Tungsten W c ch to vi mt trong nhng sng v tuyn nhanh nht hin nay cho cc mng GSM/GPRS, v th c th dng n nh mt chic in thoi vi tai nghe Bluetooth. Plam Tungsten W khng s dng SIM, v c th dng vi bt k nh cung cp dch v no.
1.4.2. Thit b truyn thanh.

Gm cc loi tai nghe (headset) , loa v cc trm thu m thanh

Hnh 1-1 Tai nghe Bluetooth Cng ty Logitech chuyn sn xut thit b ngoi vi cho my tnh PC va gii thiu loi tai nghe Bluetooth di ng. So vi cc tai nghe bluetooth khc trn th trng, tai nghe HS02 h tr tiu chun Bluetooth phin bn 1.2 v c loa nghe ln 2cm. Tiu chun Bluetooth 1.2 gim thi gian kt ni v tiu th in nng khi ni vi thit b Bluetooth 1.2 khc. Ngoi ra kh nng s dng cng ngh
o Qu Thi An Trn Th M Hnh 16

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

tn s tiu chun 1.2 gip trnh xung nhiu t cc thit b tn s 2,4Ghz khc nh mng khng dy WiFi v cc in thoi khng dy. Vi h tr Bluetooth 1.2, m thanh nghe qua tai nghe to, nh trn loa. Tai nghe cung cp tn s tr v ln v c m lng ti a ln hn cn thit s dng trong trng hp nht nh.
1.4.3. Thit b truyn d liu.

Gm chut, bn phm, joystick, camera, bt k thut s, my in, LAN access point

Hnh 1-2 Thit b truyn d liu Modem Zoom dng kt ni Internet hoc mng cc b bng in thoi. N c 2 ng giao tip vi PC hay PDA: ng khng dy Bluetooth class 1, bn knh hot ng 100m; ng RS232 qua cng COM. Tc 56Kbps.

LevelOne Hnh 1-3 USB Bluetooth Bluetooth MDU 0001USB l thit b kt ni khng dy s dng cng ngh Bluetooth class 2, vng ph sng bn knh 10m; ni vi PC qua USB 1.1. Tuy nh nh u ngn tay nhng thit b c tch hp gn nh tt c cc chun giao tip hin c, v d: RS232, FTP, Dial-up, Fax, OBEX (chun ng b ha d liu cho PDA)..., nn khi lp MDU 0001USB vo th v hnh trung PC ca bn bin thnh mt i pht sng. Ngc li, PC ny cng c th d

o Qu Thi An Trn Th M Hnh

17

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

tm v kt ni n tt c my tnh, PDA ang trong vng ph sng. Cm thit b, ci t driver, khi ng li my l tt c cc my tnh trong bn knh 10m c th kt ni,trao i d liu vi nhau.

My nh iu khin bng in thoi di ng Hnh 1-4 My nh iu khin bng in thoi di ng Sn phm ca Sony Ericsson c tn ROB-1ROB-1 c iu khin khng dy qua bn phm joystick hoc nh mn hnh cm ng trn in thoi P900 hoc P910. Ngi s dng nhn trn mn hnh in thoi nhng g ang c trn ng knh my nh, v chp cc hnh nh trn in thoi nh mt my nh thng thng. Vi kh nng ln trn chung quanh vi khong cch 50m cch ngi s dng, ROB-1 cng lc truyn hnh nh trn in thoi di ng. Thit b c ba bnh xe v c dng hnh cu kt hp vi cng ngh my nh thng minh gip di chuyn nhanh nhn v c ng vi gc nhn rng. C ng knh 11cm, ROB-1 c th di chuyn v pha trc, sau, nhn quanh cc gc, quanh mt im hay nghing ng knh mt gc 70 ln trn v 20 xung di. C n chiu pha trc gip chp trong bng ti. B nh ln gip chp mt s nh trc khi lu vo in thoi, hoc truyn ti mt my tnh PC qua cng USB.
1.4.4. Cc ng dng nhng.

iu khin ngun nng lng trong xe hi, cc loi nhc c, trong cng nghip, y t

o Qu Thi An Trn Th M Hnh

18

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 1-5 Mn hnh hin th theo giao din dnh cho cc cuc in thoi.

K t nay, nhng khch hng ca chic sedan Lexus LS430 v xe th thao hai cu LX470 s khng cn phi dng li trn ng nhn hay tin hnh cuc gi in thoi di ng. Cc thao tc c thc hin n gin nh mt nt bm trn tay li hoc qua mn hnh k thut s.

Hnh 1-6 Bluetooth Car Kit

Hnh 1-7 My chp hnh k thut s c h tr Bluetooth truyn hnh nh

o Qu Thi An Trn Th M Hnh

19

Tm hiu cng ngh Bluetooth v vit ng dng minh ha 1.4.5. Mt s ng dng khc.

Do s lng cng ty tham gia vo t chc SIG ngy cng nhiu, v vy, s lng cc loi sn phm c tch hp cng ngh Bluetooth c tung ra th trng ngy cng nhiu, bao gm c cc thit b dn dng nh t lnh, l vi sng, my iu ha nhit , cc loi chi...

chi iu khin bng in thoi di ng. y l mt ph kin hon ton mang tnh gii tr. B CAR-100 Bluetooth Car Kit do Sony Ericsson sn xut hon ton ch l mt chic t in t to bng bao dim. N c chiu di 7 cm, c iu khin bng cch bm cc phm trn mt chic in thoi Sony Ericsson c h tr Bluetooth. N c np in bng cch ni ngay vo khe cm ui in thoi. t c th chy lin 1 ting vi c ly hot ng l 10 m. Thi gian np li in cng i hi t nht 1 ting.

Hnh 1-8 ng h c h tr Bluetooth nghe nhc mp3

o Qu Thi An Trn Th M Hnh

20

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Chng 2 K THUT BLUETOOTH .


2.1. Cc khi nim dng trong cng ngh Bluetooth.
2.1.1. Master Unit :

L thit b duy nht trong 1 Piconet, Master thit lp ng h m xung v kiu bc nhy (hopping) ng b tt c cc thit b trong cng piconet m n ang qun l, thng l thit b u tin chuyn i d liu. Master cng quyt nh s knh truyn thng. Mi Piconet c mt kiu hopping duy nht.
2.1.1. Slaver Unit :

L tt c cc thit b cn li trong piconet, mt thit b khng l Master th phi l Slave. Ti a 7 Slave dng Active v 255 Slave dng Parked (Inactive) trong 1 Piconet. C 3 dng Slave trong mt Piconet: Active: Slave hot ng, c kh nng trao i thng tin vi Master v cc Slave Active khc trong Piconet. Cc thit b trng thi ny c phn bit thng qua 1 a ch MAC (Media Access Control) hay AMA (Active Member Address ) - l con s gm 3 bit. Nn trong 1 Piconet c ti a 8 thit b trang thi ny (1 cho Master v 7 cho Slave). Standby: Standby l mt dng inactive, thit b trong trng thi ny khng trao i d liu, sng radio khng c tc ng ln, cng sut gim n ti thiu tit kim nng lng, thit b khng c kh nng d c bt c m truy cp no. C th coi l nhng thit b trong nm ngoi vng kim sot ca Master. Parked: l mt dng inactive, ch 1 thit b trong 1 Piconet thng xuyn c ng b vi Piconet, nhng khng c 1 a ch MAC. Chng nh trng thi "ng" v s c Master gi dy bng tn hiu "beacon" (tn hiu bo hiu). Cc thit b trng thi Packed c nh a ch thng qua a ch PMA (Packed Member Address). y l con s 8 bits phn bit cc packed Slave vi nhau v c ti a 255 thit b trng thi ny trong 1 Piconet.

o Qu Thi An Trn Th M Hnh

21

Tm hiu cng ngh Bluetooth v vit ng dng minh ha 2.1.2. Piconet:

Picotnet l tp hp cc thit b c kt ni thng qua k thut Bluetooth theo m hnh Ad-Hoc (y l kiu mng c thit lp cho nhu cu truyn d liu hin hnh v tc thi, tc nhanh v kt ni s t ng hu sau khi truyn xong). Trong 1 Piconet th ch c 1 thit b l Master. y thng l thit b u tin to kt ni, n c vai tr quyt nh s knh truyn thng v thc hin ng b gia cc thnh phn trong Piconet, cc thit b cn li l Slave. l cc thit b gi yu cu n Master. Lu rng, 2 Slave mun thc hin lin lc phi thng qua Master bi chng khng bao gi kt ni trc tip c vi nhau, Master s ng b cc Slave v thi gian v tn s. Trong 1 Piconet c ti a 7 Slave ang hot ng ti 1 thi im. - Minh ho mt Piconet:

Hnh 2-1 Mt Piconet trong thc t. Cc m hnh Piconet : Piconet ch c 1 Slave :

o Qu Thi An Trn Th M Hnh

22

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 2-2 Piconet gm 1 Slave. Piconet gm nhiu Slave :

Hnh 2-3 Piconet gm nhiu Slave. Cch hnh thnh mt Piconet: Mt piconet bt u vi 2 thit b kt ni vi nhau, nh laptop PC vi 1 Mobilephone. Gii hn 8 thit b trong 1 Piconet (3 bit MAC cho mi thit b). Tt c cc thit b Bluetooth u ngang hng v mang chc nng xc nh. Tuy nhin khi thnh lp 1 Piconet, 1 thit b s ng vai Master ng b v tn s v thi gian truyn pht, v cc thit b khc lm Slave.
2.1.3. Scatternet:

_ L 2 hay nhiu Piconet c lp v khng ng b, cc Piconet ny kt hp li truyn thng vi nhau. _ Lu : Mt thit b c th va l Master ca Piconet ny, va l Slave ca Piconet khc. Vai tr ca 1 thit b trong Piconet l khng c nh, c ngha l n c th thay i t Master thnh Slave v ngc li, t Slave thnh Master. V d nu Master khng kh nng cung cp ti nguyn phc v cho Piconet ca mnh th n s chuyn quyn
o Qu Thi An Trn Th M Hnh 23

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

cho 1 Slave khc giu ti nguyn hn, mnh hn, bi v trong 1 piconet th Clock v kiu Hopping c ng b nhau sn. _ V d mt Scatternet :

Hnh 2-4 Mt Scatternet gm 2 Piconet.

_ C 2 cch hnh thnh mt Scatternet: Cch 1: Piconet ny c ra 1 Slave lm Slave ca Piconet kia (cc Piconet l c lp vi nhau v khng ng b). Slave ny s phn chia cc time slots (TS), mt vi TS Piconet ny, vi TS Piconet kia.

Hnh 2-5 S hnh thnh mt Scatternet theo cch 1.

o Qu Thi An Trn Th M Hnh

24

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Cch 2: Mt Slave trong Piconet ny tr thnh 1 Master trong 1 Piconet khc. Cng bng cch chia cc TS nh trn cch 1. Cch ny cho php 2 Piconet ng b nhau v clock (xung nhp) v kiu hopping (kiu nhy tn s). V 1 Slave ng vai tr Master trong 1 Piconet mi, s mang theo clock v hopping ca Piconet c, ng b cho cc Slave trong Piconet mi m n lm Master.

Hnh 2-6 S hnh thnh mt Scatternet theo cch 2.

_ Khi c nhiu Piconet c lp, c th b nhiu trn mt s knh, nhng packet s b mt v c truyn li. Nu tn hiu l ting ni (tn hiu thoi ), chng s b b qua.
2.1.4. Kt ni theo kiu ad hoc:

Khng c s phn bit gia cc radio units; ngha l khng c s phn bit da vo v tr hay khong cch. Kt ni ad hoc da vo s lin lc gia cc im, khng cn thit b h tr kt ni gia cc thit b di ng, khng cn mch iu khin trung tm cho cc unit da vo thit lp kt ni. Trong Bluetooth, n ging nh mt s lng ln cc kt ni ad hoc cng tn ti trong mt vng m khng cn bt k mt s sp xp no, cc network c lp cng tn ti chng cho ln nhau.

o Qu Thi An Trn Th M Hnh

25

Tm hiu cng ngh Bluetooth v vit ng dng minh ha 2.1.5. nh ngha cc lin kt vt l trong Bluetooth:

Asynchronous connectionless (ACL): c thit lp cho vic truyn d liu, nhng gi d liu c bn (primarily packet data). L mt kt ni point-tomultipoint gia Master v tt c cc Slave tham gia trong piconet. Ch tn ti duy nht mt kt ni ACL. Chng h tr nhng kt ni chuyn mch gi (packet-switched connection) i xng v khng i xng. Nhng gi tin a khe dng ACL link v c th t ti kh nng truyn ti a 723 kbps mt hng v 57.6 kbps hng khc. Master iu khin rng bng tng ca ACL link v s quyt nh xem trong mt piconet mt slave c th dng bng tng rng bao nhiu. Nhng gi tin broadcast truyn bng ACL link, t master n tt c cc slave. Hu ht cc gi tin ACL u c th truyn li. Synchronous connection-oriented (SCO): h tr kt ni i xng, chuyn mch mch (circuit-switched), point-to-point gia mt Master v mt Slave trong 1 piconet. Kt ni SCO ch yu dng truyn d liu ting ni. Hai khe thi gian lin tip c ch nh trc s c dnh ring cho SCO link. D liu truyn theo SCO link c tc 64kbps. Master c th h tr ti a 3 kt ni SCO ng thi. SCO packet khng cha CRC (Cyclic Redundancy Check) v khng bao gi truyn li. Lin kt SCO c thit lp ch sau khi 1 lin kt ACL u tin c thit lp.
2.1.6. Trng thi ca thit b Bluetooth:

C 4 trng thi chnh ca 1 thit b Bluetooth trong 1 piconet: _ Inquiring device (inquiry mode): thit b ang pht tn hiu tm thit b Bluetooth khc. _ Inquiry scanning device (inquiry scan mode): thit b nhn tn hiu inquiry ca thit b ang thc hin inquiring v tr li. _ Paging device (page mode): thit b pht tn hiu yu cu kt ni vi thit b inquiry t trc. _ Page scanning device (page scan mode): thit b nhn yu cu kt ni t paging device v tr li.

o Qu Thi An Trn Th M Hnh

26

Tm hiu cng ngh Bluetooth v vit ng dng minh ha 2.1.7. Cc ch kt ni:

_ Active mode: trong ch ny, thit b Bluetooth tham gia vo hot ng ca mng. Thit b master s iu phi lu lng v ng b ha cho cc thit b slave. _ Sniff mode: l 1 ch tit kim nng lng ca thit b ang trng thi active. Sniff mode, thit b slave lng nghe tn hiu t mng vi tn s gim hay ni cch khc l gim cng sut. Tn s ny ph thuc vo tham s ca ng dng. y l ch t tit kim nng lng nht trong 3 ch tit kim nng lng. _ Hold mode: l 1 ch tit kim nng lng ca thit b ang trng thi active. Master c th t ch Hold mode cho slave ca mnh. Cc thit b c th trao i d liu ngay lp tc ngay khi thot khi ch Hold mode. y l ch tit kim nng lng trung bnh trong 3 ch tit kim nng lng. _ Park mode: l ch tit kim nng lng ca thit b vn cn trong mng nhng khng tham gia vo qu trnh trao i d liu (inactive). Thit b ch Park mode b a ch MAC, ch lng nghe tn hiu ng b ha v thng ip broadcast ca Master. y l ch tit kim nng lng nht trong 3 ch tit kim nng lng. 2.2. Bluetooth Radio.
2.2.1. Ad Hoc Radio Connectivity

Phn ln h thng radio trong thng mi s dng ngy nay u c da vo cu trc t bo radio. Mt mng mobile thit lp c s h tng bng nhng si cp kim loi theo dng xng sng, dng mt hoc nhiu trm c s t nhng v tr chin lc sng c th ph ht cc t bo; thit b s dng l nhng in thoi c kh nng di chuyn, hoc ni chung l nhng terminal di ng, s dng mobile network; nhng terminal ny duy tr mt kt ni vi mng thng qua mt radio link n cc trm c s. y l lin kt cht ch gia trm c s v terminal. Khi mt terminal ng k vi mng, n s gi mt knh iu khin, v kt ni s uc thit lp hoc gii phng theo nghi thc ca knh . Truy xut knh, chia knh, iu khin lu thng v nhng s can
o Qu Thi An Trn Th M Hnh 27

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

thip khc u c iu khin mt cch gn gng bi cc trm c s. Chng hn theo quy c ca h thng radio th nhng h thng in thoi cng cng nh l Global System for Mobile Communications (GSM), D-AMPS, v IS-95 [13], nhng cng c nhng h thng t nhn nh h thng mng cc b khng dy (WLAN) da trn 802.11 hoc HIPERLAN I v HIPERLAN II [4 6], v h thng cordless nh Digital Enhanced Cordless Telecommunications (DECT) v Personal Handyphone System (PHS) [7,8]. Tri li, trong h thng ad hoc tht s th khng h c s khc bit gia cc radio unit; tc l khng h c im khc bit gia cc trm c s v terminal. Lin kt ad hoc ty thuc vo s lin lc gia cc thit b. Khng c c s h tng l dy cp kim loi h tr kt ni gia cc unit di ng, khng c thit b kim sot trung tm cho cc unit da vo to cc quan h ni lin vi nhau, cng khng c h tr vic sp xp truyn thng. Thm vo , y khng c s can thip ca ngi iu hnh. C th mng tng kch bn ca Bluetooth nh th ny, n c v nh l mt s lng ln cc kt ni ad hoc cng tn ti cng mt vng m khng c bt c s phi hp ln nhau no. i vi nhng ng dng Bluetooth, c nhiu mng c lp chng cho ln nhau trn cng mt vng. H thng ad hoc radio ch c dng trong vi trng hp nh h thng walky-talky dng bi qun i, cnh st, cu ha, v nhng i cu h ni chung.Tuy nhin, h thng Bluetooth l h thng ad hoc radio thng mi u tin c dng mt cch rng ri v vi quy m ln ni cng cng.
2.2.2. Kin trc ca h thng Bluetooth Radio

2.2.2.1. Radio Spectrum-Dy sng v tuyn: _ Th nht vic chn la dy sng v tuyn phi c xc nh m khng c ngi iu hnh tc ng. Dy sng phi c dng ni cng cng m khng cn phi ng k. Th hai, dy sng phi sn sng dng trn ton th gii. Nhng ng dng Bluetooth u tin t mc tiu l nhng doanh nghip i du lch, nhng ngi phi kt ni thit b di ng ca h bt c ni no h n. May thay c mt tn s v tuyn khng phi ng k
o Qu Thi An Trn Th M Hnh 28

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

lun sn dng trn ton cu. l tn s Industrial, Scientific, Medical (ISM), vo khong 2,45 GHz v trc y c dnh ring cho mt s nhm chuyn nghip nhng gn y th c m rng trn ton th gii cho mc ch thng mi. M, bng tn ny i t 2400 n 2483.5 MHz, v nhng iu l FCC (Federal Communications Commission) phn 15 c p dng. phn ln chu u, mt bng tn ging nhau c dng theo iu l ETS-300328. Nht, gn y bng tn t 2400 n 2500 MHz c php dng cho nhng ng dng thng mi v ha hp vi gii php ca th gii.Tm li, hu ht cc quc gia trn th gii, tn s min ph sn dng t 2400 MHz n 2483,5 MHz, v nhng n lc cho s ha hp ang c tin hnh dy sng v tuyn ny tht s sn dng trn ton th gii. _ Nhng quy nh khng ging nhau nhng ni khc nhau trn th gii. Tuy nhin mc tiu ca h l lm sao bt k ngi s dng no cng c quyn s dng tn s v tuyn mt cch cng bng. Nhng quy lut ni chung quy nh r s phn b ca nhng tn hiu c truyn i v mc nng lng ti a c php truyn. Do , i vi mt h thng c th hot ng trn ton cu th khi nim tn s v tuyn c php dng phi l phn giao ca cc lut l. 2.2.2.2. Interference Immunity S chng nhiu: _ Do bng tn min ph c th c s dng bi bt c mt thit b pht no, do vic chng nhiu l vn rt quan trng. Phm vi v kh nng nhiu trong tn s ISM 2.45 GHz l khng th d on trc c, bi c rt nhiu thit b pht s dng sng v tuyn trong bng tn ny, c th l thit b Bluetooth, thit b Wifi, ... v thm ch c l vi sng v mt vi thit b pht sng khc cng pht ra sng trong bng tn ny. _ S chng nhiu c c thc hin nh vo vic ngn chn hoc trnh i. Ngn chn bng cch dn tri nhng chui hoc m (coding or directsequence spreading).

o Qu Thi An Trn Th M Hnh

29

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

_ S ngn chn c th c thc hin bng cch vit code hoc chia tn s thnh cc dy lin tc. Tuy nhin, phm vi cc dy tn ng ca cc tn hiu c can thip trong mt mi trng sng c bit, lin tc c th rt rng. Phn chia theo thi gian c th l mt la chn nu nh xy ra s gin on trong cc nhp tn s ca s phn chia theo thi gian. Vic phn chia trn tn s c kh nng hn. Trong khi tn s 2.45 GHz c th cung cp bng thng khong 80 MHz v bng thng ca hu ht cc h thng radio u b gii hn, mt s phn quang ph ca sng radio c th c s dng m khng gp bt c tr ngi no. Vic lc trn cc vng bng tn s gip ngn nhiu nhng phn khc ca dy sng radio. B lc ngn chn c th d dng t n tn s 50 dB hoc hn na. 2.2.2.3. Multiple Access Scheme_Phi hp a truy cp: _ Vic la chn s phi hp a truy cp cho mt h thng v tuyn ad hoc c iu khin bi nhng lut l ca dy tng ISM v thiu s phi hp (lack of coordination) _ a truy cp phn chia theo tn s (FDMA) thu ht nhng h thng ad hoc do knh trc giao ch tr li ng tn s ca my to dao ng tng ng trn cc bng tn khc nhau. Phi hp vi vic phn chia knh truyn mt cch thch ng v nng ng th vic nhiu c th trnh khi. ng tic FDMA c bn li khng p ng ht nhu cu lan rng c trong dy ISM. _ a truy cp phn chia theo thi gian (TDMA) i hi s ng b v thi gian v cng khc khe knh trc giao. i vi nhiu lin kt ad hoc c sp xp mt ch, vic duy tr s tham chiu khung thi gian tr nn kh cng knh. _ a truy cp phn chia theo m (CDMA) t ra l c tnh tt nht cho h thng v tuyn ad hoc khi n quy nh s phn b v cp n nhng h thng ri rc. _ Direct sequence (DS)-CDMA khng thu ht bng v vn gn xa, n i hi kim sot nng lng ln nhau hoc tng thm x l tha. Thm vo , nh TDMA, knh trc giao DS-CDMA cng quy nh vic tham chiu

o Qu Thi An Trn Th M Hnh

30

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

khung thi gian. Cui cng, i vi nhng user cao cp th nhng loi chip kh t c dng n nhng khng thu ht lm v bng thng rng (trnh nhiu) v s tiu th hin ti ngy cng tng. _ Nhy tn s (FH)-CDMA kt hp mt s nhng c tnh tr thnh chn la tt nht cho h thng v tuyn ad hoc. Trung bnh mt tn hiu c th tri ra trn mt dy tn s ln, nhng ngay lc ch c mt di bng thng nh c s dng, trnh c hu ht kh nng nhiu trong dy ISM. Bc nhy ca sng mang l trc giao, v vic nhiu trn nhng bc sng k nhau c th b ngn chn bi b lc. Vic phi hp nhng bc sng c th s khng trc giao( d sao vic phi hp ln nhau gia cc bc sng khng c cho php theo lut FCC ), nhng bng thng hp v vic nhiu khi ngi dng chung (co-user) ch b xem nh l gin on ngn trong vic truyn tin, mt vic c th c khc phc bng gii php dng nhng nghi thc tng cao hn. _ Bluetooth da vo k thut FH-CDMA- cc packet c truyn trn nhng tn s khc nhau. Trong dy tng ISM 2.45 GHz, nh ngha mt b 79 bc nhy, mi bc nhy cch nhau 1MHz. Vic truyn nhn s dng cc khe thi gian. Chiu di 1 khe thi gian thng thng l 625s. Mt s ln nhng cch phi hp bc nhy c to ra ngu nhin nhng ch cch phi hp c bit c nh ngha bi mt unit gi l master mi kim sot knh nhy tn s. Mt ng h ca master unit cng nh ngha mt chu k bc nhy. Tt c nhng unit khc u gi l slave, chng dng s ng nht ca master chn bc nhy ging nhau v cng thm khong thi gian gin on vo ng h tng ng ca chng ng b ho vic nhy tn s. Trong lnh vc thi gian, cc knh c chia thnh nhng slot. Mt slot tng ng vi mt khong thi gian ti thiu l 625 s. thc hin n gin, truyn tin song cng c thc hin bng cch p dng timedivision duplex (TDD). iu ny c ngha l mt unit s ln lt pht v nhn. Chia ct vic pht v nhn thc s ngn chn c nhiu xuyn m gia qu trnh pht v nhn trong my thu pht v tuyn. T khi vic pht

o Qu Thi An Trn Th M Hnh

31

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

v nhn t nhng time slot khc nhau th chng cng c t nhng bc nhy khc nhau. 2.3. K thut tri ph nhy tn trong cng ngh Bluetooth.
2.3.1. Khi nim tri ph trong cng ngh khng dy :

_ Trong truyn thng bng sng radio c in, ngi ta ch dng mt tn s truyn d liu, nhng kh nng mt d liu l rt ln do tn s ny c th b nhiu, mt khc tc truyn s khng cao. _ Truyn thng tri ph l k thut truyn tn hiu s dng nhiu tn s cng 1 lc (DSSS-Direct Sequence Spread Spectrum) hoc lun phin (FHSSFrequency Hopping Spread Spectrum) tng kh nng chng nhiu, bo mt v tc truyn d liu. _ Tri ph nhy tn s l k thut phn chia gii bng tn thnh mt tp hp cc knh hp v thc hin vic truyn tn hiu trn cc knh bng vic nhy tun t qua cc knh theo mt th t no .

Hnh 2-7 K thut tri ph nhy tn s.

2.3.2. K thut nhy tn s trong cng ngh Bluetooth :

_ Vic truyn d liu trong Bluetooth c thc hin bng s dng k thut nhy tn s, c ngha l cc packet c truyn trn nhng tn s khc nhau. Gii bng tn ISM 2.4Ghz c chia thnh 79 knh, vi tc nhy l 1600 ln trong mt giy, iu c th trnh c nhiu tt v chiu di ca cc packet ngn li, tng tc truyn thng.

o Qu Thi An Trn Th M Hnh

32

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 2-8 Cc Packet truyn trn cc tn s khc nhau.

Hnh 2-9 Cc Packet truyn trn khe thi gian.

_ Vic truyn nhn s dng cc khe thi gian. Chiu di 1 khe thi gian thng thng l 625s. Mt packet thng nm trong 1 khe n, nhng cng c th m rng ra 3 hay 5 khe. Vi cc packet a khe, yu cu tn s phi khng i cho n khi ton b packet gi xong.

o Qu Thi An Trn Th M Hnh

33

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

_ S dng packet a khe, tc truyn d liu cao hn nh phn header ca mi packet ch i hi 1 ln 220s (l thi gian chuyn i sau mi packet). C th hiu ngn gn l thi gian truyn 3 packets n khe s ln hn thi gian truyn 1 packet 3-khe . B li, trong mi trng c nhiu tn hiu truyn, cc packet di chim nhiu timeslot d b nhiu hn, do d b mt hn. _ Mi packet cha 3 phn :Access Code (M truy cp), Header, Payload.

Hnh 2-10 Cu trc gi tin Bluetooth _ Kch thc ca Access Code v Header l c nh. * Access code: Gm 72 bits, dng trong vic ng b d liu, nh danh, bo hiu.

Hnh 2-11 Access code

* Header:

o Qu Thi An Trn Th M Hnh

34

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 2-12 Cu to mt packet.

_ Trong Header c 54 bits, trong : + 3 bits c dng trong vic nh a ch, do c ti a 7 Active slave. + 4 bits tip theo cho bit loi packet (mt s khng dng n). + 1 bit iu khin lung. + 1-bit ARQ : cho bit packet l Broadcast khng c ACK. + 1-bit Sequencing : lc b nhng packet trng do truyn li. + 8 bits HEC : kim tra tnh ton vn ca header. Tng cng c 18 bits, cc bit c m ha vi 1/3 FEC ( Forward Error Correction) c c 54 bit. * PayLoad : phn cha d liu truyn i, c th thay i t 0 ti 2744 bit/packet. Payload c th l d liu Voice hoc data. 2.4. Cch thc hot ng ca Bluetooth.
2.4.1. C ch truyn v sa li :

K thut Bluetooth thc s l rt phc tp. N dng k thut nhy tn s trong cc timeslot (TS), c thit k lm vic trong mi trng nhiu tn s radio, Bluetooth dng chin lc nhy tn to nn sc mnh lin kt truyn thng v truyn thng thng minh. C mi ln gi hay nhn mt packet xong, Bluetooth li nhy sang mt tn s mi, nh th s trnh c nhiu t cc tn hiu khc. So snh vi cc h thng khc lm vic trong cng bng tn, sng radio ca Bluetooth nhy tn nhanh v dng packet ngn hn. V nhy nhanh v packet ngn s lm gim va chm vi sng t l vi sng v cc phng tin gy nhiu khc trong kh quyn. C 3 phng php c s dng trong vic kim tra tnh ng n ca d liu truyn i: Forwad Error Corrrection: thm 1 s bit kim tra vo phn Header hay Payload ca packet.

o Qu Thi An Trn Th M Hnh

35

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Automatic Repeat Request: d liu s c truyn li cho ti khi bn nhn gi thng bo l nhn ng. Cyclic Redundancy Check: m CRC thm vo cc packet kim chng liu Payload c ng khng. _ Bluetooth dng k thut sa li tin FEC (Forward Error Correction) sa sai do nhiu t nhin khi truyn khong cch xa. FEC cho php pht hin li, bit sa sai v truyn i tip (khc vi k thut BEC-Backward Error Control ch pht hin, khng bit sa, yu cu truyn li). _ Giao thc bng tn c s (Baseband) ca Bluetooth l s kt hp gia chuyn mch v chuyn i packet. Cc khe thi gian c th c dnh ring cho cc packet phc v ng b. Thc hin bc nhy tn cho mi packet c truyn i. Mt packet trn danh ngha s chim 1 timeslot, nhng n c th m rng chim n 3 hay 5 timeslot. _ Bluetooth h tr 1 knh d liu bt ng b, hay 3 knh tn hiu thoi ng b nhau cng mt lc, hay 1 knh h tr cng lc d liu bt ng b v tn hiu ng b.
2.4.2. Qu trnh hnh thnh Piconet

Hnh 2-13 M hnh piconet _ Mt Piconet c to bng 4 cch: C Master ri, Master thc hin Paging kt ni vi 1 Slave.

o Qu Thi An Trn Th M Hnh

36

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Mt Unit (Master hay Slave) lng nghe tn hiu (code) m thit b ca n truy cp c. Khi c s chuyn i vai tr gia Master v Slave. Khi c mt Unit chuyn sang trang thi Active _ thit lp mt kt ni mi, tin trnh INQUIRY hay PAGE s bt u. Tin trnh Inquiry cho php 1 Unit pht hin cc Unit khc trong tm hot ng cng vi a ch v ng h ca chng. _ Tin trnh Paging mi thc s l to kt ni. Kt ni ch thc hin gia nhng thit b mang a ch Bluetooth. Unit no thit lp kt ni s phi thc hin tin trnh paging v t ng tr thnh Master ca kt ni. _ Trong tin trnh paging, c th p dng vi chin lc paging. C mt chin lc paging bt buc tt c cc thit b Bluetooth u phi h tr, chin lc dng khi cc Unit gp trong ln u tin, v trong trng hp tin trnh paging theo ngay sau tin trnh inquiry. Hai Unit sau khi kt ni nh dng chin lc bt buc ny, sau c th chn chin lc paging khc. _ Sau th tc Paging (PAGE), Master thm d Slave bng cch gi packet POLL thm d hay packet NULL rng theo nh Slave yu cu. _ Ch c Master gi tn hiu POLL cho Slave, ngc li khng c. _ Cc vai tr ca thit b trong Piconet l: Stand by : Khng lm g c. Inquiry : Tm thit b trong vng ln cn. Paging :Kt ni vi 1 thit b c th. Connecting : Nhn nhim v.

Hnh 2-14 Qu trnh truy vn to kt ni.

_ M hnh truy vn cc thit b trong thc t:

o Qu Thi An Trn Th M Hnh

37

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 2-15 Truy vn to kt ni gia cc thit b trong thc t. _ Khi thit b to paging mun to cc kt ni cc tng trn, n s gi yu cu kt ni host theo nghi thc LMP (Link Manament Protocol). Khi Unit qun l host ny nhn c thng ip, n thng bo cho host bit v kt ni mi. Thit b t xa c th chp nhn (gi thng ip chp nhn theo nghi thc LMP) hoc khng chp nhn kt ni (gi thng ip khng chp nhn theo nghi thc LMP). _ Khi thit b khng yu cu bt k th tc thit lp lin kt t xa no c, n s gi thng ip "thit lp hon thnh". Thit b ny vn nhn c yu cu t cc thit b khc. Khi mt thit b khc sn sng to lin kt, n cng gi thng ip "thit lp hon thnh". Sau 2 thit b c th trao i packet trn knh logic khc vi LMP.
2.4.3. Qu trnh hnh thnh Scatternet

Mt Master hay Slave ca Piconet ny c th thnh Slave ca Piconet khc nu b Master ca piconet khc thc hin tin trnh paging vi n. C ngha l bt k unit no cng c th to 1 Piconet mi bng cch paging mt unit l thnh vin ca mt Piconet no . Ngc li, bt k unit no tham gia trong 1 Piconet, u c th thc hin paging ln Master hay Slave ca Piconet khc. iu ny c th dn n vic chuyn i vai tr gia Master v Slave trong kt ni mi ny.

o Qu Thi An Trn Th M Hnh

38

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 2-16 Minh ho mt Scatternet.

Cc kt ni bn trong mt Piconet c thit lp thng qua cc unit chia s, unit ny thuc v 2 hay nhiu Piconet, n dng k thut phn chia thi gian chuyn i qua li gia cc Piconet. 2.5. Cc tng giao thc trong Bluetooth.

o Qu Thi An Trn Th M Hnh

39

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 2-17 Bluetooth Protocol Stack Cc giao thc ct li trong Bluetooth: Bluetooth Radio Baseband. Link Manager Protocol LMP. Logical Link Control and Adaptation Protocol L2CAP. Radio Frequency Communication RFCOMM. Service Discovery Protocol SDP. Telephony Control Protocol TCP. Adopted Protocols AP.

Hnh 2-18 Cc tng nghi thc Bluetooth.


2.5.1. Bluetooth Radio:

Tng Bluetooth radio l tng thp nht c nh ngha trong c t Bluetooth. N nh ngha nhng yu cu cho b phn thu pht sng hot ng tn s 2.4GHz ISM (Industrial, Scientific, and Medical). Bng tn ISM l

o Qu Thi An Trn Th M Hnh

40

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

bng tn khng cn ng k c dnh ring dng cho cc thit b khng dy trong cng nghip, khoa hc v y t. Nh giao tip bng sng radio m d liu Bluetooth c th xuyn qua cc vt th rn v phi kim. Sng radio ca Bluetooth c truyn i bng cch nhy tn s (frequency hopping), c ngha l mi packet c truyn trn nhng tn s khc nhau. Tc nhy nhanh gip trnh nhiu tt. Hu ht cc nc dng 79 bc nhy, mi bc nhy cch nhau 1MHz, bt u 2.402GHz v kt thc 2.480GHz. mt vi nc, chng hn nh Php, Nht, phm vi ca di bng tn ny c gim i cn 23 bc nhy.

Hnh 2-19 Frequency hopping Bluetooth c thit k hot ng mc nng lng rt thp. c t a ra 3 mc nng lng t 1mW ti 100 mW Mc nng lng 1 (100mW): c thit k cho nhng thit b c phm vi hot ng rng (~100m) Mc nng lng 2 (2.5mW): Cho nhng thit b c phm vi hot ng thng thng (~10m) Mc nng lng 3 (1mW): Cho nhng thit b c phm vi hot ng ngn (~10cm)
o Qu Thi An Trn Th M Hnh 41

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Nhng thit b c kh nng iu khin mc nng lng c th ti u ha nng lng bng cch dng nhng lnh LMP (Link Manager Protocol).
2.5.2. BaseBand:

Baseband protocol nm tng vt l ca Bluetooth. N qun l nhng knh truyn v lin kt vt l tch bit khi nhng dch v khc nh sa li, chn bc nhy v bo mt. Tng Baseband nm bn trn tng radio trong chng giao thc ca Bluetooth. Baseband protocol c ci t nh l mt Link Controller. N cng vi Link Manager thc hin nhng cng vic mc thp nh kt ni, qun l nng lng. Tng Baseband cng qun l nhng kt ni ng b v khng ng b, qun l cc gi tin, thc hin tm kim v yu cu kt ni n cc thit b Bluetooth khc. 2.5.2.1. Network topology Hai hoc nhiu thit b kt ni vi nhau to thnh mt piconet. Cc thit b kt ni theo kiu ad-hoc ngha l kiu mng c thit lp ch cho nhu cu truyn d liu hin hnh v tc thi, sau khi d liu truyn xong, mng s t hy. Trong mt piconet, mt thit b ng vai tr l Master (thng l thit b u tin to kt ni), cc thit b sau ng vai tr l Slave. Mt piconet ch c duy nht 1 Master, Master thit lp ng h m xung ng b cc thit b trong cng piconet m n ng vai tr l Master. Master cng quyt nh s knh truyn thng. Tt c cc thit b cn li trong piconet, nu khng l Master th phi l Slave. Ch : khng cho php truyn thng trc tip gia Slave Slave. Vai tr Master trong 1 piconet khng c nh, v d khi Master khng ti nguyn phc v cho piconet, n s giao quyn li cho mt Slave giu c hn lm Master, cn n lm Slave.

o Qu Thi An Trn Th M Hnh

42

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 2-20 Piconet Khi c 2 hay nhiu piconet kt hp li truyn thng vi nhau, ta c mt scatternet. C 2 loi scatternet: Mt Slave trong piconet ny cng l Slave trong piconet kia. Khi ny cc piconet c lp vi nhau v khng ng b. Khi c nhiu piconet c lp, c th b nhiu trn mt s knh, mt s packet s b mt v c truyn li. Nu tn hiu l ting ni (tn hiu thoi ), chng s b b qua. Mt Slave trong piconet ny l Master trong piconet khc. Khi ny 2 piconet ng b nhau v clock (xung nhp) v hopping (khong nhy tn s) v Slave ng vai tr Master trong piconet mi s mang theo clock v hopping ca piconet c, ng b cho cc Slave trong piconet mi m n lm Master.

o Qu Thi An Trn Th M Hnh

43

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 2-21 Scatternet 2.5.2.2. Lin kt SCO v ACL Tng Baseband qun l 2 dng kt ni: SCO link (Synchronous Connection Oriented) l mt kt ni i xng point-to-point gia mt Master v mt Slave trong 1 piconet. Kt ni SCO ch yu dng truyn d liu ting ni. Master c th h tr ti a 3 kt ni SCO ng thi. SCO packet khng cha CRC (Cyclic Redundancy Check) v khng bao gi truyn li. Lin kt SCO c thit lp ch sau khi 1 lin kt ACL u tin c thit lp. ACL Link (Asynchronous Connectionless Link) l mt kt ni point-tomultipoint gia Master v tt c cc Slave tham gia trong piconet. Ch tn ti duy nht mt kt ni ACL. Hu ht cc ACL packet u c th truyn li. 2.5.2.3. a ch thit b C 4 loi a ch khc nhau c th gn cho mt thit b Bluetooth: BD_ADDR, AM_ADDR, PM_ADDR, AR_ADDR. _ BD_ADDR: Bluetooth Device Address. L 48 bit a ch MAC theo tiu chun IEEE quy nh (Ging nh a ch MAC trn mi card mng), xc nh duy nht 1 thit b Bluetooth trn ton cu, trong 3 byte cho nh sn xut thit b v 3 byte cho sn phm.

o Qu Thi An Trn Th M Hnh

44

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

_ AM_ADDR: Active Member Address. N cn gi l a ch MAC (Media Access Control) ca mt thit b Bluetooth. N l mt con s 3 bit dng phn bit gia cc active slave tham gia trong 1 piconet. 23 = 8 nn c ti a 7 Slave active trong 1 piconet, cn 000 l a ch Broadcast (truyn n tt c cc thnh vin trong piconet). a ch ny ch tn ti khi Slave trng thi active. _ PM_ADDR: Parked Member Address. L mt con s 8 bit, phn bit cc parked Slave. Do c ti a 255 thit b trng thi parked. a ch ny ch tn ti khi Slave trng thi parked. _ AR_ADDR: Access Request Address. a ch ny c dng bi parked Slave xc nh ni m n c php gi thng ip yu cu truy cp ti. 2.5.2.4. nh dng gi tin Mi gi tin bao gm 3 phn l Access code (72 bits) , header (54 bits) v payload (0-2745 bits)

Hnh 2-22 nh dng gi tin Bluetooth Access code: Dng ng b ha, dng trong qu trnh tm kim thit b v yu cu kt ni. C 3 loi khc nhau ca Access code: Channel Access Code (CAC), Device Access Code (DAC) and Inquiry Access Code (IAC). CAC dng xc nh mt piconet duy nht, DAC dng thc hin yu cu kt ni, IAC dng thc hin tm kim thit b. Header: Cha mt s thng tin v packet nh th t ca packet, a ch ch, kim li, v.v 2.5.2.5. Qun l trng thi C 4 trng thi chnh ca mt thit b Bluetooth trong mt piconet: Inquiring device (inquiry mode): Thit b ang pht tn hiu tm nhng thit b Bluetooth khc.

o Qu Thi An Trn Th M Hnh

45

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Inquiry scanning device (inquiry scan mode): Thit b nhn tn hiu inquiry ca inquiry device v tr li Paging device (page mode): Thit b pht tn hiu yu cu kt ni vi thit b inquiry t trc. Page scanning device (page scan mode): Thit b nhn yu cu kt ni t paging device v tr li. 2.5.2.6. Thit lp kt ni 2.5.2.6.1. Hnh thnh piconet

Mt piconet c to bng 4 cch: C Master ri, Master thc hin paging kt ni vi 1 Slave Mt unit (Master hay Slave) lng nghe tn hiu m thit b ca n truy cp c (scaning) Khi c s chuyn i vai tr gia Master v Slave Khi c mt unit chuyn sang trng thi active thit lp mt kt ni mi, tin trnh Inquiry v Paging s bt u. Tin trnh Inquiry cho php 1 unit pht hin cc units trong tm hot ng cng vi a ch v ng h ca chng. Sau khi Inquiry, thit b thc hin tip tin trnh Paging thit lp kt ni, sau khi c page scanning device chp nhn kt ni mi thc s c thit lp. Unit no thit lp kt ni s phi thc hin tin trnh paging v t ng tr thnh Master ca kt ni. Sau th tc paging (PAGE), Master thm d Slave bng cch gi packet POLL thm d hay packet NULL rng. Ch c Master gi tn hiu POLL cho Slave, ngc li khng c. Khi thit b to paging mun to cc kt ni cc tng trn LM (link manager), n s gi yu cu kt ni host theo nghi thc LMP (Link Manager Protocol). Khi unit qun l host ny nhn c thng ip, n thng bo cho host bit v kt ni mi. Thit b t xa c th chp nhn (gi thng ip chp nhn theo nghi thc LMP) hoc khng chp nhn kt ni (gi thng ip khng chp nhn theo nghi thc LMP). Sau 2 thit b c th trao i d liu vi nhau.
o Qu Thi An Trn Th M Hnh 46

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

2.5.2.6.2.

Hnh thnh scatternet

Mt Master/Slave ca piconet ny c th thnh Slave ca piconet khc nu b Master ca piconet khc thc hin tin trnh paging vi n. C ngha l bt k unit no cng c th to 1 piconet mi bng cch paging mt unit l thnh vin ca mt piconet no . Ngc li, bt k unit no tham gia trong 1 piconet, u c th thc hin paging ln Master/Slave ca piconet khc. iu ny c th dn n vic chuyn i vai tr gia Master v Slave trong kt ni mi ny. 2.5.2.7. Cc ch kt ni: _ Active mode: Trong ch ny, thit b Bluetooth tham gia vo hot ng ca mng. Thit b master s iu phi lu lng v ng b ha cho cc thit b slave. _ Sniff mode: l 1 ch tit kim nng lng ca thit b ang trng thi active. Sniff mode thit b slave lng nghe tn hiu t mng vi tn s gim hay ni cch khc l gim cng sut. Tn s ny ph thuc vo tham s ca ng dng. y l ch t tit kim nng lng nht trong 3 ch tit kim nng lng. _ Hold mode: l 1 ch tit kim nng lng ca thit b ang trng thi active. Master c th t ch Hold mode cho slave ca mnh. Cc thit b c th trao i d liu ngay lp tc khi thot khi ch Hold mode. y l ch tit kim nng lng trung bnh trong 3 ch tit kim nng lng _ Park mode: l 1 ch tit kim nng lng ca thit b vn cn trong mng nhng khng tham gia trong qua trnh trao i d liu (inactive). Thit b ch Park mode b a ch MAC, ch lng nghe tn hiu ng b ho v thng ip broadcast ca Master. y l ch tit kim nng lng nht trong 3 ch tit kim nng lng. 2.5.2.8. Nhng chc nng khc ca Baseband Sa li Qun l lu lng d liu: Baseband dng cu trc d liu FIFO trong vic truyn v nhn d liu
o Qu Thi An Trn Th M Hnh 47

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

ng b ha Bo mt
2.5.3. Link Manager Protocol:

Link Manager (LM) thc hin vic thit lp knh truyn, xc nhn hp l, cu hnh knh truyn. N tm kim nhng LM khc v giao tip vi chng thng qua Link Manager Protocol. thc hin c vai tr ca mnh, LM dng nhng dch v do tng Link Controller bn di cung cp. V c bn, cc lnh LMP bao gm cc PDU (Protocol Data Unit Xem thm trong phn SDP bn di) c gi t thit b ny sang thit b khc.
2.5.4. Host Controller Interface:

HCI cung cp mt giao din cho php cc tng bn trn iu khin Baseband Controller v Link Manager, ng thicho php truy cp n trng thi ca phn cng v cc thanh ghi iu khin. V bn cht, giao din ny cung cp mt phng thc duy nht truy cp n nhng kh nng ca bng tn c s. HCI tn ti trong 3 phn: Host Transport layer Host controller. Mi phn ng mt vai tr khc nhau trong h thng HCI. 2.5.4.1. Nhng thnh phn chc nng ca HCI V mt chc nng, HCI c chia thnh 3 phn ring bit l HCI firmware, HCI driver v Host controller transport layer. Hnh sau m t m hnh hot ng ca cc thnh phn HCI.

o Qu Thi An Trn Th M Hnh

48

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 2-23 Host Controller Interface HCI firmware: nm Host Controller (tc l nm phn cng ca Bluetooth). HCI firmware cung cp cc lnh HCI cho phn cng Bluetooth bng cch truy cp cc lnh tng Baseband, Link Manager. HCI driver: Nm phn Host (tc l phn mm) . Khi c s kin xy ra, mt HCI event s c gi n Host v Host s phn tch gi tin nhn c xc nh xem s kin no xy ra, sau n s chuyn cc gi tin ln cc tng bn trn. Host controller transport layer: HCI driver v firmware giao tip vi nhau thng qua Host controller transport layer. C nhiu loi transport layer nh: USB , UART v RS232. Nh vo Host controller transport layer m phn cng v phn mm c th trao i d liu m khng cn bit v cch thc d liu c trao i

o Qu Thi An Trn Th M Hnh

49

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 2-24 Host controller transport layer 2.5.4.2. Cc lnh HCI HCI cung cp cc lnh cho php truy cp ti phn cng Bluetooth. Cc lnh HCI Link cho php phn Host kh nng iu khin vic kt ni n cc thit b Bluetooth khc. Nhng lnh ny cn n Link Manager trao i cc lnh LMP vi cc thit b Bluetooth khc. 2.5.4.3. Cc s kin, m li, lung d liu HCI Lung d liu Lung d liu t Host n Host Controller c iu khin ngn nga vic b m ca Host Controller b trn bi d liu ACL gi n cc thit b khc m khng c phn hi. Phn Host s qun l b m ca Host Controller. Cc s kin HCI

o Qu Thi An Trn Th M Hnh

50

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

C nhiu s kin c nh ngha cho tng HCI. Cc s kin ny cung cp mt phng thc tr v cc tham s v d liu gn vi mi s kin. Cho n nay c 32 s kin HCI c ci t. M li HCI Mt s lng ln cc m li c nh ngha cho tng HCI. Khi mt lnh tht bi, cc m li s c tr v cho bit nguyn nhn pht sinh li. C 35 m li HCI khc nhau c nh ngha. 2.5.4.4. Host Controller Transport Layer UART Transport Layer Mc tiu ca HCI UART Transport Layer l cho php dng Bluetooth HCI thng qua giao din serial gia 2 UART. UART l vit tt ca t Universal Asynchronous Receiver Transmitter. UART dng truyn v nhn tn hiu thng qua giao tip serial khng ng b. RS232 Transport Layer Mc tiu ca HCI RS232 Transport Layer l cho php dng Bluetooth HCI thng qua giao din RS232 gia Bluetooth Host v Bluetooth Host Controller. RS232 l mt chun cng nghip v truyn nhn d liu thng qua cng serial. USB Transport Layer Mc tiu ca HCI Universal Serial Bus (USB) Transport Layer l cho php dng giao din USB cho phn cng Bluetooth.
2.5.5. Logical link control and adaption protocol (L2CAP):

L2CAP nm bn trn giao thc bng tn c s (Baseband protocol) v nm tng Data Link. L2CAP cung cp nhng dch v hng kt ni (connection-oriented) v phi kt ni (connectionless) cho nhng tng giao thc bn trn. L2CAP c kh nng phn knh (multiplexing), phn on (segmentation), ti t hp (reassembly operation). L2CAP cho php nhng giao thc tng cao hn v nhng ng dng truyn, nhn nhng d liu. Mi gi d liu L2CAP ti a 64 kilobytes. 2.5.5.1. Nhng yu cu chc nng ca L2CAP

o Qu Thi An Trn Th M Hnh

51

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Phn knh giao thc (Protocol Multiplexing) L2CAP phi h tr phn knh giao thc bi v Baseband Protocol khng h tr vic xc nh cc giao thc tng cao hn. L2CAP phi c kh nng phn bit nhng giao thc tng bn trn nh Service Discovery Protocol, RFCOMM, Telephony Control. Phn on v ti t hp So vi nhng phng tin truyn thng dng dy khc th nhng gi d liu c nh ngha bi Baseband Protocol b gii hn kch thc. Nhng gi tin ln phi c L2CAP chia nh thnh nhiu gi tin Baseband trc khi c truyn i. Tng t, nhng gi tin Baseband nhn c s c ti t hp thnh mt gi tin duy nht km theo vic kim tra ton vn d liu. Chc nng phn on v ti t hp tht s cn thit h tr nhng giao thc dng nhng gi tin ln hn gi tin c h tr bi Baseband. 2.5.5.2. Nhng c im khc ca L2CAP nh dng gi tin Cc gi tin L2CAP c truyn dn da trn knh (channel). Mt knh i din cho mt lung d liu. Cc knh c th l hng kt ni (connection-oriented) hoc phi kt ni (connectionless). Tt c cc gi tin c lu tr di dng Little Endian. Cc ty chn tham s cu hnh Cc ty chn l c ch m rng kh nng iu phi cc yu cu kt ni. Cc ty chn c truyn i di dng mt tp hp nhng thnh phn bao gm kiu ty chn, di ty chn, v d liu. Cc dch v Nhiu dch v c cung cp bi L2CAP. Chng bao gm cc phn: Connection: Thit lp, cu hnh, hy kt ni Data: c, ghi Group: To, ng, thm thnh vin, hy thnh vin Information: Ping, ly thng tin Connetion-less traffic: Cho php, ngn cm

o Qu Thi An Trn Th M Hnh

52

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

2.5.6. RFCOMM Protocol:

Giao thc RFCOMM cho php gi lp cng serial thng qua giao thc L2CAP. Giao thc ny da trn chun ETSI TS 07.10. Ch c mt phn ca chun TS 07.10 c dng v c chnh sa cho ph hp vi Bluetooth. RFCOMM h tr ti a 60 kt ni cng mt lc gia 2 thit b Bluetooth. S kt ni ti a ty thuc vo nh sn xut. i vi RFCOMM, mt kt ni bao gm 2 ng dng chy trn 2 thit b ring bit (2 thit b u cui). Loi thit b: V c bn, RFCOMM cung cp cho 2 loi thit b: Loi thit b 1 l nhng u cui nh my tnh hay my in. Loi thit b 2 l nhng thnh phn dng truyn d liu, chng hn modem. Tn hiu iu khin: RFCOMM gi lp 9 mch ca chun RS232, 9 mch l: Pin Circuit Name 102 Signal Common 103 Transmit Data (TD) 104 Received Data (RD) 105 (RTS) 106 Clear to Send (CTS) 107 (DSR) 108 Data Terminal Ready (DTR) 109 Data Carrier Detect (CD) Data Set Ready Request to Send

o Qu Thi An Trn Th M Hnh

53

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

125 Ring Indicator (RI)

Nhiu cng ni tip gi lp: 2 thit b Bluetooth dng RFCOMM trong giao tip gia chng c th m nhiu cng ni tip (serial port). RFCOMM h tr ti a 60 cng, tuy nhin s cng c th dng trong mt thit b ty thuc vo nh sn xut.
2.5.7. Service Discovery Protocol:

SDP cho php cc ng dng tm kim nhng dch v v thuc tnh ca cc dch v c trong mt thit b Bluetooth. SDP. iu ny rt cn thit bi v cc dch v m mt thit b Bluetooth cung cp s thay i ty theo mi thit b. 2.5.7.1. Thit lp giao thc SDP SDP l mt giao thc n gin vi nhng yu cu ti thiu v vic truyn dn bn di. SDP dng m hnh request / response vi mi giao tc bao gm mt request protocol data unit (PDU) v mt response PDU. Client s gi yu cu n server, v server s tr li ngc li client.

nh dng PDU: Mi PDU bao gm 1 PDU header, theo sau l cc tham s PDU. Phn header bao gm 3 trng:

o Qu Thi An Trn Th M Hnh

54

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

PDU ID: Xc nh loi PDU cho bit ngha ca n v n cha loi tham s no. Transaction ID: Dng xc nh duy nht mt request PDU v dng nh x gia response PDU v request PDU. Parameter length: Cho bit di (tnh bng byte) ca tt c tham s cha trong PDU. Partial response v continuation state: Vi request PDU c th yu cu cc phn hi c kch thc ln hn 1 response PDU. Trong trng hp ny, SDP server s pht sinh cc partial response cha mt phn ca phn hi, ng thikm theo mi partial response l mt continuation state cho bit phn hi cn nhiu phn na. Qun l li: Trong trng hp request PDU gi n server b li th server s phn hi bng mt error PDU. 2.5.7.2. Cc dch v SDP Service record: Tt c cc thng tin v mt dch v c cha trong mt service record. Service record cha mt danh sch cc thuc tnh ca dch v (service attribute) Service attribute: Mi service attribute m t mt thuc tnh ca dch v. Mi service attribute bao gm 2 thnh phn: attribute ID v attribute value. Attribute ID l mt s nguyn khng du 16 bit xc nh duy nht mt thuc tnh trong mt service record. Attribute value c di khng c nh cha gi tr ca thuc tnh. Trong giao thc SDP, attribute value c th hin bng mt phn t d liu (data element). Service class: Mi dch v l mt th hin ca mt lp dch v (service class). Lp dch v cung cp cc nh ngha cho tt c thuc tnh cha trong service record. Mi nh ngha thuc tnh cho bit gi tr ca attribute ID, mc ch s dng ca attribute value, nh dng ca attribute value. Mi lp dch v c gn mt con s nh danh duy nht, c gi l UUID (Universal Unique Indentifier). 2.5.7.3. Tm kim dch v

o Qu Thi An Trn Th M Hnh

55

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Nhim v chnh ca SDP l cho php mt thit b Bluetooth tm kim xem cc thit b Bluetooth khc c cung cp nhng dch v no. SDP cho php lm iu ny bng nhiu cch: Searching, tm kim mt dch v c th, hoc Browsing, ly nhng dch v ang c cung cp. 2.5.7.3.1. Tm kim dch v c th (Searching for Service)

Phin tm kim dch v cho php mt client tm c Service record c th trn server da trn cc gi tr ca thuc tnh trong nhng record ny. Client khng c kh nng tm service record da trn cc thuc tnh c gi tr ty tin. Ni ng hn l Client ch c th tm cc thuc tnh da trn Universally Unique Identifers (UUIDs). Mt mu tm kim dch v thng so snh vi mt danh sch cc UUIDs (nhng thuc tnh ca dch v) tm ra dch v m n cn. 2.5.7.3.2. Duyt dch v (Browsing for service)

Tin trnh ny ly tt c cc dch v m n c php duyt. Trong SDP, Client da trn mt thuc tnh c tt c cc lp dch v chia s. Thuc tnh ny c gi l BrowseGroupList. Gi tr ca cc thuc tnh ny gm mt danh sch cc UUIDs, mi UUID i din cho mt BrowseGroup dng cho mc ch duyt service. Khi Client duyt lt qua cc dch v ca SDP Server, n to mt mu tm dch v cha cc UUID i din cho BrowseGroup. Tt c cc dch v c duyt c gi tr UUID ging vi gi tr ca thuc tnh trong BrowseGroupList. 2.5.7.4. Data element Trong giao thc SDP, mt thuc tnh c xem nh l mt phn t d liu (data element). Mt phn t d liu bao gm 2 trng: trng header v trng d liu. Trng header gm 2 phn: phn m t kiu v phn m t kch thc. Trng d liu c kch thc v kiu nh c m t trong phn header.

o Qu Thi An Trn Th M Hnh

56

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

2.6. Bluetooth Profiles: _ T chc SIG (The Bluetooth Special Interest Group ) nh ngha mt s m hnh s dng cng ngh Bluetooth. H vch ra nhng ng dng chnh v Bluetooth v nhng thit b trong tng lai, v d nh s ng b ha gia thit b cm tay v PC, v kt ni khng dy vi Internet bng mt in thoi di ng hoc mt cordless modem. _ Profile ch nh gii php kh thi cho nhng chc nng c miu t trong cc m hnh s dng c cung cp, ng thin cng nh ngha nhng protocol v nhng c trng ca mi protocol h tr cho m hnh s dng ring bit. Mt s profile ph thuc vo nhng profile khc. V d, 3 profile (File Transfer Profile, Object Push Profile, v Synchronization Profile) ph thuc vo Generic Object Exchange Profile. Tt c profile ph thuc vo Generic Access Profile _ Nhng sn phm Bluetooth h tr nhng b profile khc nhau, v h tr mt b profile no th nhng im c trng bt buc ca profile phi c thc hin y . _ Nhng profile sau c Bluetooth SIG nh ngha v thng qua: Advanced Audio Distribution Profile (A2DP) Audio/Video Remote Control Profile (AVRCP) Basic Imaging Profile (BIP) Basic Printing Profile (BPP) Common ISDN Access Profile (CIP) Cordless Telephony Profile (CTP) Dial-up Networking Profile (DUN) Fax Profile (FAX) File Transfer Profile (FTP) General Audio/Video Distribution Profile (GAVDP) Generic Access Profile (GAP) Generic Object Exchange Profile (GOEP) Hands Free Profile (HFP)

o Qu Thi An Trn Th M Hnh

57

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hard Copy Cable Replacement Profile (HCRP) Headset Profile (HSP) Human Interface Device Profile (HID) Intercom Profile (ICP) Object Push Profile (OPP) Personal Area Networking Profile (PAN) Serial Port Profile (SPP) Service Discovery Application Profile (SDAP) SIM Access Profile (SAP) Synchronisation Profile (SYNCH) Video Distribution Profile (VDP) Nhng profile cn li vn cha hon thnh, nhng c Bluetooth SIG xut l: Handsfree Profile 1.5 (HFP 1.5) Unrestricted Digital Information (UDI) Wireless application Protocol over BT (WAP) Extended Service discovery profile (ESDP) Local Positioning Profile (LPP) Video Conferencing Profile (VCP) Device ID (DID) : cho php thit b c nhn dng theo bn k thut, nh sn xut, sn phm, phin bn sn phm,

o Qu Thi An Trn Th M Hnh

58

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 2-25 Bluetooth v1.1 profiles


2.6.1.

4 profile tng qut trong c t Bluetooth v1.1: Generic Access Profile: nh ngha nhng th tc chung c lin quan ti

vic pht hin nhng thit b Bluetooth (idle mode procedures) v nhng kha cnh qun l cc kt ni n nhng thit b ny devices (connecting mode procedures). N cng nh ngha nhng phng thc lin quan ti vic s dng nhng cp bo mt khc nhau. Thm vo , profile ny cng cha nhng th tc nh dng ph bin ca nhng tham s c th c dng trn giao din ngi dng. Mi thit b Bluetooth u c h tr Generic Access Profile. Service Discovery Application Profile: nh ngha nhng tnh nng v th tc cho mt ng dng trong thit b Bluetooth pht hin ra nhng service ca thit b Bluetooth khc. Serial Port Profile: nh ngha th tc cn thit ca thit b Bluetooth thit lp nhng kt ni emulated serial cable s dng RFCOMM gia hai thit b ngang hng. Generic Object Exchange Profile: nh ngha nhng giao thc v th tc s c dng bi nhng ng dng cn c nng lc trao i i tng(object

o Qu Thi An Trn Th M Hnh

59

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

exchange capabilities ). Kh nng c th xy ra l s ng b ho, file transfer, v object push.


2.6.2. Model-Oriented Profiles

Cordless Telephony Profile v Intercom Profile: nh ngha nhng tnh nng v th tc cn cho thao tc gia cc phn gia nhng unit hot ng trong m hnh "three-in-one phone" (mt in thoi c th c dng nh l mt cordless phone, mt walkie-talkie, v mt cellular phone). The Cordless Telephony Profile c dng khi mt in thoi kt ni vi mt trm c s ca mt mng in thoi c nh thng qua Bluetooth v Intercom Profile thc hin ci gi l s dng "walkie-talkie" gia nhng in thoi Bluetooth.

Hnh 2-26 TCS profile Dial-Up Networking Profile: m t cch s dng mt cellular phone hoc mt modem cnh mt computer nh l mt wireless modem nhn d liu, kt ni n dial-up Internet access server, hoc s dng dial-up service khc.

o Qu Thi An Trn Th M Hnh

60

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 2-27 Networking Profiles Fax Profile: nh ngha cch mt computer c th s dng mt Bluetooth cellular phone hoc modem nh l wireless fax modem gi hoc nhn fax. Headset Profile: nh ngha nhng yu cu cn thit cho mt thit b Bluetooth h tr s dng headset. Wireless headsets c th c dng vi cellular phones v laptops.

Hnh 2-28 Headset Profile LAN Access Profile: nh ngha cch mt thit b Bluetooth c th truy cp dch v ca mt mng cc b s dng PPP (Point-To-Point Protocol) thng qua RFCOMM (giao thc Bluetooth -cnh tranh vi tn hiu RS-232 )

Hnh 2-29 LAN Access File Transfer Profile: cho php ngi s dng duyt v hiu chnh nhng tp tin v th mc(object) trong h thng tp tin ca thit b Bluetooth khc v chuyn giao object gia 2 thit b Bluetooth. Nhng thit b ph bin nht l PC, notebook v PDA.

o Qu Thi An Trn Th M Hnh

61

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 2-30 File Transfer Profile Object Push Profile: cho php ngi s dng push, pull, v trao i nhng object n gin nh business card gia 2 thit b Bluetooth nh PC, PDA v in thoi di ng.

Hnh 2-31 Object Push Profile Synchronization Profile: cho php trao i d liu v thng tin c nhn (PIM) gia 2 thit b t ng ng b ha d liu(v d: thnh phn calendar hay phonebook). ng b ha c dng gia nhng thit b notebook, PDA v in thoi di ng
2.6.3. Mt s Profiles khc.

c t lc ban u ca Bluetooth gm 13 profile nh trn. bo m thao tc gia cc phn trong ng dng, nhng nhm lm vic trong t chc SIG nh thm nhng profile mi. 12 profile thm vo c cng b. Generic Audio/Video Distribution Profile (GAVDP): nh ngha nhng phn chung ca cc giao thc v ng dng dng phn phi ni dung audio/video s dng knh ACL.

o Qu Thi An Trn Th M Hnh

62

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Advanced Audio Distribution Profile (A2DP): nh r s phn b ni dung audio v cht lng cao (high quality), mono hoc stereo trn knh ACL. Audio/Video Remote Control Profile (AVRCP): nh ngha vic truyn tn hiu iu khin t mt user c kch hot (useractivated A/V) n mt thit b Bluetooth t xa. Basic Imaging Profile (BIP): l mt OBEX-based profile cho php thit b chn c kch c v m ca d liu hnh nh trao i. Basic Printing Profile (BPP): l mt OBEX-based profile cho php in nhng e-mail dng text, nhng thng ip ngn v nh dng nhng ti liu t thit b di ng Hardcopy Cable Replacement Profile (HCRP): l mt profile khng quan trng lm dng in v qut bt c loi t liu no. HCRP c thc hin ngay lp tc trn L2CAP trnh lin quan ti OBEX, RFCOMM, hoc PAN. Bluetooth Extended Service Discovery Profile (ESDP): cho Universal Plug v PlayTM (UPnPTM) l mt profile dng pht hin cc thit b khc dng dch v UPnP v truy tm thng tin v dch v. Hands-Free Profile (HFP): nh r trng hp mt in thoi di ng c dng chung vi mt thit b hands-free (nh mt dng c trang b cho xe hi-car kit). HFP cung cp nhng phng tin khng dy cho c iu khin t xa v kt ni bng ging ni.

o Qu Thi An Trn Th M Hnh

63

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 2-32 Hands Free Profile Human Interface Device Profile (HID): nh ra vic s dng bn phm khng dy ( wireless keyboard ), thit b tr (pointing device), thit b chi game (gaming device), v thit b iu khin mn hnh (remote monitoring device).

Hnh 2-33 Human Interface Device Profile Common ISDN Access Profile: nh r lm sao nhng ng dng truy cp ISDN thng qua Bluetooth. Personal Area Networking Profile (PAN): nh ngha IP cho nhng mng c nhn. PAN cng h tr cho nhng im truy cp mng ( network access point ) nh LAN or GSM. SIM Access Profile (SAP): nh ra lm sao truy cp SIM card thng qua lin kt Bluetooth. 2.7. Vn s dng nng lng trong Bluetooth.
2.7.1. Gii thiu.

_ Nng lng l vn cc k quan trng i vi thit b khng dy v nhng thit b ny ch c th s dng nng lng t pin, v iu ny lm pht sinh nhng vn lin quan nh thi gian s dng pin, thi gian d phng v kch thc vt l. _ Khi kt ni bng Bluetooth th ta phi cn nng lng duy tr kt ni, nng lng iu khin b vi x l thc hin chng nghi thc Bluetooth v nng lng khuch i tn hiu m thanh n cp ngi s dng c

o Qu Thi An Trn Th M Hnh

64

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

th nghe c. V nhng thit b di ng nh th khng th s dng loi pin ln nn tiu th t nng lng l vn quan tm hng u. _ Chng trnh qun l nng lng (power-managed application) l mt ng dng cho php thit b thc hin ch ng(sleep mode) nhng giai on ng k trong quy trnh hot ng. Sleep mode khng lm tn nng lng ca thit b, tht ra th iu ny khng ng lm v vn c vi chc nng lun cn nng lng, tuy nhin vn t hn khi thit b tht s thc gic (awake), ni chung qun l nng lng s l qun l thi gian b ph. _ Mt c im thm na ca vic qun l nng lng cp ng dng l khng nh hng xu n s thc thi ng dng v vic lu gi nng lng bng trnh ng dng khng ph thuc vo k thut bn di ngay c khi phn cng c ci tin gim thiu s dng nng lng. _ K thut Bluetooth thc hin vic qun l nng lng ng thi mc phn cng (hardware) v phn mm (software). Mt hn ch l thi gian p ng (response time) ca cc ng dng tng ln v nu nh khng dng ng th vic qun l nng lng s lm cho trnh ng dng khng cn p ng nhanh na. Bluetooth cung cp mt s ch nng lng thp v mi ch thch hp vi nhng loi ng dng khc nhau. _ Trc khi chn power management mode s dng, tr ln nht v m hnh radio traffic c mong ch ca ng dng phi c tnh ton trc.
2.7.2. Vic s dng v qun l nng lng trong cng ngh Bluetooth

2.7.2.1. Tng quan: _ Bluetooth cung cp 3 ch c nng lng thp (low power mode) cho nhng lp trnh vin s dng l hold, sniff, v park. Mi ch u c nhng c im ring v thun li cho nhng lp khc nhau ca ng dng. _ Hold mode th thun li cho nhng ng dng d bo v iu khin thi gian cho ln truyn d liu k tip. Khi m khong thi gian gia 2 ln truyn c thng lng mt cch c lp bi ln tip theo th ch ny v cng

o Qu Thi An Trn Th M Hnh

65

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

thch hp ng dng gim st thng xuyn kt ni v c th tng hoc gim thi gian ng (sleep time) cho ph hp. _ Hold mode khng th t bin mt v do khng nn dng cho nhng ng dng c nhu cu hard latency. _ Sniff mode cho php mt thit b Bluetooth-enabled lu tr nng lng bng cch gim i s slot m master c th truyn, bng cch c th gim s slot m slave phi nhn. Ch ny c v thuyt phc hn so vi hold mode khi n c th tot ra bt k lc no. Slave s lng nghe mt cch nh k s slot v iu ny lm cho sniff mode c bit thun li hn i vi nhng ng dng m d liu i hi c truyn nhng khong thi gian cch u. ng dng khng thch hp vi sniff mode l nhng loi cn truyn lng d liu ln mt cch lin tc v iu ny bt buc thit b phi gi nguyn tnh trng awake. _ Park mode l ch cho php lu gi nng lng mc ti a. Ch ny thun li nht i vi nhng ng dng c m hnh lu lng sng v tuyn (radio traffic) khng th d on trc v tr ca vic thit lp kt ni c gii hn bi nhng hn nh cao hn (upper limit). V d Headset profile, lin kt RFCOMM phi c unparked cng sm cng tt khi c mt yu cu cn c gi i thng qua Audio Gateway n headset. _ Cc ch low power ca Bluetooth khc nhau trong vic h tr qun l nng lng v do khng c ch no tht s tt nht s dng. xc nh ch low power c dng th phi da vo dy cc nhn t ph thuc vo loi ng dng v nhng nhu cu ca n. Nhng nhn t chnh l: ng dng s dng vc qun l nng lng c tin li khng. tr ti a m ng dng c th chp nhn. M hnh radio traffic c mong ch: nhu nhin(random), nh k(periodic), truyn lot (bursty), 2.7.2.2. Cc ch nng lng.

o Qu Thi An Trn Th M Hnh

66

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

2.7.2.2.1. _

Active mode

Trong ch Active, thit b tham gia hot ng trn knh sng radio.

Master sp xp cc qu trnh truyn pht d liu, cc gi tin c chuyn pht trn nhng bng tn c xc nh v Slave phi lng nghe cc gi tin nhng khe thi gian c dnh ring cho chng. Ch ny l mt tiu chun k thut so snh vi hiu nng ca nhng ch nng lng thp bi v n khng nhng tiu tn hu ht nng lng m cn c thng lng d liu truynpht ln nht. S tiu th nng lng ca thit b ph thuc nhiu vo nh sn xut thit b v ng dng ang chy trn n. _ Nhng ng dng m thch hp vi ch Active th s khng c li hoc khng th s dng bt k ch nng lng thp no khc (Hold, Park, Sniff). Mt ng dng c nhu cu tn s d liu truyn pht cao th kh c th tit kim nng lng bi v n cn nng lng cho my truyn pht sng radio cho phn ln chu k hot ng. Tng t nhng ng dng yu cu tr thp cng khng thch hp s dng nhng ch nng lng thp. 2.7.2.2.2. _ Hold mode y l ch n gin nht trong nhng ch nng lng thp ca

Bluetooth. Master v Slave s tha thun vi nhau trong sut thi gian m thit b Slave trong ch ny. Khi mt kt ni thit lp trong ch ny, n khng h tr nhng gi d liu trn kt ni v c th tit kim nng lng, lng nghe nh k mt khong thi gian lu hn hoc cng c th tham gia vo mt Piconet mi. iu quan trng l thi gian Hold s c tha thun trc mi khi ch Hold c thit lp.

o Qu Thi An Trn Th M Hnh

67

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 2-34 Hold Mode Interaction _ Hnh trn cho thy s tng tc gia nhng thit b s dng ch Hold. Mt kha cnh quan trng hn ca ch Hold l mi ln ch ny c thit lp n s khng b hy b,v khong thi gian Hold phi kt thc trc khi s truyn thng c th ti kch hot tr li. _ Vy nhng ng dng no th t hiu qu khi s dng ch Hold? Nu ng dng ca bn c th quyt nh hoc iu khin thi gian truyn pht d liu ln k tip th ng dng c th s dng ch Hold cho vic qun l nng lng. Mt v d l h thng phn pht e-mail khng dy. E-mail khng phi l mt phng tin truyn thng ng b v nhng thng ip c phn pht n ch sau vi giy hoc n vi gi. Quan trng hn, ngi s dng khng bit c s phn pht e-mail c th xy ra ngay lp tc v do b qua tr hon nh cho vic ko di thi gian s dng nng lng ca thit b. _ Mt kha cnh ring bit khc ca ch Hold l s dng lin kt SCO m khng cn gi trao i cc gi d liu. Hn na nu ng dng khng quan trng cht lng audio lm, n c th s dng t hn s khe thi gian do gim c nng lng. V d kim tra s hot ng ca nhng thit b pht ra m thanh (ch cn c lin kt SCO hot ng khng cn s dng lin kt ACL). Bng cch t lin kt ACL trong ch Hold cho nhng khong thi gian va phi, v gim cht lng ca lin kt SCO, ng dng c th tit kim nng lng hn. _ By gi chng ta hy xem xt qua nhng ng dng m khng thch hp cho vic s dng ch Hold. Ch Hold khng thch hp cho nhng ng dng yu cu thi gian phn hi nhanh v khun mu lu thng khng th on bit trc.V d nh thit b cm bin, truy cp Web thng qua lin kt khng dy (trnh duyt Web khng on bit c khun mu lu thng ca ng dng). Nh rng khi ch Hold c thit lp, n khng th b hu b cho n khi thi gian Hold tha thun kt thc. 2.7.2.2.3. Sniffmode
68

o Qu Thi An Trn Th M Hnh

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 2-35 Sniff Mode Interaction _ Ch nng lng thp ny tit kim nng lng bng cch gim s lng khe thi gian m Master bt u qu trnh truyn pht d liu v do cng gim s khe thi gian m Slave phi lng nghe. Tsniff l khong thi gian gia nhng khe thi gian c tha thun gia Master v Slave khi ch Sniff c thit lp. Khi Slave lng nghe trn knh truyn, n lm vic trong nhng khe Nsniff attempt ,sau c th gim nng lng cho n cui khong thi gian Sniff hin thi. Thi gian tip nhn gi d liu cui cng dnh cho Slave rt quan trng, v vy Slave phi lng nghe trong khong thi gian Nsniff timeout ngn nht sau khi gi tin cui cng c nhn xong. _ Hnh A cho thy s lng khe thi gian m Slave phi lng nghe. Trong trng hp ny Slave ch lng nghe trong khong thi gian Nsniff attempt. iu ny xy ra nu Slave nhn c gi tin cui cng khi c nhiu hn nhng khe Nsniff timeout trong Sniff attempt. Slave ch lng nghe trong phn ln khong thi gian Sniff attempt, sau gim nng lng. _ Hnh B cho thy Slave ang lng nghe trong mt khong thi gian m rng. Trong trng hp ny Slave lng nghe khe Nsniff attempt, sau nhn mt gi tin v lng nghe thm nhng khe thi gian Nsniff timeout.

o Qu Thi An Trn Th M Hnh

69

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

iu ny cho thy Slave phi lng nghe thm nhng khe thi gian Nsniff timeout nu gi tin c nhn khi c t hn nhng khe Nsniff timeout bn tri khong thi gian Sniff attempt. Nu Slave tip tc nhn nhng gi tin, n s lng nghe tip tc nhng khe Nsniff timeout sau khi gi tin cui cng c nhn, v vy nu Master vn gi nguyn qu trnh truyn pht th Slave vn tip tc hot ng. _ Slave c th thay i hot ng ca n ch t nhng khe Nsniff attempt thng qua nhng khe (Nsniff attempt +Nsniff timeout) v thm ch tip tc hot ng m khng cn tha thun li mt vi tham s. Bng cch chn la nhng gi tr thch hp cho khong thi gian Sniff v s lng khe m Slave phi lng nghe, t c hiu qu tit kim nng lng m khng nh hng bt li n hiu nng ca ng dng. _ Ch Sniff th linh hot hn ch Hold bi v Master hoc Slave c th gii phng ch ny. Bi v ch Sniff i hi thit b Slave thay i trng thi hot ng mt cch nh k nn n thch hp cho nhng ng dng c s truyn pht d liu cch u nhau. _ Ch ny th khng thch hp cho nhng ng dng i hi thng xuyn truyn pht d liu ln. i vi nhng ng dng, thi gian truyn pht d liu rt quan trng, bi v chng cn nhiu thi gian nn khng th gim nng lng trong thi gian di. 2.7.2.2.4. Park mode _ Ch Park l mt ch nng lng thp cho php tit kim nng lng nht.Tuy nhin trong khi ch Park, thit b khng th truyn hoc nhn d liu v khng c lin kt SCO c thit lp. Trong ch ny, Slave khng tham gia vo Piconet, tuy nhin n vn ng b vi knh truyn trong Piconet. Ch ny c thm mt thun li l cho php Master h tr hn 7 thit b Slave bng cch a nhng thit b cn li vo trng thi Park trong khi nhng thit b khc ang hot ng trong trng thi Active. Slave trong ch Park hot ng mt cch nh k ti ng b vi knh truyn v lng nghe nhng thng ip broadcast. lm c iu ny, Master h tr cu trc tn hiu phc tp lin lc vi Slave trong ch
o Qu Thi An Trn Th M Hnh 70

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Park. Tuy nhin cu trc tn hiu c th thay i, sau Master dng thng ip broadcast thng bo nhng thay i cho nhng Slave trong ch Park. _ Khi thit k ng dng, chng ta phi chn khong thi gian tn hiu chnh xc tit kim nng lng trong khi duy tr thi gian hi p c th chp nhn. Thi gian phn hi chu nh hng bI Slave cn bao lu yu cu Unpark, hoc Master cn bao lu Unpark cho Slave. C 2 trng hp trn iu b chi phi bi thi gian tn hiu Park. _ Nu Slave trong ch Park mt s ng b, n s ngng hi p n Master v c th hon ton mt kt ni. Sau Master s khi phc kt ni bng cch gi tn hiu Paging n Slave, ri li t n vo ch Park ln na. R rng y l s hao ph v ch. V vy nhng thit b trong ch Park trong phn ln thi gian hot ng nn c nhng khong thi gian bo hiu m nu Slave b nh mt tn hiu, n c th c ti ng b ln k tip. Ni chung, Master c th gi dliu n Slave th trc tin Slave phi c Unpark. _ Mt v d ng dng s dng ch Park: my tnh xch tay Bluetooth dng trnh duyt Web khng dy. Ngi s dng c th m nhiu trang Web, nhng ti mt thi im ang c mt trang no th cc trang khc s chuyn sang trng thi Park. _ Mng nhng b cm bin th khng thch hp s dng ch Park bi v trong cch b cm bin gi d liu, yu cu phi hi p ngay lp tc, khng cho php c tr. 2.8. So snh Bluetooth vi cc k thut khng dy khc : Hng ngoi, Wi-fi (802.11b wireless).
2.8.1. So snh Bluetooth vi Wi-Fi

Wi-Fi l chun do IEEE (Institute of Electrical and Electronics Engineers) pht trin, tr thnh mt chun rt ph bin trong kt ni khng dy. Wi-Fi l

o Qu Thi An Trn Th M Hnh

71

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

chun p dng cho mng LAN khng dy kiu Ethernet1[3], hot ng trong vng sng radio 2.4 Ghz. Tc truyn d liu ni chung l 1 Mbps hoc 2 Mbps vi 802.11 v 5.5 Mbps hoc 11 Mbps vi 802.11b, mc d tc c th ln n khong 20 Mbps vi 802.11b. Wi-Fi h tr mng a im (multipoint networking) nhng kiu truyn d liu nh cc gi tin broadcast, multicast, unicast. Chun thng thng thng l mt access point (AP) n 10-20 trm (station), nhng a ch MAC c trong mi thit b cp mt s o v tn thit b c th tham gia vo mt mng nht nh. Carrier Sense Multiple Access vi Collision Avoidance (CSMA/CA) c dng iu khin cc knh thng thng v ngn xung t. Tuy nhin v th m kh t v tn nhiu nng lng hn. Wi-fi S dng in hnh (Typical usage) Bluetooth Phin bn khng dy ca Thay th cp c nhn chun Ethernet (wireless (wireless USB) cho Ethernet), ch thay th cp cho truy cp mng LAN. Truy cp mng khng 11 Mbps, chia s. Bng thng 2 n 3 Mbps vi WEP. nhiu ng dng khc nhau. Truy cp mng khng dy vi khong cch 1 Mbps, chia s. Version 1.1 v 1.2 l 723.1 Kbps, version 2.0 l 2.1 Mbps, thp hn khi b nhiu. Cc thit b s dng Nhiu sng radio khc, cc vt liu xy dng, trang thit b. Bo mt Khng an ton nu Bo mt thp. Lin kt Cc thit b s dng sng radio khc, cc vt liu xy dng, trang thit b.

dy vi khong cch di. trung bnh.

o Qu Thi An Trn Th M Hnh

72

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

khng bo v tt. Cn gii quyt nhng trc trc ca mng, truy cp "nh hi mng" (hay cn gi l d tm l hng mng thng qua vic d tun t cc gi tin cng mng khc nhau), nh cp phin lm vic v truy cp tri php. Lin kt mc WEP d b b gy. Tin cy vo nhng truy cp cp ng dng v s mt ho. Tiu th nng lng Kh cao. Thi gian s dng pin rt ngn do tiu th tr kt ni. Khong cch (ngoi tri) Khong cch (trong nh) S knh Nng lng truyn 200 m - 11 Mbps. 500 m - 1 Mbps. 40 m - 11 Mbps. 100 m - 1 Mbps. 11 DSSS. 79FHSS. 20 dBmFHSS.

c thit lp mc s thm nh quyn (authentication). Kh sniffing. Vn cn ph thuc vo s thm nh quyn cp ng dng v s mt ho.

bt hp php, hi-jacking, khn hn cho traffic

Thp. C 3 ch nng lng thp (Hold mode, Sniff tng thi gian s dng pin. 30 m-100 m. 10 m-30 m. 79 20 dBm

nhiu nng lng v duy mode, Park mode) gip

o Qu Thi An Trn Th M Hnh

73

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

ti a Tn s Gi thnh Kt ni theo ng thng

30 dBmDSSS. 2.4GHz -b/g 5.8GHz - a Cao Khng H tr trong mt s laptop hin i, PDA: Thp Khng H tr trong laptop hin i, nhiu in thoi di ng, PDA, thit b in t, thit b t ng trong cng nghip v vn phng. Bt c ni no c t nht 2 thit b Bluetooth. 2.4GHz

Thit b h tr

i external H/W card, Notebook computer, desktop computer, server. trong tm hot ng ca cc thit b WLAN,

V tr s dng

thng l trong cc to nh.

Ngy bt u pht trin S thit b c th truy cp ng thi

1990 Nhiu, chia s. IP&P2P.

1998 Ti a 8, chia s. P2P.

Bng 1-1 So snh Wifi v Bluetooth


2.8.2. So snh Bluetooth vi IrDA:

IrDA (Infrared Data Association) l mt t chc thng mi phi li nhun vi hn 160 cng ty thnh vin v thit b my tnh, vin thng, phn mm, adapterKt ni hng ngai l k thut khng dy s dng tia hng ngoi truyn d liu, l chun kt ni theo kiu ad-hoc trong khong cch 1m. IrDA c khai thc t rt lu v c tch hp vo nhiu thit b c
o Qu Thi An Trn Th M Hnh 74

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

nhn nh in thoi di ng, PC, PDA, printervi s lng thit b ngy cng tng. Ngy nay, cc nh sn xut tch hp c IrDA v Bluetooth vo thit b ca h vic kt ni khng dy trong khong cch ngn hiu qu hn. IrDA S dng in hnh (Typical usage) Bluetooth

K thut khng dy Thay th cp c nhn dng tia hng ngoi Truy cp mng khng truyn d liu hoc point-to-multipoint khong cch ngn 4Mbps - 16Mbps Bng thng 1 Mbps, chia s Version 1.1 v 1.2 l 723.1 Kbps, version 2.0 l 2.1 Mbps, thp hn khi b nhiu. B nh hng bi Cc thit b s dng sng Nhiu trong sch ca nh sng. radio khc, cc vt liu xy dng, trang thit b. Khong cch ngn + Bo mt thp. Lin kt Bo mt truyn thng =>bo mt c thit lp mc cp thp nhng s thm nh quyn Kh an ton cao. Phn cn li (authentication). dy vi khong cch Giao tip point-to-point trung bnh

ph thuc vo ng dng. khn hn cho traffic sniffing. Vn cn ph thuc vo s thm nh quyn cp ng dng v s mt ho. Tiu th nng lng Rt thp Thp Khng cn phi duy tr C 3 ch nng lng

o Qu Thi An Trn Th M Hnh

75

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

kt ni nn thi gian s thp (Hold mode, Sniff dng pin rt di. mode, Park mode) gip tng thi gian s dng pin. 10cm 1m. Khong cch Ngi dng cn phi gn mt access point, khong 10m. Nhng vi thit b c bit th khong cch ny c tng ln. Gi thnh Rt thp Bt buc. Tm Kt ni theo ng thng hot ng trong mt hnh nn c cn. m gc chp l 300 v Thit b nu h khng th xuyn vt cn. tr Bluetooth th chc IrDa khng thc s chn kt ni vi nhau n nh v khng phi c. bt c thit b no cng h tr chun IrDA cng c th kt ni vi nhau. Trong rt nhiu in H tr trong laptop hin Thit b h tr thoi di ng, PC, PDA, i, nhiu in thoi di modem, camera v rt ng, PDA, thit b in nhiu thit b in t t, thit b t ng trong khc trong y t v cng cng nghip. S thit b c th truy cp ng thi Bng 1-2 So snh IrDA v Bluetooth Nhiu, chia s phng Ti a 8, chia s nghip v vn Thp Khng. C th xuyn qua vt

o Qu Thi An Trn Th M Hnh

76

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Chng 3 VN AN TON V BO MT
TRONG BLUETOOTH.
3.1. S lc v vn bo mt trong cc chun khng dy.
3.1.1. S lc chun bo mt mng khng dy trong 802.11

K thut kt ni Bluetooth cng l k thut kt ni khng dy thng thng, do cc vn bo mt ct li ca mng khng dy cng l nhng vn chnh trong bo mt mng Bluetooth. Vic gii thiu s lc v cc chun bo mt mng khng dy truyn thng gip ta c ci nhn tng qut v qui trnh bo mt trong k thut Bluetooth.
3.1.2. Chun bo mt WEP trong IEEE 802.11

nh hng ban u ca mng Wireless LAN (WLAN) trong an ninh mng l s dng SSID (System Set Identifer) v xc thc iu khin thng qua a ch MAC ca Client, vi tng SSID c s dng ging nh mt t kho dng chung cho cc Access Point (AP) v cc Client. Nu Client s dng SSID khng ging vi SSID ca AP th Client khng c kh nng truy cp vo mng LAN thng qua AP. Ngoi ra, WLAN cn h tr vic lc a ch MAC iu khin mc truy cp mng. Cc bng thit lp bng tay trn AP cho php hay ngn cm cc Client truy cp qua AP vo mng.

o Qu Thi An Trn Th M Hnh

77

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 3-1 Hai phng php truy cp mng WLAN Tuy nhin, khi mng WLAN pht trin, c ng dng nhiu th c nhiu vn v an ninh mng pht sinh v tr thnh mi quan tm c bit khi trin khai mng WLAN v vic s dng SSID v a ch MAC khng m bo c an ninh mng. Tiu chun 802.11 nh ngha kh nng bo mt WEP (Wired Equivalency Privacy) cho mng WLAN s dng cc kho m ho 40 bits cho thut ton m ho RC4, y c xem l thut ton i xng v n s dng kho lin kt m ho v gii m plaintext Protocol Data Unit (PDU). Khi s dng phng thc bo mt ny, mt AP v cc Wireless Client dng chung cc kho WEP tnh. Kho m ny c kim tra trong qu trnh xc thc (Authentication), nu kho khng tng thch th Client khng c lin kt vi AP v do khng th truy cp c vo mng. Kho m tnh dng chung c kh nng d tm v b ly cp, khi vic m ho khng cn ngha vi vn an ninh mng na.

Hnh 3-2 Kho WEP tnh c chia s cho AP v cc Client trong mng.

Cisco h tr s dng ti 4 kho m ho WEP c di ln n 128 bits trong mt AP tng cng mc an ninh bo mt ca mng. Tng ng vi kho m WEP, c 2 phng thc xc thc, l phng thc xc thc s dng

o Qu Thi An Trn Th M Hnh

78

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

kho m chia s dng chung (Share Key Authentication) v xc thc m (Open Authentication). Xc thc s dng kho m dng chung (shared key) cng mc ch an ninh ging nh SSID ban u, nhng khi s hn ch kh nng linh hot ca mng WLAN. Trong khi xc thc s dng kho m m li c u dng hn, nhng cngbc l mt s nhc im.
3.1.3. Nhng vn ny sinh trong an ninh mng khng dy

SSID l mt chui k t 32 bits, ban u n c xem l mt cch bo mt nhng khi mng WLAN pht trin th n khng cn c coi l phng thc bo mt na. V khi s dng phng thc xc nhn m, 802.11 cho php cc Wireless Client s dng gi tr SSID trng (gi tr NULL) lin kt vi AP trong qu trnh to lin kt v xc thc. Cc nguy c e da an ninh mng t pha ngoi do s dng mi trng truyn dn l khng kh tn s free nn bt k thit b khng dy no nm trong vng pht sng ca AP cng nhn c thng tin t AP truyn n.

Hnh 3-3 Mng WLAN v cc thit b xm nhp

Nu cc kho m WEP c cha trong card mng khng dy (Wireless Card) th khi b nh cp, cc Client c c Card mng c th truy cp mng m khng b pht hin t pha ngi qun tr mng, hay AP. Gi s c pht hin c th phi thay i kho m WEP, iu ny tr nn phc tp vi nhng mng c s lng ngi dng ln.

o Qu Thi An Trn Th M Hnh

79

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 3-4 Card mng vi kho m WEP bn trong. i vi vn xc thc, chun 802.11 ch xc nh phng thc xc nh mt chiu (one-way), t pha AP i vi Client ch cha c chiu xc thc ngc li t Client n AP (Rogue AP). Mt khc cc kho m s dng trong khi m ho d liu l cc kho m tnh, khng c cch to m v qun l cc kho m . V vy nu c th thay i thng xuyn cc kho m s an ton hn cho cc kho m khng b nh cp hoc pht hin ra. Rogue AP (AP gi mo) c th c dng tn cng mng khi c s dng v t trong vng gn vi vng ph sng ca mng WLAN. Cc Client khi di chuyn n gn Rogue AP s t ng lin kt vi AP gi mo v cung cp cc thng tin ca mng WLAN cho Rogue AP.

Hnh 3-5 Cc Rogue AP tn cng mng bng cch gi danh mt AP hp php.

o Qu Thi An Trn Th M Hnh

80

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Mt khc, chun 802.11 khng h tr cc phng php xc thc ngi dng truy nhp t xa vo mng hin ti nh cc giao thc xc thc RADIUS, LDPA, ... nn hn ch kh nng qun l an ninh mng mt cch tp trung. 3.2. Qui trnh bo mt trong Bluetooth :
3.2.1. An ton bo mt trong Bluetooth:

Trong cng ngh hoc nhng mt khc th vn an ton tuyt i c l khng bao gi c m bo. Chng s cng ngy cng pht trin v quan trng i vi bt k k thut no. Bluetooth SIG a ra nhng ci tin v bo mt nhm tng tnh vng chc cho tin trnh pairing ng thi bo m s ring t khi kt ni c thit lp, c gng lun i trc mt bc m bo thit b khng b tn cng. Bluetooth c nhiu kha cnh v bo mt cn gii quyt. i vi mc tiu l mt m ha v thm nh quyn, Bluetooth Special Interest Group to ra 4 yu t bo mt. Nhng mc an ton ca chng khng c tt lm, v nhng c t v an ton ca n khin cho nhiu thit b Bluetooth c th c truy cp t do m khng qua mt ro cn no c. Bluetooth s dng mi trng wireless do ny sinh mt s vn bo mt ca chun wireless. y l lnh vc con ngi ang khm ph v cng l ni c th lm nhiu tn hiu bn s dng. Bluetooth ang c gng gii quyt nhng vn ny bng cch s dng h thng nhy tn s. Khi 2 thit b Bluetooth kt ni v ng b vi nhau chng s nhy 79 bc trn tn s 2.4 GHz. Nhng phin bn c ca Bluetooth c rc ri vi vic s dng tn s do mt s nc hn ch bc nhy l 23. Thit b 23 bc nhy khng th giao tip vi vi thit b 79 bc nhy. Tuy nhin sau cc tho thun ca Bluetooth Special Interest Group, Bluetooth s dng 79 bc nhy tt c cc nc. Bo mt Bluetooth cng phi i mt vi nhng vn ph bin. Bluetooth s dng 4 yu t khc nhau duy tr s bo mt. u tin l a ch thit b Bluetooth do Institute of Electrical and Electronics Engineers

o Qu Thi An Trn Th M Hnh

81

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

(IEEE) nh ngha, vi 48-bit duy nht cho mi thit b Bluetooth. Th hai, Private Authentication Key l mt s ngu nhin 128-bit. Th ba, Private Encryption Key c t 8-128-bit dng mt m ho. Cui cng l mt s ngu nhin do chnh thit b to ra. _ Khi 2 thit b mun kt ni vi nhau, mt s ngu nhin (link key) c to ra, v nu thit b khng ng vi iu , chng s khng th kt ni . c th l vn hng u nu thit b khng ch lu kt ni v link key khng c to ra. Vn khc ca nhng phin bn trc ca Bluetooth l nu thit b slave thc hin thut ton to kha nhanh hn master, c hai s u coi mnh l master v khng th kt ni c. _ Mt vn khc ca Bluetooth l bo mt khng l iu bt buc. C 3 mc trong vn bo mt chung (Generic Security) ca Bluetooth. Cp 1 l khng bo mt (non-secure), ngha l mi thit b u c th giao tip vi thit b Bluetooth ny. Cp 2 l bo mt theo mc dch v (service-level enforced security), thit b s kt ni sau mi xc thc. Cp 3 l bo mt theo mc lin kt (link-level enforced security), n s khng kt ni n thit b tr khi c xc thc. Vn chnh ca vic bo mt cp ny l c mt s thit b Bluetooth c kch hot theo ch mc nh v vic bo mt b v hiu ho. Mt s thit b Bluetooth c lu hnh vi cc yu t bo mt b v hiu ho, cho php nhng thit b Bluetooth khc truy cp vo, theo RSA Security. (Judge, 2002). _ C 2 loi cp (level) truy cp vo thit b Bluetooth. Cc dch v (Services) trong mt thit b Bluetooth cng c 3 cp . C mt s dch v i hi s xc thc (authentication) v quyn hn (authorization), mt s ch cn s xc thc, v mt s th khng cn g c (open services). C 2 cp bo mt mc thit b. Thit b un-trusted cn s xc thc trong khi thit b trusted th khng cn. 3.2.1.1. Phn m t v an ton bo mt: _ Nhng nguy him u c k tha t k thut khng dy, trong c mt s ging nh mng c dy, mt s th trm trng hn do kt ni khng

o Qu Thi An Trn Th M Hnh

82

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

dy v mt s mi xut hin. C l hu ht nhng nguy him quan trng u do k thut ny ly s giao tip trong khng kh, mt mi trng m, lm c s. _ Nhng nguy him c bit v nhng yu im ca mng khng dy v thit b cm tay bao gm: Tt c nhng yu im tn ti trong mng thng thng u c trong mng khng dy. Nhng ngi xu c th ginh c quyn truy cp bt hp php vo mt chi nhnh mng thng qua k thut kt ni khng dy, mt ng vng trnh bt k firewall no. Nhng thng tin nhy cm khng c m ha (hoc m ha bng k thut n gin) c truyn i gia hai thit b khng dy c th b ngn chn v l ra. Tn cng DoS c th c thc hin kt ni khng dy hoc trn thit b. K xu c th nh cp c nhng c im nhn dng ca ngi dng hp php v gi mo h truy cp vo h thng mng ni b (internel) hoc bn ngoi (external). D liu qu c th b hng trong qu trnh ng b sai. K xu c th can thip vo thng tin c nhn ca ngi dng v theo di c mi hot ng ca h. K xu c th thu li bt chnh bng cch s dng nhng thit b khng hp php (v d nh thit b client v access point) truy cp vo thng tin qu. Thit b cm tay rt d b mt v l thng tin mt. D liu c th b ly m khng h b pht hin do cu hnh thit b khng ng cch. Virus hoc nhng on code nguy him c th lm hng d liu trn thit b khng dy va sau c a vo kt ni mng c dy.

o Qu Thi An Trn Th M Hnh

83

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

K xu c th thng qua mng khng dy kt ni n nhng t chc hoc nhng chi nhnh t bt u tn cng m khng li du vt no. Nhng k xm nhp t bn ngoi c th chim c quyn iu khin v qun l mng, t h c th v hiu ha hoc ph v mi hot ng. K xu c th dng nhm th 3, nhng dch v mng khng dy khng ng tin cy ginh quyn truy cp nhng ti nguyn ca mt chi nhnh hay t chc khc. Tn cng ni b c th thc hin c thng qua nhng ng truyn c bit. 3.2.1.2. Nhn s v bo mt Bluetooth: Chun khng dy trn khp th gii pht trin v c nhiu nh dng khc nhau gii quyt vn an ton cho ngi s dng. K thut khng dy Bluetooth l mt trong nhng chun khng dy mi nht. Bluetooth l la chn thch hp nht cho mng c nhn (Personal Area Networks PANs) Nhng ngi pht trin sn phm da vo k thut khng dy Bluetooth c nhiu chn la cho vic thc hin vn bo mt. Trong cc thit b Bluetooth c 4 yu t dng duy tr s an ton cp lin kt: BD_ADDR (Bluetooth device address): mt a ch 48 bit duy nht dnh cho mi thit b Bluetooth do IEEE (Institute of Electrical and Electronics Engineers) qui nh. Private authentication key: mt s ngu nhin di 128 bit dng cho vic xc nhn ngi s dng. Private encryption key: s di 8-128 bit dng m ha. RAND: mt s ngu nhin hoc gi ngu nhin 128 bit, c thay i thng xuyn bi chnh thit b Bluetooth.

o Qu Thi An Trn Th M Hnh

84

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Trong Bluetooth Generic Access Profile, c 3 ch bo mt khi truy cp Bluetooth gia 2 thit b: Security Mode 1: khng bo mt Security Mode 2: bo mt thi hnh cp dch v Security Mode 3: bo mt thi hnh cp lin kt S khc bit gia mode 2 v mode 3 l mode 3 quy trnh bo mt c khi ng trc khi knh truyn c thit lp. Cc nh sn xut s t chn ch bo mt cho sn phm ca mnh. Thit b v dch v cng c nhng mc bo mt khc nhau. Thit b c 2 mc l "trusted device" and "untrusted device". Mt thit b khi kt ni vi thit b trusted s c truy cp vo mi dch v m khng b hn ch. Dch v c 3 mc : dch v yu cu cp php v xc nhn, dch v ch yu cu xc nhn v dch v m i vi tt c thit b. Thut ton m ha trong Bluetooth cng chc chn. Thng thng trong mt cp th vic truyn thng cng rt an ton nh gia chut v bn phm vi PC, mt in thoi di ng ng b vi PC v mt PDA dng in thoi di ng nh mt modem. M hnh di y miu t qu trnh thit lp knh truyn, khi u vic xc nhn ngi dng.

o Qu Thi An Trn Th M Hnh

85

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 3-6 Qu trnh thit lp knh truyn

o Qu Thi An Trn Th M Hnh

86

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Khi xc nhn mt thit b Bluetooth, n s thc hin theo Bluetooth Link Manager Protocol v ch pairing hin thi, ty thuc vo cp bo mt c s dng. Mi thit b Bluetooth ch hot ng mt ch trong mt thi im ring bit. 3.2.1.2.1. Security Mode 1: khng bo mt (Nonsecure mode)

ch ny mt thit b s khng phi thc hin bt k quy trnh bo mt no, cc hot ng bo mt (xc nhn v m ha) hon ton b b qua (khng bao gi gi send LMP_au_rand, LMP_in_rand hoc LMP_encryption_mode_req). Kt qu l thit b Bluetooth ch 1 cho php cc thit b Bluetooth khc kt ni vi n. Ch ny p dng cho nhng ng dng khng yu cu bo mt nh trao i business card. cp ny thit b Bluetooth khng bao gi thc hin bt k bin php bo mt no nh khng bao gi gi send LMP_au_rand, LMP_in_rand hoc LMP_encryption_mode_req. 3.2.1.2.2. Security Mode 2: bo mt thi hnh cp dch v (Service-

level enforced security mode) Thit b Bluetooth s khng thc hin bt k bin php an ton no trc khi thit lp knh truyn cp Logical Link Control v Adaptation Protocol (nhn c L2CAP_ConnectReq) hoc tin trnh thit lp knh truyn c bn thn n thc hin. L2CAP nm tng data link v cung cp dch v kt ni c nh hng v phi kt ni nhng tng cao hn. Qu trnh bo mt c c thc hin hay khng u ty thuc vo yu cu ca knh truyn hoc dch v. cp bo mt ny, mt ngi qun l bo mt (nh l thuyt trong c im Bluetooth) iu khin truy cp vo dch v v thit b. Qun l bo mt tp trung bao gm kim sot vic iu khin truy cp vi cc giao thc khc v ngi dng thit b. i vi cc ng dng c yu cu bo mt khc nhau c s dng song song th ta c th thay i vic kim sot an ton v cc mc tin cy hn ch truy cp. Do n c th cho php truy cp vo
o Qu Thi An Trn Th M Hnh 87

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

dch v ny m khng c truy cp vo dch v khc. Trong cp ny r rng khi nim cp php (authorization) -cho php thit b A c truy cp vo dch v X hay khng- c p dng. Thit b Bluetooth cp ny s phn loi yu cu an ton ca dch v n s dng theo nhng c im sau: Yu cu phn quyn (Authorization required) Yu cu xc nhn (Authentication required) Yu cu m ha (Encryption required) Ghi ch: khi dch v khng yu cu bt k bin php an ton no th cp ny ging vi cp 1. 3.2.1.2.3. Security Mode 3: bo mt thi hnh cp lin kt (Link-

level enforced security mode) Thit b Bluetooth s thc hin quy trnh bo mt trc khi knh truyn c thit lp (n gi LMP_link_setup_complete). y l c ch bo mt gn lin, v n khng nhn thy bt k bin php bo mt cp ng dng no. Ch ny h tr vic xc nhn ng (authentication), mt chiu hay hai chiu, v m ha. Nhng iu ny ty thuc vo mt link key b mt dng gia mt cp thit b. to ra key ny, mt quy trnh pairing c thc hin khi hai thit b giao tip trong ln u tin. cp ny, thit b Bluetooth c th bc b yu cu kt ni my ch (LMP_host_connection_req, p li bng LMP_not_accepted) ty thuc vo ci t ca my ch. 3.2.1.2.4. PIN) _ PIN (Personal Identification Number) l mt m do ngi dng chn ngu nhin 4 k s hoc nhiu hn, PIN code dng trong thit b Bluetooth c th thay i t 1-16 byte, dng kt hp vi mt thit b khc bo m an ton cho qu trnh pairing. Mt s ng dng thng chn s PIN 4 byte, tuy nhin nn chn s PIN di hn do vn an ton. Ngi dng c khuyn l nn chon s PIN c t 8 k s tr ln bo m v ch nn a s PIN To Bluetooth key t s PIN (Bluetooth Key Generation from

o Qu Thi An Trn Th M Hnh

88

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

cho nhng ngi v thit b c tn nhim pairing. Khng c s PIN hoc s PIN khng ging nhau th qu trnh pairing khng xy ra. _ V mt l thuyt, hacker c th gim st v ghi nhn mi hnh ng trong dy tn s v dng my tnh tm ra s PIN c trao i. iu ny yu cu mt thit b c bit v mt kin thc ton din v h thng Bluetooth. S dng s PIN c t 8 k s tr ln s lm hacker tn hng nm tm ra cn dng 4 k s th h ch mt vi gi truy ra s PIN. _ Link key c to ra trong sut qu trnh khi to, khi hai thit b Bluetooth ang lin lc vi nhau, gi l associated hoc bonded. Bng c im k thut Bluetooth, hai thit b giao tip vi nhau ngay lp tc s to ra link key trong qu trnh khi to, ngay khi ngi dng a s PIN nhn din vo c hai thit b. Nhp s PIN, kt ni thit b v to ra link key c miu t trong hnh 1-42. Sau khi qu trnh khi to hon thnh, cc thit b xc nhn mt cch t ng v trong sut, ng thithc hin m ha. N c th to ra link key dng cho cc phng thc trao i key tng cao hn v sau nhp link key vo Bluetooth module.

Hnh 3-7 Bluetooth Key Generation from PIN


Xc thc trong Bluetooth (Bluetooth Authentication):

o Qu Thi An Trn Th M Hnh

89

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

_ Qu trnh xc nhn trong Bluetooth nm trong s phi hp challengeresponse. Hai thit b tng tc nhau trong mt th tc xc nhn s c xem nh l mt bn yu cu (claimant) v mt bn xc minh (verifier). Thit b Bluetooth lm nhim v verifier phi xc nhn tnh hp l trong nhn dng ca thit b kia. Thit b claimant phi c gng chng t nhn dng ca mnh. Giao thc challengeresponse xc nhn tnh hp l ca cc thit b bng cch kim tra thng tin ca secret key (link key ca Bluetooth). Nguyn tc phi hp kim tra challengeresponse c miu t trong hnh 1-43. Nh miu t, mt trong nhng thit b Bluetooth (claimant) c gng bt v kt ni vi thit b kia (verifier). _ Cc bc trong tin trnh xc nhn din ra nh sau: 1. Thit b claimant truyn a ch 48 bit ca n (BD_ADDR) n verifier 2. Thit b verifier truyn mt challenge ngu nhin 128 bit (AU RAND) n claimant. 3. Verifier dng thut ton E1 v s dng a ch, link key, v challenge lm u vo tnh ton mt cu tr li xc nhn (authentication response). Thit b claimant cng thc hin cng thao tc . 4. Thit b claimant tr kt qu va tnh c (SRES) cho verifier. 5. Verifier s so snh SRES ca claimant vi SRES m n tnh c. 6. Nu hai gi tr SRES 32 bit ny bng nhau th verifier s tip tc thit lp kt ni.

o Qu Thi An Trn Th M Hnh

90

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 3-8 Bluetooth Authentication 3.2.1.2.5. Process): c t Bluetooth cng cho php 3 ch m ha khc nhau h tr cho s an ton ca dch v. Ch m ha 1: khng thc hin m ha khi truyn thng. No encryption is performed on any traffic. Ch m ha 2: truyn thng i chng (broadcast) th khng cn bo v (khng m ha), nhng truyn cho c nhn phi m ha theo link key ring bit. Ch m ha 3: tt c mi s truyn thng u phi c m ha theo link key ca master. Tin trnh m ha trong Bluetooth (Bluetooth Encryption

o Qu Thi An Trn Th M Hnh

91

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 3-9 Bluetooth Encryption Process 3.2.1.2.6. Nhng vn trong an ton bo mt ca chun Bluetooth

(Problems with the Bluetooth Standard Security) _ Mt mnh ca php to ngu nhin challenge-response khng h c bit n: RNG (Random Number Generator) thng dng s c nh hoc nhng s thay i theo chu k, iu ny lm gim hiu qu ca php xc nhn ng. _ Cho php nhng s PIN ngn: s dng nhng s PIN n gin to ra cc link key v encryption key nn d dng b on ra. Tng di s PIN s lm tng an ton. Nhng mi ngi li c xu hng chn s PIN ngn. _ Vic to v phn phi s PIN khng n gin: thit lp s PIN trong mt mng Bluetooth rng ln c nhiu ngi s dng rt kh khn v thng xy ra cc vn v an ton bo mt. _ di ca encryption key c th b thng lng: t chc Bluetooth SIG cn pht trin thm quy trnh pht sinh key khi to mnh m hn. _ Unit key c th dng li c v tr thnh cng khai mt khi c s dng: Mt unit key l mt link key c to ra bi chnh n v c s
o Qu Thi An Trn Th M Hnh 92

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

dng nh l mt link key vi bt k thit b no. Unit key ch s dng an ton khi tt c cc thit b paired vi cng unit key c tin tung tuyt i. T phin bn Bluetooth 1.2 tr v sau khng cn s dng unit key nhng do tnh k tha nn unit key vn cha hon ton b loi b ra khi cc chi tit k thut. _ Master key b dng chung: Nhm Bluetooth SIG cn pht trin mt phng php truyn kha i chng tt hn. _ Khng xc nhn ngi s dng: ch cung cp cch xc nhn thit b. Xc nhn ngi s dng ch c th thc hin bo mt cp ng dng. _ Vic th xc nhn c lp i lp li nhiu ln: Bluetooth SIG cn pht trin mt gii hn ngn chn s yu cu qu nhiu. c im k thut Bluetooth cn a ra mt khong thi gian hn nh (time-out) gia hai ln th v c tng ln theo s m. _ Thut ton stream cipher E0 rt yu km: bt ngun t php tng phi hp stream cipher (summation combiner stream cipher) c Massey v Rueppel a ra vo gia nhng nm 1980. Hu ht tt c cc cuc tn cng ln vo loi stream ciphers ny u lin quan n s tn cng da vo vic on nhng kha n gin. Gn y vic gii cc mt m cng ch r tnh yu km ca the E0 cipher. _ Chiu di cc key c th b thng lng: Mt tha thun chung ton cu v chiu di ti thiu ca key cn phi c thit lp. _ S phn b unit key c th dn u v eavesdropping: mt k xu (chim c quyn truy cp bt hp php) c th tha hip bin php bo mt gia 2 ngi s dng khc nu k kt ni vi mt trong 2 ngi ny. iu ny l bi v link key (unit key), ly c t thng tin chung, b l. _ S ring t c th b xm phm nu a ch thit b Bluetooth (BD_ADDR) b l ra v b lin kt vi mt ngi c bit, khi mi hnh ng ca ngi s dng thit b s b ghi nhn v khng cn s ring t.
o Qu Thi An Trn Th M Hnh 93

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

_ Cch xc nhn thit b l shared-key challenge-response n gin: phng php xc nhn challenge-response ch mt chiu l mc tiu chnh trong cc cuc tn cng man-in-the-middle. Nn yu cu xc nhn ln nhau tng tnh tin cy: c ngi s dng ln mng u hp php. _ End-to-end security khng c thi hnh: ch thc hin vic xc thc v m ha cc lin kt ring bit. Cc phn mm ng dng tng trn ca Bluetooth cn phi c pht trin thm. _ Dch v bo mt b hn ch: khng c kim nh (audit), thc hin (nonrepudiation), v nhng dch v khc. Nu cn thit th nhng iu ny s c thc hin nhng v tr c bit trong mt mng Bluetooth.
3.2.2. Hacking:

3.2.2.1. Impersonation attack by inserting/replacing data Khi khng thc hin m ha th tn cng kiu ny rt d t c bng cch sa CRC check data sau khi thay i d liu. Nu trong h thng c m ha th rt kh do hacker phi tm hiu cu trc ca gi d liu vic thay i c hiu qu nh mong mun. 3.2.2.2. Bluejacking L kiu gi tin nhn nc danh nhng ni cng cng bng cch li dng tin trnh pairing ca k thut Bluetooth. K quy ri gi tin nhn vo lc khi ng giai on bt tay v phn name- hin tn thit b mun kt nic th di n 248 k t. Thc ra mc ch ca cc nh sn xut l mun th hin thng tin ca thit b kt ni r rng hn ngi dng thy nhm yn tm thc hin trao i, cp nht v ng b d liu. Nhng c im ny b k xu li dng gi nhng tin nhn nc danh cho cc thit b Bluetooth ang hot ng trong vng xung quanh (10m). nh hng: Lm ngi ch thit b kh chu, hoang mang lo lng. Khng h nh hng n vn an ton, N khng di hoc thay i bt k d liu no trn thit b.

o Qu Thi An Trn Th M Hnh

94

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Kh nng m rng ca tng ny l gi vCard vi mt tn thng thng nh Home hoc Work nhm c gng vit ln thng tin c sn trong my ngi nhn. 3.2.2.3. Bluetooth Wardriving Bn t nhin v mi v tr ca ngi s dng ang m thit b Bluetooth. Mi thit b Bluetooth c mt a ch 48 bit t do duy nht dnh cho broadcast v n li du vt ca ngi s dng. trnh b theo di, thit b Bluetooth dng mt ch nc danh (anonymity mode). ch ny h iu hnh thit b thng xuyn cp nht a ch thit b ca h bng cch chn mt s ngu nhin. Cc kiu tn cng theo du vt gm: subsubsectionInquiry attack: tn cng vo mt hay nhiu thit b Bluetooth trong vng ph sng. Ch xy ra khi ngi s dng thit b ch nhn thy c (discoverable mode). Thit b tn cng c th v c bn cc thit b Bluetooth xung quanh bng cch thng xuyn gi cc thng ip yu cu (inquiry messages) v thng xuyn nm gi danh sch tt c thit b b pht hin. subsubsectionTraffic monitoring attack: tn cng ngay c khi thit b nn nhn khng ch nhn thy c. K tn cng thng l gim st cc cuc truyn thng gia hai thit b trusted i vi nn nhn. Nhng thit b ny khi giao tip s s dng mt CAC c trng. CAC ny c tnh ra t a ch ca thit b master trong piconet. Hn na ton b a ch ca thit b c gi i trong gi FHS, cho php mt attacker xc nh c nhn dng ca mt thit b. Nhng FHS ch c s dng khi thit lp kt ni. subsubsectionPagin attack: tn cng kiu ny cho php attacker xc nh r khi no mt thit b vi BD_ADDR hoc DAC nhn bit ang hin din trong vng ph sng nhng ch thc hin c khi thit b ang kt ni. Thit b tn cng page vi thit b ch, i nhn gi tin ID nhng sau khng phn hi li. Nu nhn c ID th attacker bit c l thit b ang hin din. Cn thit b ch

o Qu Thi An Trn Th M Hnh

95

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

ch i tin phn hi trong mt thi gian time out nht nh v vic xy ra s khng bo co ln tng ng dng. subsubsectionFrequency hopping attack: h thng nhy tn s trong Bluetooth c thc hin bng cch lp li tun t cc bc nhy. Lc bc nhy c tnh ton t nhng thng s khc nhau c nhp vo nh a ch v ng h ca master. Trong trng thi kt ni th LAP v ti thiu 4 bit ca UAP ca thit b master s c s dng. Trong trng thi page th LAP/UAP ca thit b paged c s dng. Do v mt l thuyt c th ly thng tin ca LAP v 4 bit trong UAP da vo lc bc nhy ca i tng. subsubsectionUser-friendlyname attack: mt thit b Bluetooth c th ngh mt ci tn thn thin (user-friendly name) bt c lc no sau khi thc hin thnh cng tin trnh paging. V lnh yu cu ny c th s dng theo di du vt. 3.2.2.4. Nokia 6310i Bluetooth OBEX Message DoS Nokia 6310i c mt khe h cho php t chi dch v t xa. iu ny c pht hin khi mt thng ip Bluetooth OBEX khng hp l do attacker gi ti lm mt tnh sng sng ca in thoi. nh hng: Nh v khi y in thoi b shutdown m khng mt d liu. 3.2.2.5. Brute-Force attack Tn cng Brute-force trn a ch BD_ADDR (MAC address) ca thit b khi khng ch c th nhn thy. Mt s nh sn xut khng nh rng vic ny phi mt mt thi gian lu (khong 11 gi). Tuy nhin phin bn a tiu trnh ca @stakes RedFang c th dng cng mt lc 8 thit b USB Bluetooth gim thi gian t 11 gi xung 90 pht. nh hng: C th mt nhiu thi gian pht hin mt BD_ADDR chnh xc.

o Qu Thi An Trn Th M Hnh

96

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Mt khi BD_ADDR b pht hin th mt cuc tn cng dng Bluesnarf c th c thit lp trong khi ngi ch thit b vn ngh h vn an ton bi v thit b t ch hidden. 3.2.2.6. Denial-of-Service attack on the device Tn cng DoS (Denial of Service) l phng php tn cng ph bin vo cc trang web trn Internet v mng, v by gi l mt ty chn tn cng vo thit b ang m Bluetooth. Phng php ny rt n gin, ch l k tn cng dng my tnh c m Bluetooth kt hp vi mt phn mm c bit yu cu thit b ca nn nhn phi lin tc tr li nhng yu cu lm cho pin hao nhanh chng, ng thido phi duy tr yu cu kt ni bt hp php nn thit b tm thib v hiu ha. Tn cng DoS thc hin trn bt k thit b Bluetooth trong tnh trng c th tm ra (discoverable) nhng i vi hacker cao cp th c th pht hin c thit b Bluetooth khng th tm ra (non-discoverable). V th, nhm Bluetooth SIG ang c gng to ra nhng bin php bo mt hn trong tng lai nhng thit b khng th pht hin ra s khng b nhn xuyn thu nh th. nh hng: DoS ch cho php hacker tm thiquy nhiu mt ai ch khng cho php truy cp vo d liu hoc dch v, nn khng c bt k thng tin no b s dng hoc b nh cp. Ngy nay tn cng DoS vo thit b Bluetooth ch cn c thc hin trong phng th nghim kim tra nh mt th tc ti thiu v bnh thng ca k thut khng dy Bluetooth. 3.2.2.7. Disclosure of keys Mt thit b Bluetooth gn vi my tnh c th trao i nhm vi ngi c mc ch ly trm link key. Mt USB plug hoc PCMCIA (Personal Computer Memory Card International Association) c th b ly ra khi my tnh ca ngi ch v a

o Qu Thi An Trn Th M Hnh

97

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

vo my ca i th v mt hay nhiu key b c trm m ch nhn khng h bit. Nhng phn mm xu (Trojan horse) tr hnh thnh mt chng trnh bnh thng gi c s d liu ca key v cho nhng k xu mun truy cp. Nu on m nguy him ny c km trong mt con virus hay worm th cuc tn cng ny s nhanh chng lan rng ra trn s ln thit b. Mt khi link key ca my tnh v in thoi (v BD_ADDR ca my tnh) b l th k th c th kt ni b mt vo in thoi di ng vi vai tr ca my tnh v s dng bt k dch v no trn in thoi thng qua Bluetooth. 3.2.2.8. Unit key attacks Mt thit b dng unit key th ch s dng duy nht mt key cho tt c cc lin kt an ton ca n. Do n chia s key ny cho tt c nhng thit b khc m n tin tng. V th mt thit b trusted ( c unit key) c th nghe trm nhng thng ip xc nhn ban u gia hai thit b hoc bt k cuc trao i no gia cc thit b ny. N cn c th gi dng phn pht unit key. Ri ro tim tng vi unit key c Bluetooth SIG pht hin ra. Lc u unit key c s dng gim nhu cu b nh nhng thit b hn ch v cn c gi li v l do tng thch ca chun. 3.2.2.9. Backdoor attack Backdoor attack bao gm thit lp mt mi quan h tin tng thng qua c ch pairing, nhng phi bo m rng n khng xut hin na trn danh sch cc thit b paired ca thit b ch. Bng cch ny tr khi ngi s dng tht s ch n thit b ca h ng lc thit lp kt ni, nu khng h s khng chc c thng bo chuyn xy ra v k tn cng tip tc s dng bt c ti nguyn no m mt thit b trusted c php truy cp bao gm d liu, dch v Internet, WAP v GPRS m ch nhn khng h hay bit. Khi Backdoor c thc hin th tn cng theo Bluesnarf s hot ng c trn thit b m trc y t chi truy cp, v khng h b nhng hn ch ca Bluesnarf nh hng. 3.2.2.10. Pairing attack
o Qu Thi An Trn Th M Hnh 98

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

c im k thut ca Bluetooth 1.1 d b nh hng t cc cuc tn cng trong qu trnh pairing. Pairing attack ch thc hin c khi attacker c mt ngay thi im pairing, vn ch xy ra mt ln gia mt cp thit b. Nu qu trnh pairing c thc hin ngay ni cng cng nh lc kt ni vi access point, my in th nguy c cao hn. 3.2.2.11. BlueStumbling = BlueSnarfing Bluesnarfing cho php kt ni vo thit b m khng h cnh bo cho ch thit b v ginh quyn truy cp vo nhng vng hn ch ca d liu nh phonebook (v bt k image cng nh d liu lin kt vi n), calendar, realtime clock, business card, properties, change log, IMEI (International Mobile Equipment Identity, nhn dng duy nht ca in thoi trong mng mobile, v s b s dng in thoi nhi). Tn cng thng ch thc hin khi thit b ang ch nhn thy c (discoverable hoc visible). Bluesnarfing c l khai thc mt khe h do qu trnh mc nh password ca pairing (thng ch 4 k t), n b on ra ng thithit b Bluetooth c bt ln v ch nhn thy l all. Khng cn nhng thit b c bit, hacker c th tn cng thit b trong khong cch 10 m vi mt phn mm c bit (tuy nhin vi Khu sng trng BlueSniper, do John Hering v cc ng s ch to c gn ng ngm v ngten, ni vi laptop Bluetooth hoc PDA t trong ba l c kh nng thu nhn d liu t TD cch n 1,8 km). Nhng ch nhng thit b Bluetooth i c khi bt Bluetooth mi d nhy cm vi bluesnarfing. Cng c th gi tn cng kiu ny l OBEX Pull Attack: OBEX cho php bn trong mt s trng hp c th nc danh ko (PULL) nhng mc chn gia hai thit b. nh hng: Mt s thit b cm tay ca Nokia, Ericsson & Sony Ericsson v nhiu in thoi thng dng u nhy cm vi kiu tn cng ny. Ph thuc rt nhiu vo vic thc thi ca OBEX/Bluetooth stack.
o Qu Thi An Trn Th M Hnh 99

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Thng tin b ly c th quan trng nh calendar, real time clock, business card, properties, Change log, IMEI. C nhiu thit b c yu im ny. 3.2.2.12. BlueBug attack BlueBug attack to mt kt ni serial profile n thit b, bng cch c th ly c ton b quyn truy cp vo tp lnh AT (AT command set), sau c th khai thc s dng shelf tool nh PPP cho mng v gnokii cho message, qun l contact, nghe ln nhng cuc tr chuyn in thoi, lm lch hng hoc thc hin cuc gi ti nhng s tr tin cc cao, gi v c sms message, kt ni Internetthc hin voice call thng qua mng GSM n mi ni trn th gii. Thit lp vic chuyn hng cuc gi lm nhng cuc gi n ngi ch b chn ng, cung cp nhng knh gi c ch n t tin Nh mi cuc tn cng khc, hacker phi ng trong phm vi 10 m gn in thoi. 3.2.2.13. PSM Scanning Khng phi tt c cng PSM (Protocol/Service Multiplexer ports) u c ng k vi SDP a phng (Service Discovery Protocol). V th nu chng ta b qua c s d liu ca SDP v c gng lin tc kt ni vi PSM chng ta c th nh v c mt cng n. nh hng: tng ny thng to nn Backdoor attack. 3.2.2.14. On-line PIN cracking Tn cng ch thc hin c khi tm ra s PIN dng trc ca thit b (cng mt s PIN cho mi ln kt ni). Mi ln cn phi thay i a ch Bluetooth v s PIN khc nhau. Nhng c im k thut khng cung cp gii php cho yu im ny. 3.2.2.15. A man-in-the-middle attack using Bluetooth in a WLAN interworking environment

o Qu Thi An Trn Th M Hnh

100

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Mt man-in-the-middle attack c th thc hin c trn lin kt Bluetooth trong mi trng mng WLAN environment. Attacker s nh nn nhn kt ni vo mt access point WLAN nguy him. Chng khng cn bit Bluetooth link key v c th lp li cch tn cng ny nhiu ln vi cng mt nn nhn trn bt k mng WLAN no. 3.2.2.16. Off-line encryption key (via Kc) M rng t Kinit recovery attack. 3.2.2.17. Attack on the Bluetooth Key Stream Generator Ph v tnh an ton ca s m ha, tn cng vo Linear Feedback Shift Register Work (s c gng ca khong 267,58 php tnh). 3.2.2.18. Replay attacks Hacker c th ghi li vic truyn thng trn c 79 knh ca Bluetooth v sau tnh ton ra trnh t bc nhy v thc hin li c cuc truyn tin . 3.2.2.19. Man-in-the-middle attack Can thip vo truyn thng trong qu trnh pairing. 3.2.2.20. Denial-of-Service attack on the Bluetooth network Khng kh thi lm v phi lm tc nghn c dy tng ISM Ngoi ra cn mt s cch tn cng khc : Off-line PIN (via Kinit) recovery Reflection Attack Impersonate original sending/receiving unit Kt lun : S gia tng nhanh chng ca cc thit b Bluetooth lm cho vic truyn thng khng dy tr nn d dng hn v cc nhm Bluetooth mun bn tin rng k thut ny an ton trc hacker. Tuy nhin vi khu sng trng BlueSniper, nhng thnh vin ca Flexilis (nhm chuyn gia v k thut khng dy Los Angeles) c th qut v tn cng vo cc thit b trong vng mt dm (1.6 km). Phin bn u tin ca khu sng ny do John Hering v cc
o Qu Thi An Trn Th M Hnh 101

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

ng s ch to c gn ng ngm v ngten, ni vi laptop Bluetooth hoc PDA t trong ba l c trnh din ti hi ngh v hacker v bo mt "Black Hat and DefCon" ti Las Vegas (M) nm 2004. So vi phin bn c, khu sng mi ny c v chuyn nghip hn, ln hn, mnh hn, bn hn v anten thu sng mnh gp hai ln kiu c. N cng c mt my tnh nh lc nhng th cn thit trc khi a vo laptop tp hp d liu li. V lm thit b ny theo John Hering th khng kh lm, ch mt khong vi trm USD v mt bui chiu. Gn y nht mt bo co ca 2 nh nghin cu v an ton bo mt ngi Israeli (c mt ngi ang l nghin cu sinh) gy sc khi h c th ginh quyn iu khin Bluetooth-tch hp vo in thoi di ng, ngay c khi tnh nng an ton ca handset c bt ln. iu ny c thc hin da trn k thut tn cng Ollie Whitehouse of @Stake miu t nm ri. iu khc bit v rt quan trng l k thut c i hi hacker phi lng nghe qu trnh pairing gia 2 thit b, cn k thut mi cho php hacker buc 2 thit b phi lp li qu trnh pairing ny, theo cch hacker c c hi xc nh c s PIN dng bo v kt ni ch trong khong t 0.06 n 0.3 giy. Sau h c th s dng s PIN ny kt ni vo Bluetooth handset m khng cn s cho php. V mt khi kt ni c thit lp, k tn cng c th thc hin yu cu trn thit b, ly thng tin v lng nghe vic truyn d liu gia thit b ny vi cc thit b khc. H gi dng mt trong 2 thit b, gi mt thng ip n thit b kia yu cu phi qun link key. iu ny thc gic thit b hy key v sau c 2 thit b bt u thc hin li tin trnh pairing.
3.2.3. Virus:

3.2.3.1. Appdisabler.B 3.2.3.1.1. Thng tin

Tn: Appdisabler.B

o Qu Thi An Trn Th M Hnh

102

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Loi virus: Trojan Ngy gi ngn chn s xm nhp: 17/5/2005 3.2.3.1.2. M t chi tit thng tin virus

Appdisabler.B l mt loi thuc Trojan uc vit dnh ring cho dng my chy trn nn h iu hnh Symbian Series 60. Appdisabler.B c ng gi trong file Freetalktime.sis. Khi ci t, Appdisabler.B s thay th phn thc thi chnh ca cc ng dng khc bng cch ghi ln nhng file chnh. Nhng file b v hiu ha: AD7650 AnswRec BlackList BlueJackX callcheater CallManager Camcoder camerafx ETICamcorder ETIMovieAlbum ETIPlayer extendedrecorder FaceWarp FExplorer FSCaller Hair HantroCP irremote Jelly KPCaMain Launcher

o Qu Thi An Trn Th M Hnh

103

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

logoMan MIDIED mmp Mp3Go Mp3Player photoacute PhotoEditor Photographer PhotoSafe PhotoSMS PVPlayer RallyProContest realplayer RingMaster SmartAnswer SmartMovie SmsMachine Sounder sSaver SystemExplorer UltraMP3 UVSMStyle WILDSKIN C th qut virus bng cch dng trnh qun l ng dng g b Freetalktime.sis v ci t li nhng ng dng b tn hi. 3.2.3.2. Cabir.Dropper 3.2.3.2.1. Thng tin

Tn: Cabir.Dropper SymbOS/Cabir.Dropper, Norton AntiVirus 2004 Professional.sis


o Qu Thi An Trn Th M Hnh 104

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Loi virus: Worm Ngy gi ngn chn s xm nhp: 17/5/2005 3.2.3.2.2. M t chi tit thng tin virus

Cabir.Dropper l mt dng file ci t ca h iu hnh Symbian v n s ci Cabir.B, Cabir.C v Cabir.D vo thit b ng thi v hiu ha ng dng iu khin Bluetooth. File gc ca Cabir.Dropper tn l Norton AntiVirus 2004 Professional.sis. Cabir.Dropper s ci nhng bin th ca Cabir vo nhng ni khc nhau trong h thng file ca thit b. Mt s Carbir s thay th cc ng dng, cho nn khi ngi dng ci t vo s b thay bng Carbir.D ng thi khng hin th biu tng ca ng dng .

Hnh 3-10 Mn hnh in thoi nhim Cabir.D Nu ngi dng nhp vo biu tng ny th Cabir.D s c kch hot v t ly lan sang cc thit b khc di dng file ([YUAN].SIS. Cabir.Dropper cng t ci t thnh phn gip kch hot Cabir.D khi thit b khi ng li, nhng y c li l thnh phn ny li tr vo th mc khng c ci vo h thng. Khi Cabir.Dropper c ci vo h thng, n s ci file vo nhng th mc sau: \images\ \sounds\digital
o Qu Thi An Trn Th M Hnh 105

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

\system\apps \system\install \system\recogs \system\apps\btui \system\apps\fexplorer \system\apps\file \system\apps\freakbtui \system\apps\smartfileman \system\apps\smartmovie \system\apps\systemexplorer \system\apps\[yuan] Mt s Cabir c ci vo th mc ci mc nh ca cc ng dng nh FExplorer, SmartFileMan, Smartmovie and SystemExplorer. C th qut virus bng cch xa nhng file worm, sau dng chng trnh qun l ng dng g b Norton AntiVirus 2004 Professional.sis. Nu in thoi bn b nhim Cabir v khng ci c file thng qua Bluetooth, bn c th ti chng trnh qut virus F-Secure Mobile Anti-Virus trc tip vo my. 3.2.3.3. Cabir A 3.2.3.3.1. Thng tin:

Tn: Symb/Cabir-A Loi virus: Worm (Su) Cc b danh: Cabir Epoc.Cabir EPOC/Cabir.A Worm.Symbian.Cabir.a Symbian/Cabir.b 3.2.3.3.2. M t thng tin chi tit:

o Qu Thi An Trn Th M Hnh

106

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Symb/Cabir-A l worm, bit n nh l malware, c vit dnh ring cho in thoi di ng dng my ang chy h iu hnh Symbian Series 60. y l virus u tin c pht tn t website ca mt nhm tin tc c tn 29A. Virus ny ly t cc a ch website m ngi s dng c th ti v my nhc chung, tr chi hoc t mt in thoi b nhim khc. "Cabir" t gi dng nh l mt cng c ca h iu hnh Symbian vi tn gi "Caribe Security Manager" v c gi i di dng mt file Caribe.SIS ca h iu hnh. Gi tin cha 3 thnh phn caribe.app, flo.mdl v caribe.rsc. Nu bm Yes, file ny s c nhn v lu vo Inbox trong tin nhn. Tip tc click vo file ny, n s ci t vo TD nh mt ng dng thng thng v sau s ly nhim. Cc thnh phn c ci t vo \system\apps\directory trn thit b. Khi b nhim, TD s hin ch Cabire mi khi bt my v Cabire s thng qua cng Bluetooth ca TD b nhim lin tc tm kim cc TD khc ang bt Bluetooth ly lan sang. Cabire cng c th ly lan thng qua mt file nh km gi qua e-mail TD. Cabire lm hao pin rt nhanh v n lin tc kch hot Bluetooth v tm kim cc TD khc trong bn knh vi chc mt cng c cng Bluetooth ly lan sang. Hin nay Cabir ch tn cng in thoi di ng s dng h iu hnh Symbian series 60 v ngi s dng c th ch ng khng nhn v ci t malware ny vo my. phng trnh khng nn m tnh nng Bluetooth ni ng ngi, c bit l cc qun c ph tp trung nhiu loi my Symbian. Nu thy file Caribe.sis c gi n my, hy t chi v tt Bluetooth khng tip tc c ''mi'' nhn. Mc tiu ca Cabir khng phi l tn cng m ch yu l ph trng thanh th, chng minh kh nng thit b cm tay cng c th b virus tn cng.Cabir khng cha m c hi vi kh nng ph hu file, song nu ngi s dng lm theo nhng yu cu ca virus, n s khin pin in thoi ca h cn kit nng lng. 3.2.3.4. Cabir B 3.2.3.4.1. Thng tin:
107

o Qu Thi An Trn Th M Hnh

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Tn gi: Symb/Cabir-B Loi Virus: Worm (Su) Ngy gi ngn chn c s xm nhp ca Symb/Cabir: 30/11/2004 14:31:33 (GMT) 3.2.3.4.2. M t chi tit thng tin virus:

_ Symb/Cabir-B l mt loi thuc h virus Worm (su) uc vit dnh ring cho dng my chy trn nn h iu hnh Symbian Series 60. _ Ging Symb/Cabir-A, mt khi Symb/Cabir-B c kch hot, chng s c gng th gi chnh bn sao n thit b c kch hot Bluetooth c tm thy trong tm hot ng ca my b nhim virus. _ File camtimer ca virus Symb/Cabir-B c th uc ci bi mt loi Trojan c tn l Troj/Skulls-B (uc trnh by phn trn) _ Symb/Cabir-B ci 2 file c tn camtimer.rsc v camtimer.app m 2 file ny l thnh phn ca mt ng dng camera timer (nh gi my nh) v hi. _ Symb/Cabir-B c m ra (bung hay gii nn) t gi Symbian SIS c tn l camtimer.sis. Gi ny cha cc thnh phn con uc gii nn v chp vo th mc ./System/Apps, ./System/CARIBESECURITYMANAGER v./System/Recogs: Cc file c hnh thnh trong cc th mc: ./system/apps/CamTimer/camtimer.rsc ./system/apps/CamTimer/camtimer.app ./system/apps/caribe/flo.mdl ./system/apps/caribe/caribe.rsc ./system/apps/caribe/caribe.app ./system/CARIBESECURITYMANAGER/caribe.rsc ./system/CARIBESECURITYMANAGER/caribe.app ./system/CARIBESECURITYMANAGER/CAMTIMER.sis ./system/RECOGS/flo.mdl

o Qu Thi An Trn Th M Hnh

108

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Ring file Flo.mdl l mt file DLL (Dynamic Linked Library: Th vin lin kt ng) dng k thut EZBoot c gng chy file ng dng (application) caribe.app mi khi thit b c m ln. 3.2.3.5. Cabir.Y 3.2.3.5.1. Tn: Cabir.Y B danh: SymbOS/Cabir.Y, EPOC/Cabir.Y, Worm.Symbian.Cabir.Y Loi virus: Worm Ngy gi ngn chn s xm nhp: 13/12/2004 3.2.3.5.2. M t chi tit thng tin virus Thng tin

Cabir Y l mt bin th nh hn ca Cabir.B v khc ch Cabir.Y lan truyn bng file symTEE.SIS trong khi Cabir.B l file Caribe.sis. F-Secure Mobile Anti-Virus c th qut virus bng cch xa nhng file worm, sau bn c th xa th mc C:\SYSTEM\SystemShareddatas\JBguan-all-bysymteeq\ Nu in thoi bn b nhim Cabir v khng ci c file thng qua Bluetooth, bn c th ti chng trnh qut virus F-Secure Mobile Anti-Virus trc tip vo my. 3.2.3.6. Commwarrior.A 3.2.3.6.1. Thng tin

Tn: Commwarrior SymbOS/ Commwarrior.A Loi virus: Worm Ngun gc: Russia Ngy gi ngn chn s xm nhp: 7/3/2005 3.2.3.6.2. M t chi tit thng tin virus

o Qu Thi An Trn Th M Hnh

109

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Commwarrior l worm (su virus) uc vit dnh ring cho dng my chy trn nn h iu hnh Symbian Series 60. N c kh nng ly lan thng qua Bluetooth v tin nhm MMS. Comwarrior s to mt bn sao l file SIS vi tn bt k, c cha fiel thc thi chnh ca worm commwarrior.exe v thnh phn khi ng commrec.mdl. File SIS cha phn t kch hot cho virus. Khi Commwarrior nhim vo my, n s t ng tm nhng in thoi khc trong tm hot ng v ang m Bluetooth gi bn sao l file .SIS n cc in thoi . Nhng file ny c tn bt k nn ngi s dng kh trnh b ly nhim. Thm vo khi ly qua ng Bluetooth, Commwarrior s c tn ngi v s in thoi trong phonebook, sau gi tin nhn MMS c cha file SIS c cha su n nhng a ch . Comwarrior cha nhng file text: CommWarrior v1.0 (c) 2005 by e10d0r ATMOS03KAMA HEAT! C th dit Comwarrior bng cch ci F-Secure Mobile Anti-Virus. Nu in thoi bn b nhim Cabir v khng ci c file thng qua Bluetooth, bn c th ti chng trnh qut virus F-Secure Mobile Anti-Virus trc tip vo my. Sau khi qut virus trong in thoi, bn c th xa nhng th mc trng v g b file SIS cha Comwarrior. Ly qua Bluetooth: C ch hot ng ca Comwarrior khc vi Cabir. Cabir ch cht vo mt in thoi m n tm thy u tin trong tm nh hng, v ch ly sang mt in thoi khc khi h thng c khi ng li. Comwarrior th s tm thit b mi ngay sau khi gi bn sao cho thit b u tin. Do n c th ly lan qua tt c mi thit b c th tip xc c. V vy tc ly ca Comwarrior nhanh hn Cabir rt nhiu. Comwarrior ch ly qua Bluetooth t 08:00 n 23:59, ty thuc vo ng h ca in thoi nhim. Ly qua MMS

o Qu Thi An Trn Th M Hnh

110

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Comwarrior ly qua MMS bng cch gi tin nhn MMS c km file commw.sis cha vius n ngi s dng khc.

Hnh 3-11 Tin nhn MMS c km su Comwarrior Tn file SIS km theo lun ging nhau, khng ging nh khi ly qua Bluetooth (tn file SIS lun thay i sau mi ln gi). Comwarrior thng dng nhng dng sau trong tin nhn MMS: Norton AntiVirus Released now for mobile, install it! Dr.Web New Dr.Web antivirus for Symbian OS. Try it! MatrixRemover Matrix has you. Remove matrix! 3DGame 3DGame from me. It is FREE ! MS-DOS MS-DOS emulator for SymbvianOS. Nokia series 60 only. Try it! PocketPCemu PocketPC *REAL* emulator for Symbvian OS! Nokia only. Nokia ringtoner Nokia RingtoneManager for all models. Security update #12 Significant security update. See www.symbian.com Display driver Real True Color mobile display driver! Audio driver Live3D driver with polyphonic virtual speakers! Symbian security update See security news at www.symbian.com SymbianOS update OS service pack #1 from Symbian inc. Happy Birthday! Happy Birthday! It is present for you! Free SEX! Free *SEX* software for you! Virtual SEX Virtual SEX mobile engine from Russian hackers! Porno images Porno images collection with nice viewer! Internet Accelerator Internet accelerator, SSL security update #7. WWW Cracker Helps to *CRACK* WWW sites like hotmail.com

o Qu Thi An Trn Th M Hnh

111

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Internet Cracker It is *EASY* to *CRACK* provider accounts! PowerSave Inspector Save you battery and *MONEY*! 3DNow! 3DNow!(tm) mobile emulator for *GAMES*. Desktop manager Official Symbian desctop manager. CheckDisk *FREE* CheckDisk for SymbianOS released!MobiComm Ly nhim: Comwarrior c ci t vo nhng th mc: \system\apps\CommWarrior\commwarrior.exe \system\apps\CommWarrior\commrec.mdl Khi thc thi n chp nhng file sau: \system\updates\commrec.mdl \system\updates\commwarrior.exe V to thnh bn sao: \system\updates\commw.sis Ri bt u ly qua MMS Commwarrior ch ly qua MMS t 00:00 n 06:59 ty thuc vo ng h in thoi. 3.2.3.7. Dampig.A 3.2.3.7.1. Thng tin

Tn: Dampig.A B danh: SymbOS/Dampig.A, FSCaller crack trojan Loi virus: Trojan Ngy gi ngn chn s xm nhp: 13/12/2004 3.2.3.7.2. M t chi tit thng tin virus

Dampig.A l mt file SIS, gi dng bn crack ca ng dng FSCaller 3.2 (Fscaller3.2Crack7610.sis hoc vir.sis). Dampig.A v hiu ha Bluetooth, qun

o Qu Thi An Trn Th M Hnh

112

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

l file h thng, ng dng tin nhn v phone book, ng thi ci t mt s su Cabir vo my. Dampig.A cng lm sai lc thng tin g ci t nn khng th g b n m cha qut virus trc. Danh sch ng dng vn cn nn ngi dng c th dng in thoi ti chng trnh qut virus dit m khng cn cng c t bit no. C th xa nhng ng dng m bn nghi ng hoc dng F-Secure Mobile AntiVirus qut. Sau khi xa file worm bn c th g b file Fscaller3.2Crack7610.sis bng trnh qun l ng dng. Nu in thoi bn b nhim Cabir v khng ci c file thng qua Bluetooth, bn c th ti chng trnh qut virus F-Secure Mobile Anti-Virus trc tip vo my. Nhng ng dng b v hiu ha: Bluetooth UI Camera FExplorer Messaging Phonebook SmartFileManager Smartmovie SystemExplorer UltraMP3 3.2.3.8. Doomboot.A 3.2.3.8.1. Thng tin

Tn: Doomboot.A B danh: SymbOS/ Doomboot.A Loi virus: Worm Ngy gi ngn chn s xm nhp: 7/3/2005 3.2.3.8.2. M t chi tit thng tin virus

o Qu Thi An Trn Th M Hnh

113

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Doomboot.A l mt trojan lm sai h thng nh phn v ci Commwarrior.B vo my, lm thit b b li khi c khi ng li. Doomboot.A gi dng file crack ca Doom 2 (DFT_S60_v1.0.sis). Nu ngi dng ci vo my th vn khng nhn c thng bo hay biu tng no ng thi Commwarrior.B li chy n nn h khng cch no bit c my mnh nhim virus. Commwarrior.B ci t bi Doomboo s t ng kch hot v ly nhim. Do Commwarrior.B lun kch hot Bluetooth nn in thoi rt mau ht pin v nu y l Doomboot.A th my s khng th khi ng li sau khi ht pin.

Hnh 3-12 Mn hnh ci t Doomboot.A Nu my b nhim Doomboot.A th nht nh khng khi ng li ng thi phi tin hnh qut virus. F-Secure Commwarrior.B. Nu in thoi bn b nhim Cabir v khng ci c file thng qua Bluetooth, bn c th ti chng trnh qut virus F-Secure Mobile Anti-Virus trc tip vo my 3.2.3.9. Drever A 3.2.3.9.1. Thng tin: Mobile Anti-Virus u dit c Doomboot.A v

o Qu Thi An Trn Th M Hnh

114

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

_ Tn gi: Troj/Drever-A _ Hiu ng l (Side effects): Tt cc chng trnh hoc ng dng dit virus _ Bit hiu (Aliases): Troj.SymbOS.Drever.A SymbOS/Drever.a!mdl SymbOS_DREVER.A Ngy gi ngn chn c s xm nhp ca Troj/Drever-A:24/3/2005 14:46:02 3.2.3.9.2. M t chi tit thng tin virus:

Troj/Drever-A l mt loi thuc Trojan uc vit dnh ring cho dng my chy trn nn h iu hnh Symbian Series 60. Troj/Drever-A xut hin di dng mt gi ci t (installation file) tn Antivirus.sis. Nu file ny c ci t ln thit b (hoc in thoi di ng), tin trnh ci t s c gng th ghi ln cc file c lin quan n cc chng trnh hoc ng dng dit virus nh sau: C:\system\recogs\AVBoot.mdl C:\system\recogs\kl_antivirus.mdl. iu ny c th ngn nga hoc lm t lit hot ng ca cc chng trnh nh Simworks and Kaspersky labs anti-virus trong vic khi ng ca cc chng trnh anti-virus ny. 3.2.3.10. Drever C 3.2.3.10.1. Thng tin:

Tn gi: Troj/Drever-C Loi virus: Trojan Hiu ng l (Side effects): Tt cc chng trnh hoc ng dng dit virus Bit hiu (Aliases): Trojan.SymbOS.Drever.c

o Qu Thi An Trn Th M Hnh

115

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

SymbOS/Drever.c!sis SymbOS_DREVER.C Ngy gi ngn chn c s xm nhp ca Troj/Drever-C: 25/03/2005 12:58:15 (GMT) 3.2.3.10.2. M t chi tit thng tin virus:

Troj/Drever-C l mt loi thuc Trojan uc vit dnh ring cho dng my chy trn nn h iu hnh Symbian Series 60. Troj/Drever-C xut hin di dng mt gi ci t (installation file) tn New_bases_and_crack_for_antiviruses.sis. Nu file ny c ci t ln thit b (hoc in thoi di ng), tin trnh ci t s c gng th ghi ln cc file c lin quan n cc chng trnh hoc ng dng dit virus nh sau: C:\system\recogs\AVBoot.mdl C:\system\recogs\kl_antivirus.mdl C:\system\recogs\fsrec.mdl iu ny c th ngn nga hoc lm t lit hot ng ca cc chng trnh nh Simworks, Kaspersky labs and F-Secure anti-virus trong vic khi ng ca cc chng trnh anti-virus ny. 3.2.3.11. Fontal.A 3.2.3.11.1. Thng tin

Tn: Fontal.A B danh: SymbOS/ Fontal.A Loi virus: Trojan. Ngy gi ngn chn s xm nhp: 6/4/2005 3.2.3.11.2. M t chi tit thng tin virus

Fontal.A l file ci t (Kill Saddam By OID500.sis) lm h file Font ca thit b, lm thit b b li trong ln khi ng li kt tip.

o Qu Thi An Trn Th M Hnh

116

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Nu in thoi b nhim Fontal.A, khng c n khi ng li trc khi dit virus, nu khng in thoi s b mc kt quy trnh khi ng v khng s dng c na. Thm vo vic lm hng file font lm nh hng n trnh qun l ng dng, dn n khng chng trnh mi no ci vo c trc khi dit virus. Sau khi qut xong virus, bn c th xa cc th mc trng cn li v g b file SIS cha virus. Ly nhim: Khi file SIS c ci t, n s chp file vo nhng th mc sau: \system\apps\appmngr\appmngr.app \system\apps\kill sadam\kill sadam.app \system\apps\fonts\kill sadam font.gdr 3.2.3.12. Hobbes.A 3.2.3.12.1. Thng tin

Tn: Hobbes.A B danh: SymbOS/ Hobbes.A Loi virus: Trojan Ngy gi ngn chn s xm nhp: 14/3/2005 3.2.3.12.2. M t chi tit thng tin virus

Hobbes.A l mt file thc thi (Symantec.sis) lm hng h thng nh phn, l nguyn nhn khin cho qu trnh ti ng dng v s lm sp nhng in thoi i c dng h iu hnh Symbian. Hobbes.A ch tn cng vo in thoi dng h iu hnh Symbian 6.1, ngha l nhng in thoi khc s v s.

o Qu Thi An Trn Th M Hnh

117

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 3-13 Mn hnh yu cu ci t Hobbes.A gi lm mt bn sao ca Symantec Anti-Virus cho in thoi Symbian. Khi c ci t n s c ci mt phin bn Fexplorer sai lc v hiu ha trnh qun l file Fexplorer ca my nhng li sai th mc nn khng thc hin c. N cng ci mt s phn vo C v E trong c mt phn lm hng qu trnh boot my ca phin bn c ca h iu hnh Symbian. Sau khi ci t n s yu cu thit b khi ng li.

Hnh 3-14 Mn hnh ngay sau khi ci t xong H thng nh phn ca thit b sai nn ng dng h thng ca h iu hnh b li khi khi ng, khng ng dng h thng no c thc hin. Ngha l

o Qu Thi An Trn Th M Hnh

118

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

nhng ng dng cho in thoi thng minh b v hiu ha hon ton, ch gi v nghe cuc gi l thc hin bnh thng. Do ngi s dng khng c khi ng li thit b khi b nhim virus v Hobbes.A ch hot ng khi khi ng li, v khi ch cn dng trnh qun l ng dng g b Symantec.sis l xong. Khi l khi ng li th ngi s dng nn: 1. Ly memory card ra khi in thoi v khi ng li ln na. 2. Ci t chng trnh qun l file cho in thoi. 3. Xa file \system\recogs\recAutoExec.mdl trong memory card. 4. G b Symantec.sis bng trnh qun l ng dng. 3.2.3.13. Lasco.A 3.2.3.13.1. Tn: Lasco.A B danh: SymbOS/ Lasco.A, EPOC/ Lasco.A Loi virus: Worm Ngy gi ngn chn s xm nhp: 10/1/2005 3.2.3.13.2. M t chi tit thng tin virus Thng tin

Lasco.A l mt worm s dng Bluetooth v file SIS ly lan trn in thoi di ng s dng h iu hnh Symbian Series 60. Lasco.A to mt bn sao (velasco, trong cha phn thc thi chnh velasco.app, nhn din h thng marcos.mdl v resource file velasco.rsc) v gi file ny vo th mc message inbox ca in thoi thng qua Bluetooth. Khi ngi dng nhp vo file ny v ci t th worm s c kch hot v bt u tm kim thit b ly thng qua Bluetooth. Khi su Lasco tm c thit b Bluetooth khc n s gi bn sao ca file velasco.sis n thit b n khi no thit b ny ra khi tm sng ca n. Ging nh Cabir.H, Lasco.A c kh nng tm thit b mi sau khi thit b u tin ra khi vng ph sng ca n.

o Qu Thi An Trn Th M Hnh

119

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Thm vo , vic gi bn sao qua Bluetooth c lp li bng cch chn su Lasco.A vo mi file SIS khc trn thit b v gi n cc thit b khc. Khi ngi dng chn file SIS b ly nhim ny, n s yu cu ci Velasco.

Hnh 3-15 Mn hnh yu cu ci t su Lasco.A Nn nh rng nhng file SIS b nhim su s khng t ng gi i, nn cch duy nht b nhim Lasco.A trn file SIS b nhim (khng phi l Velasco.SIS) l chp v ci t chng. Lasco.A c da vo source tng t Cabir.H v rt ging nhau. S khc nhau chnh l thi quen ly nhin ca chng. Khi file velasco.sis file c ci t, n s chp cc phn vo cc th mc sau: c:\system\apps\velasco\velasco.rsc c:\system\apps\velasco\velasco.app c:\system\apps\velasco\flo.mdl Khi velasco.app c thc thi, n s chp nhng file sau: flo.mdl to c:\system\recogs velasco.app to c:\system\symbiansecuredata\velasco\ velasco.rsc to c:\system\symbiansecuredata\velasco\ Lasco ch ly qua thit b h tr Bluetooth v phi l ang ch tm thy c (discoverable mode).

o Qu Thi An Trn Th M Hnh

120

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Nn Bluetooth ca thit b ch n (hidden) trnh b nhim. nhng khi b nhim th su s c ly nhim sang thit b khc d ngi s dng tt Bluetooth ca thit b. C th dit su Lasco.A bng F-Secure Mobile Anti-Virus, sau bn xa th mc: c:\system\symbiansecuredata\velasco\ Nu in thoi bn b nhim Lasco.A v khng ci c file thng qua Bluetooth, bn c th ti chng trnh qut virus F-Secure Mobile Anti-Virus trc tip vo my 3.2.3.14. Locknut B 3.2.3.14.1. Thng tin:

Tn: Troj/Locknut-B Loi virus: Trojan Hiu ng l: b nhiu malware. li nhng file khng b nhim trn my. 3.2.3.14.2. M t thng tin chi tit:

_ Troj/Locknut-B l 1 Trojan trn thit b in thoi di ng c vit dnh ring cho dng my chy trn nn h iu hnh Symbian Series 60. _ Trojan c th ng gi ci t file MMFPatch.sis. _ i khi cc Trojan c th ng gi vi worm Symb/Cabir-A. _ Khi ci t file ln u tin trn thit b, n s vi ln hin th nhng cnh bo bo mt. C th vn bn MMFPatch c hin th trong lc ci t. _ Troj/Locknut-B ci t nhm file: C:\system\apps\gavno\gavnoreturn.app C:\system\apps\gavno\gavnoreturn.Rsc C:\system\apps\gavno\gavnoreturn_caption.Rsc 3.2.3.15. Mabir.A

o Qu Thi An Trn Th M Hnh

121

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

3.2.3.15.1. Tn: Mabir.A

Thng tin

B danh: SymbOS/Mabir.A Loi virus: Worm Ngy gi ngn chn s xm nhp: 13/12/2004 3.2.3.15.2. M t chi tit thng tin virus

Mabie.A l mt loi worm uc vit dnh ring cho dng my chy trn nn h iu hnh Symbian Series 60, c th ly nhim qua Bluetooth v tin nhn MMS. Khi Mabir.A ly vo mt in thoi, n s bt u tm im in thoi khc trong tm hot ng ca Bluetooth v gi bn sao trong file caribe.sis (cha caribe.app, caribe.rsc and flo.mdl.)n in thoi . Sau khi in thoi ny ra khi vng ph sng n vn s tip tc gi cho in thoi ny. Bn cnh vic ly lan qua Bluetooth, Mabir.A cng lng nghe tin nhn MMS c gi n v tr li nhng tin nhn ny bng nhng tin MMS c km Mabir trong info.sis. Nhng tin ny ch cha file info.sis v khng h c bt k dng vn bn no. F-Secure Mobile Anti-Virus c th qut virus bng cch xa nhng file worm. Nu in thoi bn b nhim Cabir v khng ci c file thng qua Bluetooth, bn c th ti chng trnh qut virus F-Secure Mobile Anti-Virus trc tip vo my. Sau khi dit virus, ban hy xa nhng th mc rng v g b file SIS cha Mabir.A (caribe.sis hoc info.sis) Khi file Mabir file c ci t, n s chp cc phn vo cc th mc sau: \system\apps\Caribe\Caribe.app \system\apps\Caribe\Caribe.rsc \system\apps\Caribe\flo.mdl Khi Mabir.exe c thc thi, n s chp nhng file sau:

o Qu Thi An Trn Th M Hnh

122

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

\system\symbiansecuredata\caribesecuritymanager\Caribe.app \system\symbiansecuredata\caribesecuritymanager\Caribe.rsc V to file sis trong MMS: \system\symbiansecuredata\caribesecuritymanager\Info.sis 3.2.3.16. MGDropper.A 3.2.3.16.1. Thng tin

Tn: MGDropper.A B danh: SymbOS/MGDropper, Metal Gear trojan Loi virus: Trojan Ngy gi ngn chn s xm nhp: 13/12/2004 3.2.3.16.2. M t chi tit thng tin virus

MGDropper l mt file ci t (Metal_gear.sis), c th v hiu ha nhng ng dng qun l file ph bin v phn mm Anti-Virus, ng thi ci t Cabir.G vo in thoi. Cabir.G c t ng kch hot khi MGDropper c ci t v bt u ly nhim. Khi Cabir.G ly nhim t in thoi nhim MGDropper, nhng file SIS m n gi i ch cha Cabir.G ch khng c MGDropper. Tuy nhin MGDropper cng ci t Cabir.G vo th mc khc nh SEXXXY.SIS, n khng hin ln trn danh sch cc ng dng ca in thoi. MGDropper c gng v hiu ha F-Secure Mobile Anti-Virus bng cch chp ln nhng file ca chng trnh bng nhng file gi. Tuy nhin F-Secure Mobile Anti-Virus vn c kh nng dit Cabir.G trong MGDropper. Anti-Virus s d tm file SIS nhim su ngn n ci t min l Anti-Virus c t ch realtime scan mode nh mc nh. Su Cabir.G gi km theo MGDropper vn dit c bng Cabir.Gen. V th MGDropper vn b dit v ngn chn m khng cn cp nht d liu ca AntiVirus. Dit virus vi 2 in thoi series 60

o Qu Thi An Trn Th M Hnh

123

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

dit hon ton MGDropper trong in thoi nhim (DT1), bn cn c mt in thoi series 60 khc, khng b nhim virus gip v phi xa sch memory card ca in thoi (DT2). Ly b cng c F-Skulls t ftp://ftp.f-secure.com/anti-virus/tools/f-skulls.zip hoc ly trc tip vo in thoi t http://www.europe.f-secure.com/tools/fskulls.sis 1. Ci t F-Skulls.sis vo DT2. 2. t memory card vi F-Skulls vo DT1. 3. Khi ng DT1, danh sch ng dng s lm vic. 4. n trnh qun l ng dng g b file SIS m bn dng ci Skull. 5. Chp v ci F-Secure Mobile Anti-Virus g bt k Cabirs km theo Skulls t http://www.europe.f-secure.com/estore/avmobile.shtml hoc http://mobile.fsecure.com/ 6. Ci t trnh qun l file EFilemanager vo DT1 t http://www.psiloc.com/ 7. a memory card ca DT1 vo vo DT1 v xa nhng file E:\System\Apps\SystemExplorer\SystemExplorer.app E:\System\Apps\smartfileman\smartfileman.app E:\System\Apps\file\file.app E:\System\Apps\Anti-Virus\Anti-Virus.app E:\System\Apps\Anti-Virus\FsAVUpdater.app E:\System\Apps\AppInst\Appinst.aif E:\System\Apps\AppInst\Appinst.app E:\System\Apps\cabirfix\cabirfix.app E:\System\Apps\Decabir\DECABIR.APP E:\System\Apps\Disinfect\Disinfect.app E:\System\Apps\FExplorer\FExplorer.app Nhng ng dng b v hiu ha: Simworks Anti-Virus F-Secure Mobile Anti-Virus Application installer

o Qu Thi An Trn Th M Hnh

124

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Cabirfix Decabir F-Cabir FExplorer File manager Smart file manager System Explorer 3.2.3.17. Mosquito Trojan 3.2.3.17.1. Thng tin:

Hnh 3-16 Mosquito Trojan

Hiu ng l: Ngi dng s phi bt ng khi thanh ton khon bill rt cao do trojan ln gi cc tin nhn dng text SMS t tin m ngi dng khng hay bit n cc s premium rate. Trojan ny hin uc cnh bo nhiu website cng nh cc mng peer-to-peer 3.2.3.17.2. M t chi tit thng tin virus:

_ Troj/Drever-A l mt loi thuc Trojan uc vit dnh ring cho dng my chy trn nn h iu hnh Symbian Series 60.

o Qu Thi An Trn Th M Hnh

125

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

_ n su bn trong Trojan horse l dng thng bo sau: This version has been cracked by SODDOM BIN LOADER No rights reserved. Pirate copies are illegal and offenders will have lotz of phun!!! _ Trojan xut hin di dng ci trang nh l mt phin bn crack ca tr chi Mosquito (Bn mui)(nh trong hnh v) m game ny c th ci t d dng trn cc in thoi thng minh (smartphone) hin i. 3.2.3.18. Skulls A 3.2.3.18.1. Thng tin

-Tn: Troj/Skulls-A -Loi Virus: trojan -Cch thc lan truyn: wed downloads. -Hiu ng l (side effects): thay i, sa i d liu trn my. 3.2.3.18.2. M t chi tit thng tin virus

_ Troj/Skulls-A l mt loi thuc h trojan uc vit dnh ring cho dng my chy trn nn h iu hnh Symbian Series 60. Trojan ny thng c nh km theo nhng phn mm shareware dng cho cc my tnh dng h iu hnh Symbian, thng thng l nhng file m rng kiu.sis(Extended Theme.sis installation file). _ Khi nhng file.sis ny c ci t trn my, n s to ra mt s lng file trn vng Ram ca my (thng thng l c:\), ng thi cng s to ra trn Rom ( z:\) nhng file tng t, khi tt c cc ng dng h thng trn my s b thay th bi cc gi chng trnh do file.sis to ra. _ Nhng chng trnh trong h iu hnh Symbian bao gm mt s t file vi phn ui m rng l.app, nhng thng tin ca chng trnh th thng c t trong nhng file vi phn ui l.aif. File AIF cha

o Qu Thi An Trn Th M Hnh

126

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

ng icon ca chng trnh v mt con tr tr n file chong trnh chnh. _ Troj/Skulls-A s to ra mt file AIF mi cha ng icon trng ging nh u lu ngi, v icon ny khng tr n file chng trnh chnh. Troj/Skulls-A s v hiu ha cc chc nng ca my, mc d my vn c th cn gi c.

Hnh 3-17 Troj/Skulls-A _ Troj/Skulls-A cha mt file text, file text ny s c hin th trong sut qu trnh ci t: Extended Theme is an advanced Theme Manager for 7610. It uses to manage, edit, & create themes using your 7610. Tee-222 takes no responsibility for any kind of results caused by this app. Install at your own risk. Developed by Tee-222 2004.

o Qu Thi An Trn Th M Hnh

127

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 3-18 Troj/Skulls-A File ci t.sis bao gm rt nhiu file con. Nhng file trong th mc Libs l nhng file nn RAR cha ng nhng thng tin, thng ip do Trojan to ra , chng hn nh thng ip sau: "What is T-VIRUS? T-VIRUS is not a type of virus, instead it is a system file, specially designed & created for you. T-VIRUS crashes the main system of your phone, i guess it is the right time for you to go to your service center, or buy a new phone. Newer & higher version of T-VIRUS, coming soon. If you have Cabir, feel free to send it to me, I'll appreciate it very much." 3.2.3.19. Skulls- B 3.2.3.19.1. Thng tin:

Tn: Troj/Skulls-B Loi Virus: trojan Hiu ng l (side effects): li nhng file b khng b nhim trn my. Cch thc lan truyn: wed downloads. 3.2.3.19.2. M t chi tit thng tin virus:

Troj/Skulls-B l mt loi thuc h trojan uc vit dnh ring cho dng my chy trn nn h iu hnh Symbian Series 60. Trojan ny thng c nh km theo nhng phn mm shareware dng cho cc my tnh dng h iu hnh Symbian, thng thng l nhng file icons.sis(Extended Theme.sis installation file). Cch thc hot ng ca Troj/Skulls-B cng tng t nh Troj/Skulls-A. Troj/Skulls-B thc hin ci t Symb/Cabir-B vo my.

o Qu Thi An Trn Th M Hnh

128

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

3.3. Cc gii php an ton bo mt khi s dng cng ngh mng Bluetooth.
3.3.1. Nhng mo an ton cho thit b Bluetooth:

Ch m Bluetooth khi bn cn thit Gi thit b ch khng pht hin ra(hidden) S dng s PIN di v kh on ra khi pairing thit b Loi b tt c nhng yu cu pairing khng bo m Khi nhn li mi kt ni nn yu cu PIN code. Thnh thang nn kim tra danh sch cc thit b paired chc chn l khng c thit b l no trong danh sch ny. in thoi ca bn nn thng xuyn cp nht phin bn mi nht ca chng trnh. Nu thit b d b bluesnarfing hoc bluebugging, h c th ci phn mm khc phc nhc im ny. Nn m ha khi thit lp kt ni Bluetooth vi my tnh ca bn.

3.3.2. Phng chng virus trn mobile phone?

Virus trn mobile phone vn cn kh mi m. Do , cc phn mm phng chng virus trn mobile phone cha c nhiu v cha ph bin nh phn mm phng chng virus trn computer. Hn na, do y l cng ngh mi nn hu nh cc hng sn xut phn mm phng chng virus cng ch mi cho php ngi dng s dng bn trial v cc nh sn xut in thoi hu nh khng h tr cho khch hng trong vic dit virus. Phn mm phng chng v dit cc components ca virus trn mobile phone ph bin hin nay l F- Secure Mobile Anti-Virus (bn trial c ti link: www.f-secure.com/products/fsmavs60) Khi b nhim Cabir th cch n gin nht l ti chng trnh min ph CabirFix - dit virus Cabir ti http://www.jamanda.com/ do Hng Jamada pht

o Qu Thi An Trn Th M Hnh

129

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

trin. Tuy nhin, CabirFix khng ''dit tn gc'' m ch xa biu tng v vi file pht hin c, bn cn install mt ng dng qun l tp tin v xo cc tp tin sau: :\system\apps\caribe\caribe.rsc c:\system\apps\caribe\caribe.app c:\system\apps\caribe\flo.mdl c:\system\recogs\flo.mdl c:\system\Symbiansecuredata\caribesecuritymanager\caribe.app c:\system\Symbiansecuredata\caribesecuritymanager\caribe.rsc Nu tht rnh v h thng, bn c th tm kim nhng file v th mc ly nhim Cabir xa, tuy nhin cch ny tng i nguy him. Tt nht l em my n cc trung tm dch v sa li v dit virus ny, hoc ci li h iu hnh Symbian mi (c th mt d liu v danh b). ng dng qun l tp tin c th c download free t : http://mySymbian.com/7650/applications/applications.php?fag=2&fldAuto=88 Virus trn in thoi di ng vn cn kh mi m Vit Nam nhng trong tng lai gn, n cng s tr nn ph bin v cng ngh Bluetooth c kh nhiu tin ch hay. Tuy nhin, nu cha c bin php h tr cho vic bo v chic mobile phone ca mnh (phn mm phng chng virus ), hu ht cc chuyn gia u khuyn rng: Tt nht bn nn tt ch Bluetooth i.

o Qu Thi An Trn Th M Hnh

130

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Chng 4 CC U NHC IM V
TNG LAI CA BLUETOOTH.
4.1. u im Truyn d liu gia cc thit b khng cn cp trong khong cch trung bnh (10m, c th xa hn vi thit b c bit). S dng sng radio bng tn khng cn ng k 2.4GHz ISM (Industrial, Scientific, Medical). C kh nng xuyn qua vt th rn v phi kim, khng cn phi truyn thng (line-of-sight). Kh nng kt ni point-point, point-multipoint. Bluetooth s dng cng mt chun giao thc nn mi thit b Bluetooth u c th lm vic vi nhau. S dng t nng lng, thch hp vi cc thit b di ng c ngun nng lng hn ch. S dng frequency hopping gip gim ng ti a. C kh nng h tr 3 knh thoi v 1 knh d liu. C kh nng bo mt t 8 128bit. Thit b nh gn, s lng thit b h tr Bluetooth ngy cng nhiu v a dng. Gi thnh thit b r, truyn d liu min ph. Thit lp kt ni d dng v nhanh chng, khng cn access point. S dng c bt c ni no. c u bi 9 tp on khng l, v ngy cng c nhiu t chc tham gia vo=>Bluetooth ngy cng c pht trin hon thin v mnh m hn. 4.2. Khuyt im Do s dng m hnh adhoc gian thc. khng th thit lp cc ng dng thi

o Qu Thi An Trn Th M Hnh

131

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Khong cch kt ni cn ngn so vi cc cng ngh mng khng dy khc. S thit b active, pack cng lc trong mt piconect cn hn ch. Tc truyn ca Bluetooth khng cao. B nhiu bi mt s thit b s dng sng radio khc, cc trang thit b khc. Bo mt cn thp. 4.3. Tm ng dng v tng lai ca Bluetooth. Bluetooth l thnh qu nghin cu ca nhiu cng ty v c pht trin bi nhm SIG (Bluetooth Special Interest Group), t chc chnh pht trin Bluetooth. Hin nay t chc ny c khong 3000 cng ty thnh vin, tr thnh t chc c s thnh vin ng o thuc nhiu lnh vc cng ngh: t my mc t ng n thit b y t, PC n in thoi di ng, tt c u s dng k thut khng dy tm ngn trong sn phm ca h. Tuy nhin c nhng ng cp khc nhau gia cc cng ty trong t chc ny, iu ny ph thuc vo s quan tm cng nh trnh pht trin Bluetooth ti cng ty . Nhng mc ny c th l: nh sng ch (promoter), nh cng tc Gold hoc Silver (associate), adopter. Bluetooth SIG a ra mc tiu ci tin trong vng ba nm ti: gim nng lng s dng, tng cng s an ton, tng khong cch kt ni, h tr a kt ni v tng rng bng thng. iu ny khng ch gip cc nh sn xut c th hoch nh chin lc cho sn phm ca h m cn nng cao vai tr ca Bluetooth trn lnh vc wireless trn th gii.
4.3.1. Cc phin bn k thut ca Bluetooth: Bluetooth 1.0 and 1.0B

Versions 1.0 v 1.0B c nhiu vn v cc nh sn xut khc nhau lm sn phm ca h khng lm vic vi nhau c. 1.0 and 1.0B cng bt buc truyn BD_ADDR trong qu trnh handshaking, tnh trng nc danh khng

o Qu Thi An Trn Th M Hnh

132

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

thc hin c mc giao thc l s tht bi ch yu ca nhng dch v nh s dng trong mi trng Bluetooth. Bluetooth 1.1 Version 1.1 sa nhiu li trong 1.0B v h tr thm knh khng m ha (non-encrypted channel). Bluetooth 1.2 Version ny vn c th tng hp vi 1.1. Nhng c im nng cao hn l :

AFH (Adaptive Frequency Hopping): chng nhiu tt hn bng cch nhy tng s. Tc truyn cao (Higher transmission speeds). eSCO (extended Synchronous Connections): ci tin cht lng m thanh ca ng truyn audio bng cch truyn li nhng gi hng. RSSI (Received Signal Strength Indicator). HCI (Host Controller Interface) h tr cho 3-wire UART. HCI truy cp thng tin thi gian cho cc ng dng Bluetooth. Nn tng dy tng c s (baseband platform) ly t Ericsson Techonology Licensing. Kh nng Scatternet: thc hin nhiu piconet cng mt lc, gip cc piconet kt ni c vi nhau. Hon thin QoS. Kt ni nhanh hn so vi 1.1.

Ngy 8-11-2004, nhm mc ch gip cc nh sn xut c k hoch cho sn phm tng lai, Bluetooth SIG tit l k hoch ba nm, gm mt lot nhng nng cao trong c im k thut ca Bluetooth nhm nng cao hiu sut, s an ton, tiu th nng lng v tnh tin li. iu ny s gip Bluetooth gi c v tr trong lnh vc kt ni c nhn. 2004 Hiu sut v nng lng tiu th (Performance and Power Consumption): Bluetooth version 2.0 + EDR

o Qu Thi An Trn Th M Hnh

133

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Version ny c th tng hp vi 1.x. Nng cao chnh l nng tc truyn EDR (Enhanced Data Rate) ln 2.1 Mbit/s. iu ny cho php :

Tc truyn tng gp 3 ln (c trng hp gp 10 ln). S dng nng lng t hn do chu trnh thc thi gim. n gin ha kch bn multi-link to nhiu bng thng hn. Ci thin vic thc hin BER (Bit Error Rate).

K thut Bluetooth c th c ch trong VOIP (Voice over IP). Khi VOIP ph bin hn th cc cng ty khng cn cc ng dy in thoi nh hin nay. Khi Bluetooth c th dng trong vic lin lc gia in thoi bn (cordless phone) v mt my tnh nghe bng VOIP v vi mt PCI card hng ngai l c s ca cordless phone. Cordless phone khi ch cn mt cradle np in. S dng Bluetooth nh th lm cho cordless phone vn cn c s dng trong thi gian di. Thng 5-2005 SIG loan bo h s lm vic vi nh sn xut UWB pht trin mt k thut Bluetooth trong cho php dng k thut UWB v truyn vi tc UWB. iu ny cho php k thut Bluetooth c dng thc hin vic trao i d liu tc cao, cn thit cho wireless VOIP, nhng ng dng music v video. 2005 Cht lng dch v, bo mt v tiu th nng lng (Quality of Service (QoS), Security and Power Consumption) Trong 2005, Bluetooth SIG s kim tra v a ra mt phin bn k thut mi nhm nng cao tnh tin li trong trng hp multi-device, hon thin ton din vn an ton bo mt v ci tin t ngt vic s dng nng lng, thm ch c th lm cho thit b Bluetooth ch s dng mt b pin trong nhiu nm. QoS ci thin vn a ch thit b. y l mt nhu cu nhiu thit b Bluetooth c th kt ni v hot ng cng mt lc vi nhau m khng b tr hay nhiu. Vi QoS, thit b c th giao tip vi nhau, thc hin vic trao i d liu mt cch tt p.

o Qu Thi An Trn Th M Hnh

134

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Thm vo vic ci thin nng lng s dng, vic tng s lng thit b ti a trong mt piconet t 7 slave v 1 master ln 255 thit b bao gm master s lm k thut Bluetooth ph hp hn trong vin cnh tng lai nh h thng an ninh gia nh v nhng ng dng t ng trong cng nghip. K thut ngy cng to thm nhng tin ch cho ngi s dng trong nhng h thng dng thit b Bluetooth khc, v d nh mt ngi c th gii tr h thng an ninh trong mt cn nh ch bng cch nhn vo mt nt trn in thoi di ng, hoc mt ngi qun l nh my c th qun l tin trnh sn xut thng qua vic kt ni vi mt PC. 2006 Multi-cast, Security and Performance: Bluetooth SIG d nh trong 2006 s tip tc ci tin nhng c im k thut hon thin tnh tin li, s an ton v hiu sut. Kh nng multi-cast s cho php cng mt mu tin c gi n nhiu thit b cng mt lc, ng thi cho php ci tin tnh thch hp cng nh nng lng s dng trong cc ng dng nh cc tr chi c nhiu ngi chi (multiplayer gaming), nhiu headphone v speaker m thanh ni. c bit l i vi mi nguy him t xa th nhng ci tin cho s ring t cng s lm cho thit b ang ch khng th nhn ra (non-discoverable) khng b nh v bi tt c k thut tin tin nht, multi-year attack. Ci tin hiu sut lm tng phm vi hot ng ca thit b Bluetooth ln 100 m d tiu th nng lng rt t. Bluetooth Version 2.0 + EDR cng c gii thiu sau 6 thng u. Nhng sn phm ca EDR c trng i trong su hoc chn thng ti. Hai phin bn k thut k cng c hi vng hon thnh cng on kim tra vi cng thi gian nh th v c sn xut vo cui mi nm.

o Qu Thi An Trn Th M Hnh

135

Tm hiu cng ngh Bluetooth v vit ng dng minh ha 4.3.2. Nhng ng dng Bluetooth:

Hnh 4-1 Nhng thit b ng dng Bluetooth Bluetooth hin nay ch mi c th v xc nhn trong k thut mng khng dy tm ngn, dng trong khng gian ca mng c nhn vi nhng thit b nh in thoi di ng, PC, PDA, headset, v h thng t ng (automotive hands-free system). Nhng trong tng lai gn, vi k hoch 3 nm ca SIG, Bluetooth s thm nhp vo trong nhng lnh vc mi nh k thut cm bin, ng dng m thanh, multi-player gaming, Nhng cng ty ngoi lnh vc in thoi cng ang bt u nghin cu v thit k nhng ng dng cho k thut khng dy. Ngnh cng nghip my tnh l nhm kinh doanh th hai thu li t Bluetooth. My tnh ngy nay c th kt ni Internet thng qua mng khng dy Bluetooth. Cc ng dng Bluetooth ngy cng lan rng khp ngnh cng nghip my tnh v truyn thng, th trng thit b di ng c nhn, v cc ngnh cng nghip khc.

o Qu Thi An Trn Th M Hnh

136

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Cc in thoi di ng kt hp Bluetooth c bn vi s lng ln v c th kt ni vi my tnh, PDA, cc thit b cm tay. BMW l hng xe u tin ci t k thut Bluetooth vo xe hi ca h (Bluetooth car kit), cc dng xe 3 Series, 5 Series, 7 Series v X5. K n l cc hng khc nh Toyota Prius, Lexus, Lincoln. Bluetooth car kit cho php ngi dng vi in thoi di ng c h tr chc nng Bluetooth thc hin cuc gi m khng cn ri mt khi ng chy trong khi in thoi khng c trn ngi h nh vali chng hn. Th trng Bluetooth cho thit b thu pht cm tay (handset) vn cn nh nhng ang ngy pht trin. Theo bo co ca SIG, 6 triu thit b Bluetooth handset bn trong 2004 nhng ti 2009 d on l 87.5 triu thit b in thoi di ng thng minh (smartphone), hoc 70% smartphone bn ra c chip Bluetooth. Phin bn mi nht l Bluetooth Version 2.0 + EDR (Enhanced Data Rate), p ng nhu cu truyn m thanh, hnh nh k thut s v in laser. Broadcom, CSR v RF Micro Devices u kim tra chun EDR t gia 2004, core chip hon thnh t 11-2004 nhng mt s nh sn xut ch d tnh bt u tung ra nhng sn phm u tin h tr phin bn ny cho ngi tiu dng vo thng 1-2005 v thc s tung ra hng lot vo gia nm 2005. Tt nhin chng u tng hp vi nhng phin bn trc . Cc ng dng Bluetooth: Thip lp mng khng dy gia laptop v desktop, hoc gia nhng desktop nhng ni khng th to mng c dy. Ni cc thit b Bluetooth ngoi vi nh my in, chut v bn phm. Truyn file (hnh nh, nhc, mp3) gia in thoi di ng, PDA v my tnh thng qua OBEX. Cc my nghe nhc mp3 v my chp hnh hay quay phim k thut s c tch hp Bluetooth trao i file vi my tnh. Car kits v Bluetooth headset cho in thoi di ng.
o Qu Thi An Trn Th M Hnh 137

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Nhng ng dng cho y t (Advanced Medical Electronics Corporation) trn mt s dng c. GPS receiver chuyn giao d liu NMEA thng qua Bluetooth. Mobile Commerce Ngnh thng mi v lu ng c mt tim nng rt ln trong cc ng dng Bluetooth nh my bn hng t ng, bi u xe, ni bo qun sa cha xe t, ni bn thc n, ni vui chi gii tr u c kh nng s dng Bluetooth. C mt s ni chu u v dng nh th. Automotive Industry Bluetooth v xe t khng th kt ni trc tip vi nhau tuy nhin c th dng trong cc ng dng cho t nh kt ni Internet, nhn lnh bng ging ni, lin lc vi h thng bn ngoi Ngoi ra Bluetooth cn c s dng trong mng khng dy download thng tin v gii tr hoc nhng mc ch thc t nh kch hot ca garage, n in trong nh, h thng si m, The Bluetooth shopping centre Thng 12-2004 mt trung tm dch v khch hng da vo c im Bluetooth (bluepulse) c m ra Sydney. Bluepulse l mt ng dng n gin dnh cho in thoi di ng, cho php mi ngi trong trung tm mua sm dng in thoi di ng ca h ly thng tin c ch xung quanh h. Bluepulse c th c truy cp thng qua mng Bluetooth a phng hay mt mng thng thng. Broadway Shopping Centre trong trung tm Sydney l trung tm mua sm dng Bluetooth u tin cho php h thng bn l ca Broadway Centre giao tip vi ngi tiu dng bluepulse khi h bc vo trung tm bng cch cho h truy cp nhng thng tin c gi tr lin quan v thc hin li mi cho thng qua in thoi di ng ca h. Australia s l ni th nghim m hnh

o Qu Thi An Trn Th M Hnh

138

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

bluepulse. D nh cui 2005 s c khong 20 trung tm mua sm dng ny trn ton Australia. Bluepulse a n nhng ch li nh: Mt dch v thng minh a ra hng dn trong th gii thc: a ra li hng dn chi tit n tng met v v tr ca mt ca hng c bit, my ATM, my bn thuc l, Gi SMS v MMS min ph n nhng thnh vin khc trong trung tm mua sm. Mt lch biu bao gm thi gian chiu phim, phim, on phim qung co v mua v xem phim bng in thoi. Cung cp bn v tr ca nhng ngi bn ang c mt trong trung tm. Cp nht tc thinhng qung co hoc nhng u i trong trung tm. Xem danh sch mua sm c trong my tnh nh, ch vic nhp danh sch ny vo ti khon bluepulse online v c th xem n mi lc khi bn ang i shopping. Bn cng c th s dng bluepulse thng qua mng truyn thng thng thng khi bn ngoi mng Bluetooth ca trung tm mua sm. Bluepulse ging nh mt b my tm kim ln nht ca ton th gii trong ti ca bn, tm kim thng tin ngay lp tc v gi kt qu ngay n mn hnh in thoi di ng ca bn. Gim c iu hnh bluepulse, Ben Keighran, tin tng rng trong mt tng lai khng xa, bt k ni no, mi ngi c th nhn thng tin c lin quan xung quanh h trn mn hnh in thoi di ng m khng h ph thuc vo mng m h ang kt ni cng nh loi thit b m h s dng. V d trong mt sn thi u th thao l mt on phim quay chm, hoc trong mt festival, bui ha nhc th l mc lc chng trnh, tm bn trong m ng,

o Qu Thi An Trn Th M Hnh

139

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Bluetooth s xm nhp vo th trng iu khin t xa, nh iu khin TV thay v dng hng ngoi. Trong th trng ny, Bluetooth c xem l mnh m hn v thun li hn rt nhiu do: Tia hng ngoi, vn thng c dng trong iu khin t xa, phi nh hng nn gy rt nhiu kh khn. Trong khi Bluetooth s dng sng v tuyn th khng cn nh hng, thm ch c th xuyn qua c mt s vt cn nn tin hn rt nhiu. Bluetooth to lin lc hai chiu nn c th to ra nhng thit b iu khin t xa thng minh (intelligent remote control) nh c mt mn hnh nh trn thit b iu khin. Bluetooth SIG ang c gng nghin cu ci tin, lm cho k thut ngy cng hon thin hn cc nh sn xut thnh vin c th tip tc a vo sn phm ca mnh. V vi k hoch ba nm nh trn, trong tng lai c th mi thit b in t trn th gii u c khng dy ha v giao tip vi nhau. Bluetooth s c trang b 3 mi trng: nh, vn phng v on-the-go (trang b trn xe hi, qun o, mt knh, bt, v d o ski jacket trang b Bluetooth bn trong v kt ni vi Bluetooth trong m bo him mt).

o Qu Thi An Trn Th M Hnh

140

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Phn 2 H IU HNH SYMBIAN


minh ha cho vic s dng cng ngh Bluetooth, chng em xy dng mt ng dng nh c s dng cng ngh Bluetooth. Chng em thc hin vic xy dng ng dng trn in thoi di ng thuc Series 60, s dng b cng c pht trin Series 60 SDK v1.2 vi mi trng Visual C++ 6.0. Do ng dng c xy dng trn in thoi s dng h iu hnh Symbian, c th l series 60 ,v vy, trong phn ny chng em s trnh by nhng vn sau : Chng 5. Tng quan v h iu hnh Symbian v th h Series 60. Chng 6. Lp trnh C++ trn Symbian. Chng 7. Bluetooth v Symbian : Lp trnh s dng giao tip Bluetooth trn Symbian vi C++.

o Qu Thi An Trn Th M Hnh

141

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Chng 5 TNG QUAN V H IU HNH


SYMBIAN V TH H SERIES 60
5.1. Khi nim v h iu hnh Symbian. _ Symbian l h iu hnh c s dng rng ri trn cc thit b di ng hin nay. Bt ngun t h iu hnh EPOC (Electronic Pocket Communication) pht trin ban u bi cng ty Psion, ngy nay Symbian c h tr v pht trin bi hng lot cc cng ty hng u trong lnh vc truyn thng nh : Sony Ericson, Nokia, Motorola ( ra i nm 2003 ), Psion, Panasonic, siemens, Samsung... _ Symbian OS c thit k c bit cho cc th h in thoi di ng 2G, 2.5G, 3G vi nhu cu v kh nng lu tr v chia s d liu. _ c im ca h iu hnh Symbian : Tch hp h thng in thoi di ng a ch (Intergated Multimode Mobile Telephony) : Symbian OS tch hp sc mnh ca tnh ton vi h thng in thoi di ng, mang n cc tin ch ca cc dch v d liu. Mi trng ng dng m (Open application environment): H iu hnh Symbian cho php cc in thoi di ng tr thnh nn tng (platform) cho s pht trin ca cc ng dng v cc dch v ng dng, vi nhiu loi ngn ng pht trin khc nhau. Cc thnh phn v cc chun m (Open Standards and interoperability) : c ci t mm do v tng phn (modular), Symbian OS cung cp mt tp nn cc hm API v cc k thut c chia s gia tt c cc in thoi dng Symbian. a nhim (Multi-tasking): Nhiu ng dng c th chy cng mt lc, cc services ca h thng nh telephony, networking

o Qu Thi An Trn Th M Hnh

142

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

midleware, application engines chy trn cc tin trnh ring bit. Hng i tng mt cch y ( Fully Object-Oriented and component base) : H iu hnh Symbian c thit k ngay t u vi mc ch hng ti cc thit b di ng, s dng cc tin b ca k thut hng i tng hng ti mt kin trc thnh phn phc tp (flexible component based architecture ). Giao din ngi dng c thit k linh ng (Flexible user interface design) : Cho php cc nh sn xut c th ty bin giao din ha ca thit b. Vic pht trin ng dng s dng cng mt nn tng h iu hnh cho php cc ng dng ca cc nh pht trin khc c th d dng c s dng trn cc loi thit b ca cc nh sn xut khc nhau. Bo mt : Cho php trao i d liu an ton. Mnh m ( Robustness) : Symbian OS qun l cc truy cp d liu ca ngi dng, m bo s ton vn ca d liu, ngay c khi c s trao i thng tin khng an ton cng nh khi ti nguyn nh b nh (memory), b phn lu tr (storage), hoc nng lng b cn kit. 5.2. Lch s pht trin. _ Ngun gc ca h iu hnh Symbian c t bui u ca nhng thit b cm tay. David Potter, mt ging vin vt l cng cc cng s thnh lp cng ty Psion chuyn nghin cu v pht trin cc thit b c dung lng b nh thp v h iu hnh cho chng. _ Nm 1988 Psion cng b h iu hnh SIBO (sixteen bit organizer), tin thn ca Symbian, a li nhng thnh cng nht nh cho Psion. My tnh u tin s dng SIBO l MC laptop. _ Nm 1991 Psion cho ra i Series 3, mn hnh c thit k va vn cho mt my tnh b ti.

o Qu Thi An Trn Th M Hnh

143

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

_ Nm 1996 nh du s ra i ca Series 3c vi kh nng giao tip hng ngoi _ Nm 1998 vi Series 3mx tc x l c ci thin, hn hn cc th h trc v 3 tnh nng ni tri sau: Qun l tt ngun nng lng, h tr cc hiu ng v nh sng cho cc ng dng, vn hnh d dng trn nhiu loi my tnh khc nhau. Vo gia cui nhng nm 1990 Psion tung ra mt h iu hnh mi 32 bit vi EPOC kenel release 1, h tr mn hnh cm ng, s dng a phng tin, m rng nhiu kh nng giao tip. H iu hnh mi ny c thit k theo hng i tng, cho php d mang chuyn cho nhng kin trc v thit b khc nhau. N bt u cho nhiu tnh nng c s ca h iu hnh Symbian v sau. _ Do nhng tnh nng vt tri trn, thng 6 nm 1998 Psion v cc nh lnh o ca nhng cng ty mobile ln nh Nokia, Ericsson, Motorola lin kt vi nhau cng nhau pht trin EPOC nh du s ra i ca h iu hnh Symbian (Symbian OS). _ Nm 1999 Matsushita (Panasonic) gia nhp vo hi nhng nh pht trin Symbian OS. Cng trong nm nay, Symbian c tp ch Red_Herring bu chn l cng ty trin vng nht trong nm (Best long-term potential). _ Nm 2000 chic in thoi s dng Symbian u tin ra i v c tung ra th trng , l Ericsson R380, vo nm Sony v Sanyo c cp bn quyn Symbian OS. _ Nm 2001 Fujitsu, Siemens c cp bn quyn Symbian OS, v Symbian OS v6.1 cho in thoi di ng (2.5 G) c cng b, in thoi 2.5 G u tin s dng Symbian OS l Nokia 7650. Dng in thoi Nokia 9210 Communicator c tung ra th trng. _ Nm 2002 Symbian OS v7.0 c cng b ti 3GSM World Congress. Sendo c cp bn quyn Symbian OS. Siemens tr thnh c ng ca Symbian, Sony Ericsson gia nhp Symbian tr thnh c ng v c cp php bn quyn.
o Qu Thi An Trn Th M Hnh 144

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

_ Nm 2003 Symbian OS v7.0 c cng b rng ri, Nokia 6600 l in thoi u tin s dung Symbian 7.0 v tip theo l hng lot nhng thnh cng khc vi h iu hnh mi ny trn cc thit b di ng: Foma 2102v, Motorola A920, Nokia 7700, Sendo X, Siemens SX1, Sony Ericsson P900.. Cng trong nm nay, Samsung tr thnh c ng ca Symbian. _ Nm 2004 : Hng lot cc in thoi s dng Symbian c tung ra th trng : Panasonic X700, Motorola A1000, Nokia 6260, 6630, 9500, 7610 v N_Gage QD, Samsung SGH D-710,Sony Ericsson P910, FOMA F900iT, F900iC, v F900 iES. _ Cng trong Nm 2004, c s gia nhp v c Symbian cp php ca nhiu cng ty sn xut in thoai di dng : Lenovo, l tp on IT ln nht ca Trung Quc, cng ty Arima, LG Electronic, Sharp. _ Phin bn Symbian OS v8.0 c cng b. _ Nm 2005 : + Kt thc qu 1 nm 2005, tng s in thoi di ng s dng h iu hnh Symbian c bn ra trn ton th gii t n con s 32 triu, trong , ch tnh trong qu 1, s lng bn ra cng t n 6.75 triu chic, tng 180% so vi cng k nm 2004 ( Qu 1 nm 2004 t 2.4 triu chic ). + 2/2005 : phin bn h iu hnh Symbian OS v9. c cng b, d tnh na cui nm 2005 s c sn phm s dng h iu hnh Symbian v9. + 2/2005 Series 60 3rd Edition c cng b. + Tnh n thng 5/2005 : c 48 in thoi smartphone s dng h iu hnh Symbian c mt trn th trng, trong c 12 in thoi thit k cho mng in thoi 3G. C tng s 14 nh sn xut c Symbian cp php, l : Arima, BenQ, Fujitsu, LG, Lenovo, Mitsubishi, Motorola, Nokia, Panasonic, Sendo, Sharp, Siemens, Samsung v Sony Ericsson.

o Qu Thi An Trn Th M Hnh

145

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 5-1 Cc nh sn xut c Symbian cp php (5/2005)

5.3. Kin trc Tng quan ca h iu hnh Symbian. V tng quan, h iu hnh Symbian c chia thnh cc thnh phn sau: + Li ca h iu hnh, gi l kernel + Mt tp hp cc middleware cho cc dch v h thng. + Mt tp hp cc qun l ti nguyn, gi l application engines. + Mt khung chng trnh thit k giao din ngi dng gi l : User Interface framework + Cc phng php ng b ha vi cc my khc ( Synchronization technology). + Ci t my o Java (Java Virtual Machine Implementation).

o Qu Thi An Trn Th M Hnh

146

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 5-2 Kin trc h iu hnh Symbian


5.3.1. Nhn h iu hnh - Kernel

L mt chng trnh chy sut t khi m n khi tt my lm nhim v qun l cc dch v (services) h tr ngi dng v qun l cc bng d liu (data tables) ca Symbian OS. Kernel ca Symbian OS l mt li iu hnh h thng gm: Tp hp nhng drivers, bng d liu (data tables) v mt s chng trnh cho php ngi dng giao tip vi phn cng, do kernel cn c tr nn nh v hiu qu. Nhng chc nng hot ng thng xuyn th c t trong kernel, nhng chc nng khc c t trong middleware hay application engine. Thit k ny lm cho kernel thm cht ch v module ho kin trc v hot ng ca Symbian OS. Ngay t lc hnh thnh Symbian OS c thit k hng i tng vi mt cu trc nh gn v hiu qu. y l mt OS 32 bit h tr multitasking v multithreadding. Cu trc module ca n h tr giao tip component, cho php thm cc component ph hp vi nhng thit b v nhng cng ngh khc.

o Qu Thi An Trn Th M Hnh

147

Tm hiu cng ngh Bluetooth v vit ng dng minh ha 5.3.2. Middleware

Middleware l tp hp cc th vin, kho d liu v chng trnh thc hin cc chc nng h thng nhng khng cn thit t trong kernel nh: Qun l d liu, giao tip, ho. Bng vic to mt tng mi (middleware), cc nh thit k Symbian OS d dng thit k cc dch v h thng mi hoc nng cp cc dich v c m khng cn phi vit li kernel. Middleware tn ti h tr nhiu dch v h thng nh: H thng ca s, giao tip mng, cng serial v hng ngoi, Bluetooth, qun l a phng tin v c s d liu.
5.3.3. Application Engine

Application Engine cung cp kh nng truy cp n nhng ti nguyn khng quan trng ca h thng. Cc application engine qun l nhng d liu v dch v khng lin quan n h thng. Cc ng dng mc ngi dng tng tc vi application engine v application engine s tng tc vi middleware.
5.3.4. User Interface framework

T khi Symbian OS c s dng nhiu trn nhng thit b cm tay th vn thit k giao din ngi dng l cc k quan trng. Giao din phi c thit k sao cho d s dng, d thay i v d lp trnh. Hn th na do nhiu thit b c thit k khc nhau nn giao din phi ph hp vi tng thit b. V nhng rng buc trn cc nh thit k Symbian OS xy dng mt framework giao din ngi dng nh l mt phn li ca h iu hnh. Hin ti c 2 loi Framework giao din ngi dng l Uikon v Standard Eikon.Uikon l mt framework ln gm tt c cc thit k dng tham kho.Standard Eikon cha nhng module thng c s dng.
5.3.5. K thut ng b - Synchronization technology

y l k thut cho php ng b ho d liu vi nhng my tnh khc. K thut ny gm 3 phn:

o Qu Thi An Trn Th M Hnh

148

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Qun l kt ni: Mt tin trnh do ngi dng khi to chy trn Symbian, pht hin v ng b ho kt ni khi c mt thit b khc yu cu kt ni. Thc hin dch v khi kt ni: Gm cc dch v khc nhau nh duyt tp tin, sao lu, phc hi. Chuyn nh dng tp tin: Chuyn i cc nh dng tp tin khc nhau gia cc ng dng nh rich text sang html
5.3.6. Java vitual machine implementation

Symbian OS h tr Java y vi b J2ME (Java 2 Micro Edition) framework. 5.4. Gii thiu v th h Series 60. * Trong phm vi ca lun vn, xy dng mt ng dng minh ha cho vic s dng cng ngh Bluetooth, chng em chn xy dng ng dng trn dng in thoi Symbian Series 60. Do , chng em xin c gii thiu s lc v platform ny. * Series 60 platform l platform h iu hnh hng u cho cc in thoi smartphone hin nay, c pht trin bi Nokia, xy dng da trn nn h iu hnh Symbian. Hin nay, Series 60 platform c s dng bi cc cng ty sn xut in thoi di ng hng u trn th gii bao gm : LG Electronic, Nokia, Lenovo, Panasonic, Samsung, Sendo v Siemens. * Mt vi c im ca Series 60 platform : + Mn hnh ca thit b vi phn gii 176 x 208 ( vi phin bn Series 60 2nd Feature pack 3 h tr phn gii ln hn). + H tr cc ng dng c xy dng bng Symbian C++ v Java(J2ME/MIDP 1.0, 2.0). + c thit k c th s dng d dng v nhanh chng. + Cung cp mt khung ng dng( Application framework) linh hot v mnh m.

o Qu Thi An Trn Th M Hnh

149

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

+ Bn phm gm c 1 bn phm 12 phm (12-key numeric keypad), 2 phm nghe v kt thc cuc gi (send and end keys), 2 softkey, 4 phm di chuyn (4-way navigation key), 1 phm OK, 1 phm vo giao din ng dng (app launch key), 1 phm xa (clear key) v 1 phm chuyn qua li gia cc ch nhp liu (alpha toggle key).

Hnh 5-3 Bn phm ca Series 60.

* Cc phin bn v sn phm ca Series 60 platform : + Series 60 Version 0.9 : Da trn h iu hnh Symbian 6.1. Sn phm : Nokia 7650 + Series 60 1st Edition : Da trn h iu hnh Symbian 6.1 Cc sn phm s dng platform ny gm c : Nokia 3620, 3650, 3660, N-Gage, N-Gage QD, Samsung SGH D700, Sendo X, Sendo SX1.... + Series 60 2nd Edition (Version 2.0) : Da trn h iu hnh Symbian 7.0 : c thm cc tnh nng mi nh h tr J2ME/MIDP 2.0 v theme. Cc sn phm da trn platform ny c : Nokia 6600, Panasonic X700, Samsung SGH-D710... + Series 60 2nd Edition (Version 2.1): Da trn h iu hnh Symbian 7.0. X2, Siemens

o Qu Thi An Trn Th M Hnh

150

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Cc sn phm da trn platform ny gm c: Nokia 6620, 7610, 6260, 6670, 3230... + Series 60 2nd Edition (Version 2.6): Da trn h iu hnh Symbian 8.0a. Cc sn phm : Nokia 6630, 6638, 6680, 6681, 6682... + Series 60 2nd Edition (Version 2.8): Da trn h iu hnh Symbian 8.1a. Cc sn phm : Nokia N70, Nokia N90 + Series 60 3rd Edition (Version 3.0): Da trn h iu hnh Symbian 9.1 Cc sn phm : Nokia N91.

5.5. Lp trnh ng dng cho Symbian.


5.5.1. Cc ngn ng lp trnh.

ng dng trn Symbian c th c vit bng mt trong cc ngn ng lp trnh sau : C++: Symbian c vit bng C++, nn y c xem l ngn ng lp trnh chnh, th vin h tr nhiu nht, c th lp trnh cc server hay iu khin thit b. Java: PersonalJava v JavaPhone c h tr trn Symbian 6.0, 6.1 nhng khng cn c h tr trn Symbian 7.0. Trn Symbian 7.0 s dng J2ME, c th l MIDP (Mobile Information Device Profile), cung cp cc Java API cho lp trnh Java, n chy trn CLDC (Connected Limited Device Configuration) v s dng KVM (Kilobyte Virtual Machine), mt my o Java cho cc thit b nh. Phin bn hin ti l MIDP 2.0. Asembler: thng c s dng xy dng cc chng trnh cp rt thp chng hn b iu phi active scheduler, thng khng h tr cho lp trnh vin t do.

o Qu Thi An Trn Th M Hnh

151

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

C: khng cn c s dng vit chng trnh trn Symbian nhng Symbian vn h tr chuyn i cc ng dng trc kia vit bng C c th chy trn h iu hnh Symbian. OPL: l ngn ng ta Basic, hin nay trn Symbian 7.0 khng cn h tr na. Mun s dng cc ng dng vit bng OPL trn Symbian 7.0 v cc phin bn v sau phi s dng mt chng trnh nn gi l Booster. Cc ngn ng h tr lp trnh Web hay theo cc giao thc khng dy nh JavaScript hay WMLScript. i vi cc nh pht trin ng dng, ch yu h s dng C++ hoc Java xy dng ng dng trn Symbian, v thng th cc in thoi cng ch h tr cho h hai loi ngn ng ny. Trong lun vn ny, chng em s dng ngn ng lp trnh l C++ khi xy dng ng dng, do , chng em ch xin gii thiu s lc v lp trnh C++ trn Symbian, c th l vi nn h thng Series 60.
5.5.2. Cc b cng c pht trin ng dng SDK (Software Development

Kit) v cc mi trng pht trin tch hp IDE (Integrated Development Enviroment) cho lp trnh C++. * SDK : Nokia cung cp cc b cng c pht trin phn mm SDK dnh cho dng in thoi series 60 sau: _ Vi Series 60 phin bn 1.0 da trn Symbian 6.1 c cc b SDK sau : * Series 60 SDK 1.2 h tr IDE Borland C++ BuilderX hay Microsoft Visual C++ (v6.0 or .NET). * Series 60 SDK 1.2 h tr IDE MetroWerks CodeWarior cho h iu hnh Symbian. _ Vi Series 60 phin bn 2.0 da trn h iu hnh Symbian 7.0 c cc b SDK sau : * Series 60 SDK 2.1 h tr IDE Borland C++ BuilderX hay Microsoft Visual C++ (v6.0 or .NET).

o Qu Thi An Trn Th M Hnh

152

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

* Series 60 SDK 2.1 h tr IDE MetroWerks CodeWarior cho h iu hnh Symbian. Cc b SDK trn c cung cp min ph ti trang web ca Nokia : www.forum.nokia.com Ch : + Cc b SDK chi h tr Windows NT4, Windows 2000 hoc + Cc cng c bin dch thng phi chy trn nn Perl nn trc khi ci t cc b Symbian SDK, phi ci t cc bn Active Perl. i khi cc phin bn cn yu cu phi ci t mi trng thc thi Java (Java runtime environment). + Cc lp trnh vin thng pht trin ng dng cho nhiu nn h thng phn mm nn i khi h ci t nhiu b SDK khc nhau cng lc. Lc ny, cc lp trnh vin phi ch n mt bin mi trng c tn l EPOCROOT, c dng xc nh b cng c SDK hin thiang hot ng. chuyn i hot ng gia cc b SDK, ta c th t li gi tr cho bin EPOCROOT bng cch s dng cng c EpocSwitch c cung cp khi ci t b SDK, hoc bng cu lnh : >devices -setdefault <nn h thng>. * IDE : tin cho vic lp trnh, bin dch v kim li, ngoi cc b SDK c Nokia cung cp min ph, chng ta cng cn phi c mt trong cc mi trng pht trin tch hp-IDE sau : Microsoft Visual C++ 6.0 Microsoft Visual C++ .NET Borland C++ Builer 6.0 Nokia Edition Borland C++BuilderX Metrowerks CodeWarrior. Vic s dng IDE no l ty thuc vo s h tr ca b SDK s dng v s quen thuc ca cc lp trnh vin. cc phin bn Windows mi hn.

o Qu Thi An Trn Th M Hnh

153

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Chng 6 LP TRNH C++ TRN


SYMBIAN.
Symbian c xy dng bng C++ ,v vy vic xy dng ng dng trn Symbian bng C++ cng rt quen thuc vi cc lp trnh C truyn thng. Tuy nhin, C++ trn Symbian c nhng im khc so vi C++ trn mi trng PC. 6.1. Cc kiu d liu c bn. TAny : tng t kiu d liu void trong C chun Tbool : Tng t nh kiu d liu BOOL trong C chun, nhn 1 trong hai gi tr : ETrue, v EFalse. TChar : l mt s nguyn khng du 32 bit m t mt k t. TInt8, TUint8 : S nguyn 8 bit c du v khng du TInt16 : s nguyn c du 16 bit. TUint16 : s nguyn khng du 16 bit. TInt32 , TUint32 : s nguyn c du v khng du 32 bit. TInt64 : l s nguyn 64 bit c to ra bi 2 s nguyn khng du 32 bit. TReal32 : s du chm ng 32 bit, tng t kiu float trong C chun. TReal, TReal64 : s du chm ng 64 bit, tng t kiu double trong C chun. TText8 : m t mt k t 8 bit, tng t unsigned char. TText16 : m t mt k t 16 bit, tng t unsigned short int. TText : Ty thuc vo tnh hung s dng : Nu l non_unicode TText l TText8. Nu l unicode TText l TText16. i vi cc s nguyn, kiu d liu TInt c dng thng dng nht. i vi cc kiu d liu s chm ng, ta nn hn ch dng v tc tnh ton trn s chm ng chm hn cc kiu d liu khc. i vi s chm ng, kiu d liu TReal c dng thng dng nht.

o Qu Thi An Trn Th M Hnh

154

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

6.2. Kiu d liu chui v descriptor trn Symbian. Trn Symbian chui c bit v ci t di cc descriptor thay v string nh trn C/C++ chun hay Java. Chng c ci t qua cc lp khc nhau mang li s tin li nh trn C++ chun hay Java. Nhng khc vi C++ chun v Java vn dng trn PC, chui trn Symbian c qun l theo phong cch mi ph hp vi b nh nh trn in thoi Symbian. Ngoi ra descriptor c th dng lu tr cc d liu nh phn. Cc loi descriptor : Trn Symbian, chui c ci t trong cc loi descriptor sau : + Abstract descriptor. + Pointer descriptor. + Buffer descriptor. + Heap descriptor. + Literal descriptor Abstract descriptor: Symbian cung cp 2 lp TDesC v TDes biu din chui. - TDesC l mt descriptor hng, khng th thay i ni dung c. N c mt a ch v mt chiu di. Vi TDesC, chng ta c th thao tc chui qua cc hm m n cung cp nhng khng th thay i c d liu. - TDes l mt descriptor c th sa i d liu c. Ngoi cc thuc tnh k tha t TDesC, n c mt di ti a cho php d liu c m rng, ni, ct trong gii hn ca chiu di ti a. TDes cung cp y cc hm thao tc chui, k c cc hm sa i chui m trn TDesC khng c. Hai lp ny cung cp nhiu hm thao tc vi chui, tt c cc descriptor cn li u k tha t abstract descriptor qua 2 lp ny. Pointer descriptor : y l mt loi descriptor m d liu ca n do mt descriptor khc lu gi, c th l trn heap, stack hay trn ROM. Gm c hai loi nh sau : - TPtrC k tha t TDesC, n ch c chiu di v a ch, nn ch mt 2 t nh 32 bit (8 byte).

o Qu Thi An Trn Th M Hnh

155

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

- TPtr k tha t TDes, n c dng m t mt vng m (buffer) trn heap vi mt thuc tnh di ti a c thm vo.

Hnh 6-1 M hnh i tng TPtrC v TPtr

TPtrC v TPtr gn ging nh conts char* v char* trn C, nhng trong bn thn n c chiu di, khng cn phi qut tm k t kt thc nh trn C. S dng poiter descriptor : _LIT(KExample,"Example"); TPtrC examPtr(KExample); TPtr examPtr(KExample); Buffer descriptor : Cng gm c 2 lp l TBufC<n> v TBuf<n>, cha d liu ngay trong chng, lu tr trong ngn xp stack, tng t nh char[] trong C, i s n y chnh l khai bo chiu di ti a ca chui.

o Qu Thi An Trn Th M Hnh

156

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 6-2 M hnh i tng TBufC v TBuf

Cc descriptor ny s dng c ch mu (template) trong C++ vi tham s l mt s nguyn m t chiu di. S dng Buffer Descriptor : _LIT(KExample,"Example"); TBufC <7> examStack(KExample); hoc TBuf <7> examStack(KExample); Lu : do kch thc stack cp cho mt ng dng l rt nh nn chui cp trn stack cng ch nn cp cho cc chui nh, thng di 128 byte, nu ln hn nn cp trn heap. Heap descriptor : Lp ci t : HBufC.

Hnh 6-3 M hnh i tng HBufC

o Qu Thi An Trn Th M Hnh

157

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

HBufC cha d liu ca chng trong cc trn heap. iu ny gn ging vi (char*) malloc (length+1) trong C. Ging nh trn C, loi ny c dng khi chng ta khng bit di l bao nhiu. Cc buffer descriptor lu tr trn heap, chng thng c tham kho thng qua con tr HBufC* thay v trc tip HBufC. S dng Heap descriptor : _LIT(KExample,"Example"); HBufC* examHeap = KExample().AllocLC(); Hay : HBufC* iHelloBufC = HBufC::NewL(20); *iHelloBufC = KExample;

Literal descriptor : y l mt loi descriptor hng, gn ging nh static char[] trn C. Chng thng c dng di dng cc macro gm 3 dng : _LIT, _L, v _S. Literal descriptor c dng to ra cc hng descriptor cha cc chui. Macro _LIT : Khai bo nh sau: _LIT(KHello,"Hello World"); Vi khai bo nh vy, KHello c xem l tn 1 i tng TLITC16, n s ch n mt on d liu nh phn ca chng trnh cha ni dung cn lu tr, trong trng hp ny l chui "Hello World". Lc ny thng qua tn i tng TLIT16 l KHello, ta c th hon ton s dng n nh l mt descriptor hng. Macro _L : Khai bo nh sau : _L("Hello World"); Cng ging nh trn, vi khai bo _L, mt vng d liu trn file chng trnh c dng cha chui khai bo, nhng khc vi trn, chng khng c tn, khng c g nm gi, iu khin chng. Trong trng hp ny, h thng s to mt pointer descriptor l TPtrC trn stack tm thim nhn vic kim sot v x l chui d liu ny. Hin nay, Symbian xut
o Qu Thi An Trn Th M Hnh 158

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

b kiu khai bo ny do tn thm stack cho i tng tm TPtr v chi ph khi to n. Tuy nhin nh u im l gim code li khi phi t tn nn chng vn thng c dng vi mc ch test. V d, mt khi ng dng li, test xem c phi hm ny gy ra hay khng, chng ta c th lm theo cch sau: ngay sau hm nghi ng, chng ta t hm sau: User::Infoprint(_L("Error here !"); Thay v phi vit : _LIT(KMsg,Error here!); User::Infoprint(KMsg); Macro _S : cng gn ging nh macro _L, tuy nhin n khng yu cu tao i tng tm TPtr m s cho php s dng chui trc tip nh trn C. H thng cc lp descriptor:

o Qu Thi An Trn Th M Hnh

159

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 6-4 S h thng cc descriptor 6.3. Cc qui c trong lp trnh Symbian C++. Symbian a ra mt s qui c trong lp trnh C++ trn Symbian, cc qui c ny gip cho vic lp trnh thun li hn, r rng hn, trnh sai st v d nng cp sau ny.
6.3.1. Qui c v t tn lp.

Lp trong Symbian dng mt k t u tin ch tnh cht ca lp nh sau: Lp T: lp n gin (ta nh typedef) thng s dng cho s integer, kiu boolean v cc cu trc n gin khc. N khng c contructor v destructor v c th c lu trn stack. V d: TInt, TBool, TPoint,... Lp C: Lp c contructor v destructor v tt c u l dn xut t CBase. Cc i tng c to bng new v lun c lu tr trn heap. V d: CConsoleBase, CActive,... Lp R: Bt c lp no thao tc vi cc ti nguyn (file, time, v.v) u bt u bng ch R (vit tt ca t Resource).. N c th c lu trn heap. V d: RFile, RTimer, RWindow,... .Lp thng s dng hm close() gii phng ti nguyn m n qun l. Lp M (Mix-ins): Lp o (abstract) ging nh interface trong Java, n ch bao gm cc phng thc o rng v khng c d liu. V d: MGraphicsDeviceMap, MGameViewCmdHandler,... Vic phn bit gia cc lp T, C v R l rt quan trng, n nh hng ti vic cp pht, qun l v gii phng b nh khi s dng.
6.3.2. Qui c t tn d liu :

Tng t nh qui c t tn lp, Symbian cng dng ch ci u phn bit cc loi d liu: Hng lit k (Enumerated constant): Bt u vi k t E, n i din cho mt gi tr hng trong mt dy lit k. N c th l mt phn ca lp T. V d: (ETrue,EFalse) hay EMonday l mt thnh phn ca TdayOfWeek.
o Qu Thi An Trn Th M Hnh 160

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hng (constant): Bt u vi k t K, thng c dng trong cc khai bo #define hay cc gi tr hng do Symbian quy nh. V d: KMaxFileName hay KErrNone. Bin thnh vin (member variable): Bt u vi ch ci i (instance), c dng khi s dng cc bin ng l thnh vin ca mt lp. y l quy c quan trng, dng cho vic hy vng nh trn heap. V d: iDevice, iX, Tham s (argument): Bt u bng ch a (argument), c dng khi cc bin lm tham s. V d: aDevice, aX, Macro: Khng c quy c c bit. Tt c u vit hoa v dng du gch di phn tch t. V d: IMPORT_C, _TEST_INVARIANT, _ASSERT_ALWAYS, v.v Bin t ng (automatic): l cc bin m vic qun l vng nh do Symbian thc hin t ng. Ngi dng khng cn cp pht vng nh khi khai bo v khng hy khi s dng xong. V d : device, size, x, y ....Ch ci u ca cc bin ny nn vit thng. Bin ton cc (global): nn vit hoa ch ci u nhng trnh nhm ln nn bt u tn bng ch ci g. Tuy nhin trn Symbian khng khuyn khch dng bin ton cc.
6.3.3. Qui c t tn hm:

Tn hm thng bt u bng k t hoa, khc vi 2 qui c trn, trong tn hm, k t cui ng vai tr quan trng. Hm none-leaving: L cc hm kt thc an ton, khng gy li. V d: Draw() hay Intersects(). Hm Leaving : Kt thc bng k t L. Mt hm leaving l mt hm c cp pht b nh, m file, v.v, ni chung l thc hin nhng thao tc lin quan n ti nguyn m c th khng thnh cng do thiu ti nguyn hoc do nhng iu kin v mi trng. Vi loi hm ny, ngay c khi gp li, chng ta vn c th qun l c. V d: DrawL() hay RunL().

o Qu Thi An Trn Th M Hnh

161

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hm LC: Kt thc vi cp k t LC. Cc hm ny khai bo mt i tng mi, cp pht vng nh cho n, t n ln cleanup stack (ngn xp cha cc i tng cn xa khi c ngt xy ra), sau khi gi hm ny, lp trnh vin cn phi gi Cleanup:PopAndDestroy() gii phng vng nh cp pht cho i tng. V d: AllocLC(), CreateLC(), OpenLC() hay NewLC(). Cc hm thit lp : Cc hm ny thng bt u bng ch Set v dng gn gi tr cho mt thuc tnh ca i tng. V d : SetSize(), SetDevice(), SetTextL() ..... Hm ly d liu: dng truy xut d liu ca i tng, v d : Size(), Device(), GetTextL()...

6.4. Qun l li trn Symbian.


6.4.1. C ch bt li trn Symbian.

Trn mi trng my tnh bn, Java v C++ qun l cc li chng trnh thng qua cc exeption vi cc c ch nh throw hoc try-catch. Nhng lc Symbian c thit k th c ch exception cha c gii thiu trn C++ , hn na sau ny khi c gii thiu th n cng t ra khng thch hp vi mi trng hn ch v x l cng nh ti nguyn nh Symbian, bi v n lm tng ng k kch thc m bin dch v tn nhiu RAM. V vy, Symbian a ra mt c ch qun l li cho ring mnh c bit ti tn gi l leave. C ch hot ng ca leave nh sau : khi xy ra mt li no (nh thiu b nh cp pht, thiu vng nh ghi, li trong truyn thng hay thiu nng lng cho cc ti nguyn,...) th hm ang hot ng s b ngt li, h iu hnh tin hnh qut cc ch th, cc hm s thc thi sau n v quyn iu khin s c chuyn n phn ch th x l li u tin m n tm thy trong cc hm ny. Hnh ng ngt hm b li v chuyn n phn x l li c gi l leave (thot). Mt leave l mt cuc gi n hm User::Leave(), n s gy ra mt ngoi l (exception) v lp tc tm gi phn x l li gi l trap

o Qu Thi An Trn Th M Hnh

162

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

harness. Tt c cc hm c th leave th u c tn kt thc bng ch ci L. Leave trong C++ trn Symbian ging nh throw v trap harness ging nh try-catch trn C++ v Java trong mi trng my tnh bn. Symbian cung cp 2 macrotrap harness l TRAP v TRAPD. Bt c khi no xy ra li dn n leave ti hm c t lm tham s ca cc macro trap harness th ngay lp tc quyn iu khin hot ng chng trnh s c tr v cho cc macro ny. Cc macro ny s tr v m li gn vi hm gy li. Hai macro TRAP v TRAPD l ging nhau, ch khc l TRAP bin cha m li tr v phi khai bo trc. //; Macro TRAPD TRAPD(error,someFuncL()); if (error!=KErrNone) { //X l li } //; Macro TRAP TInt error; TRAP(error,someFuncL()); if (error!=KErrNone) { //X l li }

6.4.2. Hm Leave.

Theo qui c trong t tn hm ca Symbian, hm Leave l hm c kt thc bng k t L, v d nh NewL(), RunL()... Vic bit mt hm c phi l mt hm Leave hay khng rt quan trng, bi v Symbian l mt mi trng rt hn hp v ti nguyn, v vy, li thiu ti nguyn hay xy ra, nu mt hm leave khng c x l k th rt d gy ra mt li rt ln, l lm lng b nh (memory leak).
o Qu Thi An Trn Th M Hnh 163

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Mt hm c th Leave nu n : + Thc hin cc tc v c lin quan n ti nguyn. + Gi hm c th leave m khng c gi km vi cc trap harness nh TRAP hay TRAPD x l li nu xy ra. + C gi mt trong cc hm h thng m nhn leave nh User::Leave() hay User::LeaveIfError(),... + C dng ton t new(Eleave). 6.5. Mt s vn v qun l b nh trong lp trnh Symbian C++ : Vn v qun l b nh trong lp trnh Symbian c coi l mt vn v cng quan trng, bi v b nh ca cc thit b di ng rt gii hn, thng ch c khong 4MB RAM hoc khng qu 16 MB RAM, l vng nh ca h iu hnh v np cc chng trnh ng dng. Mt khc, do cc thit b c th rt t khi khi ng li, v vy s rt d xy ra tnh trng thiu b nh nu khng c qun l tt. Tnh trng thiu b nh thng xy ra do do cc lp trnh vin qun gii phng vng nh cp pht trn heap cho mt i tng. Trn mi trng my tnh bn, vic thiu b nh rt t xy ra do bn thn h thng s hu t nht 64 MB RAM v b nh o swapping c th ln n 4GB, mt khc, cc vng nh s c gii phng khi chng trnh kt thc hoc khi khi ng li my tnh, hoc nu vi lp trnh bng Java, b dn rc Garbage Collector s m nhn vic dn dp b nh khi chng trnh kt thc. Nhng, trn Symbian, vic dn dp, gii phng phng cc vng nh c ph mc cho cc lp trnh vin. Mt trng hp li b nh khc m cng rt d mc phi, l khi gi hm xy ra leave m khng c x l, s dn n mt li nghim trng : gy ra lng b nh (memory leak). Symbian a ra mt c ch c th qun l loi li ny, l c ch Cleanup Stack.
6.5.1. C ch Cleanup Stack

Khi mt hm Leave xy ra leave, iu khin s c chuyn n phn x l li, lc ny vng stack dnh cho hm c leave ny s c gii phng,

o Qu Thi An Trn Th M Hnh

164

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

cc bin khai bo cc b trong hm ny s b xa i. i vi cc bin khai bo kiu T trn stack th khng sao nhng i vi cc bin kiu C khai bo trn heap hay cc bin kiu R th y l vn nghim trng. Bi l theo ng quy trnh thc thi, nu khng c g xy ra th vo cui hm, chng ta s hy vng nh i tng trn heap qua ton t delete hay gi hm Close() cho cc bin kiu R nhng nu gia chng hm b ngt trc khi ta gi cc hm hy ny th r rng cc i tng ny s khng c gii phng hon ton, to ra l hng trn b nh. V d :
void UnsafeFunctionL() { CExClass* test = CExClass::NewL(); //Hm c th leave test->FunctionMayLeaveL(); delete test; }

Trong khi gi hm UnsafeFunctionL(), khi thc hin n hm FunctionMayLeaveL() th xy ra leave, lc ny, hm UnsafeFunctionL() s b ngt ngay, stack b xa, bin test b xa nhng vng nh cp pht cho n trn heap qua li gi hm CExClass::NewL() th vn cn tn ti m khng c ai qun l, do c cp pht m khng c gii phng n s gy ra mt l hng b nh (memory leak). gii quyt vn , Symbian a ra mt khi nim mi : l CleanupStack. Cleanup stack l mt vng nh c dnh ring dng lu cc ni dung ca con tr trn stack (a ch mt vng nh trn heap). Cleanup stack dng phc hi a ch ca vng nh heap trn stack khi stack c s c do mt hm xy ra leave. V d : Sa li hm trn s dng cleanup stack: void UnsafeFunctionL() { CExClass* test = CExClass::NewL(); //Hm c th leave

o Qu Thi An Trn Th M Hnh

165

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

CleanupStack::push(test); test->FunctionMayLeaveL(); CleanupStack::Pop(test); delete test; } Lc ny nu c leave xy ra, do a ch vng nh test c a ln cleanup stack vi hm CleanupStack::push(test), sau khi hm FunctionMayLeaveL() xy ra leave, a ch vng nh trn heap ca bin test c khi phc thng qua hm CleanupStack::pop(test), v vng nh c gii phng bnh thng. Li memory leak c khc phc.
6.5.2. Khi to 2 pha (Two - phase constructor)

Cleanup stack gip chng ta gii quyt vn gii phng vng nh khi leave xy ra, nhng c mt tnh hung m cleanup stack khng gii quyt c, l khi bin thnh vin ca lp ny l mt i tng ca lp khc v bin ny c khi to trong contructor ca lp. Khi , c th xy ra trng hp nh sau : Cc hm cp pht ti nguyn cho cc bin thnh vin vn c thc hin, trong khi , vic cp pht ti nguyn cho i tng cha khng th thc hin c, lc s xy ra li m chng ta khng th kim sot c : vng nh ca cc bin thnh vin s khng c gii phng v xy ra tnh trng lng b nh. gii quyt tnh trng , Symbian a ra mt lut, l : contructor khng c php leave. thc hin vic cp pht ti nguyn cho cc bin thnh vin v cho i tng cha c thc hin thng qua vic khi to 2 pha (Two phase constructor) nh sau : Pha 1: Phn constructor n gin, khng leave. Phn ny s c gi lin ngay sau khi ton t new c gi. Pha 2: Mt hm khc s m nhn vic hon tt khi to cc bin thnh vin, trn Symbian thng t tn l ConstructL(), hm ny c th leave.

o Qu Thi An Trn Th M Hnh

166

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

V d v khi to hai pha: Class CClassB:public CBase { public: ~CClassB(); CClassB(); void }; CClassB::CClassB() // Khi to pha 1, khng leave { } CClassB::~CClassB() { detele iX; } void CClassB::CConstrucL() // Khi to pha 2 : c th leave { iX = new (ELeave) CClassX; } Lc , khi s dng lp CClassB s thc hin nh sau : CClassB *iY = new (ELeave) CClassB; //Khi to pha 1 CleanupStack::PushL(iY); iY->ConstrucL(); // khi to pha 2 // S dng iY .......... // Hy i tng iY: CleanupStack::Pop(iY); ConstructL(); CClassX *iX;

o Qu Thi An Trn Th M Hnh

167

Tm hiu cng ngh Bluetooth v vit ng dng minh ha 6.5.3. Khi to i tng vi NewL() v NewLC()

Vic khi to hai pha nh trn kh an ton, nhng li kh rc ri v d qun do phi thc hin khi to i tng phi thc hin hai pha vi 4 hm. Do , Symbian a ra thm mt khi nim khc nhm lm gim s rc ri v di dng trong khi to i tng : l bao bc contructor trong hai hm static NewL() v NewLC(). o NewL(): Dng cp pht vng nh cho cc thnh vin trong mt lp. o NewLC(): Dng cp pht vng nh cho cc con tr khng phi l thnh vin V d : Lp CExam : Class CExam:public CBase { ... static CExam * NewL(); static CExam* NewLC(); ....... }; // Ci t ca hai hm NewL() v NewLC() : CExam* CExam::NewLC() { CExam* me = new (Eleave) CExam();//pha 1 CleanupStack:: push (me); exam->ContructL(); return me; } CExam* CExam::NewL() { CExam* me = CExam::NewLC(); CleanupStack:: pop (me); //Pha 2

o Qu Thi An Trn Th M Hnh

168

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

return me; } Khi vic s dng lp CExam c thc hin nh sau : // Khi to i tng CExam *iY = CExam::NewL(); CleanupStack::PushL(iY) // .... s dng iY ............... // Hy i tng : CleanupStack::PopAndDestroy(iY) Hoc : // Khi to i tng CExam *iY = CExam::NewLC(); // .... s dng iY ............... // Hy i tng : CleanupStack::PopAndDestroy(iY)

o Qu Thi An Trn Th M Hnh

169

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Chng 7 BLUETOOTH V SYMBIAN: LP


TRNH S DNG GIAO TIP BLUETOOTH TRN SYMBIAN VI C++.
7.1. Gii thiu.
7.1.1. Cc ng dng Bluetooth trn cc thit b s dng h iu hnh

Symbian: H iu hnh Symbian (k t phin bn Symbian 6.1 tr i) cung cp cc phn mm h tr Bluetooth. Cc nh pht trin ng dng c th pht trin cc ng dng c s dng Bluetooth thng qua cc hm APIs c cung cp sn, v d nh trn cc nn pht trin phn mm (platform) nh : Series 60 Developer platform 1.0, Series 60 Developer platform 2nd Edition, Series 80 Developer platform 2.0, Series 90 Developer platform 2.0... Cc ng dng c th l cc ng dng n gin point-to-point nh chat application, cho n cc ng dng phc tp nh cc game nhiu ngi chi... Cc lin kt gia mt thit b v nhiu thit b khc cng c th cng lc xy ra, iu ny cho php xy dng cc ng dng point-to-multipoint.
7.1.2. Cc cng c pht trin v v d:

c th xy dng cc ng dng Bluetooth cho Symbian bng C++, cn phi download v ci t b SDK ph hp vi Developer Platform m lp trnh vin mun pht trin ng dng. Cc SDK c th c download min ph t trang web ca Nokia. B SDK c cha tt c cc chi tit cn thit cho vic pht trin ng dng ( bao gm cc ti liu, tham kho API, cc cng c, cc trnh gi lp, trnh phin dch, v d ....), tuy nhin, cng cn mt mi trng pht trin tch hp (IDE ) vit code.

o Qu Thi An Trn Th M Hnh

170

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

7.2. Tng quan v Bluetooth API: Cng ging nh nhng cng ngh giao tip khc, Bluetooth bao gm mt tp hp nhiu thnh phn, c gi l stack (chng giao thc). Chng giao thc c m t trong s sau :

Hnh 7-1 Kin trc Bluetooth Stack

_ Cc thnh phn ca Bluetooth Host Controller thng thng c ci t trong phn cng ca thit b. Cc ng dng khng th trc tip truy xut ti tng ny. _ Cc thnh phn ca Bluetooth Host cho php cc ng dng c th gi v nhn d liu thng qua cc lin kt Bluetooth hoc nh cu hnh cho lin kt.Cc thnh phn trong Bluetooth Host c m t sau:

o Qu Thi An Trn Th M Hnh

171

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

RFCOMM : cho php cc ng dng coi cc lin kt Bluetooth nh l cc lin lin kt trao i thng tin qua cng Serial. Hay ni cch khc, giao thc ny cho php gi lp cng Serial trong vic truyn nhn d liu qua Bluetooth. L2CAP (Logical Link Control and Adaption Protocol): cho php qun l cc lin kt, qun l vic phn nh cc gi tin gi i v sp xp li cc gi tin nhn c. SDP (Service Discovery Protocol) : c s dng xc nh, truy vn cc dch v Bluetooth c cung cp hoc c trn thit b. Cc ng dng thng s dng n n khi bt u thit lp lin kt Bluetooth vi cc thit b Bluetooth khc. HCI (Host Controller Interface) : cho php cc thnh phn khc trong Bluetooth Host giao tip vi phn cng. Cc hm Bluetooth APIs ca Symbian OS cho php cc ng dng s dng cc dch v ca RFCOMM, L2CAP, SDP truy cp mc gii hn dch v ca HCI.
7.2.1. Cc nhm hm Bluetooth API:

Cc hm Bluetooth API c th chia thnh nhng nhm sau y: Bluetooth Sockets: Cho php truy cp n cc dch v ca L2CAP v RFCOMM thng qua giao din socket ca TCP/IP. Bluetooth Service Discovery Database: S dng cc dch v ca SDP. Cc dch v trn thit b s dng chng ghi nhn cc thuc tnh ca n, nh , cc thit b khc c th tm thy n v xc nh xem chng c dng c khng. Bluetooth Service Discovery Agent: S dng cc dch v ca SDP. N cho php ngi dng tm nhng dch v v thuc tnh ca dch v trn thit b Bluetooth khc. Bluetooth Security Manger: cho php cc dch v thit lp cc yu cu v an ton v bo mt m cc kt ni ti cn phi p ng.
o Qu Thi An Trn Th M Hnh 172

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Bluetooth Device Selection UI: Cung cp mt hm API dng th hin mt dialog yu cu ngi dng chn thit b mun giao tip.
7.2.2. Quan h gia cc nhm hm API:

Mi quan h gia cc nhm hm Bluetooth API c th hin trong hnh bn di. Trong cc hm Bluetooth API ca Socket ng vai tr c bn nht, cc nhm hm API khc u da vo n giao tip vi cc thit b khc:

Hnh 7-2 Quan h gia cc nhm hm Bluetooth API.

o Qu Thi An Trn Th M Hnh

173

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

7.3. Mt vi kiu d liu Bluetooth thng dng. Bluetooth device address: Mi thit b Bluetooth c xc nh bng mt s nguyn 48bit m t a ch thit b, trong Symbian, n c m t trong lp TBTDevAddr, nh ngha trong file header bbtypes.h Universally Unique Identifier (UUID) : UUID l mt s nguyn 128 bit c nh ngha sn i din cho mt dch v Bluetooth . UUID c qun l bi lp TUUID. Lp ny c th qun l d liu UUID y (128 bit) hoc qun l dng rt gn. Lp TUUID c nh ngha trong file header bttypes.h Service record. Mi dch v Bluetooth c i din bi mt UUID v c lu tr bi mt Bluetooth Service Record. Mt service record cha mt UUID v mt tp cc thuc tnh cung cp thng tin v dch v m n lu tr. Symbian cung cp cc hm Bluetooth SDP Database API cho php thao tc vi service record. Service class and Profiles :Service classes c din t bi cc s nguyn UUID. Dng qun l cc dch v c cung cp bi thit b. Service profile handle : Tt c service record c lu tr trong SDP Database. SDP Database xc nh cc service record khc nhau bng mt con s 32 bit cn gi l Service Record Handle. Mt Service Record Handle c th hin bi lp TSdpServRecordHandle, c khai bo trong file header btsdp.h Service Attribute ID : Mi service record cha mt tp hp cc thuc tnh v mi thuc tnh c xc nh bi mt con s nh danh. Con s ny c th hin bi lp TSdpAttributeID. Trong thc t y khng phi l lp m l mt s nguyn 16 bit. Kiu d liu ny c nh ngha trong file btsdp.h. Symbian dng attribute ID xc nh cc thuc tnh v gi tr ca chng trong SDP database. SDP database: Mi thit b Bluetooth c mt c s d liu cc b cha tt c cc dch v m n cung cp. C s d liu ny c th
o Qu Thi An Trn Th M Hnh 174

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

hin bi lp RSdpDatabase. Lp ny c nh ngha trong file header btsdp.h Attribute ranges: S khc nhau gia CSdpSearchPattern v CSdpAttrIdMatchList l CSdpAttrIdMatchList chp nhn mt cu trc TAttrRange lm tham s. Cu trc ny cho php xc nh mt di cc attribute ID cn tm kim. Data elements : Bng sau m t cc kiu d liu bluetooth data element, tt c cc kiu d liu ny c khai bo trong file header btsdp.h:

Hnh 7-3 Bluetooth Data Element Types

Service search patterns: Lp CSdpSearchPattern cho php xc nh cc dch v cn tm kim bng cch to ra mt danh sch cc TUUID cn tm. Lp ny cung cp cc hm cho php thao tc vi danh sch cc TUUID m n ang gi nh AddL, Remove, Find, v.v Attribute search patterns: Cng tng t nh service search pattern, Symbian cng cung cp cc hm cho php xc nh cc thuc tnh cn tm kim trong mt service record. Lp

o Qu Thi An Trn Th M Hnh

175

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

CSdpAttrIdMatchList thc hin iu ny bng cch to ra mt danh sch attribute ID cn tm kim. 7.4. Bluetooth Sockets. Trong Symbian, Bluetooth Sockets c dng tm kim cc thit b Bluetooth khc v truyn v nhn d liu thng qua Bluetooth. Trong qu trnh trao i thng tin qua Bluetooth, c hai vai tr c thit lp : khi to kt ni Initiator , v chp nhn kt ni Receiver. Bn chp nhn kt ni Receiver khi to Bluetooth v lng nghe cc yu cu kt ni t Initiator. Mt khi kt ni c thit lp, c hai u c vai tr nh nhau, u c kh nng gi, nhn d liu, hoc chm dt kt ni. Cc hm API ca Bluetooth Sockets h tr giao tip vi c hai tng giao thc L2CAP v RFCOMM.Cc hm Bluetooth Sockets API da trn cc Socket Client Side API, cung cp cc hm API chun cho php mt thit b hot ng nh Client c th to kt ni vi mt thit b Bluetooth khc. Ngoi ra, n cng c th hot ng nh l mt Server, cho php cc thit b khc kt ni vo. Khi kt ni c thit lp, thit b c th thc hin gi v nhn d liu trc khi kt thc kt ni. Bluetooth Socket API c thm vo cc kiu d liu v cc hng s ph hp cho php cc hm Socket API c th c s dng vi Bluetooth. Bluetooth Socket API c 5 khi nim c bn : a ch ca socket, tm kim thit b ( remote device inquiry), tp lnh v cc ty chn ca RFCOMM, tp lnh ca L2CAP, v tp lnh ca HCI.
7.4.1. M v cu hnh Bluetooth Socket :

o Qu Thi An Trn Th M Hnh

176

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 7-4 Bluetooth Sockets

Mi Bluetooth Socket u phi thng qua Socket Server c th giao tip vi cc Bluetooth socket khc, v vy, trc khi m mt Socket, ta phi kt ni vo socket server ca thit b. Lp RSocketServ dng giao tip vi socket server ca thit b. kt ni vo socket server, ta khai bo mt i tng kiu RSocketServ v gi hm Connect: RSocketServ socksvr; err = socksvr.Connect(); User::LeaveIfError(err); Symbian OS cung cp lp RSocket m v cu hnh cc loi socket. Ty theo Protocol s dng m ta m loi socket khc nhau. m socket , ta s dng hm Open() sau: TInt Open(RSocketServ& aServer, TUint addrFamily, TUint sockType, TUint protocol );
o Qu Thi An Trn Th M Hnh 177

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Trong : * RSocketServ& aServer : L Socket server kt ni ti. * Tuint addrFamily :Kiu a ch ca kt ni thc hin, nu l kt ni Bluetooth th l KBTAddrFamily, hoc nu l TCP/IP th l KafInet. * Tuint sockType: Xc nh loi socket s dng, v d : nu l TCP th l KSockStream. * Tuint protocol :Xc nh loi protocol s dng * i vi Bluetooth, nu s dng giao thc RFCOMM th sockType l KsockStream v protocol l KRCOMM; cn nu s dng giao thc L2CAP th sockType l KsockSeqPaket v protocol l KL2CAP.
7.4.2. Xy dng Bluetooth Socket Server : Lng nghe v chp nhn kt ni

t thit b l Client : c th thit lp mt kt ni Bluetooth gia hai thit b, mt trong hai thit b phi c thit lp, khi to Socket Bluetooth trng thi lng nghe, v sau chp nhn kt ni khi c yu cu kt ni ti t thit b khc. Cc bc to Bluetooth Socket Server c thc hin nh sau :

o Qu Thi An Trn Th M Hnh

178

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

RSocket::Open()

RSocket:: Bind()

RSocket::Listen()

Accept() Chp nhn kt ni v thit lp mt blank socket

RSocket::Close()

Hnh 7-5 Cc bc khi to Bluetooth Socket Server Kt ni vo Socket server trn thit b v chn protocol cn s dng. M mt socket tng ng vi protocol s dng. To ra mt i tng a ch Bluetooth Socket thuc lp TBTSockAddr v thit lp cng (port) ca n l server channel (i vi giao thc L2CAP v RFCOMM c s khc bit) , v sau kt buc socket vo a ch bng hm RSocket::Bind(). a socket va to ra vo trang thi lng nghe cc kt ni ti bng hm: RSocket::Listen(); To ra mt socket trng (blank socket) v truyn ti cho socket listen thng qua hm RSocket::Accept(RSocket &acceptSocket,....). Khi hm ny kt thc, socket c truyn trong tham s ca hm s kt ni vi thit b khc v c th c dng truyn v nhn d liu. Socket lng nghe lc vn tn ti

o Qu Thi An Trn Th M Hnh

179

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

v sn sng c th c truyn vo mt socket trng khc v to ra mt kt ni khc. Khi ng dng ng vai tr l Server hay Receiver kt thc, n cn phi ng socket listen, cng nh tt c cc socket kt ni. on code sau minh ha vic to ra Bluetooth socket server v lng nghe kt ni: // 1. Kt ni ti socket server secsion RSocketServ socketServ; socketServ.Connect(); TProtocolDesc pInfo; _LIT(KL2Cap, "L2CAP"); // hoc l RFCOMM ty giao thc s dng // 2. M socket lng nghe RSocket listen; listen.Open(socketServ,KL2Cap); // 3. Khi to i tng a ch bluetooth socket TBTSockAddr addr; addr.SetPort(KListeningPSM); // Kt buc socket lng nghe User::LeaveIfError(listen.Bind(addr)); // 4. Bt u lng nghe cc yu cu kt ni t cc thit b khc. User::LeaveIfError(listen.Listen(2)); // 5. Ch i v thc hin kt ni khi c yu cu kt ni RSocket accept; TRequestStatus status; User::LeaveIfError(accept.Open(socketServ));

o Qu Thi An Trn Th M Hnh

180

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

listen.Accept(accept,status); User::WaitForRequest(status); // Nu status == KerrNone : accept socket kt ni thnh cng. Trc khi chp nhn mt kt ni ti, cn phi thit lp cc yu cu v an ton v bo mt i vi cc kt ni (xem phn Bluetooth Security Manager), v cn phi qung b cc dch v c th s dng ca thit b cc thit b khc s dng khi kt ni ( Bluetooth Service Discovery Database) .
7.4.3. Xy dng Bluetooth Socket Client : Tm kim v kt ni ti thit b

l Server. mt ng dng trn thit b Bluetooth c th kt ni ti mt thit b Bluetooth khc, n cn phi thc hin cc bc sau : u tin, cn phi xc nh c thit b server m ngi s dng mun kt ni ti, tip , ng dng cn xc nh c xem dch v m n cn c server hay khng, cui cng, ng dng thc hin kt ni vi thit b server, v thc hin vic trao i d liu nu kt ni thnh cng. 7.4.3.1. Chn thit b kt ni ti : ng dng c th xc nh c thit b m n cn kt ni ti bng mt s cch sau : + Kt ni cng (hard-wired) mc nh c thit lp trc. + Kt ni vi cc thit b c lu thng tin t trc. + Chn la bi ngi dng thng qua Bluetooth Device Selection UI. + Hoc c xc nh qua lp trnh : ng dng t ng xc nh thit b m n mun kt ni. 7.4.3.2. Truy vn thng tin v thit b xung quanh: + Mi thit b Bluetooth c mt a ch 48 bit duy nht c xy dng bn trong phn cng ca n, v c th c mt tn thit b th hin ti ngi dng.

o Qu Thi An Trn Th M Hnh

181

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

+ a ch v tn thit b c thc hin truy vn thng qua lp socket RHostResolver ca Symbian. Trong khi truy vn, mt lp a ch socket c bit c s dng, l lp TInquirySockAddr, cha ng a ch Bluetooth, m truy cp, cc dch v (services) v cc lp thit b, c cung cp trong khi thc hin truy vn. b.1. Thc hin truy vn a ch ca thit b kt ni ti c thc hin

qua cc bc : + Kt ni ti Socket server (RSocketServ) v chn loi giao thc s dng bng cch gi hm RSockeServ::FindProtocol() .Do cc truy vn v a ch v tn thit b c cung cp bi chng giao thc BTLinkManager, do chn giao thc ny. + To ra v thit lp mt i tng RHostResolver. + Thit lp tham s TInquirySockAddr cho qu trnh truy vn: i vi truy vn v a ch, c KHostResInquiry cn phi c thit lp thng qua hm TInquirySockAddr::SetAction(KHostResInquiry); Sau , vic truy vn c th c bt u bng li gi hm: RHostResolver::GetByAddress(const TSockAddr &anAddr, TNameEntry &aResult); RHostResolver::GetByAddress(const TSockAddr &anAddr, TNameEntry &aResult, TResquestStatus&aStatus); + Sau khi kt thc hm GetByAddress(), tham s TnameEntry &aResult s cha a ch v cc lp ca thit b u tin tm c, hoc l khng xc nh nu khng tm thy thit b no. Tham s aStatus cha m li tr v, l KErrNone nu thnh cng. + tip tc truy vn cc thit b khc nu c, s dng hm RHostResolver::Next() cho ti khi KerrHostResNoMoreResults c tr v.

o Qu Thi An Trn Th M Hnh

182

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

on code sau m t cch thc hin vic truy vn a ch v tn ca cc thit b Bluetooth xung quanh: // 1. Kt ni socket server section RSocketServ socketServ; socketServ.Connect(); TProtocolDesc pInfo; _LIT(KL2Cap, "BTLinkManager"); User::LeaveIfError(socketServ.FindProtocol(KL2Cap,pInfo)); // 2 To ra v khi to i tng RHostResolver RHostResolver hr; User::LeaveIfError(hr.Open(socketServ,pInfo.iAddrFamily,pInfo.iProtocol)); // 3. Thit lp truy vn v thc hin truy vn. TInquirySockAddr addr; TNameEntry name; addr.SetIAC(KGIAC); addr.SetAction(KHostResInquiry); TRequestStatus status; hr.GetByAddress(addr, entry, status); // thng tin tra v c lu trong entry User::WaitForRequest(status); // 4. X l cc thng tin v a ch thit bi c tr v trong entry ............................................. b.2. Truy vn tn ca thit b: truy vn tn ca thit b khc, ta thc hin tng t nh vic truy vn a ch ca thit b nh trn vi thit lp i tng TInquirySockAddr l KHostResName qua hm TInquirySockAddr::SetAction(KhosResName); V d:

o Qu Thi An Trn Th M Hnh

183

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

// Thc hin truy vn tn thit b xung quanh: addr.SetAction(KHostResName); hr.GetByAddress(addr, entry, stat); User::WaitForRequest(stat); TPtrC deviceName; if (stat == KErrNone) deviceName.Set(entry().iName); Vic truy vn a ch v tn ca thit b xung quanh c th thc hin cng mt lc bng cch thit lp i tng TInquirySockAddr vi hm SetAction nh sau : TInquirySockAddr::SetAction(KhostResName | KhostResEntry). 7.4.3.3. Truy vn v dch v c cung cp trn thit b Server : Trn mt thit b Bluetooth c th cung cp nhiu dch v Bluetooth , bng thng tin v dch v cung cp c th c t lp ca thit b (class of device). Lp ca thit b c ly thng qua li gi hm : TInquirySockAddr::MajorClassOfDevice() sau khi thc hin truy vn a ch ca thit b. Trong nhng tnh hung c th, vic xc nh thng tin v dch v ca lp thit b khng y c th xc nh s chn thit b no, trong trng hp , vic truy vn tm kim dch v c th thc hin i vi tng thit b tm thy c th chn ng thit b cn.Vic truy vn dch v SDP (Service Discovery Database ) c thc hin thng qua Bluetooth Service Discovery Agen API (xem chi tit trong phn sau). 7.4.3.4. Kt ni vi thit b c chn v thc hin trao i d liu: Khi m xc nh c thit b v dch v c cung cp, chng ta c th thc hin kt ni vi thit b v dch v trn thit b , v s dng dch v c cung cp. Vic kt ni vi thit b c thc hin thng qua hm Connect() ca lp RSocket vi giao thc l L2CAP hoc RFCOMM. i vi Bluetooth

o Qu Thi An Trn Th M Hnh

184

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

socket L2CAP, port s dng l Protocol/Service Multiplexer (PSM) , i vi Bluetooth Socket RFCOMM th port s dng l server chanel. + Hm Connect() c s dng : void RSocket::Connect(TSockAddr& anAddr, TRequestStatus &aRequest) Tham s : anAddr : a ch socket ca thit b. aRequetStatus : Cha m li tr v. a ch ca socket c th hin bi lp TBTSockAddr vn k tha t lp TSockAddr. Mi thit b Bluetooth c mt a ch 48 bit c th hin bi lp TBTDevAddr, lp TBTSockAddr c hm SetBTAddr() dng gn a ch thit b Bluetooth cho i tng ca lp ny v hm SetPort() chn mt Channel c th. void SetBTAddr(const TBTDevAddr& aRemote); void SetPort(TUint aPort); Mi client phi c cc thnh phn sau: SocketServer (RSocketServ): Dng giao tip vi socket server ca thit b. SendingSocket: Dng kt ni, nhn v gi d liu n server socket on code sau m t vic thc hin kt ni : RSocketServ SocketServer; TInt err; err = SocketServer.Connect(); User::LeaveIfError(err); RSocket SendingSocket; err = SendingSocket.Open(SocketServer, KBTAddrFamily, KSockStream, KRFCOMM); User::LeaveIfError(err); TBTSockAddr addr;

o Qu Thi An Trn Th M Hnh

185

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

TRequestStatus status; addr.SetBTAddr(); addr.SetPort(); SendingSocket.Connect(addr, status); // Nhn v gi d liu y .....

7.4.4. Trao i d liu thng qua Bluetooth socket :

Sau khi thit lp kt ni thnh cng, vic nhn v gi d liu vi Bluetooth socket cng tng t nh vi bt k loi socket no khc trn Symbian (IrDA socket, Internet socket). * nhn d liu ta c th dng cc hm Read(), Recv() , hoc ReceiveOneOrMore().: - void Read( TDes8& aDesc,TRequestStatus& aStatus ); - void Recv( TDes8& aDesc, TUint flags, TRequestStatus& aStatus); - void Recv( TDes8& aDesc, TUint flags, TRequestStatus& aStatus, TSockXfrLength& aLen); - void RecvOneOrMore( TDes8& aDesc, TUint flags, TRequestStatus& aStatus, TSockXfrLength& aLen); Trong : + TDes8& aDesc : buffer cha d liu nhn c. + TRequestStatus& aStatus : Sau khi hm kt thc, bin ny cha m li tr v. Nu khng c li, gi tr ca aStatus l KerrNone. + TUint flags : cc thng tin v Protocol, I/O.

o Qu Thi An Trn Th M Hnh

186

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

+ TsockXfrLength& aLen : Chiu di d liu nhn c. * gi d liu, ta dng hm Write(): + void Write(const TDesC8& aDesc, TRequestStatus& aStatus); + void Send(const TDesC8& aDesc, TUint someFlags, TRequestStatus& aStatus); + void Send(const TDesC8& aDesc, TUint someFlags, TRequestStatus& aStatus, TSockXfrLength& aLen); Trong : + TDesC8& aDesc : D liu cn gi i. + TResquestStatus& aStatus : Sau khi hm kt thc, m li c tr v qua bin ny. + TUint flags : cc thng tin v Protocol, I/O. + TsockXfrLength& aLen : Chiu di d liu gi i.

7.5. Bluetooth Service Discovery Database: Mi dch v Bluetooth c lu trong mt record trong SDP database, nh , cc thit b khc c th bit c trn thit b Bluetooth c nhng dch v no. Bluetooth Service Discovery Database cho php cc dch v trn ni b thit b c th a cc c tnh ca n vo trong Bluetooth Service Database, nh , cc thit b Bluetooth khc c th pht hin c l dch v c h tr trn thit b .
7.5.1. Kt ni vo Bluetooth Service Discovery Database :

c th s dng Service Discovery Database, client phi thc hin cc bc sau :

o Qu Thi An Trn Th M Hnh

187

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

+ To mt phin lm vic (session) vi i tng database RSdp v m mt kt ni + To ra mt phin lm vic con (subsession) ti i tng Database RsdpDatabase v m kt ni. Mt client c th c nhiu phin lm vic con ng thi. + ng subsession v session khi s dng xong. on code sau minh ha cch thc kt ni ti Service Database : //1. To v m mt phin lm vic n database RSdp sdp; User::LeaveIfError(sdp.Connect()); // 2. Create and open a subsession RSdpDatabase sdpSubSession; User::LeaveIfError(sdpSubSession.Open(sdp)); ... // 3. ng cc kt ni m. sdpSubSession.Close(); sdp.Close();
7.5.2. ng k mt dch v vo Service Database :

Sau khi Service Discovery Database c m ra, mt service record c th c to ra. Vic c thc hin bng vic cung cp mt gi tr UUID (Bluetooth Universally Unique Identifier) cho lp dch v (service class) ca record. Service class c th l mt gi tr UUID hoc mt list cc gi tr UUID dng DES. Cc bc ng k mt dch v vo Database : + + To ra mt record dch v trng thuc i tng TSdpServRecordHandle, l handle ca mt service record. Nu thuc tnh ca service class l mt gi tr n UUID, to ra v thit lp mt i tng TUUID. Nu thuc tnh ca service class l mt danh

o Qu Thi An Trn Th M Hnh

188

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

sch cc gi tr UUID, to ra mt i tng danh sch thuc tnh thuc lp CSdpAttrValueDES sch thuc tnh. + Gi hm RSdpDatabase::CreateServiceRecordL() trong mt subsession m. Hm tr v mt handle tr ti service record mi to. * on code sau mt t cch to mt service record vi mt i tng dch v n (single service class) : /* Gi s sdpSession l mt phin lm vic vi i tng Database c m thnh cng, sdpsubsession : phin lm vic con */ // 1. To ra mt Record Handle trng TSdpServRecordHandle recordHandle = 0; // 2.To ra i tng service class n v thit lp gi tr ca n TUUID uuid(0x20000); // 3. a record mi to vo Database . sdpSubSession.CreateServiceRecordL(uuid, recordHandle); * i vi danh sch thuc tnh, ta dng hm StartListL() bo hiu vic bt u thao tc vi list, hm BuildxxxL() thm d liu vo danh sch, ty vo loi d liu m s dng cc hm BuildxxxL() khc nhau, nh hm BuildURLL(), BuildDESL(), BuildIntL(), BuildUUIDL()....., Sau , ta dng hm EndList() ng danh sch li. * Gi s ng dng cn a vo service record mt thuc tnh l danh sch cc giao thc (protocol) m ng dng h tr, on chng trnh sau minh ha vic to mt danh sch gm 2 protocol. Protocol u tin l L2CAP. Protocol th 2 l RFCOMM km theo mt s nguyn i din cho knh truyn (channel), v a vo Database.
/ /1. To ra mt record handle trng : TSdpServRecordHandle recordhandle =0;

hoc

lp

CSdpAttrValueDEA

gi

hm

MsdpElementBuilder::BuildUUIDL() i vi tng thuc tnh a vo danh

o Qu Thi An Trn Th M Hnh

189

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

//2. To mt i tng CSdpAttrValueDES CSdpAttrValueDES* protocolDescriptorList = CSdpAttrValueDES::NewDESL(NULL); CleanupStack::PushL(protocolDescriptorList); // knh s dng: Tbuf8<1> channel; Channel.Append((Tchar)port); /* vi port l s nguyn TInt cho bit port s dng.*/ //3 . To danh sch thuc tnh protocolDescriptorList ->StartListL() ->BuildDESL() ->StartListL() ->BuildUUIDL(KL2CAP) ->EndListL() ->BuildDESL() ->StartListL() ->BuildUUIDL(KRFCOMM) ->BuildUintL(channel) ->EndListL() ->EndListL(); //4. a record vo Database : sdpSubSession.CreateServiceRecord(*protocolDescriptorList , recordhandle); CleanUpStack::Pop(); // protocolDescriptorList

7.5.3. Thit lp cc thuc tnh trong mt Service Record:

Cc thuc tnh trong mt Service Record c th c thit lp hoc thay i bng cch gi hm : RSdpDatabase::UpdateAttributeL(TSdpServRecordHandle aHandle, TSdpAttributeID aAttrID, XXX & aValue)
o Qu Thi An Trn Th M Hnh 190

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Ty thuc vo loi thuc tnh m XXX c th l :CSdpAttrValue, TUint, TDesC16, TdesC8 Trong : aHandle : Handle ca service record cn cp nht aAttrID : Attribute ID cn cp nht trn Service Record aValue : Gi tr ca thuc tnh * xa mt service record ra khi database, ta dng hm : RSdpDatabase::DeleteRecordL(TSdpServRecordHandle aHandle) Vi aHandle : l handle ti Service record cn xa. 7.6. Bluetooth Service Discovery Agent: Bluetooth Service Discovery Agent cho php cc lp trnh vin c th xc nh c cc dch v Bluetooth , cc thuc tnh ca cc dch v c tn ti trn cc thit b Bluetooth xung quanh.Cc hm API Service Discovery Agent l mt trong hai loi hm API cho php s dng giao thc Bluetooth Service Discovery. Loi hm th hai l Bluetooth Service Discovety Database cho php cc dch v c trn thit b c th a cc thuc tnh ca n vo trong Database v dch v c trn thit b . Lp chnh cho php giao thc Bluetooth service discovery truy vn ti thit b khc l lp CSdpAgent. C hai truy vn c bn c th thc hin s dng lp ny l: + c th ly c cc dch v trn thit b khc, truy vn cc lp ca dch v m bn mun ly bng cch s dng i tng CSdpSearchPattern. + ly cc thuc tnh ca mt dch v c th, thit lp danh sch cc thuc tnh ly v bng cch s dng i tng CSdpAttrIdMatchList. Vic s dng lp CSdpAgent phi c ci t vi interface MSdpAgentNotifier nhn cc p ng t truy vn. Cc lp CSdpAgent, CSdpSerchPattern, CSdpAttrIDMatchList, MsdpAgentNofifier u c khai bo trong file header btsdp.h v c lin kt vi th vin bluetooth.lib.

o Qu Thi An Trn Th M Hnh

191

Tm hiu cng ngh Bluetooth v vit ng dng minh ha 7.6.1. Truy vn cc dch v trn thit b khc vi Bluetooth Service

Discovery Agent: Bluetooth Service Discovery Agent c dng thc hin cc truy vn v cc dch v Bluetooth sn c trn mt thit b c th. N thng c s dng sau khi mt thit b Bluetooth ph hp trong phm vi cho php c xc nh thng qua cc hm Bluetooth Socket API (xem li phn 7.4). Sau khi kt thc tm kim dch v, kt qu tr v l cc record handle ca cc dch v thuc lp hoc cc lp c nh ngha (cc s UUID). Trc khi mt ng dng c th bt u tm kim cc dch v c cung cp trn mt thit b c th, n phi to ra mt lp ci t ca lp MSdpAgentNotifier. Kt qu sau khi thc hin truy vn c tr v thng qua cc hm callbacks ca ci t giao din MSdpAgentNotifier. Cc bc thc hin tm kim dch v c thc hin nh sau: Bc 1: To ra mt i tng CSdpAgent v cung cp cho n mt ci t ca lp MSdpAgentNotifier c to ra trc, v ch nh a ch ca thit b Bluetooth m ng dng mun truy vn. Bc 2 :To ra mt i tng CSdpSearchPattern v ch nh cc lp dch v cn tm kim. Cc lp dch v c th c a vo thng qua hm CSdpSearchPattern::Add(const TUUID &aUUID); Bc 3 : Thit lp kiu tm kim trn i tng CSdpAgent s dng thng qua hm :CSdpAgent::SetRecordFilterL() nhm thit lp mt danh sch cc dch v m ng dng quan tm. Bc 4: Gi hm CSdpAgent::NextRecordRequestL() ly cc kt qu tm kim cho ti khi ht, hoc tm c kt qu cn tm. Khi gi hm ny, qu trnh tm kim c thc hin, khi tm kim c mt dch v, hm MSdpAgentNotifier::NextRecordRequestComplete() s c gi v thng bo ti ng dng thng qua lp c ci t giao din MSdpAgentNotifer ca ng dng. on code sau minh ha cc bc trn : Gi s : rcvr l lp c ci t giao din lp MSdpAgentNotifer, v devAddr l a ch ca thit b ang thc hin truy vn ti.
o Qu Thi An Trn Th M Hnh 192

Tm hiu cng ngh Bluetooth v vit ng dng minh ha /* 1 : To ra mt i tng thuc lp CSdpAgent.*/ CSdpAgent *agent = CSdpAgent::NewLC(rcvr,devAddr); /* 2: To ra mt mu tm kim (search pattern) thuc lp CSdpSearchPattern v t mt service classes vo */ CSdpSearchPattern* list = CSdpSearchPattern::NewL(); List->AddL(0x0100); /* 3: set the search pattern on the agent */ agent->SetRecordFilterL(*list); /*4: Bt u qu trnh tm kim , kt qu tm kim c tr v qua hm callbacks ca rcvr */ agent->NextRecordRequestL(); 7.6.2. Tm kim cc thuc tnh dch v:

D liu ca cc service record cha trong cc thuc tnh, mi thuc tnh c mt ID c qui nh trc, mt loi thuc tnh, v mt gi tr ca thuc tnh . Nh vic tm kim dch v, kt qu ca tm kim cc thuc tnh dch v c tr v thng qua cc hm callback ca lp giao din MSdpAgentNotifier m ng dng phi ci t. Cc bc sau m t qu trnh tm kim thuc tnh dch v: 1: To ra mt i tng CSdpAttrIdMatchList qui nh cc thuc tnh cn ly v ( gi l match list ). 2: Thm cc IDs ca thuc tnh vo match list s dng hm : CSdpAttrIdMatchList::AddL(TAttrRange aRange). Cc IDs ng gi trong kiu d liu TAttrRange. b cc thuc tnh ra khi match list s dng hm CSdpAttrIdMatchList::RemoveL(TAttrRange aRange). 3: Bt u thc hin truy vn s dng hm: CSdpAgent::AttributeRequestL() , ty vo nhu cu s dng m c nhiu hm overloaded c th s dng. V d v truy vn cc thuc tnh dch v: ( Gi s agent l mt i tng CSdpAgent, v serviceHandle l handle ca service record).

o Qu Thi An Trn Th M Hnh

193

Tm hiu cng ngh Bluetooth v vit ng dng minh ha // 1. To ra mt match list CSdpAttrIdMatchList *matchList =CSdpAttrIdMatchList::NewL(); CleanupStack::PushL(matchList); //2. Thm vo ID ca thuc tnh cn ly : matchList->AddL(TAttrRange(0x102)); //3. t matchList vo agent agent-> AttributeRequestL(serviceHandle, *matchList); CleanupStack::PopAndDestroy(); //matchList

7.6.3. To ra i tng qun l cc kt qu truy vn:

Cc ng dng thc hin cc truy vn v dch v v thuc tnh qua i tng CSdpAgent phi c ci t giao din MSdpAgentNotifier qun l p ng tr v. + Qun l kt qu truy vn dch v : Khi vic truy vn dch v kt thc, ng dng c h iu hnh thng bo ti thng qua hm NextRecordRequestComplete() :
virtual void NextRecordRequestComplete(TInt aError, TSdpServRecordHandle aHandle, TInt aTotalRecordsCount)

Trong : aError : cha m li tr v. aHandle : Handle ti service record ca dch v tm c. aTotalRecordsCount :tng s lng cc record tha iu kin tm kim. + Qun l truy vn thuc tnh: Khi truy vn thuc tnh kt thc, mi thuc tnh c tr v vi ID ca thuc tnh s dng hm : AttributeRequestResult().
virtual void AttributeRequestResult(TSdpServRecordHandle aHandle, TSdpAttributeID aAttrID, CSdpAttrValue* aAttrValue)

Trong : aHandle : Service record thc hin truy vn


o Qu Thi An Trn Th M Hnh 194

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

aAttrID : cha ID ca thuc tnh. aAttrValue : cha gi tr ca thuc tnh. Khi tr v ht cc thuc tnh, hm AttributeRequestComplete() c gi. virtual void AttributeRequestComplete( SdpServRecordHandle aHandle, TInt aError )= 0 ; Trong : aHandle : Service record thc hin truy vn. aError : KErrNone hoc mt li SDP. 7.7. Bluetooth security manager:
7.7.1. Tng quan

Bluetooth Security Manager (BSM) cho php ng dng Bluetooth thit lp cc ch bo mt m mt kt ni phi p ng. Cc thit lp bo mt ch n gin l c authentication, c authorization v c encryption hay khng. Authentication ngha l c 2 ng dng phi nhp cng 1 kha c th giao tip, authorization ngha l ng dng s hi xem ngi dng c chp nhn kt ni hay khng, encryption ngha l d liu c m ha khi truyn nhn. Cc thit lp bo mt ny c p dng cho mt server, mt protocol, mt knh truyn c th. Bluetooth security manager bo m rng kt ni t bn ngoi vo phi p ng cc yu cu bo mt. Trong Symbian, Bluetooth Security Manager (BSM) c ci t nh mt server. Cc hm API ca BSM cung cp TBTServiceSecurity ng gi cc cu hnh cho bo client mt. lp Lp

TBTServiceSecurity c nh ngha trong file header btmanclient.h. Trc khi s dng BSM, ng dng phi m mt phin lm vic (session) ti server s dng lp RBTMan v sau m mt subsession s dng RBTSecuritySettings ng k hoc b ng k dch v vi server ca BSM. S dng i tng Security Setting thuc lp TBTServiceSecurity dng thit lp khi s dng authentication, autorisation, v hoc cn encryption.

o Qu Thi An Trn Th M Hnh

195

Tm hiu cng ngh Bluetooth v vit ng dng minh ha 7.7.2. Kt ni vo Bluetooth Security Manager.

c th s dng Bluetooth Security Manager, ng dng phi thc hin cc bc sau: 1 : To ra mt phin lm vic mi v kt ni vi BSM server thng qua lp RBTMan. Lp RBTMan cung cp kt ni ti BSM server, lp ny c nh ngha trong file header btmanclient.h nh sau : class RBTMan : public RSessionBase { public: IMPORT_C RBTMan(); IMPORT_C TInt Connect(); IMPORT_C TVersion Version() const; }; 2: To ra mt phin lm vic con( subsession) ti BSM server s dng lp RBTSecuritySettings, v m ra mt phin lm vic mi. Mt ng dng c th c nhiu phin lm vic con nu cn. 3: ng subsession v session khi s dng xong : s dng phng thc: RBTMan::Close(), v RBTSecuritySettings::Close(). on code sau m t cch kt ni ti Bluetooth Security Manager : /* 1. To v m mt phin lm vic mi v kt ni ti BSM server thng qua lp RBTMan */ RBTMan secMan; User::LeaveIfError(secMan.Connect()); /* 2. To v m mt subsession */ RBTSecuritySettings secmanSubSession; User::LeaveIfError(secmanSubSession.Open(secMan)); ... /* 3. ng session v subsession khi s dng xong*/

o Qu Thi An Trn Th M Hnh

196

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

secmanSubSession.Close(); secMan.Close();
7.7.3. Thit lp cc ch bo mt :

Trong tt c cc thit b Bluetooth , vic thit lp cc yu cu v bo mt v an ton i vi mt dch v ch n gin vic ch nh c s dng hay khng cc ch bo mt l authentication, authorisation, hay encryption. thit lp cc yu cu v bo mt, thc hin cc bc sau : * To ra mt i tng thuc lp TBTServiceSecurity thit lp cc yu cu v an ton,bo mt. Khi to i tng vi giao thc Bluetooth m dch v s dng, port ca dch v, mt dnh danh duy nht ca dch v. * Thit lp trong i tng TBTServiceSecurity l cn ch an ton v bo mt no : authentication, authorisation, hay encryption. * Gi hm RBTSecuritySetting::RegisterService() ng k cc thit lp vi BSM server. on code v d sau thit lp cc an ton v bo mt ca dch v l authentication, authorisation, v encryption :
/* Gi s secmanSubSession l mt subsession m nh trn, v channel l port m mt dch v RFCOMM ang chy trn */ // 1. To ra i tng TBTServiceSecurity TUid serviceUID; serviceUID.iUid = 0X10008AD0; TBTServiceSecurity secSettings(serviceUID, KSolBtRFCOMM, channel); // 2.Thit lp cc ty chn v an ton, bo mt. secSettings.SetAuthentication(ETrue); secSettings.SetAuthorisation(ETrue); secSettings.SetEncryption(ETrue);

o Qu Thi An Trn Th M Hnh

197

Tm hiu cng ngh Bluetooth v vit ng dng minh ha // 3. ng k dch v vo BMS server. TRequestStatus status; secmanSubSession.RegisterService(secSettings,status); User::WaitForRequest(status);

7.8. Bluetooth Device Selection UI. Khi c nhiu thit b Bluetooth ph hp tm kim c xung quanh, ng dng cn phi hin th chng ti ngi dng v ngi dng chn thit b thch hp thc hin kt ni. Symbian cung cp mt chc nng cho php thc hin tm kim cc thit b Bluetooth v hin th chng cho ngi dng. Vic ny c thc hin thng qua lp RNotifier. Lp ny c nh ngha trong file header e32std.h. Lp TBTDeviceSelectionParams cho php mt ng dng truyn vo cc tham s khi to cho qu trnh chn la class TBTDeviceSelectionParams { public: IMPORT_C TBTDeviceSelectionParams(); IMPORT_C void SetUUID(const TUUID& aUUID); IMPORT_C void SetDeviceClass( TBTDeviceClass aClass); IMPORT_C const TUUID& UUID(); IMPORT_C TBTDeviceClass DeviceClass(); IMPORT_C TBool IsValidDeviceClass(); IMPORT_C TBool IsValidUUID(); ... }; Bng cch dng hm SetDeviceClass() , ng dng c th gii hn s lng nhng thit b cn tm kim.
o Qu Thi An Trn Th M Hnh 198

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

ng dng cng c th xc nh cc UUID ca dch v m n cn tm. iu ny s lm cho qu trnh tm kim ch tm kim nhng thit b c h tr dch v m ng dng yu cu. Vic ny thc hin thng qua hm SetUUID(). tm kim tt c cc thit b, ng dng nn i tng TBTDeviceSelectionParams gi tr mc nh. Sau khi ngi dng chn thit b mun giao tip, thng tin v thit b m ngi dng la chn s c tr v cho ng dng thng qua i tng ca lp TBTDeviceResponseParams. Lp ny c nh ngha trong file header btextnotifiers.h . nh ngha ca n nh sau: class TBTDeviceResponseParams { public: IMPORT_C TBTDeviceResponseParams(); IMPORT_C void SetDeviceAddress( const TBTDevAddr& aBDAddr); IMPORT_C void SetDeviceName( const TDesC& aName); IMPORT_C void SetDeviceClass( TBTDeviceClass aClass); IMPORT_C const TBTDevAddr& BDAddr() const; IMPORT_C const TDesC& DeviceName() const; IMPORT_C TBTDeviceClass DeviceClass(); IMPORT_C TBool IsValidBDAddr() const; IMPORT_C TBool IsValidDeviceName() const; IMPORT_C TBool IsValidDeviceClass(); ... }; Hm IsValidxxxx() c dng bo m rng cc thng tin lin quan c thit lp trong lp. V d, nu hm IsValidDBAddr() tr v gi tr true, ng dng bit c rng a ch ca thit b Bluetooth c thit lp trong lp TBTDeviceResponseParams. Nu hm ny tr v gi tr false c ngha l

o Qu Thi An Trn Th M Hnh

199

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

cha c d liu v a ch thit b Bluetooth trong lp ny. ng dng c th nhn c a ch thit b thng qua hm BDAddr() v tn ca thit b thng qua hm DeviceName(). Symbian cung cp mt tp cc gi d liu ng gi cc lp va trnh by bn trn: TBTDeviceSelectionParamsPckg TBTDeviceResponseParamsPckg Ni tm li, quy trnh thc hin tm kim thit b c m t nh sau:
// Kt ni vo server trc khi c th s dng RNotifier not; User::LeaveIfError(not.Connect()); TBTDeviceSelectionParamsPckg selectionFilter; // Thc hin tm kim v hin th cho ngi dng not.StartNotifierAndGetResponse( status, KDeviceSelectionNotifierUid, selectionFilter, aResponse ); // i ngi dng chn thit b cn giao tip User::WaitForRequest(status); if (status.Int() == KErrNone) { if (aResponse().IsValidDeviceName()) { success = ETrue; } else { iReporter.Error(_L("Failed to connect")); }

o Qu Thi An Trn Th M Hnh

200

Tm hiu cng ngh Bluetooth v vit ng dng minh ha } else { iReporter.Error(_L("No device selected")); } not.CancelNotifier(KDeviceSelectionNotifierUid); not.Close(); return success;

7.9. Xy dng ng dng Bluetooth trn Symbian OS vi Series 60 SDK ng dng Bluetooth trn Symbian OS cng c to ra nh bt k mt ng dng no khc c xy dng vi Symbian C++. B cng c pht trin ng dng Series 60 SDK v Series 80 Developer Platform 2.0 SDK cung cp mt tp cc hm Bluetooth APIs cho vic xy dng cc ng dng Bluetooth vi Symbian C++, v mt b gi lp thit b test ng dng. Chng ta c th test ng dng vi cc trng hp sau : 1 : Tm kim thit b Bluetooth xung quanh. 2 : Truy vn cc dch v Bluetooth c h tr. 3 : Thit lp mt kt ni ti thit b khc. 4 : Gi v nhn d liu. Trong khun kh ca lun vn, chng em ch xin gii thiu cch xy dng ng dng Bluetooth vi b cng c pht trin ng dng Series 60 SDK.
7.9.1. S khc nhau v Bluetooth trn thit b o v thit b tht.

Mi trng pht trin ng dng ( b gi lp thit b trn PC) v mi trng thit b tht khc nhau. Th hin cc im sau : Hiu nng ca thit b o v thit b tht khc nhau. Chng giao thc Bluetooth v cc ci t bn di ca thit b o Thit b o khng np tt c cc dch v Bluetooth ca n khi

v thit b tht khc nhau nh th hin trong hnh bn di y. khi ng ,trong khi thit b tht np th c. Nu mun mt thit b khc

o Qu Thi An Trn Th M Hnh

201

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

mun yu cu kt ni vo my o th trc my o phi khi to cc dch v cn thit. lm c iu ny xin xem thm cc v d v Bluetooth i km vi b SDK.

Hnh 7-6 S khc bit gia chng giao thc Bluetooth trn thit b tht v trn my o

Do , ng dng trc khi hon thnh cn phi c test cn thn trn mt thit b tht.
7.9.2. Cc yu cu v phn cng v phn mm cho vic pht trin ng

dng Bluetooth vi Series 60 SDK : * c th pht trin ng dng Bluetooth cho series 60, bn cn phi c mt my tnh bn s dng h iu hnh Windows 2000 hoc Windows XP, cng vi b Series 60 SDK c ci t.

o Qu Thi An Trn Th M Hnh

202

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

* V phn cng Bluetooth, b gi lp h tr phn cng Bluetooth vi phin bn ca Host Controller Interface (HCI) l BCSP v H4 UART ca, vi tc baud-rate l 115.2 kbps, giao tip thng qua giao din cng COM ca Windows, v vy, ch c th s dng cc phn cng Bluetooth tng thch vi BCSP v H4 UART m thi. B gi lp cha ng cc chng giao thc Bluetooth , v vy, thit b Bluetooth khng cn thm bt c mt phn mm iu khin no na. * Thit b phn cng Bluetooth vi giao din USB khng c b SDK h tr, v vy, c th s dng USB Bluetooth vi my o, cn phi c driver chuyn i USB Bluetooth ph hp vi my o. Hin nay ch c driver ca hng Cyberabi ( www.cyberabi.com ) cho php s chuyn i : Nu bn s dng Series 60 SDK v1.2, bn cn c driver DTL_X . Nu bn s dng Series 60 SDK v2.1, bn cn phi s dng driver BH4_X. * Trong lun vn ny, chng em ch xin hng dn cch s dng vi thit b phn cng Bluetooth l USB Bluetooth Dongle.
7.9.3. Ci t v cu hnh thit b USB Bluetooth.

+ cu hnh Bluetooth USB c th gi lp thit b Bluetooth vi my o, trc ht bn cn phi c Driver DTL_X hoc BH4_X ca Cyberabi. + G b tt c cc driver ca thit b Bluetooth USB ci t trn my tnh, g thit b USB Bluetooth ra khi my tnh, khi ng li my tnh. + Gn USB Bluetooth vo cng USB ca my tnh. Khi my tnh s nhn ra thit b Bluetooth USB mi cm vo v yu cu chn driver cho thit b . Ta chn ng dn n th mc c cha driver DTL_X hoc BH4_X. + Sau khi ci driver cho thit b Bluetooth xong, mt COM port mi l c to ra. y chnh l Bluetooth virtual COM port. Ta s s dng COM port ny cho my o. Khi , trong Device Manager ca Windows, ta s thy c mt cng COM mi to ra nh sau :

o Qu Thi An Trn Th M Hnh

203

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 7-7 Virtual Bluetooth COM port to ra trn my tnh. + Sau khi cng Bluetooth COM c to ra, thc hin cu hnh Bluetooth cho thit b gi lp nh sau : Vi b SDK v1.2 : M file ....\ Epoc32\Wins\c\system\data\bt.esk V thay i cu hnh file bt.esk nh sau :

Hnh 7-8 Cu hnh Bluetooth COM port cho thit b gi lp


o Qu Thi An Trn Th M Hnh 204

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Thay con s v tr port thnh con s ca Bluetooth port m ta va to ra. Lu l con s m ta nhp vo y phi nh hn con s ca Bluetooth port mt n v, ngha l nu Bluetooth port l COM4 th trong file bt.esk ta thay port thnh 3. Lu l thit b gi lp ch cho php s dng vi cc cng COM t COM2 ti COM6, nu sau khi ci driver DTL_X hoc BH4_X m to ra cng COMx vi x <1 hoc x>6 , ta phi thit lp li s ca cng cho ph hp. By gi, thit b gi lp sn sng cho vic xy dng v kim th cc ng dng Bluetooth.

Phn 3 XY DNG NG DNG MINH HA S DNG CNG NGH BLUETOOTH


Xy dng chng trnh trao i phonebook gia in thoi di ng vi my tnh, v vi in thoi di ng thng qua Bluetooth. Chng 8. Phn tch v thit k ng dng trao i phonebook qua Bluetooth. Chng 9. Ci t v th nghim. Chng 10. Tng kt

o Qu Thi An Trn Th M Hnh

205

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Chng 8 PHN TCH V THIT K NG


DNG TRAO I PHONEBOOK
8.1. Gii thiu
ng dng PbkExchange c xy dng nhm h tr cho vic qun l v trao i danh b in thoi ca ngi dng in thoi di ng. Ngi dng c th thng Bluetooth trao i danh b in thoi gia hai in thoi hoc lu v hoc phc hi danh b in thoi bng cch lu ra my tnh. ng dng PbkExchange c pht trin cho cc in thoi s dng h iu hnh Symbian trn nn h thng Series 60 v c ci t th nghim thc t trn in thoi Nokia 6600, Nokia 3230. Do s dng b cng c pht trin ng dng l Series 60 SDK v1.2 h tr cc in thoi thuc Series 60 trn nn h iu hnh Symbian 6.1, v vy chng trnh PbkExchange ny cng c th chy trn cc loi in thoi thuc series 60 khc nh Nokia 7610, Nokia 3360, N_Gage...

8.2. Phn tch v xc nh yu cu


Mc ch chnh ca ng dng l thc hin cc kt ni v trao i d liu qua Bluetooth, cho php ngi dng trao i phonebook (s danh b trn in thoi) gia hai in thoi di ng thuc Series 60, hoc trao i phonebook gia in thoi v my tnh lu tr trn my tnh. ng dng PbkExchange gm hai phn : phn ng dng chy trn in thoi v phn ng dng chy trn my tnh. Cc yu cu ca ng dng: + Thc hin cc kt ni Bluetooth. + Trao i s danh b gia in thoi v my tnh + Trao i s danh b gia hai in thoi. + Thc hin cc thao tc qun l s danh b : thm, xa, sa cc phn t.

o Qu Thi An Trn Th M Hnh

206

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

8.3. Qui trnh kt ni v gi nhn d liu


Trong mt phin kt ni Bluetooth im ni im gia hai thit b Bluetooth thng qua giao thc Serial port , thng s c mt thit b khi to Bluetooth trc v thc hin qung b dch v Bluetooth Serial Port ti thit b Bluetooth khc, sau lng nghe cc yu cu kt ni t thit b khc, ta gi l Server, thit b cn li s thc hin vic tm kim cc thit b Bluetooth xung quanh, chn thit b cn kt ni v gi yu cu kt ni ti thit b l server, ta gi thit b l client. Qui trnh thc hin kt ni v truyn nhn d liu gia hai thit b c th hin nh s UML sau :

o Qu Thi An Trn Th M Hnh

207

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

: User

: Client

: Server

1. Khoi dong Server 1.1. Mo socket lang nghe, cho ket noi
1.1.1. Quang ba dich vu

Cho ket noi

2. Ket noi den Sever


2.1. Tim thiet bi
2.1.1. Du lieu phan hoi

3. Danh sach cac thiet bi Bluetooth tim duoc

3.1. Chon thiet bi


3.1.1. Truy van dich vu 3.1.1.1. Du lieu phan hoi
3.1.2. Yeu cau ket noi

4. Hien thi thong bao nhap mat ma ket noi


4.1. Nhap mat ma chap nhan ket noi 5. Chap nhan ket noi
6. San sang nhan du lieu

5.1. San sang nhan du lieu

7. Goi du lieu sang server


Tuong tu cho viec goi du lieu sang client

7.1. Goi du lieu sang server


7.1.1. Nhan va xu li du lieu 8. San sang nhan du lieu
9. San sang nhan du lieu

Hnh 8-1 Qui trnh kt ni v gi nhn d liu

o Qu Thi An Trn Th M Hnh

208

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

8.4. Xy dng phn ng dng trn in thoi


* Phn ng dng PbkExchange trn in thoi c hai vai tr : Server v Client : + Khi thc hin kt ni vi my tnh : in thoi ng vai tr client : n s gi yu cu kt ni ti my tnh, v my tnh ng vai tr Server. + Khi thc hin kt ni gia hai in thoi : mt in thoi s ng vai tr server : n s khi to Bluetooth v lng nghe yu cu kt ni t in thoi khc, mt in thoi s ng vai tr client : gi yu cu kt ni ti server. * Cc chc nng ca phn ng dng trn in thoi : Cho php thc hin cc thao tc trn phonebook ca in thoi: thm xa, sa cc contact. Thc hin khi to v thit lp cc kt ni Bluetooth Sau khi thc hin kt ni thnh cng, c server v client u c kh nng gi v nhn d liu : thc hin vic trao i phonebook thng qua Bluetooth. X l d liu nhn c. Cc lp chnh ca PbkExchange phn trn in thoi :

Hnh 8-2 S lp ca phn ng dng trn in thoi.

o Qu Thi An Trn Th M Hnh

209

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

STT 1

Tn lp CPbkExchangeAppUi

Chc nng y l lp x l chnh ca chng trnh, l lp nhn v x l cc s kin t ngi dng, lp ny cng c nhim v giao tip vi cc lp gi v nhn d liu qua Bluetooth , thao tc vi lp RFile, x l d liu nhn c.

CMessageClient

Thc hin tm kim thit b server, gi yu cu kt ni, qun l kt ni, nhn v gi d liu khi ng vai tr l client.

CMessageServer

Thc hin khi to Bluetooth, chp nhn kt ni v thc hin cc thao tc trao i d liu, qun l kt ni.

4 5

CPbkExchangeMainView CPbkExchangeMainContainer

Qun l cc menu v phn giao din ca ng dng. H tr cho lp CPbkExchangeMainView trong vic qun l giao din ca ng dng.

CMessageServiceSearcher, CBTServiceSearcher

Tm thit b v dch v Bluetooth, ly Port h tr CMessageClient thc hin kt ni H tr vic ly, phn tch thuc tnh cc record ca dch v H tr lp CMessageServer trong vic qung b dch v Bluetooth Serial Port.

7 8

MSdpAttributeNotifier, TSdpAttributeParser CMessageServiceAdvertiser

Hnh 8-3 M t chc nng cc lp ca phn ng dng trn in thoi.

o Qu Thi An Trn Th M Hnh

210

Tm hiu cng ngh Bluetooth v vit ng dng minh ha 8.4.1. Phn Server

Khi mt in thoi ng vai tr server, n lng nghe v chp nhn kt ni t client khc : in thoi s phi khi to Bluetooth trc v thc hin qung b dch v Bluetooth Serial Port ti cc thit b khc. S lp khi thit b ng vai tr server:

Hnh 8-4 S lp ca phn ng dng trn in thoi (Server)

* Lp CPbkEchangeAppUi l lp th hin giao din ngi dng ca ng dng, n s dng mt th hin ca lp CMessageServer : + Khi to dch v Bluetooth Serial Port + Cho php s kt ni ca cc thit b Bluetooth khc. + Qung b dch v Bluetooth Serial Port. + Chp nhn mt kt ni socket. + Thc hin cc thao tc gi v nhn d liu qua Bluetooth. * Lp CMessageServer s dng mt s lp ca h iu hnh Symbian sau : + Lp RSocketServ : giao tip vi socket server ca thit b. + Lp RSocket : Cung cp cc hm cho vic to socket, c v ghi d liu qua socket. C hai th hin ca lp RSocket : iListeningSocket : lng nghe cc yu cu kt ni t client. iAcceptSocket : Socket kt ni vi client : thc hin vic truyn v nhn d liu thng qua socket ny.
o Qu Thi An Trn Th M Hnh 211

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

+ Lp RBTMan v RBTSecuritySettings : to ra mt phin lm vic (session) ti Bluetooth Security Manager (BSM), dng ng k v hy b cc ng k cc dch v vi BSM. Cc thit lp v an ton ca mt dch v c cha trong cu trc TBTServiceSecurity. + Lp CMessageServiceAdvertiser c lp CMessageServer s dng qung b dch v Bluetooth Serial Port. Lp ny s dng hai lp ca Symbian l RSdp v RSdpDatabase to mt phin lm vic ti Bluetooth SDP Database. Vic thc hin qung b dch v Bluetooth Serial Port c thc hin bng cch to mt record thch hp trong SDP Database. * S UML sau th hin qu trnh qung b dch v ca server :

Hnh 8-5 Qung b dch v ca Server Hm 1-2 M t Ngi dng chn vo menu StartListen trn thit b, lc ny hm HandleCommanL ca lp CPbkExchangeAppUi c gi, v tip hm StartL() ca lp CMessageServer c gi.

o Qu Thi An Trn Th M Hnh

212

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hm StartL() s lm nhim v tm kim mt port lng nghe, thit lp cc ch an ton trn , v m port lng nghe. 3-4 StartL() gi hm StartAdvertisingL() ca lp CMessageAdvertiser qung b dch v Bluetooth Serial Port ti cc thit b khc. Bin trng thi iState ca CMessageServer mang gi tr : EWaitingForConnect 5-7 Thit lp mt kt ni vi thit b client khi nhn c yu cu kt ni. Hm RunL() ca CMessageServer c gi, bin trng thi iState chuyn t EWaitingForConnect thnh EWaitingForMessage 8-10 Nhn d liu t Client, hm RequestData(), v hm ReceiveOneOrMore() c gi nhn d liu khi c gi ti.

Bng 3-1 M t cc hm qung b dch v * S UML sau th hin vic nhn d liu t Client :

Hnh 8-6 Nhn d liu t Client

o Qu Thi An Trn Th M Hnh

213

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Sau khi thc hin kt ni vi client, Server lun trng thi sn sng nhn d liu t client. Khi client thc hin truyn d liu, hm RequestData() trn server c gi, v hm RecvOneOrMore() c gi nhn d liu t socket. D liu nhn c c truyn qua cho lp CPbkExchangeAppUi x l. * Thc hin truyn Phonebook ti Client :

Hnh 8-7 Truyn d liu phonebook ti client


8.4.2. Phn Client

ng dng trn in thoi s ng vai tr Client khi n gi yu cu kt ni ti my tnh hoc ti in thoi khc. Lc ny, n s phi thc hin vic tm kim thit b Bluetooth xung quanh, chn thit b kt ni ti v thc hin kt ni. S lp th hin khi thit b ng vai tr l Client :

o Qu Thi An Trn Th M Hnh

214

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh 8-8 S lp ca phn ng dng trn in thoi (Client) * Lp CPbkExchangeAppUi l lp th hin giao din ngi dng ca ng dng, n s dng mt th hin ca lp CMessageClient thc hin kt ni Bluetooth vi Server v thc hin cc trao i d liu thng qua Bluetooth vi Server. Lp CMessageClient s dng lp RSocketServ v RSocket m mt socket truyn v nhn d liu. Trc khi c th m mt socket, i tng CMessageClient phi thc hin vic tm kim thit b Bluetooth server, truy vn dch v c trn server xem c cung cp dch v l Bluetooth Serial Port khng v thc hin kt ni vi Server. * Thc hin tm kim thit b:

o Qu Thi An Trn Th M Hnh

215

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

: CMessageClient : FrameWork

: CMessageServiceSearcher

: RNotifier

EGettingDevice 1: ConnectL() 2: SelectDeviceByDiscoveryL(..) 3: StartNotifierAndGetResponse(..)

Hnh 8-9 S tm kim thit b Hm 13 M t Hm ConnectL ca i tng CMessageClient c gi, n thit lp bin trng tri (iState) l EGettingDevice v gi hm SelectDeviceByDiscoveryL ca i tng CMessageServiceSearcher. V hm ny gi hm StartNotifierAndGetResponse ca i tng RNotifier tm v chn thit b m n nhn c. Sau khi ngi dng chn thit b xong hm RunL ca i tng CMessageClient s c gi.

Bng 3-2 M t cc hm tm thit b * Thc hin truy vn dch v

o Qu Thi An Trn Th M Hnh

216

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

: CMessageClient : FrameWork

: CMessageServiceSearcher

: CSdpAgent

EGettingService 1: RunL() 2: FindServiceL(..) 3: SetRecordFilterL(..) 4: NextRecordRequest(..)

5: NextRecordRequestComplete(..) 6: AttributeRequestL(..) 7: AttributeRequestResult() 8: AttributeRequestComplete(..) 9: NextRecordRequest(..) 10: NextRecordRequestComplete(..) 11: Finished(..) 12: RequestComplete(..)

Hnh 8-10 S UML truy vn dch v trn thit b Hm 12 M t Sau khi ngi dng chn thit b mun kt ni th hm RunL s c gi, lc ny bin trng thi iState l EGettingService, v gi hm FindServiceL ca i tng CMessageServiceSearcher tm Serial Port service record trong SDP database ca thit b mun kt ni . 34 FindServiceL thit lp mt b lc ch nhn nhng Serial Port service record bng cch gi hm SetRecordFilter ca i tng CSdpAgent. Sau NextRecordRequest c gi tm Serial Port record trong SDP database ca thit b mun kt ni. 56 Khi mt record c tm thy, i tng CSdpAgent gi hm callback NextRecordRequestComplete, ca hm ny i gi hm tng NextRecordRequestCompleteL

o Qu Thi An Trn Th M Hnh

217

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

CMessageServiceSearcher, n lt mnh hm ny li gi hm AttributeRequestL ca i tng CSdpAgent yu cu thuc tnh u tin ca record. 7 Khi i tng CSdpAgent nhn c mt thuc tnh n gi hm callback AttributeRequestResult, n lt mnh hm ny gi hm AttributeRequestResultL ca i tng CMessageServiceSearcher. Mt b phn tch s phn tch cc thuc tnh ny. Nu nhng thuc tnh ny l Protocol Descriptor List, b phn tch s ly channel (port) v 8 12 Khi gn tt n c vo cc bin thnh vin iPort c ca tm i thy, tng hm CMessageServiceSearcher. thuc tnh AttributeRequestCompleteL s c gi v hm ny s gi hm NextRecordRequest trong trng hp c record Serial Port service khc trong SDP database. Nu khng c thm record no th i tng CSdpAgent s gi hm NextRecordRequestComplete v c EoF s c thit lp.Tip theo, hm Finished s c gi v hm ny gi hm RequestComplete, hon tt hm ny hm RunL ca i tng CMessageClient s c gi. Bng 3-3 M t cc hm truy vn dch v

8.5. Xy dng phn ng dng PbkExchange trn my tnh


ng dng PbkExchange trn my tnh ng vai tr Server trong qu trnh kt ni v trao i d liu. ng dng trn Server s khi to Bluetooth, qung b dch v Bluetooth Serial Port ti cc thit b khc, v chp nhn kt ni vi client khi nhn c yu cu kt ni. Khi kt ni thnh cng, qu trnh trao i d liu c th c din ra. Cc bc xy dng server:
8.5.1. Kt ni vo cng COM :

Thay v m Socket lng nghe ch kt ni nh trn di ng th trn my tnh ta ch cn m mt cng COM c driver ca thit b nh sn, l

o Qu Thi An Trn Th M Hnh

218

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

cng COM m thit b Bluetooth s lng nghe kt ni t client. Vic ny c thc hin mt cch n gin nh sau: sprintf(sCommPortBuf, "\\\\.\\%s", sCommPort); m_hBluetoothHandle = CreateFile(sCommPortBuf, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, // no security OPEN_EXISTING, 0, // not overlapped I/O NULL); sCommPort l kiu chui, v d COM5 m_hBluetoothHandle kiu HANDLE Hm CreateFile m cng COM vi port l 5 v tr v Handle ca cng COM.
8.5.2. Qung b dch v

Vic qung b dch v Bluetooth Serial Port c driver ca thit b Bluetooth thc hin, ng dng Bluetooth ch cn kt ni vo COM port m driver ch nh sn l c th chp nhn cc yu cu kt ni no t client.
8.5.3. Chp nhn kt ni

Khi c Client yu cu kt ni th Server s t ng chp nhn kt ni


8.5.4. Thc hin truyn v nhn d liu :

Vic truyn v nhn d liu ca ng dng trn my tnh thc ra l vic c v ghi d liu ra cng COM m ng dng kt ni vo. lm vic , ta s dng cc hm c v ghi d liu sau : BOOL ReadFile( HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead,
o Qu Thi An Trn Th M Hnh 219

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

LPOVERLAPPED lpOverlapped ); BOOL WriteFile( HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped ); Tn tham s hFile lpBuffer nNumberOfBytesToRead, nNumberOfBytesToWrite lpNumberOfBytesRead, lpNumberOfBytesWrite lpOverlapped L mt con tr tr ti cu trc OVERLAPPED, do cng COM c m vi hm CreateFile vi tham s th 6 bng 0 ( khng s dng Overlapped) do tham s ny bng NULL. Bng 3-4 Tham s hm ReadFile v WriteFile S byte thc t nhn hoc truyn i c. M t HANDLE ca cng COM c m vi hm CreateFile nh trn (m_hBluetoothHandle) Con tr tr ti buffer cha d liu truyn i hoc nhn c. S byte d liu s nhn hoc truyn

o Qu Thi An Trn Th M Hnh

220

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Chng 9 CI T V TH NGHIM
9.1. Ci t: ng dng PbkExchange c xy dng vi mi trng pht trin ng dng sau: Mi trng ci t ng dng : Windows XP Professional Service park 2 Mi trng lp trnh : Microsoft Visual C++ 6.0 B cng c pht trin ng dng Series 60 SDK v1.2 h tr Microsoft Visual C++ 6.0 Cng c Rational Rose Phn cng Bluetooth : Phn ng dng trn my tnh : Bluetooth USB. Phn ng dng trn in thoi : Gi lp my o vi Bluetooth l USB Bluetooth , v phn mm DTL_X driver. Kim th vi Nokia 6600, Nokia 3230 9.2. Th nghim ng dng PbkExchange c th nghim trn my o ca Series 60 SDK v1.2 v trn in thoi Nokia 6600 v Nokia 3230 Th nghim trn my o : Th nghim kt ni vi Nokia 6600 : Kt ni tt, kh n nh Gi nhn d liu tt. Tc x l d liu nhanh. Hin th hnh nh (hnh nn) : kh nhanh, gn nh tc thi. Th nghim trn in thoi Nokia 6600, v Nokia 3230 : Kt ni vi PC : o Tc kt ni nhanh, n nh

o Qu Thi An Trn Th M Hnh

221

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

o Gi nhn d liu tt. o Tc x l d liu chm hn my o. Kt ni gia hai in thoai : Tc kt ni : kh nhanh, n nh Gi nhn d liu : tt. Tc x l d liu chm hn my o Hin th hnh nh (hnh nn) : chm hn my o, khong 2 giy. Chng trnh chy tt trn Nokia 6600, Nokia 3230 v c xy dng bng b Series 60 SDK v1.2, do c th chy trn cc loi in thoi thuc Series 60 khc.

Chng 10 TNG KT
Vi mong mun tm hiu cng ngh, k thut mi v c s phn cng v hng dn ca c Hunh Thy Bo Trn, chng em hon thnh lun vn c nhn cng ngh thng tin vi ti Tm hiu cng ngh Bluetooth v vit ng dng minh ha. Sau khi thc hin ti, chng em t c mt s kt qu sau : Tm hiu c cng ngh Bluetooth, mt cng ngh khng dy ang pht trin rt mnh v c tm ng dng rng ri hin nay, nm c cch thc hot ng, cc c im k thut v kh nng ca cng ngh Bluetooth. Thm vo , trong qu trnh tm hiu v Bluetooth, chng em cng nm c mt s k thut mng khng dy khc. Tm hiu c mt h iu hnh dnh cho in thoi di ng thng minh ph bin nht hin nay, l h iu hnh Symbian, bit c s lc v cu trc ca h iu hnh Symbian, v cch xy dng ng dng trn Symbian. Hin nay, Symbian ang ngy cng pht trin mnh m v m ra mt mi trng lp trnh mi y tim nng cho cc lp trnh vin : lp trnh ng dng cho in thoi thng minh.

o Qu Thi An Trn Th M Hnh

222

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

minh ha cho vic s dng cng ngh Bluetooth, chng em xy dng c mt ng dng thc hin vic trao i phonebook gia hai in thoi di ng Series 60 , v trao i phonebook gia in thoi di ng Series 60 v my tnh. Qua , chng em nm c vic xy dng ng dng s dng giao tip Bluetooth gia cc thit b l in thoi Symbian v my tnh. Mc d c gng ht sc, nhng do thi gian c hn, v vic tm hiu cng ngh mi cng gp phi nhiu kh khn do khng c nhiu ti liu v thi gian tm hiu, v vy, ng dng ca chng em ch mang tnh minh ha cho vic s dng cng ngh m thi.

PH LC A : Mt s thut ng s dng trong lun vn


ISM (Industrial, Scientific, Medical): dy tng 2.40- 2.48 GHz, dy bng tng khng cn ng k c dnh ring dng cho cc thit b khng dy trong cng nghip, khoa hc, y t. SIG (Special Interest Group): nhm nghin cu SIG chnh thc c thnh lp vi mc ch pht trin cng ngh Bluetooth trn th trng vin thng. Bt k cng ty no c k hoch s dng cng ngh Bluetooth u c th tham gia vo. CSR (Cambridge Silicon Radio): mt ni nghin cu ch to chip Bluetooth. CES (Consumer Electronics Show): hi ngh v cc sn phm in t t chc Las Vegas, M. OBEX (OBject EXchange protocol): chun ng b ha d liu cho PDA. MAC (Media Access Control): iu khin truy co truyn thng. AMA (Active Member Address ) : a ch 3 bit dnh cho thit b ang hot ng trong piconet. PMA (Packed Member Address) : con s 8 bits phn bit cc packed Slave vi nhau v c ti a 255 thit b trng thi ny trong 1 Piconet

o Qu Thi An Trn Th M Hnh

223

Tm hiu cng ngh Bluetooth v vit ng dng minh ha ACL (Asynchronous connectionless) : phi kt ni bt ng b, dnh cho truyn d liu. SCO (Synchronous connection-oriented): kt ni ng b c nh hng. CRC (Cyclic Redundancy Check): gi kim li theo chu k. FCC( Federal Communications Commission): iu l quy nh vic s dng sng radio trn th gii. FDMA (Frequency Division Multiple Access): a truy cp phn chia theo tng s. TDMA (Time Division Multiple Access): a truy cp phn chia theo thi gian. CDMA (Code Division Multiple Access): a truy cp phn chia theo m. DS-CDMA (Direct sequence - Code Division Multiple Access): chui qun l CDMA. TS (timeslot) : khe thi gian. FEC (Forward Error Correction) : sa li trc. LMP (Link Manament Protocol) : giao thc qun l kt ni. Device Access Code (DAC): m truy cp thit b. Channel Access Code (CAC): m truy cp knh truyn. Inquiry Access Code (IAC): m truy cp qu trnh inquiry. HCI (Host Controller Interface): giao din iu khin my ch. SDP (Service Discovery Protocol): giao thc tm kim dch v. PDU (protocol data unit): mt nh dng gi tin trong SDP. UUID (Universal Unique Indentifier): s nh danh duy nht dnh cho mi dch v. A2DP (Advanced Audio Distribution Profile) AVRCP (Audio/Video Remote Control Profile) BIP (Basic Imaging Profile) BPP(Basic Printing Profile) CIP(Common ISDN Access Profile) CTP (Cordless Telephony Profile) DUN (Dial-up Networking Profile) FAX (Fax Profile)

o Qu Thi An Trn Th M Hnh

224

Tm hiu cng ngh Bluetooth v vit ng dng minh ha FTP (File Transfer Profile) GAVDP (General Audio/Video Distribution Profile) GAP (Generic Access Profile) GOEP (Generic Object Exchange Profile) HFP (Hands Free Profile) HCRP (Hard Copy Cable Replacement Profile) HSP (Headset Profile) HID (Human Interface Device Profile) ICP (Intercom Profile) OPP (Object Push Profile) PAN (Personal Area Networking Profile) SPP (Serial Port Profile) SDAP (Service Discovery Application Profile) SAP (SIM Access Profile) SYNCH (Synchronisation Profile) VDP (Video Distribution Profile) HFP 1.5 (Handsfree Profile 1.5) UDI (Unrestricted Digital Information) WAP (Wireless application Protocol over BT) ESDP (Extended Service discovery profile) LPP (Local Positioning Profile) VCP (Video Conferencing Profile) DID (Device ID) PPP (Point-To-Point Protocol) IEEE (Institute of Electrical and Electronics Engineers) AP (access point) CSMA/CA (Carrier Sense Multiple Access vi Collision Avoidance) IrDA (Infrared Data Association) WLAN (Wireless LAN) SSID (System Set Identifer) BD_ADDR (Bluetooth device address hoc MAC address) AU RAND: thng ip mi ngu nhin 128 bit

o Qu Thi An Trn Th M Hnh

225

Tm hiu cng ngh Bluetooth v vit ng dng minh ha RNG (Random Number Generator): quy trnh to s ngu nhin FHS: Frequency Hop Synchronization: ng b nhy tn s. LAP: Lower Address Part: phn a ch 24 bit thp trong BD_ADDR UAP: Upper Address Part: phn a ch 8 bit cao trong BD_ADDR NAP field: non-significant address part: phn a ch 16 bit khng quan trng trong BD_ADDR DoS (Denial of Service): t chi dch v PCMCIA (Personal Computer Memory Card International Association): t chc quc t v b nh trong my tnh c nhn. MMS messages: l mt loi tin nhn a phng tin c trao i gia cc in thoi Symbian v nhng in thoi khc c h tr MMS. Claimant: thit b yu cu Verifier: thit b xc minh IMEI (International Mobile Equipment Identity) AT (Attention) command set: tp lnh AT, mt tiu chun i vi phn mm iu khin modem do hng Hayes Microcomputer Products son tho v c a ra ln u tin dng vi modem Smartmodems. PSM (Protocol/Service Multiplexer ports): cng a thnh phn dnh cho dch v hoc giao thc. AFH (Adaptive Frequency Hopping): phng php chng nhiu tt hn bng cch nhy tng s. eSCO (extended Synchronous Connections): kt ni ng b m rng. RSSI (Received Signal Strength Indicator): thng bo mnh ca tn hiu nhn c. API (Application Programming Interface): API l tp cc chc nng c cung cp bi mt h thng v tp hp cc API ny th hin chc nng ca h thng . Cleanup stack: Mt ngn xp c bit lu gi cc bin t ng (bin cc b) l cc con tr tr n vng nh heap c th gii phng cc vng nh ny khi hm cha bin t ng b thot do li mi trng Descriptor : Kiu d liu trn Symbian, c th c dng biu din chui hoc d liu nh phn.

o Qu Thi An Trn Th M Hnh

226

Tm hiu cng ngh Bluetooth v vit ng dng minh ha EPOC (Electronic Pocket Communication): Th h c ca h iu hnh Symbian. Epoc vn cn c s dng trong mt s phn trn h iu hnh Symbian nh trn Emulator hay cu trc th mc. J2ME (Java 2 Platform, Mirco Edition): Bn phn phi ca nn h thng Java nhm n cc thit b gia dng, thit b truyn thng nh. Cng ngh J2ME gm my o Java v tp cc API c thit k cho mi trng trn cc thit b ny. Leave: Kh nng ngt hot ng ti hm ni xy ra li mi trng v chuyn n phn x l li. Cc hm c th leave c tn hm kt thc bng ch ci L. Nn h thng (Platform): Mt tp cng ngh c xem nh l nn tng cho cc ng dng th gii thc hoc cho cc nn h thng cao hn. H iu hnh Symbian l nn h thng cho h thng giao din nh Series 60 hay UIQ v s kt hp Symbian v h thng giao din to nn h thng cho ng dng Symbian. UID (Unique Identifier) - nh danh: s xc nh duy nht cho mt loi chng trnh hay phn bit ga cc ng dng trong h iu hnh Symbian. Cc gi tr nh danh ny l duy nht trn ton thit b dng h iu hnh Symbian.

PH LC B : Hng dn s dng chng trnh PbkExchange


1. S dng ng dng PbkExchange trn in thoi : Giao din chnh ca ng dng trn in thoi :

o Qu Thi An Trn Th M Hnh

227

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh B - 1 Giao din ng dng trn in thoi. Khi thc hin trao i phonebook gia hai in thoi, mt in thoi phi ng vai tr Server : khi to v qung b dch v Bluetooth ti cc thit b khc, mt in thoi ng vai tr Client: gi yu cu kt ni ti server. Khi thc hin trao i phonebook vi my tnh, in thoi ng vai tr client : gi yu cu kt ni ti my tnh. * S dng Server : s dng chng trnh, trc ht dch v Bluetooth trn thit b phi c bt ln v thit lp ch m cc thit b Bluetooth khc c th tm thy c. Trn menu chnh ca chng trnh chn vo Start Listen khi to server, khi , dch v Bluetooth Serial Port s c khi to v qung b dch v ti cc thit b khc.

o Qu Thi An Trn Th M Hnh

228

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh B - 2 Khi to in thoi l server Sau , Server s trng thi lng nghe yu cu kt ni t cc in thoi khc, khi menu ca ng dng s chuyn thnh :

Hnh B - 3 Trng thi lng nghe y, ngi dng c th a ng dng thot khi trng thi lng nghe kt ni bng cch chn vo mc Stop Listen. Khi c mt in thoi khc gi yu cu kt ni ti, nu thit b cha c cp php truy cp vo server, mt thng bo s hin ln yu cu ngi dng xc nhn s truy cp :

o Qu Thi An Trn Th M Hnh

229

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh B - 4 Xc nhn yu cu kt ni

Khi ngi dng ng kt ni, vic kt ni s c thc hin. Nu kt ni thnh cng, vic trao i d liu sn sng c thc hin. Khi , menu ca ng dng s chuyn thnh :

Hnh B - 5 Menu sau khi kt ni thnh cng Ngi dng c th chn thc hin cc ch trao i phonebook l : truyn ton b phonebook ti my c kt ni (chn mc : Send PhoneBook) hoc chn ch l chn cc contact s truyn (chn mc : Select Send Item). Khi ngi dng chn mc Select Send Item, mt dialog s hin ra cho php ngi dng chn cc contact s truyn. Vic truyn d liu s din ra sau khi ngi dng nhn OK.

o Qu Thi An Trn Th M Hnh

230

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh B - 6 La chn cc contact truyn Khi nhn c d liu t my kt ni ti, mt thng bo s hin ra cho ngi dng xc nhn xem c thc hin thm cc contact mi nhn vo phonebook hay khng. Vic thm cc contact vo phonebook s din ra nu ngi dng chn Yes, nu chn No, d liu nhn c s b hy b.

Hnh B - 7 S dng ng dng PbkExchange

chm dt kt ni, ngi dng chn vo mc Disconnect trn menu, khi , ng dng s thc hin chm dt kt ni v chuyn v menu ban u nh lc mi khi to. * S dng Client: Sau khi khi to, ti menu ca ng dng, ngi dng chn vo mc Connect To Device :

o Qu Thi An Trn Th M Hnh

231

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh B - 8 Khi to in thoi l client Khi , nu Bluetooth cha c bt ln, mt thng bo s xut hin xc nhn xem ngi dng c mun bt Bluetooth ln khng. Nu Bluetooth c bt ln, tip , ng dng s thc hin vic tm kim thit b Bluetooth xung quanh, ngi dng s chn thit b thc hin kt ni.

Hnh B - 9 La chn thit b kt ni Khi kt ni thnh cng, vic trao i phonebook c thc hin ging nh i vi Server. 2. S dng ng dng PbkExchange trn my tnh :

Giao din ca ng dng trn in thoi nh sau :

o Qu Thi An Trn Th M Hnh

232

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh B - 10 Giao din ng dng PbkExchange trn my tnh. c th kt ni vi in thoi, ngi dng phi chn ng cng COM m driver ca USB Bluetooth ch nh lng nghe kt ni t in thoi. Cc cng COM c trn my c lit k trong Combo box cho ngi dng chn, hoc ngi dng c th nhp vo bng bn phm cng COM lng nghe vi nh dng : COMx( vi x l s hiu cng, v d : COM1, COM2 ...). Khi chn ng cng, ngi dng nhn vo nt nhn Listen kt ni vo cng COM , khi , Driver ca USB Bluetooth s t ng thit lp v qung b dch v Bluetooth Serial Port v lng nghe cc yu cu kt ni t in thoi.

Hnh B - 11 Combo Box la chn cng COM D liu v phonebook c lu trong file c ng dn trong textbox Data File.

Hnh B - 12 File d liu

o Qu Thi An Trn Th M Hnh

233

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Cc contact ca phonebook hin hnh (ang x l) c th hin trong Listbox :

Hnh B - 13 Listbox cha phonebook hin hnh Khung cha sau th hin thng tin vn tt v contact ang c chn trong listbox trn :

Hnh B - 14 Thng tin s lc ca mt contact Ngi dng c th xem thng tin chi tit ca contact ny bng cch nhn vo nt Detail, hoc double-click vo contact trn listbox. Sau khi kt ni vi in thoi thnh cng, ngi dng c th thc hin truyn d liu sang in thoi, c th truyn tt c cc contact c trong listbox hoc chn cc contact s truyn.

Nt nhn Send Pbk to phone s thc hin truyn ton b phonebook qua in thoi, nt Send Selected Items s thc hin truyn cc contact c chn trn listbox qua in thoi.

o Qu Thi An Trn Th M Hnh

234

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Vic truyn d liu ch c thc hin khi c mt in thoi kt ni thnh cng vi my tnh. Ngoi ra, chng trnh cn cho php ngi dng to ra cc contact trn my tnh truyn qua in thoi. Khi nhn vo nt New Contact, mt dialog s hin ra cho php nhp cc thng tin ca mt contact mi :

Hnh B - 15 Dialog NewContact

Mt s chc nng khc ca ng dng nh : lu file, np file, xa contact ra khi phonebook, hin th mt vi thng tin lin quan n chng trnh trong textbox log nh c kt ni thnh cng hay khng, cng COM c sn sng hay khng, cc thng tin v qu trnh trao i d liu.

Hnh B - 16 Textbox Log

o Qu Thi An Trn Th M Hnh

235

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

PH LC C : Xy dng ng dng HelloWorld trn Symbian vi Series 60 SDK v1.2


Trong phn ny, chng ta s xy dng mt ng dng HelloWorld xut ra mn hnh mt li cho HelloWorld nhm minh ha cho vic xy dng ng dng vi Series 60 SDK v to file ci t (.sis) ca ng dng.

1. Ci dt cc chng trnh cn thit :


Microsoft Visual C++ 6.0 ( cn ci thm service pack, t nht l service pack 3) Ci t mi trng thc thi Java, y, do dng b SDK v1.2 nn ta dng Java Runtime Environment 1.3.1 ph hp vi cc cng c ca b SDK. Ci t Perl (Perl c dng chy cc Tool cho Symbian nh bin dch, to file .sis hay cc Tool tin ch khc...) Ci t b Series 60 SDK v1.2. Ci t Application Wizard v MmpClick i km theo b SDK theo hng dn ci nm hai th mc tng ng l: \Symbian\6.1\Series60\Series60Tools\applicationwizard \Symbian\6.1\Series60\Series60Tools\mmpclick v

2. To Project
Sau khi ci t thnh cng b SDK v cc cng c nh Application Wizard v MmpClick, ta c th to mt project mi cho ng dng trn Symbian mt cch d dng trong Visual C++ 6.0. Trong Visual C++ 6.0 : Chn : File-> New Chn Series 60 AppWizard v1.9

o Qu Thi An Trn Th M Hnh

236

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Nhp tn Project v ni to project, nhn next tip tc.

Hnh C - 1 To Project symbian mi trn visual C++ Tip , ta nguyn cc thit lp mc nh, nhn Finish kt thc Wizard, khi , mt mn hnh s xut hin thng bo cc thng tin v ng dng s to :

o Qu Thi An Trn Th M Hnh

237

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Hnh C - 2 Thng tin project mi to ra Nhn OK xc nhn, khi , mt project mi xy dng ng dng cho Symbian c to ra.

3. Cu trc th mc ca ng dng HelloWorld


Sau khi kt thc Wizard to ng dng, mt th mc mi ca ng dng c to ra c cu trc nh sau :

Hnh C - 3 Cu trc th mc ca ng dng HelloWorld Th mc group :Th mc d n, cha file d n: HelloWorld.mmp, bld.inf. Th mc inc : cha cc file Header ca cc lp v cha cc file khai bo ti nguyn. Th mc src : l th mc m ngun, cha cc file ci t ca chng trnh. Th mc data : Th mc d liu: cha d liu cn cho chng trnh ng dng. Th mc aif : Th mc thng tin ng dng: cha file ti nguyn .rss to file .aif v cc hnh nh, ti nguyn phc v cho ng dng. Tp hp cc hnh ny c lu tr trong mt file .mbm (multi bitmap). Th mc install : cha cc file .pkg, cc thnh phn ci t b sung cho ng dng nh hnh nn, file d liu....

o Qu Thi An Trn Th M Hnh

238

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

4. M mt project c :
m mt project c, ta vo th mc group ca project, click phi vo file .mmp, chn Create VC Workspace :

Hnh C - 4 M mt project c Khi , project s c to mt workspace c th m trong Visual C, v m project, ta click phi vo file .mmp v chn Open VC Workspace

Hnh C - 5 M mt project c

5. Xy dng v bin dch ng dng


ng dng c th c xy dng v kim li ngay trong mi trng VC nh cc ng dng Visual C khc, c th bin dch ng dng, c th chn t menu Build hoc nhn F7. chy ng dng, chn Execute t menu Build hoc nhn F5, khi visual C s yu cu chn n file thc thi ca ng dng, y, ta chn ng dn ti my o ca Series 60 :

o Qu Thi An Trn Th M Hnh

239

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

[ni ci t SDK]\Epoc32\Release\wins\udeb\epoc.exe :

Hnh C - 6 Chy ng dng HelloWorld Khi , my o ca Series 60 s c chy, ta s dng cc phm di chuyn chuyn ti ng dng mi to v chn m ng dng :

Hnh C - 7 ng dng HelloWorld Khi , chng ta hon thnh ng dng HelloWorld.

6. To file ci t cho ng dng HelloWorld:


ng dng sau khi kim th thnh cng trn thit b o, c th ci t ng dng trn in thoi tht, chng ta phi to file ci t .sis cho ng dng.

o Qu Thi An Trn Th M Hnh

240

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

to file ci t cho ng dng, chng ta c th to t dng lnh bng cch s dng lnh makesis ca Symbian, hoc s dng cng c mmpclick ca b SDK nh sau : + Trc ht phi bin dch ng dng vi thit lp dnh cho h thng AMRI nh sau: Trn thanh cng c ca EPOC, chn mc Epoc Package File Utility, chn : target ARMI, v bin dch li ng dng bng cch lick vo mc Epoc Build Utility trn thanh cng c ca EPOC.

Hnh C - 8 Bin dch ng dng cho h thng ARMI Hoc c th bin dch cho h thng ARMI bng cch click phi vo file .mmp v chn mc Build for armi nh sau :

Hnh C - 9 Bin dch ng dng cho h thng ARMI

o Qu Thi An Trn Th M Hnh

241

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

Khi , mt mn hnh console s xut hin cho bit tnh trng bin dch v thng bo li nu c ca ng dng cho h thng ARMI. + Sau khi bin dch ng dng dnh cho h thng ARMI, ta s dng cng c Sisar ca b SDK to file ci t cho ng dng nh sau: M Sisar : C:\Symbian\6.1\Shared\EPOC32\Tools\sisar\sisar.jar. Chn File->New Project v thit lp cc cu hnh cho project Sisar mi : T Tool Import PKG file : chn ti file HelloWorld.pkg

trong th mc install ca ng dng. Trong Tab : Configuration, chn ch nh n th mc lu project v file .sis s to ra.

Hnh C - 10 To file ci t Khi , to file .sis, chn : Tool Build SIS file, sau , mt file .sis s c to ra trong th mc project ch nh trn.

o Qu Thi An Trn Th M Hnh

242

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

7. Ci t ng dng trn thit b tht:


Sau khi to c file .sis, ng dng sn sng c ci t trn in thoi tht. ci t ng dng c th s dng chc nng ci t trn PC ca b PC Suit hoc truyn file .sis vo in thoi (bng Bluetooth , hng ngoi, hoc thng qua Cable) v s dng chc nng ci t ng dng c trn in thoi.

Ti liu tham kho


Ti liu vit: [ 1] ng Minh Thng, Chu Nguyn T, Xy dng h thng iu khin my tnh t xa s dng cng ngh Bluetooth, Lun vn c nhn tin hc, i hc Khoa hc T nhin TP.H Ch Minh, 2004. [ 2] Jan Beutel, Oliver Kasten, Matthias Ringwald, Frank Siegemund, Lothar Thiele, Bluetooth Smart Nodes for Mobile Ad-hoc Networks, Swiss National Science Foundation, 2003 [ 3] Nupur Mittal, Bluetooth Technology Models and Future, Exforsys Inc, 2005 [ 4] Charlie White, Bluetooth: Past, Present and Future, CEN talks with Mike Foley, Executive Director, Bluetooth SIG, Digital Media Online, 2005 [ 5] Peter Judge, Why Bluetooth version 2 matters, Techworld, 2005 [ 6] Forum Nokia Bluetooth Technology Overview Nokia, 2003 [ 7] David Kammer, Gordon McNutt, Brian Senese, Jennifer Bray, The Short Range Interconnect Solution Application Developers Guide, Synpress , 2002. [ 8] Atmel Corporation The Bluetooth Wireless Technology White Paper,2000 [ 9] Sil Janssens, Preliminary study:BLUETOOTH SECURITY, 2004 [ 10] Jahanzeb Khan, Anis Khwaja, Building Secure Wireless Networks with 802.11, Wiley Publishing, Inc., Indianapolis, Indiana, 2003
o Qu Thi An Trn Th M Hnh 243

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

[ 11] Steven Vittitoe, Bluetooth Security, SANS Institute 2004, [ 12] By Michelle Man, BLUETOOTH AND WI-FI, Socket Communications, Inc.,2002 [ 13] Pico Communications, A Comparison of Bluetooth and Wi-Fi (802.11b), Pico Communications, 2001. [ 14] Dr. Peter Driessen, Bluetooth Evaluation Project, BlueSuit Research, 2001. [ 15] Eric Holland, Understanding Your Wireless Options, Sensors online, 2004 [ 16] Bluetooth Specification of the Bluetooth System, Bluetooth, 2004. [ 17] Forum Nokia Developer Platform 1.0 for Series 60: Getting Started with C++ Application Development - Nokia, 2003 [ 18] Forum Nokia Series 60 Application Framework Handbook - Nokia, 2002 [ 19] Forum Nokia Introduction to Series 60 Applications for C++ Developers - Nokia, 2002 [ 20] Forum Nokia Setting Up and Using Bluetooth Hardware with Development Tools - Nokia, 2004 [ 21] Forum Nokia Designing Bluetooth Applications in C++- Nokia, 2004 [ 22] Nokia Series 60 SDK Help Nokia Series 60 SDK 1.2 [ 23] Forum Nokia Using Contact APIs Nokia, 2004

Website: [ 24] Symbian, http://www.symbian.com [ 25] Forum Nokia, http://www.forum.nokia.com [ 26] Palo wireless, http://www.palowireless.com

o Qu Thi An Trn Th M Hnh

244

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

[ 27] http://www.bluetooth.com [ 28] http://www.bluetooth.org [ 29] http://www.zedge.no. [ 30 http://www.securityfocus.com [ 31] The Codeproject, http://www.codeproject.com [ 32] The Codeguru, http://www.codeguru.com [ 33] SourceForge, http://www.sourceforge.net [ 34] Experts Exchange, http://www.experts-exchange.com [ 35] The NewLC, http://www.newlc.com [ 36] Forum GSM , www.gsm.com.vn/forum/ [ 37] Series 60, www.Series60.com

o Qu Thi An Trn Th M Hnh

245

You might also like