Download as pdf or txt
Download as pdf or txt
You are on page 1of 142

KHOA CNG NGH THNG TIN B MN IN T - VIN THNG

ON NGC PHNG

BI GING: LP TRNH TRN IN THOI DI NG

TP BI GING (Lu hnh ni b)

THI NGUYN THNG 08/NM 2010


1

CHNG 2: CC CNG NGH S DNG TRN THIT B DI NG

2.1 Cng ngh mng thng tin di ng GSM 2.1.1 Qu trnh pht trin ca mng thng tin di ng GSM Nhng nm u 1980, h thng vin thng t bo trn th gii pht trin mnh m c bit l Chu u m khng c chun ha v cc ch tiu k thut. iu ny thc gic Lin minh Chu u v Bu chnh vin thng CEPT (Conference of European Posts and Telecommunications) thnh lp nhm c trch v di ng GSM (Groupe Spcial Mobile) vi nhim v pht trin mt chun thng nht cho h thng thng tin di ng c th s dng trn ton Chu u. Ngy 27 thng 3 nm 1991, cuc gi u tin s dng cng ngh GSM c thc hin bi mng Radiolinja Phn Lan (mng di ng GSM u tin trn th gii). Nm 1989, Vin tiu chun vin thng Chu u ETSI (European Telecommunications Standards Institute) quy nh chun GSM l mt tiu chun chung cho mng thng tin di ng ton Chu u, v nm 1990 ch tiu k thut GSM phase I (giai on I) c cng b. Nm 1992, Telstra Australia l mng u tin ngoi Chu u k vo bin bn ghi nh GSM MoU (Memorandum of Understanding). Cng trong nm ny, tha thun chuyn vng quc t u tin c k kt gia hai mng Finland Telecom ca Phn Lan v Vodafone ca Anh. Tin nhn SMS u tin cng c gi i trong nm 1992. Nhng nm sau , h thng thng tin di ng ton cu GSM pht trin mt cch mnh m, cng vi s gia tng nhanh chng ca cc nh iu hnh, cc mng di ng mi, th s lng cc thu bao cng gia tng mt cch chng mt. Nm 1996, s thnh vin GSM MoU ln ti 200 nh iu hnh t gn 100 quc gia. 167 mng hot ng trn 94 quc gia vi s thu bao t 50 triu.

Nm 2000, GPRS c ng dng. Nm 2001, mng 3GSM (UMTS) c i vo hot ng, s thu bao GSM vt qu 500 triu. Nm 2003, mng EDGE i vo hot ng. Cho n nm 2006 s thu bao di ng GSM ln ti con s 2 t vi trn 700 nh iu hnh, chim gn 80% th phn thng tin di ng trn th gii. 2.1.2. Kin trc tng qut

Hnh 2-1 M hnh h thng thng tin di ng GSM Cc k hiu:

OSS

: Phn h khai thc v h tr

BTS

: Trm v tuyn gc

AUC

: Trung tm nhn thc

MS

: Trm di ng

HLR

: B ghi nh v thng tr

ISDN

: Mng s lin kt a dch v

MSC

: Tng i di ng

PSTN (Public Switched Telephone Network):

BSS

: Phn h trm gc

Mng chuyn mch in thoi cng cng : Mng chuyn mch gi cng cng

BSC

: B iu khin trm gc : Trung tm khai thc v bo dng : Phn h chuyn mch : B ghi nh v tm tr

PSPDN

OM C SS VLR

CSPDN (Circuit Switched Public Data Network): Mng s liu chuyn mch knh cng cng PLMN : Mng di ng mt t cng cng

EIR

: Thanh ghi nhn dng thit b

Cc thnh phn chc nng trong h thng Mng thng tin di ng cng cng mt t PLMN (Public Land Mobile Network) theo chun GSM c chia thnh 4 phn h chnh sau: Trm di ng MS (Mobile Station) Phn h trm gc BSS (Base Station Subsystem) Phn h chuyn mch SS (Switching Subsystem)
4

Phn h khai thc v h tr (Operation and Support Subsystem) Trm di ng (MS - Mobile Station) Trm di ng (MS) bao gm thit b trm di ng ME (Mobile Equipment) v mt khi nh gi l moun nhn dng thu bao (SIM-Subscriber Identity Module). l mt khi vt l tch ring, chng hn l mt IC Card hoc cn gi l card thng minh. SIM cng vi thit b trm (ME-Mobile Equipment) hp thnh trm di ng MS. SIM cung cp kh nng di ng c nhn, v th ngi s dng c th lp SIM vo bt c my in thoi di ng GSM no truy nhp vo dch v ng k. Mi in thoi di ng c phn bit bi mt s nhn dng in thoi di ng IMEI (International Mobile Equipment Identity). Card SIM cha mt s nhn dng thu bao di ng IMSI (International Subcriber Identity) h thng nhn dng thu bao, mt mt m xc thc v cc thng tin khc. IMEI v IMSI hon ton c lp vi nhau m bo tnh di ng c nhn. Card SIM c th chng vic s dng tri php bng mt khu hoc s nhn dng c nhn (PIN). Trm di ng GSM thc hin hai chc nng: tuyn. ng k thu bao, chc nng th hai ny mi thu bao phi c mt th gi l SIM card. Tr mt s trng hp c bit nh gi cp cu thu bao ch c th truy nhp vo h thng khi cm th ny vo my. Phn h trm gc (BSS - Base Station Subsystem) BSS giao din trc tip vi cc trm di ng MS bng thit b BTS thng qua giao din v tuyn. Mt khc BSS thc hin giao din vi cc tng i phn h chuyn mch SS. Tm li, BSS thc hin u ni cc MS vi tng i v nh vy u ni nhng ngi s dng cc trm di ng vi nhng ngi s dng vin thng khc. BSS cng phi c iu khin, do n c u ni vi phn h vn hnh v bo dng OSS. Phn h trm gc BSS bao gm: TRAU (Transcoding and Rate Adapter Unit): B chuyn i m v phi hp tc . BSC (Base Station Controler): B iu khin trm gc.
5

Thit b vt l giao tip gia thu bao di ng vi mng qua ng v

BTS (Base Transceiver Station): Trm thu pht gc. Khi BTS (Base Tranceiver Station): Mt BTS bao gm cc thit b thu /pht tn hiu sng v tuyn, anten v b phn m ha v gii m giao tip vi BSC. BTS l thit b trung gian gia mng GSM v thit b thu bao MS, trao i thng tin vi MS qua giao din v tuyn. Mi BTS to ra mt hay mt s khu vc vng ph sng nht nh gi l t bo (cell). Khi TRAU (Transcode/Rate Adapter Unit): Khi thch ng v chuyn i m thc hin chuyn i m thng tin t cc knh v tuyn (16 Kb/s) theo tiu chun GSM thnh cc knh thoi chun (64 Kb/s) trc khi chuyn n tng i. TRAU l thit b m qu trnh m ho v gii m ting c th ring cho GSM c tin hnh, ti y cng thc hin thch ng tc trong trng hp truyn s liu. TRAU l mt b phn ca BTS, nhng cng c th c t cch xa BTS v thm ch cn t trong BSC v MSC. Khi BSC (Base Station Controller): BSC c nhim v qun l tt c giao din v tuyn thng qua cc lnh iu khin t xa. Cc lnh ny ch yu l lnh n nh, gii phng knh v tuyn v chuyn giao. Mt pha BSC c ni vi BTS, cn pha kia ni vi MSC ca phn h chuyn mch SS. Giao din gia BSC v MSC l giao din A, cn giao din gia BTS v BSC l giao din A.bis. Cc chc nng chnh ca BSC: 1. Qun l mng v tuyn: Vic qun l v tuyn chnh l qun l cc cell v cc knh logic ca chng. Cc s liu qun l u c a v BSC o c v x l, chng hn nh lu lng thng tin mt cell, mi trng v tuyn, s lng cuc gi b mt, cc ln chuyn giao thnh cng v tht bi... 2. Qun l trm v tuyn gc BTS: Trc khi a vo khai thc, BSC lp cu hnh ca BTS ( s my thu/pht TRX, tn s cho mi trm... ). Nh m BSC c sn mt tp cc knh v tuyn dnh cho iu khin v ni thng cuc gi.

3. iu khin ni thng cc cuc gi: BSC chu trch nhim thit lp v gii phng cc u ni ti my di ng MS. Trong qu trnh gi, s u ni c BSC gim st. Cng tn hiu, cht lng cuc u ni c my di ng v TRX gi n BSC. Da vo m BSC s quyt nh cng sut pht tt nht ca MS v TRX gim nhiu v tng cht lng cuc u ni. BSC cng iu khin qu trnh chuyn giao nh cc kt qu o k trn quyt nh chuyn giao MS sang cell khc, nhm t c cht lng cuc gi tt hn. Trong trng hp chuyn giao sang cell ca mt BSC khc th n phi nh s tr gip ca MSC. Bn cnh , BSC cng c th iu khin chuyn giao gia cc knh trong mt cell hoc t cell ny sang knh ca cell khc trong trng hp cell ny b nghn nhiu. 4. Qun l mng truyn dn: BSC c chc nng qun l cu hnh cc ng truyn dn ti MSC v BTS m bo cht lng thng tin. Trong trng hp c s c mt tuyn no , n s t ng iu khin ti mt tuyn d phng. Phn h chuyn mch (SS - Switching Subsystem) Phn h chuyn mch bao gm cc khi chc nng sau: Trung tm chuyn mch nghip v di ng MSC Thanh ghi nh v thng tr HLR Thanh ghi nh v tm tr VLR Trung tm nhn thc AuC Thanh ghi nhn dng thit b EIR Phn h chuyn mch (SS) bao gm cc chc nng chuyn mch chnh ca mng GSM cng nh cc c s d liu cn thit cho s liu thu bao v qun l di ng ca thu bao. Chc nng chnh ca SS l qun l thng tin gia nhng ngi s dng mng GSM vi nhau v vi mng khc. Trung tm chuyn mch di ng MSC: Tng i di ng MSC (Mobile services Switching Center) thng l mt tng i ln iu khin v qun l mt s cc b iu khin trm gc BSC. MSC thc hin cc chc nng chuyn mch chnh, nhim v chnh ca MSC l to kt ni v x l cuc gi n nhng thu bao ca GSM, mt mt MSC giao tip vi phn h BSS v mt khc giao tip vi mng ngoi qua tng i cng GMSC (Gateway MSC).
7

Chc nng chnh ca tng i MSC: X l cuc gi (Call Processing) iu khin chuyn giao (Handover Control) Qun l di ng (Mobility Management) Tng tc mng IWF(Interworking Function): qua GMSC

Hnh 2-2 Chc nng x l cuc gi ca MSC (1): Khi ch gi quay s thu bao di ng b gi, s mng dch v s lin kt ca thu bao di ng, s c hai trng hp xy ra : (1.a) Nu cuc gi khi u t mng c nh PSTN th tng i sau khi phn tch s thoi s bit y l cuc gi cho mt thu bao di ng. Cuc gi s c nh tuyn n tng i cng GMSC gn nht. (1.b) Nu cuc gi khi u t trm di ng, MSC ph trch m trm di ng trc thuc s nhn c bn tin thit lp cuc gi t MS thng qua BTS c cha s thoi ca thu bao di ng b gi. (2): MSC (hay GMSC) s phn tch s MSISDN (The Mobile Station ISDN) ca thu bao b gi tm ra HLR ni MS ng k. (3): MSC (hay GMSC) s hi HLR thng tin c th nh tuyn n MSC/VLR qun l MS. (4): HLR s tr li, khi MSC (hay GMSC) ny c th nh tuyn li cuc gi n MSC cn thit. Khi cuc gi n MSC ny, VLR s bit chi tit hn v v tr ca MS.
8

Nh vy c th ni thng mt cuc gi mng GSM, l chc nng x l cuc gi ca MSC. kt ni MSC vi mt s mng khc cn phi thch ng cc c im truyn dn ca mng GSM vi cc mng ny. Cc thch ng ny gi l chc nng tng tc IWF (Inter Networking Function). IWF bao gm mt thit b thch ng giao thc v truyn dn. IWF c th thc hin trong cng chc nng MSC hay c th thit b ring, trng hp hai giao tip gia MSC v IWF c m. B ghi nh v thng tr (HLR - Home Location Register): HLR l c s d liu tham chiu lu gi lu di cc thng tin v thu bao, cc thng tin lin quan ti vic cung cp cc dch v vin thng. HLR khng ph thuc vo v tr hin thi ca thu bao v cha cc thng tin v v tr hin thi ca thu bao. HLR bao gm: Cc s nhn dng: IMSI, MSISDN. Cc thng tin v thu bao Danh sch cc dch v m MS c s dng v b hn ch S hiu VLR ang phc v MS B ghi nh v tm tr (VLR - Visitor Location Register): VLR l mt c s d liu cha thng tin v tt c cc MS hin ang vng phc v ca MSC. Mi MSC c mt VLR, thng thit k VLR ngay trong MSC. Ngay c khi MS lu ng vo mt vng MSC mi. VLR lin kt vi MSC s yu cu s liu v MS t HLR. ng thi HLR s c thng bo rng MS ang vng MSC no. Nu sau MS mun thc hin mt cuc gi, VLR s c tt c cc thng tin cn thit thit lp mt cuc gi m khng cn hi HLR, c th coi VLR nh mt HLR phn b. VLR cha thng tin chnh xc hn v v tr MS vng MSC. Nhng khi thu bao tt my hay ri khi vng phc v ca MSC th cc s liu lin quan ti n cng ht gi tr. Hay ni cch khc, VLR l c s d liu trung gian lu tr tm thi thng tin v thu bao trong vng phc v MSC/VLR c tham chiu t c s d liu HLR. VLR bao gm:
9

Cc s nhn dng: IMSI, MSISDN, TMSI. S hiu nhn dng vng nh v ang phc v MS Danh sch cc dch v m MS c v b hn ch s dng Trng thi ca MS ( bn: busy; ri: idle) Thanh ghi nhn dng thit b (EIR - Equipment Identity Register): EIR c chc nng kim tra tnh hp l ca ME thng qua s liu nhn dng di ng quc t (IMEI-International Mobile Equipment Identity) v cha cc s liu v phn cng ca thit b. Mt ME s c s IMEI thuc mt trong ba danh sch sau: 1. Nu ME thuc danh sch trng ( White List ) th n c quyn truy nhp v s dng cc dch v ng k. 2. Nu ME thuc danh sch xm ( Gray List ), tc l c nghi vn v cn kim tra. Danh sch xm bao gm nhng ME c li (li phn mm hay li sn xut thit b) nhng khng nghim trng ti mc loi tr khi h thng 3. Nu ME thuc danh sch en ( Black List ), tc l b cm khng cho truy nhp vo h thng, nhng ME thng bo mt my. Khi trung tm nhn thc AuC (Aunthentication Center) AuC c ni n HLR, chc nng ca AuC l cung cp cho HLR cc tn s nhn thc v cc kho mt m s dng cho bo mt. ng v tuyn cng c AuC cung cp m bo mt chng nghe trm, m ny c thay i ring bit cho tng thu bao. C s d liu ca AuC cn ghi nhiu thng tin cn thit khc khi thu bao ng k nhp mng v c s dng kim tra khi thu bao yu cu cung cp dch v, trnh vic truy nhp mng mt cch tri php. Phn h khai thc v bo dng (OSS) OSS (Operation and Support System) thc hin 3 chc nng chnh: 1) Khai thc v bo dng mng. 2) Qun l thu bao v tnh cc. 3) Qun l thit b di ng.

10

Khai thc v bo dng mng: Khai thc: L hot ng cho php nh khai thc mng theo di hnh vi ca mng nh ti ca

h thng, mc chn, s lng chuyn giao gia hai cell.v.v.. Nh vy nh khai thc c th gim st c ton b cht lng dch v m h cung cp cho khch hng v kp thi nng cp. Khai thc cn bao gm vic thay i cu hnh gim nhng vn xut hin thi im hin thi, chun b tng lu lng trong tng lai v m rng vng ph sng. h thng vin thng hin i, khai thc c thc hin bng my tnh v c tp trung mt trm. Bo dng: C nhim v pht hin, nh v v sa cha cc s c v hng hc, n c mt s quan h vi khai thc. Cc thit b h thng vin thng hin i c kh nng t pht hin mt s cc s c hay d bo s c thng qua kim tra. Bo dng bao gm cc hot ng ti hin trng nhm thay th cc thit b c s c, cng nh vic s dng cc phn mm iu khin t xa. H thng khai thc v bo dng c th c xy dng trn nguyn l ca TMN (Telecommunication Management Network - Mng qun l vin thng). Lc ny, mt mt h thng khai thc v bo dng c ni n cc phn t ca mng vin thng (MSC, HLR, VLR, BSC, v cc phn t mng khc tr BTS). Mt khc h thng khai thc v bo dng c ni ti my tnh ch ng vai tr giao tip ngi - my. Theo tiu chun GSM h thng ny c gi l trung tm vn hnh v bo dng (OMC Operation and Maintenance Center). Qun l thu bao: Bao gm cc hot ng qun l ng k thu bao. Nhim v u tin l nhp v xo thu bao khi mng. ng k thu bao cng c th rt phc tp, bao gm nhiu dch v v cc tnh nng b sung. Nh khai thc c th thm nhp c cc thng s ni trn. Mt nhim v quan trng khc ca khai thc l tnh cc cc cuc gi ri gi n thu bao. Khi HLR, SIM-Card ng vai tr nh mt b phn qun l thu bao.

11

Qun l thit b di ng: Qun l thit b di ng c b ng k nhn dng thit b EIR thc hin. EIR lu tr ton b d liu lin quan n trm di ng MS. EIR c ni n MSC qua ng bo hiu kim tra tnh hp l ca thit b. Trong h thng GSM th EIR c coi l thuc phn h chuyn mch NSS. 2.1.4 Cng ngh GPRS truyn thng tin s t in thoi di ng n mng, mch chuyn i d liu CSD (Circuit Switched Data) c s dng trong th h mng di ng 2G, CSD h tr tc ln ti 9.6 kbps. GSM (Global System Mobile Communication) h thng truyn thng di ng ton cu l h thng a truy nhp phn chia theo thi gian (TDMA), s dng khe thi gian kt ni, mi khe i din cho mt knh ngi dng. tng tc truyn d liu trong h thng GSM, cng ngh HSCSD (High Speed Circuit Switched Data) - d liu chuyn mch tc cao c s dng. HSCSD l tiu chun GSM cui cng s dng chuyn mch thay v truyn d liu chuyn mch gi, khi s dng HSCSD mt kt ni thng trc c thit lp gia cc bn gi v c gi trao i d liu. Dch v thng tin di ng v tuyn chuyn mch gi GPRS (General Packet Radio Service) l s m rng ca CSD v HSCSD. GPRS tt hn HSCSD, n c a ra th h 2.5G v c th coi l bc pht trin n cng ngh 3G.

