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

0112421

TRN TH M HNH

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

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

1.1.

Khi nim Bluetooth. ................................................................................ 12

1.2.

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


1.2.1.

Lch s tn Bluetooth:....................................................................... 12

1.2.2.

Hnh thnh v pht trin ca Bluetooth: ........................................... 12

1.3.

Cc c im ca Bluetooth. .................................................................... 14

1.4.

ng dng ca Bluetooth. .......................................................................... 15


1.4.1.

Thit b thng minh........................................................................... 15

1.4.2.

Thit b truyn thanh......................................................................... 16

1.4.3.

Thit b truyn d liu....................................................................... 17

1.4.4.

Cc ng dng nhng. ........................................................................ 18

1.4.5.

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.

Slaver Unit : ...................................................................................... 21

2.1.2.

Piconet: ............................................................................................. 22

2.1.3.

Scatternet: ......................................................................................... 23

2.1.4.

Kt ni theo kiu ad hoc: .................................................................. 25

2.1.5.

nh ngha cc lin kt vt l trong Bluetooth: ................................ 26

2.1.6.

Trng thi ca thit b Bluetooth: ..................................................... 26

2.1.7.

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

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.

S dng ng dng PbkExchange trn in thoi :.................................. 227

2.

S dng ng dng PbkExchange trn my tnh :.................................... 232

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

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.

1.4.1. Thit b thng minh.

Gm c cc loi in thoi di ng, PDA, PC, cellphone, smartphone


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)

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

Request

to

Send

(RTS)
106 Clear to Send (CTS)
107

Data

Set

Ready

(DSR)
108 Data Terminal Ready
(DTR)
109 Data Carrier Detect
(CD)

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

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

o Qu Thi An Trn Th M Hnh

68

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

Bluetooth

Phin bn khng dy ca Thay th cp c nhn


S dng in hnh
(Typical usage)

chun Ethernet (wireless (wireless USB) cho


Ethernet), ch thay th

nhiu ng dng khc

cp cho truy cp mng

nhau.

LAN.

Truy cp mng khng

Truy cp mng khng

dy vi khong cch

dy vi khong cch di. trung bnh.


Bng thng

11 Mbps, chia s.

1 Mbps, chia s.

2 n 3 Mbps vi WEP.

Version 1.1 v 1.2 l


723.1 Kbps, version 2.0
l 2.1 Mbps, thp hn
khi b nhiu.

Nhiu

Cc thit b s dng

Cc thit b s dng sng

sng radio khc, cc vt

radio khc, cc vt liu

liu xy dng, trang

xy dng, trang thit b.

thit b.
Bo mt

Khng an ton nu

o Qu Thi An Trn Th M Hnh

Bo mt thp. Lin kt

72

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

khng bo v tt. Cn

c thit lp mc

gii quyt nhng trc

s thm nh quyn

trc ca mng, truy cp

(authentication). Kh

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


