Professional Documents
Culture Documents
Lap Trinh Tren Dien Thoai Di Dong - Dong Ngoc Phuong PDF
Lap Trinh Tren Dien Thoai Di Dong - Dong Ngoc Phuong PDF
Lap Trinh Tren Dien Thoai Di Dong - Dong Ngoc Phuong PDF
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)
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.
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.
2
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.
3
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
SS : Phn h chuyn mch Mng s liu chuyn mch knh cng cng
VLR
: B ghi nh v tm tr PLMN : Mng di ng mt t cng cng
EIR
: Thanh ghi nhn dng thit b
4
Phn h khai thc v h tr (Operation and Support Subsystem)
5
BTS (Base Transceiver Station): Trm thu pht gc.
6
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.
7
Chc nng chnh ca tng i MSC:
8
Nh vy c th ni thng mt cuc gi mng GSM, l chc nng x l cuc gi ca
MSC.
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.
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)
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.
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.
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.
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
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
18
Cch thc hot ng ca Bluetooth.
C ch truyn v sa li
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.
Forwad Error Corrrection: thm 1 s bit kim tra vo phn Header hay Payload
ca packet.
19
trn danh ngha s chim 1 timeslot, nhng n c th m rng chim n 3 hay 5
timeslot.
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.
Stand by : Khng lm g c.
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.
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:
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.
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:
S lc v chun 802.11
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.
Nhc im
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.
25
CHNG 3: LP TRNH J2ME TRN IN THOI DI NG
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:
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.
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.
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:
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.
30
Hnh 3.3:
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:
ca in thoi di ng
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 .
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.
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.
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.
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 .
38
Hnh 3.6:Kt thc vic ci t NetBeans
c. To mt ng dng MIDP vi Netbean
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", Command.EXIT, 0));
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:
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).
49
3.2 Pht trin ng dng trn in thoi di ng vi J2ME
Cc yu cu phn cng:
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:
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 M t
abtract void destroyApp (boolean MIDlet chun b ng
unconditional)
abtract void pauseApp ( ) MIDlet chun b dng
final void startApp( ) Midlet c t vo trng thi kch hot
final void notifyDestroyed( ) MIDlet yu cu c shutdown
final void notifyPaused( ) MIDlet yu cu c dng li
final void resumeRequest( ) MIDlet yu cu c kch hot
final String getAppProperty(String key ) Ly thuc tnh t file JAR hoc JAD
- Vng i ca mt MIDlet
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.
54
MIDlet
Displayable getCurrent ( ) Ly v i tng Displayable hin hnh
void setCurrent (Alert alert, Displayable Hin th cnh bo trn i tng
nextDisplayable) Displayable hin hnh
void nextCurrent (Displayable Hin th mt i tng Displayable mi
nextDisplayable)
boolean isColor ( ) Thit b c h tr mu
int numColors ( ) S mu m thit b h tr
void callSerially ( ) 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");
}
55
}
i tng Dislayable v Screen
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 M t
Form (String s) 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) Chn Item i vo v tr i
String getLabel( ) Ly v nhn cho Item
void setLabel (String s) Gn nhn cho Item
V d to ra mt Form:
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){
}
}
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.
59
Phng thc M t
StringItem(String label, String text) Phng thc khi dng
void setText(String text) Thay i ni dung text ca StringItem
void setLable(String lable) Thay i lable ca StringItem
String getText( ) Ly v gi tr hin thi ca text
String getLable( ) Ly v gi tr hin thi ca lable
V d to ra mt StringItem:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public vd() {
display = Display.getDisplay(this);
siMsg = new StringItem("tn trng: ", "Khoa cng ngh thng tin");
fmMain.append(siMsg);
60
}
display.setCurrent(fmMain);
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 Kiu h tr
CONSTRAINT_MASK S dng mt n ny khi bn cn xc nh
gi tr hin thi ca rng buc
ANY Cho php tt c k t
EMAIL_ADDR 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 M t
TextField (String label, String text, in To ra mt TextField mi
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, Chn k t t mng vo TextField ti mt
int position) v tr xc nh
void insert(String src, int position) Chn k t vo TextField
void setChars(char[] data, int offset, int Thay th k t t mng
length, int position)
void setString(String text) Thay th ni dung TextField vi chui
int getChars(char[] data) Ly v ni dung TextField
String getString( ) Ly v ni dung cha trong TextField
int getConstraints( ) Ly v rng buc nh ngha ca TextField
void setConstraints(int constraints) t rng buc cho TextField
int getMaxSize( ) Tr v s k t ti a ca TextField
int setMaxSize(int maxSize) t s k t ti a
Int getCaretPosition( ) Ly v tr con tr nhp liu
int size( ) Ly v s k t hin c ca TextField
V d to ra mt TextField:
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
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 M t
static Image createImage ( String name) 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, To nh theo chiu rng v cao
int height) xc nh.
Int getHeight() Ly v chiu cao.
Int getWidth() Ly v chiu rng.
Boolean isMutable Xc nh nh c thay i c
hay khng.
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.
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 M t
EXCLUSIVE Duy nht mt la chn c php
MULTIPLE C th chn cng lc nhiu gi tr
IMPLICIT Danh sch khng tng minh
Cc phng thc thng dng trong lp List:
Phng thc M t
List (String title, int listType, String[] To ra danh sch List t cc mc d liu
stringElements, Image[] imageElements cha trong mng
)
70
int getSelectedIndex() Ch s hin hnh
import javax.microedition.lcdui.*;
import javax.microedition.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){
dis.setCurrent(li);
72
public void destroyApp(boolean b){}
X l s kin
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.
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:
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.
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
75
//ci t giao tip lng nghe s kin CommandListener
public vd(){
di=Display.getDisplay(this);
fr=new Form("vdform");
//To ra nt nhn
c1=new Command("exit",Command.EXIT,1);
fr.addCommand(c1);
fr.setCommandListener(this);
di.setCurrent(fr);
76
public void destroyApp(boolean b){ }
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).
c1=new Command("exit",Command.EXIT,1);
Trong :
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 M t
78
chm dt qu trnh download m khng phi i thao tc hon tt
Phng thc M t
Constructor
Phng thc
Phng thc M t
79
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public vd(){
di=Display.getDisplay(this);
fr=new Form("vd");
//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);
fr.addCommand(c1);
fr.addCommand(c2);
tb.addCommand(c3);
fr.setCommandListener(this);
80
tb.setCommandListener(this);
di.setCurrent(fr);
if(com==c1){
destroyApp(true);
notifyDestroyed();
else
if(com==c2){
di.setCurrent(tb);
else
if(com==c3){
di.setCurrent(fr);
81
}
c2=new Command("help",Command.HELP,2);
c3=new Command("back",Command.BACK,3);
82
fr.addCommand(c1);
fr.addCommand(c2);
tb.addCommand(c3);
tb.setCommandListener(this);
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){
- 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.
84
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
ItemStateListener{
public vd(){
di=Display.getDisplay(this);
fr=new Form("vd");
c1=new Command("exit",Command.EXIT,1);
fr.append(tf);
fr.append(st);
85
fr.addCommand(c1);
fr.setCommandListener(this);
fr.setItemStateListener(this);
di.setCurrent(fr);
if(com==c1){
destroyApp(true);
notifyDestroyed();
//x l s kin
86
if(it==tf){
st.setText(tf.getString());
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).
if(it==tf){
st.setText(tf.getString());
87
if(it==tn_Item){
//on m x l tng ng
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:
Phng thc M t
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.*;
ItemStateListener{
public vd(){
di=Display.getDisplay(this);
fr=new Form("vd");
c1=new Command("exit",Command.EXIT,1);
fr.append(tf);
90
fr.append(st);
fr.addCommand(c1);
fr.setCommandListener(this);
fr.setItemStateListener(this);
di.setCurrent(fr);
if(com==c1){
destroyApp(true);
notifyDestroyed();
if(it==tf){
91
st.setText(tf.getString());
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;
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);
dis.setCurrent(li);
int i;
93
if(c==c1){
destroyApp(true);
notifyDestroyed();
else
if(c==li.SELECT_COMMAND){
switch(li.getSelectedIndex()){
94
if(c==li.SELECT_COMMAND)
switch(li.getSelectedIndex()){
95
Hnh :V d x l s kin vi List
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:
V d, to mt kt ni HTTP ta s lm nh sau:
//To chui kt ni
97
HttpConnection http=null;
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.
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:
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.
- 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.
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:
http.setRequestMethod(HttpConnection.GET);
// t header field
http.setRequestMethod(HttpConnection.POST);
// Gi d liu
103
ostrm = http.openOutputStream();
os.write(bytes[i]);
os.flush();
- 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:
Phng thc Gi tr
http.getHeaderField(0) "text-plain"
http.getHeaderField("content-type") "text-plain"
http.getHeaderFieldKey(0) "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:
InputStream in=con.openInputStream();
105
int length=(int)con.getLength();
byte data[];
if(length!=-1){
data=new byte[length];
in.read(data);
else
int ch;
while((ch=in.read())!=-1)
br.write(ch);
data=br.toByteArray();
br.close();
Cc hm API HttpConnection
106
long getExpiration() Ly v thi gian ht hn
107
property
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-www-
form-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-www-
form-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");
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/x-
www-
form-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
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.
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.
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.
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.
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
133
Module gsm 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....
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:
Ngun cung cp
Giao tip RS232
Hai giao din m thanh
Giao tip SIM
Chn In / Out K hiu M t chc nng
15 I /IGT Chy
16 O RING0_TXD1 Kt ni RS232
17 O /RING0_TXD1 Kt ni RS232
18 O /RxD0 Kt ni RS232
19 I /TxD0 Kt ni RS232
20 O /CTS0 Kt ni RS232
137
21 I /RTS0 Kt ni RS232
22 I /DTR0 Kt ni RS232
23 O /DCD0 Kt ni RS232
24 I CCIN SIM
25 O CCRST SIM
26 IO CCIO SIM
27 O CCCLK SIM
28 O CCVCC SIM
32 O SYNC ng b
33 O EPP2 Audio
34 O EPN2 Audio
35 O EPP1 Audio
36 O EPN1 Audio
37 I MICP1 Audio
38 I MICN1 Audio
39 I MICP2 Audio
40 I MICN2 Audio
Bng Chc nng chn ca ZIF
138
Tn hiu M t chc nng
CCGND Ni t
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.
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.
AT + CMGL <CR>
Quy tc 2:
141
Quy tc 3: Mt chui c t gia cp du nhy kp.
Quy tc 4:
142