12

Hnh : S pht trin ca h thng truyn thng cellular. Khc vi CSD v HSCSD l cc cng ngh chuyn mch knh, GPRS l cng ngh chuyn mch gi. Ni mt cch n gin hn, GPRS l dch v truyn ti d liu thng qua tn hiu v tuyn, c pht trin da trn nn tng GSM. ng dng chnh ca GPRS l h tr dch v email v duyt web, v GPRS truyn ti d liu gia in thoi di ng vi nh cung cp (sau nh cung cp truyn ti tip d liu n mng internet) nn nu my c ci t cc phn mm/ng dng ph hp, bn s kt ni c vi th gii internet bn ngoi. tng cng tc truyn d liu cho GPRS, EDGE c pht trin, cng ngh EDGE hay cn gi l EGPRS, l mt cng ngh di ng c nng cp t GPRS cho php truyn d liu vi tc c th ln n 384 Kbps cho ngi dng c nh hoc di chuyn chm v 144 Kbps cho ngi dng di chuyn tc cao. EDGE dng phng thc iu ch 8-PSK tng tc d liu truyn. Chnh v th, trin khai EDGE, cc nh cung cp mng phi thay i trm pht sng BTS cng nh l thit b di ng so vi mng GPRS. Cc yu t chnh ca kin trc GPRS [3GPP-23.060] c th hin trong hnh di Mt trm di ng GPRS c phn loi theo kh nng ca mnh h tr ng thi cc ch hot ng cho mng GSM v GPRS [3GPP-22.060] nh sau: Class A: cc trm di ng h tr s dng ng thi dch v GSM v GPRS (nh km, kch hot, theo di, truyn ti, ...). Mt lp trm di ng c th c thit lp hoc nhn cuc gi vo hai dch v ng thi. S phc tp cao ca vic thit k cc lp lm cho sn xut thit b tn km. o , cc thit b ny thng khng c sn cho th trng. Class B: cc trm in thoi di ng c gn vo c hai dch v GSM v GPRS. Tuy nhin, trm di ng ch c th hot ng mt trong hai dch v ti mt thi im. Loi C: cc trm in thoi di ng c gn vi dch v hoc dch v GSM hoc GPRS nhng khng thuc c hai dch v ng thi. Trc khi thnh lp hoc nhn cuc gi trn mt trong hai dch v, trm in thoi di ng c gn lin vi dch v mong mun.
13

Trc khi mt trm di ng c th truy cp dch v GPRS, n phi thc thi mt th tc nh km GPRS cho bit s hin din ca n vo mng. Sau khi nh km GPRS ca chnh n, cc trm di ng kch hot mt giao thc chuyn d liu gi (PDP - Packet Data Protocol) ph hp vi mng c th truyn hoc nhn d liu. Th tc ny c gi l kch hot ng cnh PDP. Giao din tng khng ca GPRS ging ht giao din tng khng ca mng GSM (iu ch sng radio, tn s bng thng v cu trc khung). GPRS da trn c s pht mt trin h thng con ca GSM. Tuy nhin, mng li GPRS da trn mt h thng mng GSM trong c tch hp b sung hai thnh phn: phc v v cc nt h tr cng GPRS. Ngoi ra, dch v EDGE (Enhanced Data Rate for Global Evolution) c th c h tr nng cao hiu nng ca GPRS.

14

Hnh. Kin trc mng GPRS Nt h tr phc v GPRS Node h tr phc v GPRS vit tt l SGSN (Serving GPRS Support Node) c kt ni vi mt hoc nhiu trm con gc. N hot ng nh mt b nh tuyn gi d liu cho tt c cc trm di ng hin hnh trong mt khu vc a l. N cng theo di v tr ca trm di ng v thc hin chc nng bo mt v kim sot truy cp. Nt h tr Gateway GPRS Cc nt h tr Gateway GPRS vit tt l GGSN (Gateway GPRS Support Node) cung cp cc im gn kt gia min GPRS vi cc mng d liu nh Internet hoc mng PSTN. Mt Access Point Name (APN) c s dng bi ngi dng di ng thit lp kt ni n cc mng ch c yu cu. 2.1.5. Cng ngh 3G Th h di ng th 3 (3G): Mng 3G c trng bi tc d liu cao, capacity ca h thng ln, tng hiu qu s dng ph tn v nhiu ci tin khc. C mt lot cc chun cng ngh di ng 3G, tt c u da trn CDMA, bao gm: UMTS (dng c FDD ln TDD), CDMA2000 v TD-SCDMA. Cng ngh UMTS (Universal Mobile Telecommunication System) c s dng, UMTS c chun ha bi t chc 3GPP v c pht trin ln t cc nc s dng GSM. tng tc truyn d liu cho mng 3G, UMTS c nng cp ln vi chun HSPDA (High Speed Downlink Packet Access), gi ng truyn tc cao, cho php cc mng hot ng trn h thng UMTS c kh nng truyn ti d liu vi tc cao hn hn. Cng ngh HSDPA hin nay cho php tc download t n 1.8, 3.6, 7.2 v 14.4 Mbps, v trong tng lai gn, tc hin nay c th c nng ln gp nhiu ln. Song song vi cng ngh HSDPA l cng ngh HSUPA (High Speed Uplink Packet Access Tng t HSDPA), HSUPA ci thin tc ti d liu ln, v l thuyt tc upload d liu ca cng ngh HSUPA co th t n 5.76Mbps. Cm t 3GPP LTE (The Third Generation Partnership Project Long Term Evolution) c dng ni v mt cng ngh di ng mi ang c pht trin v chun ha bi 3GPP. Vi LTE tc truyn d liu c th t ti 100Mbps vi download v 50 Mbps vi upload.

15

2.1 Cng ngh Bluetooth c t Bluetooth c pht trin u tin bi Ericsson vo nm 1999 v sau c chun ho bi Bluetooth Special Interest Group (SIG). Bluetooth l mt c t cng nghip cho truyn thng khng dy tm gn gia cc thit b in t. Cng ngh ny h tr vic truyn d liu qua cc khong cch ngn gia cc thit b di ng v c nh, to nn cc mng c nhn khng dy (Wireless Personal Area Network-PANs). Bluetooth cho php kt ni v trao i thng tin gia cc thit b nh in thoi di ng, in thoi c nh, my tnh xch tay, PC, my in, thit b nh v dng GPS, my nh s, v video game console. Bluetooth ngy cng c quan tm nhiu hn bi n cho php ngi dng c kt ni khng dy min ph, tiu hao t nng lng, gi thnh thit b li r v cng ngh ny c rt nhiu tp on ln h tr. Tuy nhin s pht trin ca Bluetooth cn hn ch do s gii hn ca khong cch truyn, s lng kt ni, kh nng chng nhiu v kh nng bo mt ca n. Trong tng lai Bluetooth s tr nn mnh hn vi cng ngh siu bng rng UWB (ultra wide-band). UWB cho php tng tc truyn thng tm gn ln ti 400Mbps.

Hnh: ng dng ca bluetooth Cu trc Bluetooth


16

Bluetooth c thit k s dng trong thng tin v tuyn gia hai hay nhiu trm di ng. H thng cung cp mt kt ni im-im gia hai trm hoc kt ni im-a im ti ni chia s ng truyn ca mt vi trm. Nh th chng ta s c mt piconet (Picotnet l tp hp cc thit b c kt ni thng qua k thut Bluetooth theo m hnh Ad-Hoc) ni c hai hay nhiu trm cng chia s ng truyn. Trong mt piconet, mt trm s ng vai tr l ch, nhng thnh phn khc s l t. Bt k n v Bluetooth no ( tt c chng u ging nhau) u c th ng mt trong vai tr ch, t khi c yu cu i hi. Trm ch c nh ngha l ni khi to kt ni (ti mt hay nhiu trm t). Mt piconet c th l ch v c ti 7 trm t trong trng thi hot ng ca n. Trng thi hot ng c ngha l mt trm t ang giao tip vi mt trm ch; mt trm c th trong trng thi kho (parked state) nu n c ng b ho ti trm ch, nhng n khng hot ng trn knh. C trm tch cc v trm tam dng u c kim sot bi trm ch.

M hnh piconet Mt trm t c th c ng b ho vi piconet khc: mt trm c th l ch trong piconet ny nhng li l t trong mt piconet khc. Theo cch ny, nhiu piconet chng ln ln nhau (khi khng ng b v thi gian hoc tn s) s to thnh mt scatternet. Nhng c im khc nhau ny c tng hp trong hnh:

17

Hnh : Cc kiu kt ni khc nhau gia cc trm c im chnh ca h thng Bluetooth c a ra trong bng bn di. H thng Bluetooth s dng phng thc truy cp khe thi gian. Mt gi tin c th s dng trn 5 khe thi gian nhng t nht phi dng mt khe. H thng Bluetooth c th truyn mt knh d liu khng ng b, hn ba knh ting ni ng thi hoc mt knh h tr truyn ng thi d liu v ting ni khng ng b.

Cc loi kt ni khc nhau c h tr bi Bluetooth l: Mt kt ni ng b tc 64Kbps trong kt ni trc tip cho knh ting ni; Tc khng cn i ti a cho mt kt ni trc tip l 723.2Kbps (c th tng 57.6Kbps na theo phng truyn ngc li) hoc tc 433.9Kbps cn i cho ng b lin kt.

18