"nh hi mng" (hay

sniffing. Vn cn ph

cn gi l d tm l

thuc vo s thm nh

hng mng thng qua

quyn cp ng dng

vic d tun t cc gi

v s mt ho.

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.

Thp.

Thi gian s dng pin

C 3 ch nng lng

rt ngn do tiu th

thp (Hold mode, Sniff

nhiu nng lng v duy mode, Park mode) gip


tr kt ni.

tng thi gian s dng


pin.

Khong cch

200 m - 11 Mbps.

(ngoi tri)

500 m - 1 Mbps.

Khong cch

40 m - 11 Mbps.

(trong nh)

100 m - 1 Mbps.

S knh

11 DSSS.

30 m-100 m.
10 m-30 m.
79

79FHSS.
Nng lng truyn

20 dBmFHSS.

o Qu Thi An Trn Th M Hnh

20 dBm

73

Tm hiu cng ngh Bluetooth v vit ng dng minh ha

ti a

30 dBmDSSS.

Tn s

2.4GHz -b/g

2.4GHz

5.8GHz - a
Gi thnh
Kt ni theo ng

Cao

Thp

Khng

Khng

H tr trong mt s

H tr trong laptop hin

laptop hin i, PDA:

i, nhiu in thoi di

i external H/W card,

ng, PDA, thit b in

Notebook computer,

t, thit b t ng trong

desktop computer,

cng nghip v vn

server.

phng.

trong tm hot ng

Bt c ni no c t nht

ca cc thit b WLAN,

2 thit b Bluetooth.

thng

Thit b h tr

thng l trong cc to

V tr s dng

nh.
Ngy bt u pht

1990

1998

Nhiu, chia s.

Ti a 8, chia s.

IP&P2P.

P2P.

trin
S thit b c th truy
cp ng thi

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

Bluetooth

K thut khng dy Thay th cp c nhn


S dng in hnh
(Typical usage)

dng tia hng ngoi Truy cp mng khng


truyn d liu

dy vi khong cch

Giao tip point-to-point trung bnh


hoc point-to-multipoint
khong cch ngn
4Mbps - 16Mbps

1 Mbps, chia s
Version 1.1 v 1.2 l

Bng thng

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

an ton cao. Phn cn li (authentication).

Kh

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.

Ngi dng cn phi


gn mt access point,
khong 10m. Nhng vi

Khong cch

thit b c bit th
khong cch ny c
tng ln.
Rt thp

Gi thnh

Thp

Bt buc.
Tm
Kt ni theo ng

hot

Khng.
ng

C th xuyn qua vt

trong mt hnh nn c cn.


m gc chp l 300 v

thng

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
thoi di ng, PC, PDA, i, nhiu in thoi di

Thit b h tr

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
S thit b c th truy

nghip

nghip.

phng

Nhiu, chia s

Ti a 8, chia s

vn

cp ng thi
Bng 1-2 So snh IrDA v Bluetooth

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.

To Bluetooth key t s PIN (Bluetooth Key Generation from

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

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.

Tin trnh m ha trong Bluetooth (Bluetooth Encryption

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.

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:

o Qu Thi An Trn Th M Hnh

107

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.

Thng tin

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

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

Mobile

Anti-Virus

dit

Doomboot.A

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:

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.

Thng tin

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

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.

Thng tin

Tn: Mabir.A
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 8128bit.
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 khng th thit lp cc ng dng thi
gian thc.

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

X2,

Siemens

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.

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 phin bn Windows mi hn.


+ 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.

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

ConstructL();

CClassX *iX;
};
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);

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();

//Pha 2

return me;
}
CExam* CExam::NewL()
{
CExam* me = CExam::NewLC();
CleanupStack:: pop (me);

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

trng

thuc

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

hoc

lp

CSdpAttrValueDEA

gi

hm

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


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;

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

thc

hin

truy

vn

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

cho

client

lp

TBTServiceSecurity

bo

mt.

Lp

ng

gi

cc

cu

hnh

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

v thit b tht khc nhau nh th hin trong hnh bn di y.

Thit b o khng np tt c cc dch v Bluetooth ca n khi

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

: Client

: User

: 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


7.1. Goi du lieu sang server

Tuong tu cho viec goi


du lieu sang client

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.

CPbkExchangeMainView

Qun l cc menu v phn giao din


ca ng dng.

CPbkExchangeMainContainer

H tr cho lp
CPbkExchangeMainView trong vic
qun l giao din ca ng dng.

CMessageServiceSearcher,

Tm thit b v dch v Bluetooth, ly

CBTServiceSearcher

Port h tr CMessageClient thc hin


kt ni

7
8

MSdpAttributeNotifier,

H tr vic ly, phn tch thuc tnh

TSdpAttributeParser

cc record ca dch v

CMessageServiceAdvertiser

H tr lp CMessageServer trong vic


qung b dch v Bluetooth Serial
Port.

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

: CMessageServiceSearcher

: RNotifier

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

Hnh 8-9 S tm kim thit b


Hm

M t

13

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

: CMessageServiceSearcher

:
CSdpAgent

: FrameWork
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

M t

12

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,

NextRecordRequestCompleteL

o Qu Thi An Trn Th M Hnh

ca

hm

ny
i

gi

hm
tng

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

gn

vo

bin

thnh

vin

iPort

ca

tng

CMessageServiceSearcher.
8 12

Khi

tt

cc

thuc

tnh

tm

thy,

hm

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

M t
HANDLE ca cng COM c m vi hm
CreateFile nh trn (m_hBluetoothHandle)

lpBuffer

Con tr tr ti buffer cha d liu truyn i


hoc nhn c.

nNumberOfBytesToRead,

S byte d liu s nhn hoc truyn

nNumberOfBytesToWrite
lpNumberOfBytesRead,

S byte thc t nhn hoc truyn i c.

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

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

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 : ToolBuild 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