Cch thc hot ng ca Bluetooth. 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. 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
19

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. Qu trnh 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 (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

20

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: 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. 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
21

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. 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.1 Cng ngh Wifi WiFi l g? Wi-Fi vit tt t Wireless Fidelity hay mng 802.11 l h thng mng khng dys dng sng v tuyn, ging nh in thoi di ng, truyn hnh v radio.H thng ny hot ng mt s sn bay, qun caf, th vin, trng i hc hoc khch sn. H thng cho php truy cp Internet ti nhng khu vc c sng ca h thng ny, hon ton khng cn n cp ni. Ngoi cc im kt ni cng cng(hotspots), WiFi c th c thit lp ngay ti nh ring.Tn gi 802.11 bt ngun t vin IEEE (Institute of Electrical and ElectronicsEngineers). Vin ny to ra nhiu chun cho nhiu giao thc k thut khc nhau, vn s dng mt h thng s nhm phn loi chng; 3 chun thng dng ca WiFi hinnay l 802.11a/b/g.

Hnh :

22

M hnh mng Wifi Hot ng Truyn thng qua mng khng dy l truyn thng v tuyn hai chiu. C th: Thit b adapter khng dy (hay b chuyn tn hiu khng dy) ca my tnh chuyn i d liu sang tn hiu v tuyn v pht nhng tn hiu ny i bng mt ng-ten. Thit b router khng dy nhn nhng tn hiu ny v gii m chng. N gi thng tin ti Internet thng qua kt ni hu tuyn Ethernet.Quy trnh ny vn hot ng vi chiu ngc li, router nhn thng tin tInternet, chuyn chng thnh tn hiu v tuyn v gi n adapter khng dy ca mytnh Cc ch bo mt trong WiFi Cc ch bo mt ca router thng c: Wired Equivalency Privacy (WEP) s dng cng ngh m ha 64 bit hoc 128 bit. M ha 128 bit an ton hn. WiFi Protected Access (WPA) l mt bc tin ca WEP v hin gi l mt phn ca giao thc mng bo mt khng dy 802.11i. N s dng giao thc m ha ton b bng mt kha tm thi. Ging nh WEP, bo mt WPA cng phi ng nhp bng mt mt khu. Hu ht cc im truy cp khng dy cng cng hoc l m hon ton hoc bo mt bng WPA hay WEP 128 bit. Media Access Control (MAC) bo mt bng cch lc a ch ca my tnh. N khng dng mt khu i vi ngi s dng, n cn c vo phn cng vt l ca my tnh. Mi mt my tnh u c ring mt a ch MAC c nht. Vic lc a ch MAC ch cho php nhng my ng k mi c quyn truy cp mng. Cn ng k a ch ca my tnh khi thit lp trong router. Sng Wifi Cc sng v tuyn s dng cho WiFi gn ging vi cc sng v tuyn s dng cho thit b cm tay, in thoi di ng v cc thit b khc. N c th chuyn v nhn sng
23

v tuyn, chuyn i cc m nh phn 1 v 0 sang sng v tuyn v ngc li.Tuy nhin, sng WiFi c mt s khc bit so vi cc sng v tuyn khc ch: Chng truyn v pht tn hiu tn s 2.5 GHz hoc 5GHz. Tn s ny cao hn so vi cc tn s s dng cho in thoi di ng, cc thit b cm tay v truyn hnh. Tn s cao hn cho php tn hiu mang theo nhiu d liu hn. Chng dng chun 802.11. S lc v chun 802.11 Chun 802.11b l phin bn u tin trn th trng. y l chun chm nht v r tin nht, v n tr thnh t ph bin hn so vi cc chun khc. 802.11b pht tn hiu tn s 2.4 GHz, n c th x l n 11megabit/giy, v n s dng m CCK (complimentary code keying). Chun 802.11g cng pht tn s 2.4 GHz, nhng nhanh hn so vi chun 802.11b, tc x l t 54 megabit/giy. Chun 802.11g nhanh hn v n s dng m OFDM (orthogonal frequency-division multiplexing), Mt cng ngh m ha hiu qu hn. Chun 802.11a pht tn s 5 GHz v c th t n 54 megabit/giy. N cng s dng m OFDM. Nhng chun mi hn sau ny nh 802.11n cn nhanh hn chun 802.11a, nhng 802.11n vn cha phi l chun cui cng. WiFi c th hot ng trn c ba tn s v c th nhy qua li gia cc tn s khc nhau mt cch nhanh chng. Vic nhy qua li gia cc tn s gip im thiu s nhiu sng v cho php nhiu thit b kt ni khng dy cng mt lc. u im v nhc im ca mng khng dy u im S tin li: Mng khng dy cng nh h thng mng thng thng. N cho php ngi dng truy xut ti nguyn mng bt k ni u trong khu vc c trin khai(nh hay vn phng). Vi s gia tng s ngi s dng my tnh xch tay(laptop), l mt iu rt thun li.
24

Kh nng di ng: Vi s pht trin ca cc mng khng dy cng cng, ngi dng c th truy cp Internet bt c u. Chng hn cc qun Cafe, ngi dng c th truy cp Internet khng dy min ph. Hiu qu: Ngi dng c th duy tr kt ni mng khi h i t ni ny n ni khc. Trin khai: Vic thit lp h thng mng khng dy ban u ch cn t nht 1 access point. Vi mng dng cp, phi tn thm chi ph v c th gp kh khn trong vic trin khai h thng cp nhiu ni trong ta nh. Kh nng m rng: Mng khng dy c th p ng tc th khi gia tng s lng ngi dng. Vi h thng mng dng cp cn phi gn thm cp. Nhc im Bo mt: Mi trng kt ni khng dy l khng kh nn kh nng b tn cng ca ngi dng l rt cao. Phm vi: Mt mng chun 802.11g vi cc thit b chun ch c th hot ng tt trong phm vi vi chc mt. N ph hp trong 1 cn nh, nhngvi mt ta nh ln th khng p ng c nhu cu. p ng cn phi mua thm Repeater hay access point, dn n chi ph gia tng. tin cy: V s dng sng v tuyn truyn thng nn vic b nhiu, tn hiu b gim do tc ng ca cc thit b khc (l vi sng,.) l khng trnh khi. Lm gim ng k hiu qu hot ng ca mng. Tc : Tc ca mng khng dy (1- 125 Mbps) rt chm sovi mng s dng cp (100Mbps n hng Gbps)

25

CHNG 3: LP TRNH J2ME TRN IN THOI DI NG

3.1 Tng quan v in thoi di ng v J2ME 3.1.1 Gii thiu v in thoi di ng a. Mobile Phone Family in thoi di ng c gi vi tn gi nh vy v ng dng u tin v quan trng nht ca n l cho php ngi dng c th di chuyn trong khi ang thc hin cuc gi. Trong kin trc ca mng di ng, cc trm c s (base station) chnh l nhng nhn t quan trng, cc trm ny lm nhim v kt ni vi in thoi di ng, m bo s tn ti cho mng di ng, v cho php mng di ng kt ni vi nhng thnh phn truyn thng hu tuyn khc. Bn cnh , cc trm c s v mng xng sng cn cho php ngi dng cc vng cell khc nhau c th truyn thng c vi nhau. Mng di ng tri qua nhiu th h, u tin l th h 1G, y l h thng truyn tn hiu tng t (analog), th h ny khng cung cp nhiu dch v, ch yu l cc dch v v m thanh. Th h th hai 2G, chuyn i t vic s dng tn hiu analog sang tn hiu s, t thm vo rt nhiu dch v mi nh SMS v trao i d liu vi mng Internet, nhng s thay i quan trng nht ca 2G so vi 1G l s phn chia gia nh mng v nh cung cp dch v. Trc nh cung cp mng l nhng ngi c quyn, h l ngi cung cp mng di ng cng l ngi quyt nh nhng dch v no s c cung cp my di ng ca ngi dng, sau khi mng 2G ra i v c s phn chia gia nh cung cp mng v nh cung cp dch v, th trng di ng c chia ra lm bn thnh phn chnh: Nh cung cp mng, nh cung cp dch v, ngi s dng v nh sn xut in thoi di ng.

26

Hnh 3.1: Nh cung cp dch v, ngi s dng v nh sn xut in thoi di ng trong th trng di ng. Gia cc thnh vin ny trong mng di ng c nhiu rng buc ln nhau, quan trng nht l mi quan h gia nh cung cp mng v nh sn xut in thoi di ng. thu ht khch hng, nh mng tha thun vi nh sn xut in thoi di ng, in thoi di ng c bn vi s lng ln hn v cng c nhiu ngi s dng mng in thoi di ng hn, mt khc nh mng cng a ra c mt lot cc dch v sn c cho in thoi di ng. Xa hn na, nh cung cp mng cn iu khin vic dch v no c i qua mng ca h v lm cho nhng nh cung cp dch v phi ph thuc vo quyt nh ca h. S c quyn ca nh cung cp mng s b suy gim i cng vi cng ngh khng dy nh WLAN v Bluetooth. Cc dng truyn thng ny cho php to ra nhng kiu dch v mi m khng cn phi ph thuc nhiu vo nh cung cp mng. Tuy nhin, do vn li nhun, s pht trin t do ca cc dng truyn thng trn cng b hn ch bi
27

nh sn xut in thoi di ng. Nh cung cp dch v dng nh t do hn trong lp trnh to ra cc sn phm dch v mi, tuy nhin, nhiu khi vic to ra ng dng trn in thoi di ng li ng chm ti li ch ca nh cung cp mng, do s linh hot ca chic in thoi di ng li b km ch, v d nh h thng VoIP ch c th truyn theo kiu bn song cng, hay khi kt hp gia giao thc IP vi module GPRS, IP thng qua Bluetooth hay WLAN cng kh c h tr hay kh s dng mt vi dng in thoi, nhng s hn ch ny cng khng ngn c vic to ra cc dch v th v, ch l vn thi gian. Th h mng di ng 3G. 3G l cng ngh truyn thng th h th ba, cho php truyn c d liu thoi v d liu ngoi thoi (ti d liu, gi email, tin nhn nhanh SMS, hnh nh,). H thng 3G yu cu mt mng truy cp radio hon ton khc so vi h thng 2G hin nay. Trong cc dch v ca 3G, cuc gi video thng c m t nh mt dch v trng tm ca s pht trin. Do chi ph cho bn quyn cc tn s phi trang tri trong nhiu nm trc khi t ti cc thu nhp do 3G em li, nn vic xy dng mng 3G i hi mt khi lng u t khng l. Cng v vy nhiu nh cung cp dch v vin thng ri vo kh khn v ti chnh, cng khin cho vic trin khai 3G ti nhiu nc b chm tr, ngoi tr Nht Bn v Hn Quc nhng nc tm b qua cc yu cu v bn quyn tn s, m t u tin cao vic pht trin h tng cng ngh thng tin vin thng quc gia. Nht Bn l nc u tin a 3G vo khai thc thng mi mt cch rng ri. Nm 2005, khong 40% cc thu bao ti Nht Bn l thu bao 3G, khin cho mng 2G dn bin mt ti nc ny. S thnh cng ca 3G ti Nht Bn ch ra rng in thoi video khng phi l ng dng hy dit (killer application). trong thc t, vic s dng in thoi video thi gian thc ch chim mt phn nh trong cc dch v ca 3G. Mt khc, vic ti v tp m nhc li c s dng nhiu nht, nht l gii tr. S pht trin ca 3G m ra rt nhiu trin

28

vng v vic xy dng cc dch v mi cho cc nh pht trin phn mm, cc nh cung cp dch v, tuy nhin rt nhiu d n b v bi chnh ngi s dng cng khng bit h mong mun nhng g, v vy chng ta cn phi phn tch cn thn trc khi tin hnh mt d n phn mm cho in thoi di ng. ng dng trn in thoi di ng chia lm hai loi: Dch v c nhn v dch v truyn thng.

Hnh 3.2: Cc loi hnh dch v dnh cho in thoi di ng Dch v c nhn l tt c cc dch v c s dng bi khch hng trn in thoi di ng vi s gii hn hay khng tng tc vi nhng khch hng khc. Dch v truyn thng th ngc li, l cc dch v to ra s tng tc gia nhng ngi s dng. Dch v c nhn bao gm cc dch v nh l: lch, my nh, ti v logo, nhc trn in thoi di ng hay chi tr chi nh chi rn, bng bn... C dch v c nhn ln dch v truyn thng u c chia ra lm hai loi dch v c v khng c s h tr ca mng khng
29

dy. Mng khng dy c h tr bi chun kt ni GSM, GPRS, EDGE, 3G, bluetooth, hay WLAN. Nh hnh trn, cc dch v c mu cam l cc dch v c sn trn hu ht cc in thoi di ng, cc dch v mu xanh da tri l cc dch v c th c ci t thm trn in thoi di ng, v cui cng l cc dch v mu xanh l cy, l nhng dch v ca tng lai. Dch v truyn thng vi s h tr ca mng khng dy c ha hn s to ra nhiu iu th v, v con ngi chng ta lun sng trong s tng tc vi nhng ngi khc, cc dch v ang pht trin nh SMS, dch v thoi video, ti WEB, xem phim trc tuyn... v cc tr chi tng tc ang l mt hng pht trin y trin vng cho cc nh cung cp dch v. Ngoi ra trong tng lai, khi mng 4G v 5G pht trin, chng ta li c thm nhiu loi dch v mi nh dch v peer to peer, dch v truyn thng ngang hng, dch v sensor... iu cho thy rng in thoi di ng v mng di ng l mnh t mu m cho cc lp trnh vin. b. The flexible Mobile Phone in thoi di ng ngy cng tr nn linh hot trong con mt ca cc nh pht trin ng dng, thng qua cc ngn ng lp trnh, vi ngn ng tin phong l Java vi phin bn nh gn J2me, in thoi di ng tr thnh mt mi trng lp trnh hp dn i vi cc lp trnh vin.

30

Hnh 3.3: Kin trc ca chic in thoi c th lp trnh Nhn vo hnh trn ta thy rng cc ng dng di ng (nh cc chng trnh Java) chy trn tng ng dng application suite, khung giao din ngi dng user interface framework cung cp tt c cc chc nng cho php ta iu khin in thoi di ng. Cc nh sn xut in thoi di ng thng truy nhp vo nn tng ca h (vi mt vi hn ch) bng cch s dng li v trnh iu khin phn cng kernel and hardware drivers nh l h iu hnh Symbian truy nhp vo nn tng phn cng. Gn nh mi th thuc v phn mm u c th truy cp c, ch c mt phn tnh khng th thay i c ca chic in thoi l nn tng phn cng.

31

Hnh 3.4: Giao din ngi dng, giao din kt ni v ti nguyn c sn ca in thoi di ng Ngoi kh nng lp trnh c, in thoi di ng cn c rt nhiu cc kh nng v chc nng khc, chng ta s nhm cc c tnh ny ca in thoi di ng ra thnh ba nhm l giao din ngi dng user interface, giao din kt ni communication interface, v ti nguyn sn c buit-in resources. Giao din ngi dng bao gm loa, microphone, camera, mn hnh, cc b cm ng, v bn phm. Ti nguyn c sn bao gm pin, b x l trung tm v b nh. Chng ta c bit quan tm ti nhm th ba l nhm giao din kt ni, giao din kt ni thng bao gm kh nng kt ni celular v short-range. Thay v vic s hu mt chic in thoi thng minh vi y cc chc nng v cht lng tt, chng ta nn tm hiu cch s dng v chia s mt cch thng minh nhng kh nng ca in thoi di ng. Thc vy, chnh s khc bit trong thit k ca cc chng loi in thoi di ng to ra nhiu tnh nng c bit, t mt chic in
32

thoi n gin vi kh nng thoi c th tr thnh mt thit b u cui vi m nhc v hnh nh sng ng. Cng ngh mng khng dy cho php chng ta lm iu . Nhng nh pht trin ng dng c th bt u nhn nhn chic in thoi nh l mt tp hp cc kh nng c th c gp li v nhng mc ch no . Tuy nhin in thoi di ng khng ch b gii hn bi s kt hp ca cc thnh phn phn cng. Thm ch phn mm cng c s dng mt cch ht sc linh hot. Mt trong nhng tng u tin l thit k lp trung gian (cross-layer). Giao thc cross-layer l tng ca vic thay i cc lp theo nhu cu. Mt s lp giao thc c th thm ch c b qua hay c nhm li theo mt cch mi. Bc cui cng mang n tnh linh hot cho nhng mc thp hn ca chng nghi thc (protocol stack). Trong khi tnh linh hot trn cc thit b di ng thng mi b hn ch i vi nhng phng php a m hnh (multi-modality), tng lai s c thng tr bi nhng cch tip cn software-defined radio. Trong khi multi-modality ch ang chn trong s nhng cng ngh khng dy sn c khc nhau nh Bluetooth hay WLAN, software-defined radio c th t ng thay i cc phn radio theo cc chc nng cn thit. mc cao nht, n cng c th thay i t truyn thng short-range sang truyn thng cellular, trao i chng giao thc.

3.1.2 Kin trc in thoi di ng h tr J2ME Mt in thoi di ng mun c kh nng chy c cc ng dng vit bng J2ME cn phi c cu hnh ti thiu nh sau : - Ti thiu 512KB b nh chy Java - Ti thiu 256KB b nh dnh cho phn b b nh thc thi chng trnh - Kt ni mng thng trc Ch yu cc thit b in thoi di ng ngy nay l cc thit b kt ni c gii hn(CLDC). CLDC l cu hnh dnh cho cc thit b vi kh nng x l,dung lng b nh, kh nng hin th v lu tr ti nguyn hn ch. V vy ,CLDC cng c nhng hn ch khc bit so vi nh ngha trong java:
33

- Khng h tr du chm ng ton hc,php tnh ny i hi nhiu ti nguyn, CPU v phn ln cc CPU cho cc thit b di ng khng h tr php tnh ny. CLDC khng h tr bin, ton t, hng, hm. Lin quan n du chm ng. - Khng h tr phng thc hy finalize(), vic dn dp ti nguyn trc khi i tng b xa c y v pha cc lp trnh vin. - H tr hn ch cc x l ngoi l li, do thc hin qun l ngoi l h thng cn phi c mt cu hnh mnh m cc thit b CLDC li khng p ng c. Hn na, cc h thng nhng lun c c ch x l li ca ring n, thng thng l khi ng li phn cng. - Qu trnh xc minh lp: khc bit ca qu trnh xc minh lp ca CLDC l n thc hin xc minh lp qua hai bc, gim bt nhng yu cu ti nguyn trong qu trnh xc minh. Ngoi nhng hn ch trn, CLDC cng c nhng lp ring, c thit k cho ph hp vi c th ca mi trng cc thit b phn cng m n quan tm, trong , ng ch nht l b khung kt ni GCF (Generic Connection Framework): Kt ni mng vi J2me kh d dng vi gi java.net, gi ny c kch thc vo khong 200 kilobytes, bao gm khong 20 lp khc nhau. Kch c qu l qu kh i vi cc thit b di ng, hn na J2me cn cn phi h tr mt tp hp ln cc thit b c nhiu s khc nhau v kch c, hnh dng, kh nng mng v yu cu nhp xut file. ph hp vi cc thit b, J2me a ra m hnh khung kt ni chung trong cu hnh CLDC. tng ca n l: nh ngha mt cch tru tng cc hot ng mng v nhp xut file dng chung cho mt s lng ln cc thit b, ging nh mt b khung nn vy. mc CLDC, J2me ch nh ngha v to kt ni, giao thc thc s v cc phng thc trao i d liu ca giao thc c trao cho tng Profile. 3.1.3 Gii thiu v J2ME J2me l mt thnh vin b nh trong gia nh h Java, hng n lp trnh trn nhng thit b thng tin gia dng t Internet-cho n cc my TV, my chp nh, in thoi di
34

ng, Pocket PC J2me c pht trin t kin trc Java Card, Embeded Java v Personal Java ca phin bn Java 1.1. n s ra i ca Java 2 th Sun quyt nh thay th Personal Java v c gi vi tn mi l Java 2 Micro Edition, hay vit tt l J2me. ng vi tn gi, J2me l nn tng cho cc thit b khch hng c tnh cht nh, gn vi sc mnh x l v ti nguyn c hn. C rt nhiu thit b dng ny nh in thoi di ng, my quay phim, chp hnh. Nhng thit b ny khng c ty chn ti xung v ci t phn mm t xa nh PC. Phn mm iu khin thit b c ci sn trong qu trnh sn xut ra thit b p t bi nh sn xut. Vi s gii thiu ca J2me nhng thit b ny khng cn l tnh na, chng hon ton c th c ngi dng t lp trnh thm vo nhng tnh nng mi. J2me ci trn thit b sn c ty chn duyt, ti xung v ci t cng nh thc thi nhng ng dng Java. J2me khng phi l mt ngn ng mi, nhng s xut hin ca n cho php cng ngh Java c th chy trn cc thit b nhng, bng cch lc b i cc chc nng m cc thit b ny khng th h tr v thm vo cc chc nng m cc thit b ny cn. Vi s ra i v gii thiu ca Java dng cho mi trng nhng thit b di ng nh gn nh vy, chng ta gi y c kh nng tn dng hm th vin v sc mnh lp trnh ca Java vo cuc sng i thng. 3.1.4 Kin trc J2ME J2me c xy dng pht trin ng dng chy trn nn cc thit b nhng, nhm cc thit b ny rt phong ph v gia chng thng c nhiu khc bit v c tnh (b nh, tc x l, kh nng kt ni mng), v d nh cc thit b in thoi, Screenphone, PDA, my chp nh c th c s khc nhau v kch c mn hnh, hay gia nhng chic in thoi vi mn hnh c ln nh nhau nhng li c s khc nhau v phn gii S phong ph v phc tp ny khin cho vic xy dng mt nn tng J2me chung cho tt c cc thit b l khng th, thay vo J2me c xy dng vi mt kin trc khc, l kin trc phn tng, trong cc thit b s c phn nhm theo c tnh (b nh, tc x l, kh nng kt ni mng) mi nhm thit b tng ng vi mt nhm configuration-cu hnh J2me, cu hnh s c t nn tng Java trn
35

nhm cc thit b ny, hay ni cch khc, cu hnh s nh ngha cc chc nng chung c bn nht cho cc thit b cng nhm. Tuy nhin, vi nhng gii hn v phn cng nh vy, kh nng pht trin ng dng da trn configuration l khng ln, hn na, gia cc thit b c cng cu hnh cng c nhiu c im, nhng kh nng ni tri khc nhau, cung cp mi trng lp trnh cho cc thit b chuyn bit trong cng mt nhm cu hnh v linh hot hn khi cng ngh thay i, cc thit b li mt ln na c phn nhm, nhm cu hnh s c phn nh hn v c gi l cc profile. Profile l nh ngha m rng thm cho mt phn loi cu hnh, n cung cp mt tp cc th vin lp trnh cho php to ra cc ng dng chy trn mt kiu thit b c bit. Hnh di m t kin trc phn tng ca J2ME:

36

3.1.5 Mi trng pht trin , cng c lp trnh ng dng trn in thoi di ng vi J2ME. a.Java Development Kit Chng ta cn JDK s dng trnh bin dch v thng dch ca n cho cc ng dng m chng ta to ra. JDK c th dng cho c CDC v CLDC, tuy nhin phi c phin bn t sdk 1.6 tr ln. Bn download JDK t trang Web ca sun: http://java.sun.com Sau tin hnh ci t nh bt k phn mm no khc, trong qu trnh chng trnh s hi bn ni t th mc, nu bn khng chn (browse) ng dn mi, chng trnh s s dng ng dn mc nh. b. NetBeans
37

Vic ci t NetBeans cng c tin hnh nh cc phn mm khc, tuy nhin cn phi ch n vic NetBeans tm folder ci t Java, nu nh NetBeans khng t tm c ngi dng cn cung cp cho NetBeans ng dn n th mc .

Hnh 3.5:Tm ng dn n th mc ci t Java Khi vic ci t hon tt, ca s sau s c hin ln, nhn nt Finish kt thc. Trong ca s ny c ty chn ng k NetBeans, v l mt sn phm m ngun m, bn c th b qua vic ng k ny m vn c s dng phn mm mt cch bnh thng :

38

Hnh 3.6:Kt thc vic ci t NetBeans c. To mt ng dng MIDP vi Netbean to mt d n mi, hy nhn vo ty chn File v chn New Project :

39

Hnh 3.7:To mt d n mi Sau , hy chn kiu ca d n : d n Java, Java Web hay JavaME... to mt d n J2me bn hy chn JavaME :

40

Hnh 3.8:To d n J2me Bc tip theo NetBeans s yu cu bn t tn cho d n, trong ca s ny c ty chn Set as Main Project v Create Hello MIDlet, nu bn mun d n mi ny l d n chnh hy chn ty chn Set as Main Project, nu cn to mt lp hello world hy chn ty chn cn li. Bn cnh , bn cn phi chn ni lu gi Project ca mnh trong phn Project Location :

41

Hnh 3.9:t tn cho d n Ca s tip theo s yu cu bn chn phin bn CLDC v MIDP ph hp, vic ny cn ty thuc vo vic bn la chn pht trin d n ca bn trn nhng dng sn phm no ?:

42

Hnh 3.10:La chn phin bn CLDC v MIDP ph hp Sau khi c d n mi, vic tip theo cn phi lm l vit code cho d n, trc tin hy to mt file mi, nu l file thc thi chnh, bn hy chn MIDlet :

43

Hnh 3.11:To file mi cho d n t tn cho file mi (lu rng tn file ny phi trng vi tn lp c to ra trong file) :

44

Hnh 3.12 :t tn cho file Di y l mt on code: import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class vd extends MIDlet implements CommandListener{ private Form mainForm; public vd(){ mainForm = new Form("Lap trinh tren nen J2ME"); mainForm.append(new StringItem(null,"Hello J2ME")); mainForm.addCommand (new Command("Exit", mainForm.setCommandListener(this); } public void startApp(){ Display.getDisplay(this).setCurrent(mainForm); } public void pauseApp(){} public void destroyApp(boolean un){} public void commandAction(Command c, Displayable s){ notifyDestroyed(); } } Bn hy copy on code ny, vo file vd va c to ra: Command.EXIT, 0));

45

Hnh 3.13 :Son code cho d n Sau khi c code ri bn hy nhn ctrl+s lu v cng l dch chng trnh. By gi bn ch nt m xanh c hnh mi tn nm trn thanh cng c, hy nhn n chy ng dng trn b m phng (nu d n ca bn l d n chnh Main Project), nu khng bn hy kch chut phi vo tn d n v chn run. Sau y l kt qu thc thi ca chng trnh trn b m phng:

46

Hnh 3.14:Kt qu thc thi ca chng trnh vd Mt chng trnh c th chy trn nhiu b m phng khc nhau, sau khi chng trnh c build, bn hy nhn chut phi vo tn ca d n v chn run with, mt ca s s hin ra cho php bn chn cc mu m phng in thoi khc nhau (iu ny rt c ch trong vic kim tra phm vi thc thi ca chng trnh trn cc dng in thoi):

47

Hnh 3.15:La chn b m phng thc thi chng trnh i vi mi d n J2me c to ra, trong folder m bn chn lu d n s c cu trc cy th mc nh sau:

48

Hnh 3.15: Cu trc th mc ca mt Project Trong : Folder src s cha m ngun ca d n (cng vi cc ti nguyn hnh nh, m thanh nu c). Folder dist s cha cc sn phm cui cng ca d n. Bn ch cn copy 2 file .JAR v .JAD trong th mc ny vo in thoi di ng, ci t t file .JAD l chng trnh ca bn c th s dng c.

49

3.2 Pht trin ng dng trn in thoi di ng vi J2ME 3.2.1 Hin trng thit b di ng v MIDlet Hin trng thit b di ng (MIDP) l mt y l Profile c nh ngha dnh ring cho cc thit b di ng v l thnh phn chnh trong J2me. MIDP cung cp cc chc nng c bn cho hu ht cc dng thit b di ng, ph bin nht nh cc my in thoi di ng v cc my PDA. Tuy nhin MIDP c thit k cho cc my di ng c cu hnh rt thp, cho nn n khng phi khng c nhng hn ch. Trc khi ni v nhng hn ch v nhng khc bit ca MIDP so vi J2se, chng ta s cng im qua nhng yu cu phn cng, phn mm ca MIDP: Cc yu cu phn cng: - Mn hnh phi h tr t nht 9654 pixel - Phi c t nht mt kiu nhp liu cho ngi dng - Ti thiu 128 kilobytes k c dng chy cc thnh phn ca thit b di ng - Ti thiu 8 kilobytes k c trng dng cho ng dng lu tr d liu cu hnh ring cho ng dng - Ti thiu 32 kilobytes k c chy Java - Kt ni mng khng dy V yu cu phn mm, h iu hnh trn thit b phi cung cp ti thiu c ch nh thi, x l ngoi l v x l ngt, c kh nng chy KVM v: - Phn mm phi h tr cch ghi nh bitmap ra mn hnh - Phn mm phi chp nhn k t nhp vo v chuyn thng tin cho my o Java - H thng cng phi c kh nng c, ghi vo vng cng ca thit b. - Phi c kh nng truy nhp n chc nng ni mng trn thit b. Hn ch v khc bit ca MIDP:

50

- Phn ln cc th vin ha trong J2se khng th dng trong MIDP, do kh nng hin th v x l hn ch ca cc thit b MIDP. - Khng h tr qun l file v th mc, thay vo lu tr di hn, J2me cung cp cho bn mt chc nng khc tng ng l Record Manager System RMS, h thng qun l bn ghi. Nhng chc nng c bit m MIDP cung cp: - Download qua mng an ton qua vic h tr giao thc HTTPS - Kim sot vic kt ni gia my di ng v server: v d, chng trnh khng th kt ni ti server nu thiu s chp thun ca ngi s dng - Thm cc API h tr Multimedia - M rng cc tnh nng ca Form - H tr kiu nh RBG 3.2.2 Thnh phn c bn ca mt ng dng MIDlet. MIDlet l mt ng dng c thit k cho MIDP profile, v l do , mt MIDlet khng ch tham chiu c n cc lp ca MIDP, m cn c th tham chiu c n cc lp ca CLDC. ging cc ng dng Java Destop truyn thng, ng dng MIDlet khng dng mt hm main lm im truy nhp, m dng mt lp con ca lp

javax.microedition.midlet.MIDlet lm im truy nhp. Lp ny nh ngha mt s hm tru tng (abtract), cc hm ny s c gi n khi trng thi ca MIDlet thay i. Ton b cc lp, cc file cn thit cho ng dng MIDlet s c ng gi vo trong mt b c gi l MIDlet suite, n bao gm hai file .JAR v .JAD chun. File lu tr .JAR bao gm cc file .class, cc file ti nguyn ca ng dng v mt file thng k manifest mang thng tin m t v file JAR ny. File .JAD hay cn gi l b m t ng dng l file cha thng tin v MIDlet, n lm hai nhim v chnh:

51

- Cung cp thng tin cho b qun l ng dng v ni dung file .JAR, qua h thng s quyt nh xem MIDlet ny c thch hp chy trn thit b hay khng. - Cung cp phng tin chuyn tham s cho MIDlet m khng phi thc hin thay i file .JAR Midlet gm 3 phng thc chnh : - Phng thc StartApp(boolean b) : L phng thc cho php lp trnh v cu hnh in thoi di ng . Cc hnh ng chc nng chnh, cc thao tc ln trnh ng dng ch yu c vit trong StartApp. StartApp l phng thc c kch hot khi chy cng vi ng dng trn thit b di ng. C th coi n chnh l phn ct li trong mt chng trnh vit bng J2ME cho in thoi di ng. - Phng thc PauseApp(Boolean b) : l mt phng thc h tr cng vic s l cho ngi lp trnh khi thit b di ng v mt l do no ng dng cn phi tm dng nhng quyn hot ng cho mt ng dng khc. Phng thc PauseApp cho php ngi lp trnh thc hin cc cng vic x l d liu , lu tr thng tin, cu hnh h thng trc khi ng dng c tm dng. - Phng thc DestroyApp(Boolean b) : L mt phng thc h tr ngi lp trnh s l d liu,lu tr thng tin nh phng thc PauseApp nhng cng vic s l ny s c thc hin trc khi ng ng dng ch khng phi l tm dng nh i vi PauseApp. Mt Midlet n gin cn phi c y 3 phng thc c bn : StartApp,PauseApp,DestroyApp.

52

Ngoi 3 phng thc c bn trn, Midlet cn c cc phng thc khc nh : Phng thc abtract void destroyApp (boolean unconditional) abtract void pauseApp ( ) final void startApp( ) final void notifyDestroyed( ) final void notifyPaused( ) final void resumeRequest( ) final String getAppProperty(String key ) - Vng i ca mt MIDlet Mt MIDlet i qua nhiu chu trnh ca vng i hot ng v lun trong mt trong ba trng thi sau: Paused (tm ngng): mt MIDlet c t trong trng thi paused sau khi phng thc khi dng c gi, nhng trc khi khi ng bi b qun l ng dng. Khi MIDlet c khi ng, n c th chuyn i xen k gia trng thi pause v active (kch hot) bt k thi im no trong sut vng i ca n. MIDlet chun b dng Midlet c t vo trng thi kch hot MIDlet yu cu c shutdown MIDlet yu cu c dng li MIDlet yu cu c kch hot Ly thuc tnh t file JAR hoc JAD M t MIDlet chun b ng

53

Active (kch hot): MIDlet ang chy. Destroyed (hy): MIDlet chm dt, gii phng ti nguyn v b b qun l ng dng ng li. 3.2.3 Giao din ngi dung A.Giao din ngi dng cp cao i tng Display

Hnh 2.16:Phn cp lp Display Mi mt MIDlet c mt tham chiu ti i tng Display, i tng ny c th tr v thng tin mn hnh hin thi: phm vi mu h tr, phn giiV cha nhng chc nng truy vn cc i tng c th hin th trn mn hnh, l cc i tng Displayable. i tng Display c th xem l b qun l mn hnh iu khin nhng thng tin no s c hin th trn thit b v hin th khi no. Mc d ch c duy nht mt i tng Display cho mt MIDlet, nhng c th c nhiu i tng Displayable bn trong MIDlet cng hin th ra mn hnh. Chng ta thng s dng cc phng thc sau ca lp Display: - Static Display getDisplay(MIDlet m): ly v i tng Display cho MIDlet. - Displayable getCurrent(): ly v i tng Displayable hin thi ca mn hnh. - Void setCurrent(Displayable d): hin th i tng Displayable. Cc hm API ca Display: Phng thc static Display getDisplay (MIDlet m) M t Ly v i tng Display object cho
54

MIDlet Displayable getCurrent ( ) void setCurrent (Alert alert, Displayable nextDisplayable) void nextCurrent (Displayable nextDisplayable) boolean isColor ( ) int numColors ( ) void callSerially ( ) Thit b c h tr mu S mu m thit b h tr Yu cu gi i tng Runnable sau khi v li v d v to i tng Display cho mt MIDlet: import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class vd extends MIDlet { private Display di; private Form fr; public vd(){ di=Display.getDisplay(this); fr=new Form("vdform"); } Ly v i tng Displayable hin hnh Hin th cnh bo trn i tng Displayable hin hnh Hin th mt i tng Displayable mi

public void startApp(){ di.setCurrent(fr); } public void pauseApp(){} public void destroyApp(boolean un){}
55

} i tng Dislayable v Screen

Hnh 3.17:Phn cp lp Displayable Mt i tng Displayable l mt thnh phn c hin th trn thit b. MIDP cha 2 lp con ca lp Displayable l Screen v Canvas. Mt i tng Screen khng phi l mt ci g hin ra trn thit b, m lp Screen ny s c tha k bi cc thnh phn hin th mc cao, chnh cc thnh phn ny s c hin th ra trn mn hnh. Canvas hay cn gi l khung v, l thnh phn giao din cp thp ca J2me. Nhng thnh phn giao din cp thp nh Canvas s cho php ta v trc tip ln mn hnh to ra cc thnh phn ha sinh ng hay xy dng Game. Ngoi MIDlet v mn hnh ra, ci cn phi quan tm khi to giao din cho chng trnh chnh l cc i tng c th hin th c trn mn hnh Displayable, trong cc i tng ny, i tng m chng ta s s dng nhiu nht chnh l Form, Form l mt trong nhng khung cha c bn, ch khi to c khung cha c bn, ngi lp trnh mi

56

c th a c cc i tng giao din bc cao mong mun vo Form v xut ln mn hnh. Thnh phn Form v Item Mt Form ging nh mt khung cha, mi thnh phn giao din m ta mun hin th ra mn hnh u nm trong khung cha ny, v cc phng thc ca Form s quyt nh hin th cc thnh phn ny khi no v nh th no. Mt Item l mt thnh phn giao din c th thm vo Form. Ni chung Mt Form ch n gin l mt khung cha cc thnh phn, m mi thnh phn c tha k t lp Item, bao gm: ChoiceGroup, DateField, Gauge, ImageItem, StringItem, TextField. - Form Mt Form khng khc g mt ca s, ca s c c ch cun th, c th ct gi bt c thnh phn giao din no. Form ban u c to ra s ch l mt ca s trng, c th thm cc thnh phn giao din vo trong Form bn cn dng phng thc append ca i tng Form, phng thc append ny s tr v mt ch s bo ni thnh phn c nh v, thnh phn u tin c a vo ca s s c ch s l 0. Cc thnh phn giao din sau khi c a vo trong Form s c t ng sp xp theo th t t tri qua phi, t trn xung di. Form c cc phng thc xc nh s thnh phn trn mt Form v truy cp ch s (v tr) ca mt thnh phn no hin c trong Form. Form c nhng phng thc chn (insert), thay th (replace) v xa (delete) nhng i tng thnh phn. c th chn, thay th v xa cc thnh phn mt cch chnh xc th ngi lp trnh cn xc nh ch s (v tr) ca thnh phn cn xa, chn hay thay th. Cc API thng dng vi Form: Phng thc Form (String s) M t To Form vi nhn l s, nhn ny ging nh title ca Form. Form (String s, Item[] items) To Form v thm cc mc Item trong

57

mng vo Form. int append(Displayable d) Thm thnh phn Displayable vo Form. void delete(int i) Xa thnh phn Displayable ti v tr th i void insert(int i1, Item i) String getLabel( ) void setLabel (String s) V d to ra mt Form: Chn Item i vo v tr i Ly v nhn cho Item Gn nhn cho Item

Hnh 3.18: Kt qu thc thi chng trnh to ta mt Form import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class vd extends MIDlet{ private Display di; private Form fr;
58

public vd(){ di=Display.getDisplay(this); // to Form vi nhn l vdform fr=new Form("vdform"); } public void startApp(){ // hin th form c to ra trong phng thc khi dng //ngay khi ng dng bt u hot ng. di.setCurrent(fr); } public void pauseApp(){ } public void destroyApp(boolean b){ } } - Cc thnh phn Item Item l mt lp tru tng, do ta khng th to nhng th hin ca lp Item. Thay vo chng ta to ta cc i tng t lp con ca Item. Di y s gii thiu v cc thnh phn Item v cch s dng chng. StringItem Thnh phn StringItem c dng hin th mt nhn hay chui vn bn. Ngi dng khng th thay i nhn hay chui vn bn khi chng trnh ang chy. StringItem khng nhn ra s kin, ngha l ngi dng khng th tng tc c vi StringItem. Mt StringItem gm hai phn l phn nhn (lable) v phn vn bn (text), bn c th dng phng thc ring cho lable v text thay i hay ly v ni dung hin thi ca chng. Nhng phng thc hay c s dng ca lp StringItem:
59

Phng thc StringItem(String label, String text) void setText(String text) void setLable(String lable) String getText( ) String getLable( ) V d to ra mt StringItem: import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class vd extends MIDlet { private Display display; private Form fmMain; private StringItem siMsg; public vd() { display = Display.getDisplay(this);

M t Phng thc khi dng Thay i ni dung text ca StringItem Thay i lable ca StringItem Ly v gi tr hin thi ca text Ly v gi tr hin thi ca lable

//to mt i tng StringItem c tn l siMsg //vi nhn l tn trng v vn bn l khoa cng ngh thng tin siMsg = new StringItem("tn trng: ", "Khoa cng ngh thng tin"); fmMain = new Form("StringItem Test"); //thm i tng siMsg vo Form fmMain.append(siMsg);

60

} public void startApp() { display.setCurrent(fmMain); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } }

Hnh 2.19:Kt qu thc thi chng trnh to ra mt StringItem

61

TextField Mt thnh phn TextField l mt nhp liu vi mt dng duy nht, ging nh cc nhp tn ti khon v password bn vn nhn thy khi ng nhp vo cc trang web. TextField c mt thuc tnh rt quan trng l rng buc (constraint), rng buc cho bit ngi dng ch c php nhp loi d liu no vo TextField. C bn loi rng buc h tr c bit cho cc kiu nh dng: a ch email, URLs, s v s in thoi. Bng di y lit k nhng rng buc nhp liu sn c. Ngoi nhng rng buc, khi bn to ra mt TextField, bn c th ch r c bao nhiu k t m bn cn trong nhp liu. Rng buc CONSTRAINT_MASK Kiu h tr S dng mt n ny khi bn cn xc nh gi tr hin thi ca rng buc ANY EMAIL_ADDR Cho php tt c k t Cho php dng nhp liu hp l l mt a ch email NUMERIC Cho php duy nht s. Bao gm s dng ln s m PASSWORD Nhp d liu di dng password, cc k t nhp vo s b che i bi k t mt n. PHONENUMBER Dng nhp liu theo nh dng s in thoi URL Ch cho php nhp cc k t hp l theo dng a ch web URL Phng thc dng ca lp TextField:

62

TextField(String label, String text, int maxSize, int constraints). To ra mt TextField vi nhn l label, vn bn c sn trong TextField l text, s k t ti a l maxSize v dng d liu c php nhp vo l constraints. Sau khi ngi dng tng tc vo TextField, bn s cn ly li cc thng tin c ngi dng nhp vo v x l chng, lm c vic bn hy s dng cc phng thc c gii thiu sau y ca TextField: Phng thc TextField (String label, String text, in maxSize, int constraints) void delete(int offset, int length) Xa cc k t trong TextField: Vi v tr bt u xa l offset, v s k t cn xa l length. void insert(char[] data, in offset, int length, int position) void insert(String src, int position) void setChars(char[] data, int offset, int length, int position) void setString(String text) int getChars(char[] data) String getString( ) int getConstraints( ) void setConstraints(int constraints) int getMaxSize( ) int setMaxSize(int maxSize) Int getCaretPosition( ) int size( ) V d to ra mt TextField: Thay th ni dung TextField vi chui Ly v ni dung TextField Ly v ni dung cha trong TextField Ly v rng buc nh ngha ca TextField t rng buc cho TextField Tr v s k t ti a ca TextField t s k t ti a Ly v tr con tr nhp liu Ly v s k t hin c ca TextField Chn k t t mng vo TextField ti mt v tr xc nh Chn k t vo TextField Thay th k t t mng M t To ra mt TextField mi

63

import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class vd extends MIDlet{ private Display di; private Form fr; private TextField t1,t2; public vd(){ di=Display.getDisplay(this); fr=new Form("vdform"); //to textfield vi tn l t1. Nhn ca t1 l "ten :", //vn bn c sn trong TextField l "abc", //s k t ti a l 20, kiu rng buc l ANY t1=new TextField("ten:","abc",20,TextField.ANY); //to textfield vi tn l t2. Nhn ca t2 l "pass :", //vn bn c sn trong TextField l "123", //s k t ti a l 20, kiu rng buc l PASSWORD t2=new TextField("pass:","123",20,TextField.PASSWORD); fr.append(t1); fr.append(t2); } public void startApp(){ di.setCurrent(fr); } public void pauseApp(){ } public void destroyApp(boolean b){ } }
64

Hnh 3.20:V d to ra cc TextField Image & ImageItem Hai lp c dng hin th hnh nh l: Image v ImageItem. Image c dng to ra mt i tng hnh nh v gi thng tin nh l chiu cao v chiu rng ca hnh nh. Lp ImageItem m t mt tm nh s c hin th nh th no, v d tm nh s c t trung tm, hay t v pha bn tri, hay bn trn ca mn hnh. MIDP a ra 2 loi hnh nh l loi nh khng bin i v nh bin i. Mt tm nh khng bin i th khng th b thay i k t lc n c to ra. c trng ca loi nh ny l c c t mt tp tin. Mt tm nh bin i v c bn l mt vng nh. iu ny ty thuc vo vic bn to ni dung ca tm nh bng cch ghi n ln vng nh.

65

Mt vi phng thc khi dng hay dng ca lp Image v ImageItem Image createImage(String name): To ra mt i tng hnh nh t mt nh c sn, nh ny nm trong th mc src ca d n, v ngi lp trnh ch cn a ra tn chnh xc ca nh (c phn m rng) chng trnh np nh vo. Image createImage(Image source) Image createImage(byte[] imageDate, int imageOffset, int Length) Image createImage(int width, int height): To ra mt nh vi chiu rng v chiu cao xc nh. Nhng phng thc hay c s dng ca lp Image: Phng thc static Image createImage ( String name) M t To image khng thay i c t resource. static Image createImage ( Image resource) To nh t mt nh c sn.

static Image createImage (byte [] imageData, To nh d liu mng. int imageOffset, intimageLength) static ImagecreateImage ( int width, int height) Int getHeight() Int getWidth() Boolean isMutable To nh theo chiu rng v cao xc nh. Ly v chiu cao. Ly v chiu rng. Xc nh nh c thay i c hay khng.

Ch : PNG l loi nh c h tr bi bt k thit b MIDP no. on m di y m t lm th no to mt tm nh t mt tp tin, v gn n vi mt i tng ImageItem v thm mt bc nh vo mt Form: Form fmMain = new Form("Images"); Image img = Image.createImage("/house.png");

66

fmMain.append(new ImageItem(null, img,

ImageItem.LAYOUT_CENTER, null));

on m di y m t vic s dng i tng Image v i tng ImageItem: import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class vd extends MIDlet implements CommandListener{ Display dis; Form fr; Command c; public vd(){ dis=Display.getDisplay(this); fr=new Form("hi you!"); c=new Command("exit",Command.EXIT,1); try{ //to ra mt i tngImage c tn l i //c np vo t mt nh vi tn l leaf.png Image i=Image.createImage("/leaf.png"); //thm i tng nh ny vo Form //nh c t v tr chnh gia: LAYOUT_CENTER fr.append(new ImageItem(null,i,ImageItem.LAYOUT_CENTER,null)); dis.setCurrent(fr); } catch(java.io.IOException e){ System.out.print("ko nap duoc anh"); } fr.addCommand(c); fr.setCommandListener(this); }
67

public void startApp(){ dis.setCurrent(fr); } public void pauseApp(){ } public void destroyApp(boolean b){ } public void commandAction(Command c,Displayable db){ destroyApp(true); notifyDestroyed(); } }

68

Hnh 2.22:V d to Image Bn ng quan tm ti nhng i tng m bn cha tng hc qua, hy th bit cch a mt nh ln mn hnh. Bn hy copy file leaf.png vo cng folder vi file vd.java, hoc i tn leaf.png trong m ngun thnh mt tn khc, v copy file nh c tn nh vy vo cng th mc vi file vd.java. Thnh phn List, TextBox, Alert, Ticket Trong phn ny chng ta s xem xt i tng List, TextBox, Alert, Ticket trong cc thnh phn giao din cp cao ca ng dng MIDP, cc lp ny cng cp vi lp Form, hay ni cch khc chng u l m rng ca lp Screen, tng t nh lp Form. S khc nhau quan trng gia cc thnh phn ny vi cc thnh phn mc 3.5.2 l cch hin th trn mn hnh, Form c th gi bt k i tng Item no nhng i tng ny th khng, khi i tng ny c t l thnh phn hin th th n l thnh phn duy nht c hin th. - List Mt List cng l mt danh sch chn nh ChoiceGroup, tuy nhin cc List uc dng th hin mt thc n cc chn la. List c ba dng l : a la chn v chn loi tr v danh sch khng tng minh. List a la chn hay List chn loi tr, khi List c to ra di dng ny th bn cnh cc nt chn s c hnh nh ca nt radio hay checkbox, hn na khng c s kin no pht sinh khi ngi dng thay i mt phn t trong List. Tuy nhin List khng tng minh li khc, List khng tng minh khng c nt radio hay checkbox bn cnh, khi ngi dng nhn vo cc nt chn trong List th s c s kin pht sinh. Phng thc khi dng c bn ca List: List (String title, int listType): To ra mt List vi nhn l title v kiu l listType.

69

Di y l bng lit k cc listType c th c ca mt i tng List: Gi tr EXCLUSIVE MULTIPLE IMPLICIT Cc phng thc thng dng trong lp List: Phng thc List (String title, int listType) M t To ra mt danh sch mi khng c phn t no List (String title, int listType, String[] stringElements, Image[] imageElements ) int append (String stringPart, Image imagePart) void delete(int elementNum) void insert(int elementNum, String stringPart, Image imagePart) void set(int elementNum, String stringPart, Image imagePart) String getString(int elementNum) Thay th phn t ti mt ch s xc nh Ly v ni dung vn bn ca phn t ti ch s xc nh Image getImage(int elementNum) Ly v hnh nh kt hp vi phn t ti ch s xc nh
70

M t Duy nht mt la chn c php C th chn cng lc nhiu gi tr Danh sch khng tng minh

To ra danh sch List t cc mc d liu cha trong mng

Thm phn t

Xa mt phn t ti ch s xc nh Chn phn t ti ch s xc nh

int getSelectedIndex() void setSelectedIndex(int elementNum, boolean selected) int getSelectedFlags(boolean[] selectedArray_return) void setSelectedFlags(boolean[] selectedArray) boolean isSelected(int elementNum)

Ch s hin hnh t ch s hin hnh

Ly v tnh trng ca cc phn t

t tnh trng chn cho phn t

Xc nh xem phn t c chn hay khng

int size()

Xc nh s phn t bn trong danh sch List

on m di y minh ha vic s dng mt List khng tng minh: import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class vd extends MIDlet{ Display dis; List li; public vd(){ dis=Display.getDisplay(this); try{ Image i[]={
71

Image.createImage("/down.png"), Image.createImage("/up.png"), Image.createImage("/help.png") }; String s[]={ "down", "up", "help" }; li=new List("list",List.IMPLICIT,s,i); } catch(java.io.IOException e){ System.out.print("ko load dc anh"); } } public void startApp(){ dis.setCurrent(li); } public void pauseApp(){}

72

public void destroyApp(boolean b){} }

Hnh 3.21:Vd to mt List X l s kin Phn ln cc i tng ha chng ta hc t phn trc u c kh nng n nhn cc tng tc t pha ngi dng, v d nh vic nhp thng tin vo TextField hay vic chn Item t mt ChoiceGroup hay mt List... Mi khi mt tng tc xy ra trn mt thnh phn giao din, chng trnh phi c nhng hnh ng tr li tng ng vi nhng tng tc , v d khi bn nhn nt ng nhp hay ng xut trn mt website, h thng s phi c nhng hnh ng cho php bn tham gia hay thot khi h thng.
73

Nhng tng tc xy ra trn cc thnh phn giao din nh vy chng ta s gi l s kin v vic to ra nhng hnh ng tr li cho cc tng tc chng ta s gi l x l s kin. - M hnh x l s kin Vic u tin khi x l s kin l chng ta phi c c ch nhn bit xem s kin xy ra u (trn thnh phn giao din no) v sau l a ra cc hnh ng tr li cho cc s kin . V c bn, chng ta c ba bc chnh qun l thnh cng mt s kin. Phn cng (thit b vt l) phi on nhn c iu g xut hin: Mt nt c nhn hay mt nt c th ra, dy ni pin ngun adapter ang cm vo hay tho ra. Phn mm trn thit b (b qun l ng dng) cn c thng bo v s kin ny. y l im ni chng ra s ng dng vai tr l mt ngi pht trin MIDlet. Mt thng bo t b qun l ng dng s c gi cho MIDlet. Thng bo ny s cha thng tin v s kin sao cho chng ta c th a ra nhng quyt nh x l (s kin c th l mt yu cu hin th thng bo gip trn mn hnh thit b) MIDlet c th nhn bit c cc s kin chng ta phi gn vo n mt b lng nghe s kin, cn c gi vi thut ng l Listener. C hai giao din Listener chnh cho mi MID Profile l: CommandListener v ItemListener. Khi MIDlet nhn bit c s kin ri, vic tip theo ngi lp trnh cn phi lm l a ra cc hnh ng tr li, lm c vic bn cn mt lp ci t hoc c hai giao din interface ny. Khi ci t interface, bn s xy dng ni dung cho phng thc commandAction() v itemStateChanged(). y l ni bn t m thc hin nhng cng vic ng vi yu cu ca s kin xut hin.

74

- i tng COMMAND Trong phn ny chng ta s cng nhau tm hiu cch to ra v s dng mt thnh phn ha rt n gin, nhng gn nh khng th thiu trong cc giao din phn mm l nt nhn. Nt nhn trong J2me c gi l Command, nt nhn c hai loi: Nt phm thng l nhng nt nm gc di cng bn tri v bn phi trn mn hnh chng trnh (nm trn thanh Menu cui mn hnh), gi nt ny l nt phm bi v n c kh nng nh x ln cc nt tht trn bn phm in thoi. Nhng nt khng th tham chiu n cc nt tht trn bn phm gi l nt mm. nhn cc nt ny ngi dng ch cn nhn nt Ok/Menu trn bn phm in thoi (phm tng ng vi phm Enter trn bn phm my vi tnh). Vic x l s kin cho nhng nt ny gm cc bc: 1. To ra cc i tng Command. 2. a Command vo mt Form, TextBox, List hoc Canvas. 3. Thm mt CommandListener vo Form, TextBox, List hoc Canvas bc trn. Khi bt c mt s kin, Listener s c gi (gi mt thng bo s kin t b qun l ng dng n Listener). Kt qu l phng thc commandAction() m Listener qun l s c gi. Bn trong phng thc ny bn c th xc nh Command no bt u hot ng v x l s kin tng ng. Di y l v d cho php to ra mt nt thot khi MIDlet: import javax.microedition.lcdui.*; import javax.microedition.midlet.*;

75

//ci t giao tip lng nghe s kin CommandListener public class vd extends MIDlet implements CommandListener{ private Display di; private Form fr; private Command c1; public vd(){ di=Display.getDisplay(this); fr=new Form("vdform"); //To ra nt nhn c1=new Command("exit",Command.EXIT,1); //thm nt nhn vo form fr.addCommand(c1); //gn b lng nghe s kin vo form fr.setCommandListener(this); } public void startApp(){ di.setCurrent(fr); } public void pauseApp(){}

76

public void destroyApp(boolean b){ } public void commandAction(Command com,Displayable db){ //xc nh Command gy ra s kin v x l if(com==c1){ destroyApp(true); notifyDestroyed(); } } }

- Command v CommandListener Khi to mt i tng lnh Command mi chng ta c ba tham s: nhn (label), kiu (type) v quyn u tin (priority). phng thc khi dng: Command (String label, int commandType, int priority): To mt nt nhn c nhn l label, loi nt nhn l commandType, quyn u tin l priority. v d: c1=new Command("exit",Command.EXIT,1); Trong : 1. Nhn (label): y l phn ch r ni dung vn bn m bn kt hp vi Command. Nhn c th c hin th trc tip trn mn hnh thit b hoc hin th bn trong mt menu.

77

2. Kiu (type): Xc nh xem Command l nt mm hay nt phm, nu l nt phm th l loi nt phm no?. Di y l bng cc gi tr kiu ca Command: Gi tr BACK CANCEL M t Yu cu di chuyn ti mn hnh trc Yu cu hy b mt thao tc. V d, khi hin th mt mn hnh nhc nh nhp vo mt a ch Web, bn c th c c nt OK ln Cancel lm nhng nt ty chn trn mn hnh EXIT HELP ITEM Yu cu thot khi MIDlet Yu cu hin th thng tin gip Yu cu nh x trn Command ln mt Item trn mn hnh. V d, khi s dng thnh phn danh sch List, bn c th m phng hot ng ca mt menu ng cnh bng cch nh x lnh Command cho tng mc trong danh sch List. OK Xc nhn ra quyt nh t pha ngi dng. V d, sau khi d liu ti xung, bn c th a ra mt mn hnh thng bo Download completed vi mt lnh kiu OK. SCREEN Dnh cho nhng lnh khng c nh x ln cc phm c bit. V d, bn c th c nhng lnh khi ng qu trnh chuyn tp tin t my di ng sang my tnh ln hay ti xung d liu t Internet hoc t cc my PC. Nhn Upload v Download khng c phm nh x trc tip trn thit b. STOP Yu cu dng mt thao tc. V d, nu ang ti d liu xung t mng Internet, ty chn ny c th hin sn gip ngi dng c th
78

chm dt qu trnh download m khng phi i thao tc hon tt 3. Quyn u tin: Quyn u tin c xc nh bng mt con s, s c gi tr cng cao th quyn u tin cng thp. Nhng gi tr ny c th gip ch cho b qun l ng dng khi sp xp cc Item xut hin trong menu la chn hoc sp th t cc nt mm trn mn hnh. Quyn u tin ny lm mt yu cu do bn ch nh. Phm thc s c nh x v quyn u tin trn phm thc t s c quyt nh v iu bi thit b. Nhng phng thc thng c dng ca Command: Phng thc Constructor Command (String label, int To ra i tng Command M t

commandType, int priority) Phng thc int getCommandType() String getLabel() int getPriority() Phng thc ca CommandListener: Phng thc void commandAction(Command M t c, c gi khi lnh Command c trn mt i tng Displayable d bt u mt s kin v d di y s m t cch s dng Command v CommandListener: Ly v kiu gn cho lnh Ly v nhn gn cho lnh Ly v quyn u tin gn cho lnh

Displayable d)

79

import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class vd extends MIDlet implements CommandListener{ private Display di; private Form fr; private TextBox tb; private Command c1,c2,c3; public vd(){ di=Display.getDisplay(this); fr=new Form("vd"); tb=new TextBox("help","y l ni dung help...",50,0); //to ra cc nt nhn c1=new Command("exit",Command.EXIT,1); c2=new Command("help",Command.HELP,2); c3=new Command("back",Command.BACK,3); //thm cc nt nhn vo form fr.addCommand(c1); fr.addCommand(c2); tb.addCommand(c3); //gn b lng nghe s kin vo cc thnh phn khung cha fr.setCommandListener(this);

80

tb.setCommandListener(this); } public void startApp(){ di.setCurrent(fr); } public void pauseApp(){ } public void destroyApp(boolean b){ } public void commandAction(Command com,Displayable db){ if(com==c1){ destroyApp(true); notifyDestroyed(); } else if(com==c2){ di.setCurrent(tb); } else if(com==c3){ di.setCurrent(fr); } }

81

Hnh 2.29:v d v Command v CommandListener y l mt v d n gin, giao din chnh ca chng trnh c gn vi hai nt exit v help, exit thot khi MIDlet, help bt ln mt ca s tr gip dng TextBox, ca s help ny c gn vi mt nt back quay li giao din chnh ca chng trnh. to c chng trnh nh trn, u tin ta phi to ra cc nt nhn: c1=new Command("exit",Command.EXIT,1); c2=new Command("help",Command.HELP,2); c3=new Command("back",Command.BACK,3); Ri gn cc nt nhn vo cc i tng khung cha thch hp:

82

fr.addCommand(c1); fr.addCommand(c2); tb.addCommand(c3); Gn i tng lng nghe s kin vo cc khung cha. V y MIDlet ca chng ta c ci t thc thi giao din CommandListener (implements CommandListener) cho nn i tng lng nghe s kin cng chnh l MIDlet: fr.setCommandListener(this); tb.setCommandListener(this); Bc cui cng l x l s kin: public void commandAction(Command com,Displayable db){ if(com==c1){ destroyApp(true); notifyDestroyed(); } else if(com==c2){ di.setCurrent(tb); } else if(com==c3){ di.setCurrent(fr); } }
83

y nhn bit c i tng Command no l i tng gy ra s kin, chng ta s dng tham s com ca phng thc CommandAction vi cu lnh kim tra n gin nh sau: if (com==tn_Command){ //thc hin cng vic tng ng } - Item v ItemStateListener Mt kiu x l s kin th hai c thc hin thng qua i tng Item. Item ch c th truy xut t b phn ca Form trong khi lnh Command c th truy xut c t Form, TextBox, List, hoc Canvas. Khi bn thm mt Item vo Form, tng t nh vi Command, bn phi thm mt b ItemStateListener vo chung lng nghe s kin. Khi c s thay i tc ng n Item (nh Gauge tng mc m hoc DateField thay i d liu), i tng ItemStateListener s c thng bo bng mt thng ip. Bn c th xem thng bo ny nh mt li gi ti phng thc itemStateChanged(). Phng thc ny c th gii m thng ip xem Item thay i nhng g v x l nhng thay i ny nh th no nu cn thit. Lu :StringItem v ImagItem cng l nhng lp con ca Item. Tuy nhin, khi c cp pht, nhng i tng ny l tnh v do khng nhn c thng bo v s kin pht sinh. V d di y s cho php to ra mt TextField v mt StringItem. Bt c khi no ngi dng thay i ni dung ca TextField th ni dung ca StringItem cng b thay i theo:

84

import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class vd extends MIDlet implements CommandListener, ItemStateListener{ private Display di; private Form fr; private TextField tf; private StringItem st; private Command c1; public vd(){ di=Display.getDisplay(this); fr=new Form("vd"); c1=new Command("exit",Command.EXIT,1); //TextField v StringItem l cc i tng Item tf=new TextField("h tn:","",50,TextField.ANY); st=new StringItem("Xin cho:",""); fr.append(tf); fr.append(st);

85

fr.addCommand(c1); fr.setCommandListener(this); //gn b lng nghe vo form cha Item fr.setItemStateListener(this); } public void startApp(){ di.setCurrent(fr); } public void pauseApp(){ }

public void destroyApp(boolean b){ } public void commandAction(Command com,Displayable db){ if(com==c1){ destroyApp(true); notifyDestroyed(); } } //x l s kin public void itemStateChanged(Item it){

86

if(it==tf){ st.setText(tf.getString()); } } } cho mi khi TextField thay i ni dung, ni dung ca StringItem cng b thay i th ta phi gn b lng nghe s kin vo TextField: fr.setItemStateListener(this); B lng nghe hay i tng lng nghe s kin y l MIDlet (this) ca chng ta v MIDlet c ci t thc thi giao din ItemStateListener (implements CommandListener, ItemStateListener). Sau tin hnh x l s kin trong phng thc itemStateChanged: public void itemStateChanged(Item it){ if(it==tf){ st.setText(tf.getString()); } } Tng t nh x l vi CommandListener, y chng ta cng s dng tham s Item ca phng thc itemStateChanged xc nh i tng Item gy ra s kin vi cu lnh kim tra n gin:

87

if(it==tn_Item){ //on m x l tng ng }

Hnh 2.30:V d s dng ItemStateListener Tr StringItem v ImageItem, cc Item khc u c th nhn bit tng tc vi ngi dng. Khi thm Item vo Form, bn to mt Listener n bt s kin ngi dng (cho

88

tt c cc Item trn Form). Khi c s thay i pht hin, phng thc itemStateChanged() s c gi. Bn trong phng thc ny bn c th xc nh c thay i din ra trn Item no v quyt nh cch x l chng. Khng cn phi gi itemStateChanged() mi khi c thay i din ra. Tuy nhin, n theo nhng quy tc sau: Nu mt Item thay i th itemStateChanged() phi c gi trn Item thay i trc khi thng bo v thay i ca mnh cho nhng Item k tip Nu mt MIDlet thc hin thay i cho mt Item (theo cch tng t nh tng tc ngi dng) th itemStateChanged() s khng c gi. v d, nu bn vit m bn trong MIDlet thay i gi tr ca DateField, iu ny s khng lm pht sinh s kin. Nu thit b chy MIDlet c th nhn bit khi ngi dng i chuyn t Item ny sang Item khc (thay i focus), itemStateChanged() s phi c gi khi bt u ri b Item hin hnh trc khi n Item tip theo. phng thc ca ItemStateListener: Phng thc void itemStateChanged(Item item) M t c gi khi Item thay i

- X l s kin vi cc i tng giao din Cc phn trn gii thiu ti bn cch to ra cc thnh phn giao din v cch x l s kin, chi tit hn, di y gio trnh s a ra cc v d v cch dng cc phng thc ca cc i tng ha v cch x l s kin i vi cc i tng . A) TextField Chng ta s cng nhau quay li v d trong phn ItemStateListener ni v cch x l s kin vi TextField. TextField l mt Item cho nn ta hon ton c th dng ItemStateListener vi n. TextField c rt nhiu phng thc x l trc tip cc thng tin ngi dng nhp vo ngay trn nhp thng tin, bn hy th s dng cc phng
89

thc thy c s linh hot ca TextField, cn by gi, chng ta hy lm mt v d n gin vi vic ly li thng tin trn TextField ngay thi im ngi dng nhp vo bng i tng ItemSateListener: import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class vd extends MIDlet implements CommandListener, ItemStateListener{ private Display di; private Form fr; private TextField tf; private StringItem st; private Command c1; public vd(){ di=Display.getDisplay(this); fr=new Form("vd"); c1=new Command("exit",Command.EXIT,1); tf=new TextField("h tn:","",50,TextField.ANY); st=new StringItem("Xin cho:",""); fr.append(tf);

90

fr.append(st); fr.addCommand(c1); fr.setCommandListener(this); fr.setItemStateListener(this); } public void startApp(){ di.setCurrent(fr); } public void pauseApp(){ }

public void destroyApp(boolean b){ } public void commandAction(Command com,Displayable db){ if(com==c1){ destroyApp(true); notifyDestroyed(); } } public void itemStateChanged(Item it){ if(it==tf){

91

st.setText(tf.getString()); } } } TextField l mt Item m ItemStateListener l Listener dnh ring cho cc Item, v vy khi TextField c bt c tng tc g t pha ngi dng, n u c n nhn t ItemStateListener. Kt qu, bn s thy l bt c iu g xy ra vi ni dung trong vn bn ca TextField s u c lp li phn Text ca StringItem.

b) List List khng ging cc thnh phn gii thiu trn, List khng phi l mt Item, do ta ch c th dng b lng nghe CommandListener vi List. Vy dng CommandListener vi List nh th no?, chng ta s cng xt v d di y vi mt List khng tng minh: import javax.microedition.lcdui.*; import javax.microedition.midlet.*; import java.io.IOException; public class vd extends MIDlet implements CommandListener{ Display dis; List li; Command c1; public vd(){

92

dis=Display.getDisplay(this); li=new List("list",List.IMPLICIT); li.append("muc1",null); li.append("muc2",null); li.append("muc3",null); li.append("muc4",null); li.append("muc5",null); c1=new Command("exit",Command.EXIT,1); li.addCommand(c1); li.setCommandListener(this); } public void startApp() { dis.setCurrent(li); } public void pauseApp(){ } public void destroyApp(boolean b){ } public void commandAction(Command c,Displayable db){ boolean b[]=new boolean[li.size()]; int i;

93

if(c==c1){ destroyApp(true); notifyDestroyed(); } else if(c==li.SELECT_COMMAND){ switch(li.getSelectedIndex()){ case 0: System.out.println("muc 1");break; case 1: System.out.println("muc 2");break; case 2: System.out.println("muc 3");break; case 3: System.out.println("muc 4");break; case 4: System.out.println("muc 5");break; } } } } V d ny cng khng c g c bit, chng ta ch n gin l a ra mn hnh output ca netbeans tn ca thnh phn trong List c la chn. lm c vic , trong phng thc ci commandAction ta phi kim tra xem c phi List gy ra s kin khng:

94

if(c==li.SELECT_COMMAND) V l Listener ca cc Command nn y ta phi dng thuc tnh tnh SELECT_COMMAND vi kiu tr v l mt Command ca List kim tra thnh phn no ca List c chn. Sau ta ch cn hin th tn ca thnh phn ln l c: switch(li.getSelectedIndex()){ case 0: System.out.println("muc 1");break; case 1: System.out.println("muc 2");break; case 2: System.out.println("muc 3");break; case 3: System.out.println("muc 4");break; case 4: System.out.println("muc 5");break; } Trong hm getSelectedIndex() s tr v ch s ca thnh phn List c ngi dng chn la.

95

Hnh :V d x l s kin vi List

2.2.5 Kt ni internet vi J2ME A. Khung kt ni chung GCF CLDC cung cp cho chng ta mt khung tng qut thit lp kt ni mng, l GCF. tng ca n l: nh ngha mt cch tru tng cc hot ng mng v nhp xut file dng chung cho mt s lng ln cc thit b, ging nh mt b khung nn vy. mc CLDC, J2me ch nh ngha v to kt ni, giao thc thc s v cc phng thc trao i d liu ca giao thc c trao cho tng Profiles. Vi GCF, kt ni chng ta s dng mt lp c kh nng m mi loi kt ni bao gm: file, http, datagram, Tn ca lp ny l Connector. Nh vy nu s dng
96

Connector m kt ni, chng ta ch cn gi mt phng thc open c nh dng nh sau: Connector.Open(protocol:address; parameter) C ch m GCF dng m nhiu loi giao tip ch bng mt phng thc chung duy nht ny chng minh tnh uyn chuyn ca GCF. C ch ny hot ng nh sau: 1. Trong thi gian thc thi, mi khi c yu cu m mt giao thc, Connector s tm n lp tng ng ci t giao thc y. Qu trnh tm kim ny c thc hin thng qua phng thc Class.forName(). V d nh yu cu m kt ni HTTP trong J2ME, yu cu s c vit nh sau:

Class.forName(com.sun.midp.io.j2me.http.Protocol); 2. Khi tm thy lp tng ng, Class.forName() s tr v mt i tng c ci t giao din Connection (trong lp Connector v giao din Connection c nh ngha sn trong CLDC). Sau khi kt ni thnh cng, mi cng vic giao tip, trao i d liu s u c thc hin vi i tng ci t giao din Connection ny. Ta cn nh rng: ci t tht s ca cc giao thc u nm mc profiles. Trong MIDP 1.0, HttpConnection h tr mt tp con HTTP phin bn 1.0. Do khi lp ny m rng ContentConnection, n c cung cp sn hn 20 phng thc chuyn bit giao tip thng qua giao thc HTTP. V d, to mt kt ni HTTP ta s lm nh sau: //To chui kt ni String url = "http://www.corej2me.com"; // HttpConnection l mt i tng thuc MIDP // lp ci t thc s giao thc HTTP

97

HttpConnection http=null; //Dng i tng Connector m kt ni, phng thc open ca i //tng ny tr v mt i tng Connection. //p kiu i tng Connection thnh HttpConnection HttpConnection http = (HttpConnection) Connector.open(url);

B. Cc giao thc c h tr trong GCF


Nh ta bit, cc thit b di ng ni chung v in thoi di ng ni ring c kh nng kt ni rt ln, bi v n c ngi s dng dng trao i vi th gii bn ngoi ti bt c ni u v bt c lc no. Nhng kh nng kt ni y khng ch l kh nng thoi hay SMS m cn l kt ni khng dy. Do , J2me c th h tr mt s lng ln cc thit b di ng khc nhau vi nhiu kh nng kt ni v yu cu nhp xut khc nhau GCF c thit k. GCF nh ngha k thut kt ni chung nht c th cho mi loi thit b, c dng chung bi c hai loi cu hnh l CDC v CLDC, v vy GCF h tr rt nhiu loi giao thc, nhiu kiu kt ni khc nhau, v d: Giao thc HTTP, FTP, UDP, Datagram, Socket... Nhng i vi in thoi di ng, i vi hin trng MIDP, giao thc lun lun c h tr l giao thc HTTP, v vy trong gio trnh ny chng ta s hc cch to kt ni HTTP vi J2me. bt u, chng ta s cng xem GCF cung cp cho ta nhng cng c g tin hnh kt ni v trao i d liu thng qua i tng Connection, i tng m chng ta c lm quen mc trn.

98

Hnh 2.42:Phn cp lp Connection

Sau y l m t cc giao din kt ni c nh ngha trong CLDC: Giao dinStreamConnectionNotifier: c dng khi i mt kt ni pha server c thit lp. Phng thc acceptAndOpen() b chn cho n khi client thit lp kt ni. Giao din InputConnection dng thc hin mt lung nhp tun t d liu ch c. Giao din OutputConnection dng thc hin mt lung xut d liu ch vit. Giao din StreamConnection l kt hp ca c hai giao din InputConnection v OutputConnection. N dng cho cc thit b di ng c truyn thng hai chiu. Giao din ContentConnection k tha giao din StreamConnection v thm vo cc phng thc getType(), getEncoding(), v getLength(). N cung cp c s cho giao din HttpConnection ca MIDP.

99

Giao din HttpConnection c nh ngha trong MIDP v k tha giao din ContentConnection ca CLDC. Giao din ny cung cp cc phng thc thit lp mt kt ni HTTP. Vic s dng nhng i tng ny nh th no, trong trng hp no tin hnh giao tip v trao i d liu chng ta s c hc trong cc v d c th di y. C. H tr giao thc HTTP trong MIDP i vi cng ngh J2ME, cn phi quan tm n s hn ch ca c kt ni mng v ti nguyn ca thit b, khng ging nh mi trng thng thng ca my tnh c nhn vi kt ni mng c nh. iu ny c ngha l nh pht trin nn lng trc c cc khong thi gian tr di trn bng thng hn ch. Hn na, bt k trong tnh hung no cng khng nn cho rng thit b di ng lun lun c kt ni. V ti nguyn, ta phi i mt vi vn kh nng tnh ton hn ch cng vi kh nng lu tr tng i ca thit b. Do , trc khi pht trin mt ng dng phn tn cho client di ng, ta cn phi xem xt k cc yu t trc khi chn giao thc, bi v quyt nh ny c th c nh hng ln n hiu sut ca ng dng. HTTP l mt giao thc lin lc client/server l tng cho ng dng Java di ng. i vi mi c t, thit b tng thch MIDP 1.0 phi h tr HTTP. Cc giao thc khc nh TCP hay UDP l ty chn. Bi v khng phi tt c thit b MIDP u h tr truyn thng socket hay datagram, do trin khai HTTP trn thit b di ng cho php ti u kh nng chuyn i gia cc thit b t cc nh sn xut khc nhau. Mt li im khc na l giao thc HTTP c hng truy xut khng li (trouble-free access) thng qua tng la. Bi v server v client di ng hu nh c tch bit bng firewall, HTTP khng cn phi cu hnh thm. Mc d vy, ta cng nn quan tm n cc ri ro bo mt c th c khi m kt ni HTTP ra th gii bn ngoi. Java cung cp API lp trnh mng, h tr giao thc HTTP 1.1. Ta d dng to ra cc request GET, POST, v HEAD trong ng dng Java. S lc v giao thc HTTP

100

HTTP l giao thc truyn siu vn bn v l giao thc tng ng dng cho web. N hot ng theo m hnh Client/Server.
Web Server

Request

Response

Hnh 3.2: M hnh Client - Server Client: Yu cu, nhn, hin th cc i tng Web. Server: Web server gi cc i tng tr li cho cc yu cu t pha Client. HTTP l giao thc phi trng thi, trong Server khng lu li cc yu cu ca client. iu ny c ngha l: sau mi ln yu cu c gi ln Server v Server kt xut kt qu tr v cho Client th kt ni s hon ton b ngt, tip tc yu cu Server tr li cho cc yu cu khc, Client li phi tin hnh kt ni li t u. HTTP s dng giao thc TCP ca tng giao vn. Cc bc tin hnh t khi Client kt ni ti Server sau gi v nhn kt qu t Server gi v nh sau: Client khi to kt ni TCP vi Server Server chp nhn kt ni TCP t Client cc thng ip HTTP c trao i gia browser v web server.

101

ng kt ni TCP C hai kiu thng ip HTTP l yu cu (Request) v tr li (Response). Cc thng ip c nh dng kiu m ASCII. C HTTP v HTTPS u gi request v response. My Client gi request, cn Server s tr v response.

- Client Request Client request bao gm 3 phn sau: Request method Header Body Request method nh ngha cch m d liu s c gi n Server. C 3 phng thc c cung cp sn l GET, POST, HEADER. Khi s dng Get, d liu cn request s nm trong URL. Vi Post d liu gi t client s c phn thnh cc stream ring bit. Trong khi , Header s khng gi d liu yu cu ln server, thay vo header ch request nhng meta information v server. GET v POST l hai phng thc request kh ging nhau, tuy nhin do GET gi d liu thng qua URL nn s b gii hn, cn POST s dng nhng stream ring bit nn s khc phc c hn ch ny. V d v vic m HTTP Connection thng qua GET String url = "http://www.corej2me.com?size=large"; HttpConnection http = null; http = (HttpConnection) Connector.open(url); http.setRequestMethod(HttpConnection.GET);

102

Nhng Header field s cho php ta truyn cc tham s t Client n Server. Cc header field thng dng l If-Modified-Since, Accept, and User Agent. Bn c th t cc field ny thng qua phng thc setRequestProperty(). Di y l v d dng setRequestProperty(), ch c nhng d liu thay i sau ngy 1 thng 1 nm 2005 mi c gi v t server: String url = "http://www.corej2me.com\somefile.txt"; HttpConnection http = null; http = (HttpConnection) Connector.open(url); http.setRequestMethod(HttpConnection.GET); // t header field http.setRequestProperty("If-Modified-Since", "Sat, 1 Jan 2005 12:00:00 GMT"); Body cha ni dung m bn mun gi ln server. V d v s dng POST v gi d liu t client thng qua stream: String url = http://www.corej2me.com; tmp = "test data here"; OutputStream ostrm = null; HttpConnection http = null; http = (HttpConnection) Connector.open(url); http.setRequestMethod(HttpConnection.POST); // Gi d liu

103

ostrm = http.openOutputStream(); byte bytes[] = tmp.getBytes(); for(int i = 0; i < bytes.length; i++) { os.write(bytes[i]); } os.flush(); Sau khi nhn c v x l yu cu t pha client, server s ng gi v gi v pha client.

Server Response Cng nh client request, server cng gm 3 phn sau: Status line Header Body Status line s thng bo cho client kt qu ca request m client gi cho server.

HTTP phn loi status line thnh cc nhm sau y: 1. xx Thng tin 2. xx Thnh cng 3. xx Chuyn hng 4. xx My khch Client li 5. xx My ch Server li Status line bao gm version ca HTTP trn server, status code, v on text i din cho status code.

104

V d: "HTTP/1.1 200 OK" "HTTP/1.1 400 Bad Request" "HTTP/1.1 500 Internal Server Error" 102 Khng ging nh header ca client, server c th gi data thng qua header. Sau y l nhng phng thc dng ly thng tin Header m server gi v: String getHeaderField(int n), ly gi tr header field thng qua ch s String getHeaderField(String name), ly gi tr header field thng qua tn String getHeaderFieldKey(int n), ly header field key thng qua ch s Server c th tr v nhiu Header field. Trong trng hp ny, phng thc u tin s cho ly header field thng qua index ca n. Cn phng thc th hai ly ni dung header field da vo tn ca header field. Cn nu mun bit tn (key) ca header field, c th dng phng thc th 3 trn. Sau y l v d v 3 phng thc trn, trong trng hp server gi v chui "content-type=text/plain": Phng thc http.getHeaderField(0) http.getHeaderField("content-type") http.getHeaderFieldKey(0) Gi tr "text-plain" "text-plain" "content-type"

Body: Cng ging nh Client, Server gi hu ht nhng thng tin trong phn body cho Client. Client dng input stream c kt qu tr v t Server: //con l mt i tng HttpConnection InputStream in=con.openInputStream();

105

int length=(int)con.getLength(); byte data[]; if(length!=-1){ data=new byte[length]; in.read(data); } else { ByteArrayOutputStream br=new ByteArrayOutputStream(); int ch; while((ch=in.read())!=-1) br.write(ch); data=br.toByteArray(); br.close(); }
Cc hm API HttpConnection

3.3.2.1. Mt vi hm thng dng trong HttpConnection Phng thc M t


long getDate() Ly v ngy thng t Header

106

long getExpiration() String getFile() int getHeaderField(int n)

Ly v thi gian ht hn Ly tn file t a ch URL Ly v gi tr trng header bng ch s

String getHeaderField(String name)

Ly v gi tr trng header bng tn

long getHeaderFieldDate(String name, long def) int getHeaderFieldInt(String name, int def) String getHeaderFieldKey(int n)

Ly v trng ngy thng theo tn Ly v trng int theo tn Ly v kha ca trng s dng ch s

String getHost() long getLastModified() String getPort() String getProtocol() String getQuery()

Ly v tn host t a ch URL Ly v gi tr trng last-modified Ly v cng t a ch URL Ly v giao thc t a ch URL Ly v chui truy vn (ch dng vi GET)

String getRef()

Ly v phn tham chiu ca a ch URL

String getRequestMethod()

Ly v phng thc hin thi ang s dng (GET, POST hay HEAD)

String getRequestProperty(String key)

Ly v cu hnh hin thi ca request

107

property int getResponseCode() String getResponseMessage() Ly v m phn hi (numeric value) Ly v thng ip phn hi (text value) String getURL() void setRequestMethod(String method) Ly v ton b a ch URL t phng thc truyn thng (GET, POST or HEAD) void setRequestProperty(String key, String value) t thuc tnh yu cu (header information)

3.3.3.2.V d v kt ni Internet vi J2me Bn bit rng khi bn kt ni n cc a ch website nh "http://google.com.vn" th trn trnh duyt bn s nhn c kt qu tr v l cc i tng web, nh hnh nh, nt nhn, links... Tuy nhin, mt chng trnh J2me khng phi l trnh duyt, n khng hiu c cc m HTML, i vi n mi th m Server ca website gi v u l cc byte d liu nh phn, bn c th chuyn i n v cc i tng nh chui k t, s, hnh nh... s dng, iu ny cn ph thuc vo vic server gi v nhng d liu g, c chuyn i v cc kiu d liu bn mong mun hay khng?. lm r hn vn ny, chng ta s cng nhau i xy dng mt chng trnh J2me n gin, trong chng trnh s cung cp cho ngi dng mt TextField ngi dng nhp a ch kt ni. Sau khi ngi dng nhp song a ch v nhn nt "connect" trn mn hnh, chng trnh s tin hnh kt ni v nhn kt qu tr v t pha server, chuyn kt qu nhn c thnh dng chui v hin th ln mn hnh: import java.io.*; import javax.microedition.midlet.*; import javax.microedition.lcdui.*;
108

import javax.microedition.io.Connector; import javax.microedition.io.HttpConnection; public class vd extends MIDlet implements Runnable, CommandListener{ HttpConnection con; InputStream in; OutputStream out; Thread th; Form fr; Display dis; TextField t1; StringItem it; Command c1; String url; public vd(){ th=new Thread(this); dis=Display.getDisplay(this); fr=new Form("vdform"); t1=new TextField("a ch URL:","",50,TextField.URL); it=new StringItem("kt qu kt ni:",""); fr.append(t1); fr.append(it); c1=new Command("connect",Command.OK,1); fr.addCommand(c1); fr.setCommandListener(this); } public void startApp() { dis.setCurrent(fr);
109

} public void pauseApp() { } public void destroyApp(boolean unconditional) { } public void connect(){ try{ con=(HttpConnection)Connector.open(url); con.setRequestMethod(HttpConnection.GET); con.setRequestProperty("User-Agent","Profile/MIDP-2.0 Configuration/CLDC-1.1"); con.setRequestProperty("Content-Language", "en-US"); con.setRequestProperty("Content-Type", "application/x-wwwform-urlencoded"); } catch(Exception e){ System.out.println("kt ni li:"+e.getMessage()); } } public void in(){ String str="nothing"; try{ in=con.openInputStream(); int length=(int)con.getLength(); byte server[]; if(length!=-1){ server=new byte[length]; in.read(server);
110

str=new String(server); } else { ByteArrayOutputStream br=new ByteArrayOutputStream(); int ch; while((ch=in.read())!=-1) br.write(ch); str=new String(br.toByteArray()); br.close(); } it.setText(str); } catch(Exception e){ } } public synchronized void run(){ this.connect(); this.in(); } public void commandAction(Command c, Displayable d){ url=t1.getString(); th=new Thread(this); th.start(); } }

111

Hnh: V d kt ni Internet vi J2me Gi s nh chng ta kt ni n a ch "http://google.com.vn", bn s ngc nhin khi thy rng kt qu tr v khng phi l biu tng google v cc thnh phn quen thuc khc ca trang web ny, m l mt chui cc k t kh rm r, chnh l m HTML m my ch ca trang web google.com.vn tr v cho chng trnh ca bn. Qua v d ny chng ta s hc c cch vit mt chng trnh kt ni Internet vi J2me vi ba thao tc c bn: To kt ni n server Gi thng tin ln server
112

Nhn v x l thng tin tr li t server M to ra mt kt ni n my ch Server t xa cn ch r a ch URL v mt vi thng tin header quan trng cho yu cu request t my khch, nh s dng kiu kt ni no, dng ngn ng g...: con=(HttpConnection)Connector.open(url); con.setRequestMethod(HttpConnection.GET); con.setRequestProperty("User-Agent","Profile/MIDP-2.0 Configuration/CLDC-1.1"); con.setRequestProperty("Content-Language", "en-US"); con.setRequestProperty("Content-Type", "application/x-wwwform-urlencoded"); Sau , nhn thng tin tr v t my ch ta cn phi m mt lung InputStream v c d liu t my ch Server tr v vo trong mt mng byte. Trong v d ny, chng ta cha c nhu cu gi hoc nhn lnh HTTP: //To InputStream connection in=con.openInputStream(); int length=(int)con.getLength(); byte server[]; if(length!=-1){ server=new byte[length]; in.read(server); str=new String(server); } else { ByteArrayOutputStream br=new ByteArrayOutputStream(); int ch;
113

while((ch=in.read())!=-1) br.write(ch); str=new String(br.toByteArray()); br.close(); } Khi ContentConnection v InputStream c thit lp, chng ta th tham chiu n chiu di length ca d liu c gi v t Server. Nu length c th xc nh, chng ta c kt qu vo trong mng server ch bng mt lnh: in.read(server); Nu length khng c sn, chng ta cn phi c tng k t mt. Java cung cp mt cng c tin li v hiu qu gip bn iu khin cng vic ny. S dng ByteArrayOutputStream, cc byte c c vo trong mt mng byte ni, Java s iu khin v t thay i kch thc ca mng cho ph hp. Khi Java c xong, chng ta n gin chuyn ni dung stream vo trong mng byte ca chng trnh: ByteArrayOutputStream br=new ByteArrayOutputStream(); int ch; while((ch=in.read())!=-1) br.write(ch); str=new String(br.toByteArray()); br.close(); Cui cng chng ta chuyn i kt qu tr v thnh dng chui v in ra mn hnh in thoi nh i tng ImageItem: str=new String(server);//nu tham chiu c length str=new String(br.toByteArray());//nu khng tham chiu c length it.setText(str);//hin th kt qu ln mn hnh in thoi Di y l mt v d tng t, tuy nhin, thay v kt ni n mt a ch trang web no v nhn v m HTML, chng ta s dng chng trnh J2me kt ni n mt a ch cho php download mt nh nh dng PNG c nh (nh hn 48*48 pixel, ln
114

hn c th vt qu kh nng hin th ca thit b). Sau khi download c nh v ta s hin th nh ln mn hnh in thoi, di y l m ngun:

Hnh : V d kt ni Intenet vi J2me import java.io.*; import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import javax.microedition.io.Connector; import javax.microedition.io.HttpConnection;

115

public class vd extends MIDlet implements Runnable, CommandListener{ HttpConnection con; InputStream in; OutputStream out; Thread th; Form fr; Display dis; TextField t1; StringItem it; Command c1; String url; Image im; public vd(){ th=new Thread(this); dis=Display.getDisplay(this); fr=new Form("vdform"); t1=new TextField("a ch URL:","",50,TextField.URL); t1.setString("http://www.iconspedia.com/dload.php?up_id=3574");

it=new StringItem("kt qu kt ni:",""); fr.append(t1); fr.append(it); c1=new Command("connect",Command.OK,1); fr.addCommand(c1); fr.setCommandListener(this); } public void startApp() {
116

dis.setCurrent(fr); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } public void connect(){ try{ con=(HttpConnection)Connector.open(url); con.setRequestMethod(HttpConnection.GET); con.setRequestProperty("User-Agent","Profile/MIDP-2.0 Configuration/CLDC-1.1"); con.setRequestProperty("Content-Language", "en-US"); con.setRequestProperty("Content-Type", "application/xwwwform-urlencoded"); } catch(Exception e){ System.out.println("kt ni li:"+e.getMessage()); } } public void in(){ String str="nothing"; im=null; try{ in=con.openInputStream(); int length=(int)con.getLength(); byte server[];
117

if(length!=-1){ server=new byte[length]; in.read(server); } else { ByteArrayOutputStream br=new ByteArrayOutputStream(); int ch; while((ch=in.read())!=-1) br.write(ch); server=br.toByteArray(); br.close(); } im=Image.createImage(server,0,server.length); ImageItem ii=new ImageItem(null,im,ImageItem.LAYOUT_DEFAULT,null); if(fr.size()!=0) fr.set(0, ii); else fr.append(ii); } catch(Exception e){ } } public synchronized void run(){ this.connect(); this.in();
118

} public void commandAction(Command c, Displayable d){ url=t1.getString(); th=new Thread(this); th.start(); } } on m ny khng c nhiu khc bit vi on m trn, Thay v chuyn i kt xut t server tr v thnh dng chui, ta li chuyn i kt qu tr v t server thnh dng nh v hin th ln mn hnh: im=Image.createImage(server,0,server.length); ImageItem ii=new ImageItem(null,im,ImageItem.LAYOUT_DEFAULT,null); if(fr.size()!=0) fr.set(0, ii); else fr.append(ii); Trong on m trn i tng "server" l i tng mng byte dng cha kt qu tr v t server. Bn ch , c th links download nh ny s khng cn tn ti sau mt khong thi gian nht nh no , bn nn thay link ny bng mt link khc, ch , kiu nh c J2me h tr l PNG.

119

CHNG 4: IU KHIN KT NI GIA IN THOI V MNG VIN THNG VI TP LNH AT 4.1. Gii thiu chung v tp lnh AT (GSM 07.07) u nhng nm 1980, cng ty Hayes bt u sn xut loi thit b Smartmodem vi tc 1200. Sau khng lu cng ty ny nhanh chng pht hnh ra th trng loi Smartmodem vi tc 2400 baud/bps trong khi loi Smartmodem 1200 li ang c thnh hnh trn th trng. Khi Hayes khng c thi gian thay i li thit k gi hai loi Smartmodem 1200 v 2400. Chnh v th m cc nh thit k ca Hayes to ra mt chun modem tn ti cho n ngy nay. C hi loi Smartmodem 1200 v 2400 u c coi l cc loi modem thng minh thi , n cho php con ngi c th gi ti cc s in thoi khc t in thoi m n c gn trn , khi ngi nghe t modem bn kia c th nhn nt chp nhn hoc t chi cuc gi. Quy trnh quay s chung gia cc modem c s dng nh trong mng in thoi cng cng POTS/PSTN (Plain Old Telephone Service/Public Switched Telephone Network) c gii thiu vo nhng nm 1980. Cc Smartmodem 1200 v 2400 khng nhn bit c tn hiu bn rn hoc pht hin ra m thanh quay s cng nh hng chc cc tnh nng khc hin nay dng trong modem sn xut cui nhng nm 1980. Nhng g lm cho Smartmodem 1200 v 2400 l duy nht ti thi im l mt nh sn xut cung cp hai m hnh tc khc nhau ca modem POTS/PSTN m chng chp nhn cc lnh lp trnh, c gi l tp lnh AT (ATtention). Tuy nhin khng phi bt k phn mm no dng trn cc Smartmodem 1200 cng s lm vic trn Smartmodem 2400. Mt s nh sn xut modem t nhin nhn ra li th ca m hnh modem mi h tr cc lnh tng t nh cc m hnh trc y. Mt s nh sn xut thng xuyn pht trin cc lnh hon ton khc nhau ph hp vi thit k modem m h sn xut ra. Hng Hayes kp thi kin cc cng ty ny bng cch s dng t "Hayes" trong cc ti liu sn phm v bao b ca h. T cc nh sn xut khc bt u gi modem ca

120

h l s dng tp lnh AT tng thch v tip tc bt chc cc thit lp lnh ca Hayes. Ti nm 1986, hu ht cc modem u h tr tp lnh AT. Ngy nay hu ht cc modem chuyn dng v cc in thoi di ng h tr cng ngh GSM u s dng tp lnh AT c bn hoc tp lnh AT m rng truyn thng trong mng. 4.1. Cc lnh AT kim tra cu hnh Cc lnh AT kim tra cu hnh bao gm cc lnh kim tra cu hnh h thng, cu hnh cliens. Cung cp cc thng tin nhn thc t cliens n server.. 4.1.1. AT+CGMI nhn dng nh sn xut ngha Cho php kim tra nh sn xut modem GSM ang c s dng. C php AT+ CGMI Gii thch AT l mt t kha bt u ca bt c cu lnh no thuc tp lnh AT ( AT command). - CGMI l yu cn xc thc nh sn xut m cliens gi n server. - Sau khi nhn c yu cu, server s kim tra nu ng th n s tr v nh sn xut ca mnh hay l chun lm vic ca n theo nh sn xut no. Thng th i vi chun GSM 07.07 kt qu tr v i vi cu lnh CGMI s l mt chui l tn nh sn xut nh : Ubinetics Ltd. 2. AT+ CGMM kim tra model h thng

ngha Cho php ngi lp trnh kim tra model lm vic ca modem GSM. C php AT+CGMM Gii thch
121

Khi modem nhn c mt c php lnh ng nh th ny n s gi tr v mt chui k t l tn ca cc model. C mt s model thng dng nh:GDC200,GC201,GA100. 3. AT+CGMR xc thc nh sn xut.

ngha Xc thc thng tin chnh xc v nh sn xut. Kt qu nhn c la chi tit hn so vi AT+CGMI. C php AT+ CGMR Gii thch Modem s tr v mt cch chnh xc nht nh sn xut ca mnh. Vic xc nhn li i khi vn thng hay s dng khi m kt qu tr v t AT CGMI cha c r dng v chnh xc. Kt qu tr v vi cu lnh ny s l mt revision chnh xc v nh sn xut ca modem dng chui k t. 4. AT+CGSN kim tra serial modem

ngha Cho php ly c s serial ca tng modem gip ch cho vic nhn thc modem. C php AT+CGSN Gii thch Sau khi lnh thc hin thnh cng modem s tr v chnh xc s serial ca mnh di dng chui k t. S serial ca modem tr v thng c dng : 02-GDC200-xxxxxxx 02-GC201-xxxxxxx 02-GA100-xxxxxxx Trong xxx s l serial ca modem, phi trc s l model m n s dng. 5. AT+CSCS thit lp k t thit b u cui.
122

ngha La chn b k t c h tr bi modem, chuyn di k t gia modem v thit b u cui. C mt s kiu, chun k t c s dng nh : GSM alphabet( GSM), international reference alphabet ( IRA), hay kiu HEX. C php - Kim tra danh sch b k t c modem h tr AT+CSCS=? Nu modem nhn c cu lnh ng th n s tr v danh sch cc kiu k t m n h tr theo dng CSCS: <danh sch kiu c h tr > - Kim tra b k t ang c s dng AT+CSCS? Kt qu ca cu lnh ny l modem s tr v kiu k t m modem ang s dng c dng CSCS: <kiu ang c s dng> - Thit lp b k t s dng cho modem AT CSCS=<kiu thit lp> <kiu thit lp> c th l GSM,IRA,HEX. 6. AT+CIMI Nhn dng thu bao di ng

C php AT+CIMI Gii thch Kt qu tr v ca lnh ny s l s nhn dng thu bao di ng quc t ca modem m chng ta s dng(imsi). Kt qu ny ch nhn c khi n tn ti trong mt mng c th, hay cng c th hiu l thu bao ang tnh trng online. 7. AT+WS46 La chn mng

ngha Cho php la chn mt mng di ng modem hot ng. C php


123

- Kim tra mng di ng tn ti AT+WS46=? - La chn mng cho modem hot ng AT+WS46=<n> Gii thch Trn thc t mng di ng ca chng ta bao gm cc nh cung cp khc nhau, mi thu bao s dng mt nh cung cp mng ca mnh. V vy m trc khi kt ni thu bao di ng lun cn phi tm c s hin din ca cc nh cung cp dch v qua la chn nh cung cp dch v cho mnh. V thu bao cn phi la chng kiu mng t bo cho mnh. Trc ht tm kim, kim tra xem ti khu vc ca thu bao c nhng kiu mng t bo no ta s dng lnh : AT+WS46=? Cu lnh ny s tr v danh sch cc mng t bo di dng s t nhin. i vi mng GSM th kt qu s l s 12. Tng t la chn mng ta s dng lnh: AT+WS46=<n> Vi n l s hiu ca mng. GSM=12. 4.2 Cc lnh AT iu khin cuc gi 4.2.1. ATD quay s thit lp cuc gi ngha Cho php quay s thit lp cuc gi n mt thu bao khc vi tn hiu iu khin ty chn. C php ATD<n>[<msg>][;] Gii thch Vi <n> l s thu bao ch cn gi ti, <msg> l cc k t iu khin nh :
124

, dng quay s.

- T : b qua chung quay s - P : b qua xung quay s. - ! : ng k gi li. - W : ch chung quay s. - @ : ch tr li. - I : hn ch . Cc cuc gi nu k t c gi sau <cr> nhng trc khi nhn c bn tin kt ni OK th cuc gi s b hy. Khi thc hin lnh ATD<n>[<msg>][;] ta c th nhn c mt s m tr li di dng s t 0 n 8. Trong 0 (OK) : lnh thc hin thnh cng, khng c li. 1 (CONNECT) : kt ni c thit lp (ATX=0). 2 (RING) : chung bo 3 (NO CARRIER) : cuc gi tht bi hoc mt kt ni. 4 (ERROR) : lnh khng hp l hoc qu di. 7 (BUSY) : thu bao gi ti ang bn khng th tip nhn cuc gi. 8 ( NO ANSWER ) : cuc gi tht bi do thi gian ch kt ni qu lu

4.2.2. ATD> quay s t danh b in thoi ngha Cho php quay s thit lp cuc gi vi ch n l mt s ch c lu trong b nh danh b in thoi. C php ATD><mem><n>[l][;] Gii thch Cu lnh : ATD><mem><n>[l][;] s thc hin vic quay s thit lp mt cuc gi n mt thu bao m s a ch c ly trong danh b in thoi c ghi r . Nu
125

k t gi sau <cr> trc khi nhn c thng bo kt ni hoc bn tin OK th cuc gi s b hy. Vi cu lnh trn ty chn mem c th l cc s khn cp hay l cc s c lu trong dnh b trn SIM. N c th nhn cc gi tr l EN(Enmergency number) hoc AD (SIM phone book). Ty chn <n> chnh l v tr b nh ca s in thoi dng quay s 4.2.3. Quay s hin thi trn danh b in thoi quay s thit lp cuc gi n mt s in thoi hin hnh trn danh b in thoi ta s dng c php lnh: ATD><n>[l][;] Tng t nh vic quay s c la chng t in thoi ta ch cn ch ra a ch hay v tr ca s in thoi cn gi n trong danh b in thoi tng ng vi ty trn <n> trong cu lnh trn tin hnh quay s n mt thu bao c lu tr trong danh b in thoi. 4.2.4. ATD+CHUP Ngt cuc gi ngha Cho php kt thc cuc gi ang c kch hot. C php ATD+CHUP Gii thch Khi thc hin lnh thnh cng, tt c cc cuc gi ang hot ng s b treo ng thi tit hnh kt thc cuc gi mt cch lun phin. 4.2.5. AT+CBST La chn kiu dch v ngha Cho php thit lp cc thng s dng cho cuc gi ti, cc gi tr ny cng c dng chm dt mt cuc gi d liu. C php Kim tra danh sch c h tr
126

AT+CBST=? Kim tra trng thi hin ti AT+CBST Thit lp cc tham s dng cho dch v AT+CBST=:[<speed>[,<name>[,<ce>]]]> Gii thch AT+CBST=? Khi thc hin lnh thnh cng s tr v danh sch cc cu hnh c h tr di dng xu nh sau : CBST:<speed><name><ce> Trong speed c th l 7 (9600bps_V32), 12(9600bps_V34), 14(14400bps_V34), 71(9600bps_V110), 75(14400bps_V110). Name = 0, kt ni d liu khng ng b. <ce> c th nhn gi tr 0 hoc 1 thit lp cho qu trnh sa li din ra transparent hay non-transparent. i vi kt ni gi d liu FAX ch c h tr tc 9600 bps. 4.2.6. AT+CRLP Giao thc lin kt v tuyn ngha Cho php kim tra, thit lp cc tham s dng cho cuc gi d liu khng trong sut. C php Kim tra danh sch cc tham s c h tr AT+CRLP=? Kim tra trng thi hin ti hay cu hnh cc tham s AT+CRLP? AT+CRLP=<parameter> 4.2.7. AT+CR iu khin phn hi dch v ngha Cho php ty chn nhn hoc khng nhn phn hi dch v. Nu trng thi kch hot modem s truyn cc phn hi dch v v thit b u cui d liu khi thit lp
127

tc truyn, cu hnh truyn trc khi cc m kt ni cui cng c tr v. C php AT+CR=? Gii thch Ging nh cc lnh iu khin cuc gi khc, vic iu khin phn hi dch v cng cho php ta kim tra danh sch h tr, kim tra trng thi hin ti, thit lp ch . AT+CR=? nu thc hin thnh cng lnh ny s tr v cc ch c h tr di dng xu theo dng CR: <danh sch mode> Thng th c 2 mode chnh l : 0 disnable reporting 1 enable reporting kim tra mode hin ti ta ch vic s dng c php lnh : AT+CR? Tng t thit lp mode ta ch vic gi n modem lnh : AT+CR=<mode> 4.2.8. AT+CEER Bo co li m rng ngha Lnh ny tr v thng tin di dng text, n l cc thng tin m rng chi tit hn v cc li gy ra vic tht bi trong mt cuc gi hay l cc li lm thay i cuc gi. C php AT+CEER Gii thch Khi lnh c thc hin thnh cng bn tin tr v s c dng: CEER:<report>. Gi s khi quay s gi ti mt thu bao khc m thu bao khng th tip nhn cuc gi v ang c mt cuc gi khc th bn tin tr v ca lnh ny s l: CEER: user busy , user busy chnh l <report>. 4.2.9. AT+CRC M kt qu ngha Lnh dng iu khin cho ngi s dng bo co cc nh dng m rng thng qua vic thit lp cuc gi ca mt thit b di ng. C php
128

AT+CRC=<mode> <mode> y c th l 0 hoc 1, tng ng vi vic cho php hoc khng. 4.3 Cc lnh lin quan n dch v mng 4.3.1. AT+CNUM,subscriber number ngha Khi thc hin lnh ny s tr v MSIDNS lin quan n thu bao. Nu thu bao c cc MSIDNS khc nhau cho cc dch v khc nhau th mi MSIDNS s c tr v trn mt dng. C php AT+CNUM Gii thch Nu thc hin thnh cng s nhn c kt qu tr v c dng: CNUM: [<alpha>],<number>,<type>,<speed>,<service>[,<itc>]<cr><lf> Trong alpha: l ty trn v kiu chui s lien quan n s thu bao Number: chui s thu bao in thoi c dnh dng theo kiu ca ty trng <type>. Type: kiu a ch dng s nguyn. Speed: thng tin v tc Service: thng tin v dch v ,ch hot ng ng b hay khng ng b.

4.3.2. AT+CREG ng k mng ngha Hin th trng thi ng k mng. C php - Kim tra cc ch c h tr AT+CREG=?

129

- Kim tra ch hin ti AT+CREG? - Thit lp ch hin ti AT+CREG=<n> 3.3.3. AT+COPS La chn nh cung cp ngha Cho php ng k, hin th cc nh cung cp mng hp l. C php - Kim tra danh sch c h tr AT+COPS=? - Kim tra trng thi hin ti AT+COPS? - Thit lp, ng k nh cung cp mng. AT+COPS=[<mode>[,<format>[,<oper>]]] Gii thch Tham s mode l kiu ng k mng m modem s s dng. N c th l t ng hoc th cng ty thuc vo thit lp ca ngi qun tr. Tham s format l nh dng k t ca oper oper th hin nhn dng ca nh cung cp vi nh dng c thit lp bi format 4.3.4. AT+CLCK Kha hoc m kha ngha Cho php kha hoc m mng cho modem, mt khu l cn thit cho hnh ng ny. C php AT+CLCK=<fac>,<mode>[,<password>] Gii thch <fac> cho php la chn hnh ng iu khin.
130

<mode> ch kha/m kha i vi <fac> <password> mt khu cn thit dng cho thao tc thay i. 4.4. Cc lnh AT iu khin tin nhn SMS 4.4.1 AT+CMGF nh dng SMS ngha Lnh ny cho php thit lp nh dng SMS m modem s dng, thit lp mt nh dng SMS cho modem th nh dng cn c h tr bi modem. C php - Kim tra cc nh dng SMS c h tr AT+CMGF=? - Kim tra nh dng SMS m modem ang s dng AT+CMGF? - Thit lp nh dng SMS cho modem AT+CMGF=<mode> Gii thch <mode> y chnh l ch nh dng SMS m modem s s dng. C 2 <mode> c bn l 0 (PDU) v 1(Text). Trc khi c mt thao tc iu khin lin quan n SMS ta cn cu hnh ch SMS cho modem trc khi iu khin. 4.4.2. AT+CMGW Ghi SMS vo b nh sim card. ngha Cho php ghi mt tin nhn vn bn vo b nh lu tr ca sim card. Nu thnh cng s tr v b tr lu tin nhn. C php AT+CMGW=<number> Gii thch Vi <number> l s thu bao cn gi n, khi thc hin lnh thnh cng modem
131

s tr v k t >. Sau ta c th nhp ni dung tin nhn cn lu tr v kt thc bng Ctrl+z. 4.4.3. AT+CMSS Gi tin nhn t b nh Sim card ngha Cho php iu khin modem GSM gi mt tin nhn c lu trong b nh Sim card. C php AT+CMSS=<index>,<number><cr> Gii thch Vi AT+CMSS, <index> chnh l ch s ca tin nhn c lu trong b nh Sim card, <number> l s thu bao cn gi tin nhn,<cr> m kt thc cu lnh. V d gi tin nhn n s 0123456789 c lu trong b nh ti v tr s 2 ta thc hin c php lnh: AT+CMSS=2,0123456789<cr> 4.4.4. AT+CMGD Xa tin nhn trong b nh lu tr ngha Xa mt tin nhn ang lu tr trong b nh in thoi. V tr b nh m tin nhn lu tr l cn thit cho cu lnh. C php AT+CMGD=<index> Trong <index> chnh l ch s, v tr lu tr ca tin nhn. V d xa tin nhn ti v tr lu tr s 3 ta s dng c php lnh: AT+CMGD=3 4.4.5. AT+CMGL Lit k tin nhn ngha Cho php lit k ton b cc tin nhn SMS cha c trn b nh. C php AT+CMGL
132

Lu Ta c th s dng ty chn ALL lit k ton b tin nhn c trong b nh hin ti. v d: AT+CMGL=ALL 4.5. Gii thiu module GSM MC35i 4.5.1 Gii thiu Module MC35i l mt modem GSM hot ng trn nn mng 900MHz v 1800MHz do Sieamen sn xut. N h tr GPRS v cc tinh nng c bn ca mt in thoi di ng nh nghe, gi v nhn tin. GSM Modem loi Siemens MC35i c kch thc nh - gn, lp t n gin nhanh chng, tch hp nhiu tnh nng v kh nng hot ng lu di trong iu kin bnh thng l nhng im ni bt ca Modem MC35i. iu ny mang li nhng tin ch i vi cc thit b in thoi di ng, my tnh xch tay, thit b a phng tin... v c bit l kh nng tch hp d dng vi PDA, cc thit b di ng thu nh... Module MC35i p ng c gii php GSM/GPRS cho hiu sut cao vi: Vi x l bng tn c s, in p cung cp ASIC, tn s v tuyn in bao gm mt b khuch i cng sut v giao din anten. Cc phn mm MC35i c lu tr trong mt thit b nh flash. B nh b sung SRAM cho php MC35i p ng yu cu kt ni GPRS. Cc giao din vt l cho cc ng dng di ng c thc hin thng qua mt kt ni ZIF. ZIF gm c 40 chn, cho php kim sot cc khi, truyn d liu v tn hiu m thanh, cc ng in p cung cp. Ngoi ra, module GSM MC35i cung cp giao din ni tip tch hp vi giao din Man-Machine (MMI), iu khin bi tp lnh AT v h tr tc truyn ln ti 230 kbps.

133

Module gsm mc35i 4.5.2. Cu trc, chc nng Module GSM MC35i 4.5.2.1 S khi MC35i

134

S khi module gsm mc35i Da vo s khi ta c th thy module gsm mc35i p ng c cc tnh nng c bn ca mt in thoi di ng nh nghe, gi, nhn tin. Khi RF Power Amplifier v RF secsion gip module mc35i khuch i tn hiu v tuyn thu c, la chon gii tn hot ng vi Baseband Controller. B nh SRAM hay b nh ngoi c th dng lu tr d liu, chng trnh iu khin, thng tin mng, thng tin thu bao.... 4.5.2.2. Thnh phn, chc nng Module GSM MC35i Da vo s khi ta c th thy module GSM MC35i gm cc khi chnh sau: - Khi RF
135

- Khi bng tn c s - Ngun - B nh - Khi giao tip(ZIF,SIM...) * Khi RF ca module GSM MC35i: Khi ny c chc nng thu pht tn hiu RF trn di tn ca GSM 900MHz/1800MHz. Khi khuch i cng sut RF: IC cng sut pht c iu khin thay i cng sut pht thng qua lnh APC (Auto Power Control) ra t IC cao trung tn. Mch APC c kh nng t ng iu chnh cng sut pht. Khi kt ni anten: Khi ny c chc nng bc x hoc thu nhn sng in t. Phc v hot ng ca module GSM MC35i. * Khi bng tn c s GSM: B iu khin hot ng GSM tn s 26MHz: Bao gm CPU (Center Processor Unit n v x l trung tm). CPU thc hin cc chc nng nh: iu khin tt m ngun chnh; chuyn ngun gia ch thu v pht; iu khin ng b s hot ng gia cc IC; iu khin khi thu pht sng; Qun l cc chng trnh trong b nh; iu khin truy cp SIM Card... Ngun cung cp: Khi ngun c chc nng chnh l: iu khin tt m ngun; Chia ngun thnh nhiu mc ngun khc nhau phc v cho cc khi ca module; n nh ngun cung cp cho cc ti tiu th... B nh: CPU hot ng theo cc m lnh c lp trnh sn np vo trong b nh. CPU s khng hot ng c nu khng c phn mm np trong b nh. Vi x l khi hot ng s truy cp v ly ra cc phn mm iu khin trong IC nh FLASH, thc hin
136

gii m to ra cc lnh iu khin iu khin cc b phn khc ca module hot ng. SRAM: (Syncho Radom Acccess Memory):

L b nh trung gian lu tr tm cc d liu trong qu trnh x l ca CPU. Nu b nh SRAM hng th CPU s khng hot ng c, khi ta tt ngun th d liu trong SRAM s mt. Giao tip ng dng (ZIF connector)

MC35i c trang b mt kt ni ZIF gm 40 chn cho vic kt ni vi nhng ng dng di ng. Cc chn chc nng ca ZIF gm: Chn 1-5 6-10 11-12 13 14 15 16 17 18 19 20 Ngun cung cp Giao tip RS232 Hai giao din m thanh Giao tip SIM In / Out I Ground I O I I O O O I O K hiu BATT+ GND POWER VDD BATT_TEMP /IGT RING0_TXD1 /RING0_TXD1 /RxD0 /TxD0 /CTS0 M t chc nng Ngun cung cp Ni t Sc ngun Ngun cung cp ngoi Nhit pin Chy Kt ni RS232 Kt ni RS232 Kt ni RS232 Kt ni RS232 Kt ni RS232

137

21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

I I O I O IO O O Ground I/O I O O O O O I I I I

/RTS0 /DTR0 /DCD0 CCIN CCRST CCIO CCCLK CCVCC CCGND VDDLP /EMERGOFF SYNC EPP2 EPN2 EPP1 EPN1 MICP1 MICN1 MICP2 MICN2
Bng Chc nng chn ca ZIF

Kt ni RS232 Kt ni RS232 Kt ni RS232 SIM SIM SIM SIM SIM SIM Sao lu RTC Ngt ngun ng b Audio Audio Audio Audio Audio Audio Audio Audio

i vi giao tip SIM: B vi x l bng tn c s c mt giao din SIM tch hp tng thch vi tiu chun ISO 7816. y l ng ni vo cc giao din ch (ZIF ni) c kt ni vi mt th SIM bn ngoi. Su cht kt ni ZIF c dnh ring cho giao din SIM. Cc pin CCIN c nhim v pht hin xem c sim trong khay hay khng.
138

Tn hiu CCGND CCCLK CCVCC CCIO CCRST Ni t

M t chc nng

Th chip ng h, vi tc xung nhp khc nhau c th c t trong b vi x l bng tn c s. Cung cp in p t PSU-ASIC Dng d liu u vo v u ra. Th chip c thit lp li, c cung cp bi b x l bng tn c s. - Nhp vo b x l bng gc pht hin mt khay th SIM vo ngn cha. - Cc pin CCIN l bt buc cho cc ng dng cho php ngi s dng loi b cc th SIM trong qu trnh hot ng. Cc pin CCIN l ch s dng cng vi mt th SIM. N khng phi c s dng cho bt k mc ch khc.
Bng Chc nng chn ca giao tip SIM

CCIN

4.5.2.3 Hot ng ca MC35i MC35i gm 3 ch hot ng: - Ch bnh thng - Ch tt ngun - Ch bo ng Ch hot ng bnh thng - GSM / GPRS SLEEP Thit lp cc ch khc nhau tit kim nng lng vi tp lnh AT + CFUN. Ch ny ang hot ng mc tit kim nng lng n mc ti thiu. Nu module ny c ng k vi mng GSM trong ch IDLE, n vn cn trong ch SLEEP, ng k v phn trang t cc trm BTS.
139

Tit kim in c th c la chn cc cp khc nhau nh v hiu ha giao din AT hoc kch hot li giao din AT cho php ngi s dng c th truy cp thng xuyn cc lnh AT. - GSM IDLE Khi kch hot ch ny, sau khi ng k vi mng GSM, module c th c phn trang t cc trm BTS v sn sng gi v nhn tn hiu. - GSM TALK Kt ni gia hai thu bao c tin hnh. Cng sut tiu th ph thuc vo cc thit lp mng nh DTX on/off, FR/EFR/HR, anten... - GPRS IDLE Module sn sng chuyn d liu GPRS, nhng khng c d liu hin ang c gi hoc nhn c. Cng sut tiu th ph thuc vo cc thit lp mng v cu hnh GPRS. - Qu trnh truyn d liu GPRS c tin hnh. Cng sut tiu th ph thuc vo cc thit lp mng (v d nh kim sot mc nng lng), ng xung ng ln / d liu gi v cu hnh GPRS. Ch tt ngun Bnh thng thit k s tt sau khi gi lnh AT^SMSO hay ch khn cp ra thng qua pin /EMERGOFF. Cc ngun ASIC (PSU_ASIC) ngt kt ni cung cp in p t phn baseband ca mch in. Ch c mt iu chnh in p trong PSU_ASIC ang hot ng to nng lng cho RTC Ch bo ng Hn ch hot ng theo chc nng a ra cnh bo RTC trong khi module ny l ch Power Down. Trong ch bo thc, module khng c ng k t mng GSM, do s gii hn s lnh AT c th truy cp. 4.6 Lp trnh giao tip MC35i vi vi iu khin Nh trnh by, MC35i cung cp cho chng ta cc giao din ghp ni, iu khin c bn. Vic giao tip mc35i vi cc microprocess c th thc hin thng qua phng
140

php truyn thng ni tip. Trn thc t c nhiu loi modem gsm h tr cc chun truyn thng khc nhau, da vo ta c th la chn mt phng php giao tip ph hp cu hnh cho modem gsm. Khi s dng vi iu khin giao tip vi mc35i iu khin cu hnh cho modem mc35i thc cht l vic truyn v nhn cc tin hiu iu khin, tn hiu phn hi ti v t mc35i tr v. Vy khi giao tip MC35i vi vi iu khin ta cn ch cc c im sau: - Chun truyn thng s dng cho vic giao tip : RS232. - iu khin da trn tp lnh AT theo chun GSM 07.07 hoc GSM 07.05. Mt s quy tc khi s dng tp lnh AT trong lp trnh giao tip modem GSM: Quy tc 1: Tt c cc dng lnh phi bt u vi "AT" v kt thc bi mt k t tr v no k hiu l <CR>, thng thng l k t Enter. Trong chng trnh HyperTerminal ca Microsoft Windows khi kim tra mt thit b c kt ni vi my tnh s dng tp lnh AT th kt thc mt lnh AT c th nhn phm Enter trn bn phm. Th d: xem danh sch tt c cc tin nhn SMS trong cha c c lu tr trong b nh ca thit b, g "AT+CMGL" v cui cng nhn k t kt thc th dng c php nh sau: AT + CMGL <CR> Quy tc 2: Mt dng lnh c th cha nhiu hn mt lnh AT, nhng ch c lnh u tin c bt u bng "AT". Mi lnh c cch nhau bi du chm phy. Th d: lit k tt c cc tin nhn SMS cha c c trong b nh v ly tn nh sn xut thit b th g lnh nh sau: AT+CMGL; + CGMI <CR> Li s xy ra nu c hai lnh AT c bt u vi "AT" nh sau: AT+CMGL; AT+ CGMI <CR>
141

Quy tc 3: Mt chui c t gia cp du nhy kp. Th d: c tt c cc tin nhn SMS t b nh lu tr trong ch vn bn cn phi ch nh chui "ALL" trong lnh AT+CMGL, nh sau: AT +CMGL = "ALL" <CR> Quy tc 4: Thng tin tr li v m kt qu lun lun bt u v kt thc vi mt kh t tr v v k t linefeed (k hiu l LF). Th d: Sau khi gi dng lnh "AT+ CGMI <CR>" n cc thit b di ng, cc thit b di ng s tr li thng tin phn hi dng nh sau: < C R > < L F > N o k i a < C R > < L F >

<CR><LF>OK<CR><LF>

142

You might also like