LUAN VAN TOT NGHIEP DAI HOC
Dé tai:
TIM HIEU CONG NGHE DINH VI TOAN CAU( GPS) & J2ME UNG DUNG VAO LAP TRINH TREN THIET BI DI BONG
Giảng viên hướng dẫn: Sinh viên thực hiện: Ths Võ Huỳnh Trâm Nguyên Thái Toàn Ks Hồ Quang Thái
Trang 2LUAN VAN TOT NGHIEP DAI HOC Đề Tài:
TÌM HIẾU CƠNG NGHỆ ĐỊNH VỊ TOÀN CÂU( GPS) & J2ME ỨNG DỤNG VÀO LẬP
TRINH TREN THIET BỊ DI ĐỘNG
Sinh viên thực hiện Cán bộ hướng dẫn
Nguyễn Thái Toàn Ths Võ Huỳnh Trâm
Ks H6 Quang Thái
Cán bộ phản biện
Ths Trương Minh Thái Ths Phan Phương Lan
Luận văn được bảo vệ tại: Hội đồng chấm luận văn tốt nghiệp Bộ môn Công
Nghệ Phân Mêm - Khoa Công Nghệ Thông Tin, Trường Đại Học Cân Thơ vào
ngày 11 tháng 5 năm 2010
Ma so dé tai: C6 thé tim hiéu luan van tat:
e© _ Thư viện Khoa Công Nghệ Thông Tin, Trường Đại Học Cần Thơ
Trang 5LĐẶT VẤN Đ LH n1 1 1 11101111 1101111101 011101010111 11 0101 1 000 ty 1
II LICH SU GIAI QUYET VAN DBE uu eeeccceccssececescecececssceececececcevsceeserans 1
IlN€ovJ ái -"ÕơƯỎƯỊÀOO 3
“co bi 0 4
SA N/ ái 0 .(((ẢẢ 4
“oi 0v 0n 4 5
5.SMS LOCAfOT - QC TQ QH HH HH HH HH vn ng cv cà 5
II PHẠM VI ĐỀ TÀI, MỤC TIỂU CAN ĐẠTT - ¿5 c2 +s<s<sc<2 6 1 Cơ sở lý thUYẾT . - k1 111515 1111111 111111121 gxrkrki 6
2 Churong trinh Ung dung 00107 6
S06 tu n ái aan 7
IV PHƯƠNG PHÁP NGHIÊN CỨU . 2 2 2 +s+svs£eezeeerersred 7 1 Phân tích yêu cầu -G- EkEEESkEE E111 Tnhh re 7 2 Thiết kế hệ thống - - - E9 E3 5 5151111 1 111 1 111111 Eerkrei 7 Noi a0 an na 8 CHUONG 2 CO SO LY THUYET .- ¿2222552 c+£+£zczzree, 8 LCÔNG NGHỆ ĐỊNH VỊ, - © ¿2S E21 E1 E11 111111131121 8
1 Hệ thống định vị toàn cầu GPS 2s te SE E3 91588158 3 eEreerecez 9
1.1 Các hệ thống GPS hiện có + 2 2+2 2 2EEEEEcEcErErkrErErkerrrxered 9 1.2 Thanh phần câu thành một hệ thống GPS .- ¿2 2 2x52 10
IS\ 0/8/0000) 7 11 1.4 Uu va nhuoc diém cia hé thong GPS oo cecsecsescesesecsesesceeeees 12
2 Cell identification/ Cell 6 digin 13
II.GIOI THIEU CAC CONG NGHE TREN DI DONG HIEN NAY 14
1 Windows Mobile và Microsoft AutfO . . - << << << << 14
Trang 6Pin 5 a-œố 17 2 _ Xử lý và tốc đỘ ch TT HH TT 11H11 HH re 17 3 LIÊN lẠC - - - Ăcc cQ QC cv cc 18 A DG NA cecccceccscescssececcescscceccsccsecsesecsesesscaecacsccaeceecsecsecsesecscscseeaeescceacenee 18 IH GOOGLE STATIC MAP APPI, -G G122 1 ng ng re 19 1 Nguyén ly 5/0 0111177 = 19 2 Các dịch vụ được cung cấp bởi Google static mmap ¿5-5-5 << s2 20 CHƯƠNG 3 CHƯƠNG TRÌNH ỨNG DỤNG -cc 22
I.PHÂN TÍCH YÊU CÂU 2-52 +2t+2tS2EEEE2ECEEErtrrrrrrrrtrrkerved 22 1 Các yêu câu về hệ thông ¿+ + 22k SE EEEEEEE SE EEE 2 Ekrxrvcrreg 22 1.1 Yêu cầu về chức năng ¿- ¿+ 2 E331 1 3E xe cryg 22 1.2 Yêu cầu về xử lý và lưu tTữ + + + ksEeESESESEeEsEeErrrkrerereree 22 1.3 Yêu cầu về giao diện - ¿+ 1S 3T ST TH xxx ri 22 IR XI 6017 22
Trang 7Usecase si i00 20 c1 - 28
II CÂU TRÚC DỮ LIỆU VÀ GIẢI THUẬTT .- 5-5-5 29
I8 p ai 29
2 Giải thuậT - - SH HH ng nh 29
2.1 Lưu đồ giải thuật thực hiện chức năng tìm địa điểm gần 30 2.2 Lưu đồ giải thuật thực hiện chức năng tìm địa điểm qua tên 31 2.3 Lưu đồ giải thuật thực hiện chức năng GPS tracking - 32
IV THIẾT KÉ GIAO DIỆN 5-5:+2ccztczrerrrrrrrrrrrrrrrrrrrrrree 32
Form chính - - «<< + « + + + xxx 3 vn n0 ng 32 Giao diện tìm kiếm địa điểm gần + - 2+2 +2 EEEEEzEeEzEeererkred 33 Giao diện tìm kiếm địa điểm qua tên . 2-2 2 2 c+E+E+E£zEzEeererkred 33
Giao diện liệ kê các địa điỂm - ¿5 2c treo 34
€0 206102 vì 0 ea 35
V CÀI ĐẶT VÀ KIÊM THỬ CHƯƠNG TRÌNH . 37
1 Chức năng tìm kiểm địa điểm gần . - + + 5 2E EzEErxrxrxrererei 37 2 Chức năng tìm kiếm địa điểm qua tên - - 6s sE+E+E£EeEexeererered 40
3 Liệt kê các địa điỂm sen ng 40
4, Chie nang GPS 00 40
5 Chức năng phóng to, thu nhỏ di chuyên bản đồ . 2-5-5 s52 41 MiEGLooioi0vaio 0n 42
CHUONG 4 TONG KET KẾT QUẢ 5-2 + 2s E+E+E£E£+E+EzE£z£sxei 45
IL KÉT QUÁ ĐẠT ĐƯỢC G << E9 Evưc Txvg crevrererereở 45
TL HAN CHE oon .Ô 45
018510/9))/681:7.0009:4)20002 5 45
1 Thêm tính năng cho Ứng dụng 2 1 x2 45
2 Xây dựng server cung cấp dữ liệu - + 5 cE2EeEeEkecerereererered 46
Trang 9Hình 1 Tìm đường trên Google map - 2
Hình 2 MyLocation cé thé dinh vi ngwoi ding - 3
Hinh 3 Yahoo map - 4
Hinh 4 Vietmap - 4
Hinh 5 3D trén diadiem.com - 5
Hinh 6 Ba thanh phan trong hé théng GPS - 10
Hinh 7 Phuong phap dinh vi ctia thiét bi GPS - 12
Hinh 8 Dinh vj bang cell ID - 13
Hình 9 Nguyên lý hoạt động của hệ thống gởi và trả lời giữa Google Geocoder và thiết bi di déng - 21
Hình 10 Sơ đồ usecase -~ ==================================r 26 Hình 11 Lưu đồ thực hiện chức năng tìm kiếm các địa điểm gần a 32 Hình 12 Lưu đồ thực hiện chức năng tìm kiếm các địa điểm qua tên 32
Hình 13 Lưu đồ thực hiện chức năng GPS tracking -~ ~- 33
Hinh 14 Form chinh cua chuong trinh - 33
Hình 15 Danh sách các địa điểm được tìm thay _“=========================e 34 Hinh 16 Form nhap dia chi - 35
Hinh 17 Giao dién chuong trinh khi tim kiém - 35
một địa điểm bằng tên thành công Hình 18 Giao diện phân loai cdc dia diém - 36
Hình 19 Giao diện Navigation có hình bán đồ ở dạng địa - 36
Hình 20 Giao diện GPS tracking - 37
Hinh 21 Lop Place - 38
Hinh 22 Lop LocationService - 39
Hinh 23 kiém thir tim kiém địa điểm gần - 40
Hình 24 Kiểm thử chức nang GPS tracking - 42
Trang 10Hinh 28 Chon Map provider - 44
Hinh 29 Liét ké cdc loai dia diém - 44
Hinh 30 Danh sdch dia diém theo phan loai - 44
Hinh 31 Hinh ban dang anh vé tinh - 44
Trang 11Từ viết tắt Dien giai Abstract OS Hệ điều hành
API Giao diện lập trình ứng dụng
LBS Location baseb service
GPS tracking Định vị một cách liên tục bằng GPS
Developer Người phát triển
Long Vĩ độ
Lat Kinh độ
JSR179 Thư viện lập trình GPS của Sun
Sun Công ty Sun Microsystem
LandmarkStore Một lớp trong JSR179
Google GeoCoder | Bộ giải mã địa chỉ thành tọa độ của Google
MenuForm Form chính của chương trình
RADIUS Bán kính
Canvas Một lớp trong J2ME để thực hiện vẽ lên màn hình
J2MEMAP Thư viện lập trình thao tác bản đô viết băng J2ME do §MONION cung cấp
Trang 12Đề tài “Tìm hiểu công nghệ định vị tồn cầu( GPS) và cơng nghệ J2ME vào lập trình trên thiết bị đi động” tập trung vào tìm hiểu hệ thống định vị GPS, cấu tạo
các thành phân, nguyên lý hoạt động, đồng thời sử dụng dịch vụ định vi của hệ thống GPS để phát triển ứng dụng cung cấp LBS trên điện thoại di động Ứng dụng được phát triển trong đề tài sẽ là công cụ xác định các địa điểm gần
thiết bị, tìm kiếm một địa điểm thông qua tên của nó, và định vị người dùng
Trang 13programming on mobile phone ” concentrates to learn about the GPS, its constructing, how does it work at the same time to use its position service to develop a program to provides location baseb service on mobile phone
The programe is developed is a tool for dentermind nearly places, searchs a place by its name and dentermind the device position
Trang 14CHUONG 1 TONG QUAN
I DAT VAN DE
Vài thập kỷ qua, công nghệ thông tin đã có những bước phát triển vượt
bậc để đáp ứng nhu cầu của của con người Trong khi chỉ cách đây vài thập ký việc mang một chiếc máy tính theo bên mình còn là chuyện không tưởng khi một chiếc máy có khả năng xử lý chỉ vào ngàn phép tính một giây đã lớn bằng cả căn phòng thì giờ đây bất kỳ ai cũng đã có thê hồn thành cơng việc của mình ngay trên đường đi chỉ với một chiếc điện thoại đi động
Hàng loạt các thiết bị nhỏ gọn nhưng được tích hợp vào trong đó những công nghệ tiên tiễn như xem phim, nghe nhạc, chat, định vị tồn cầu Trong những cơng nghệ được đề cập trên, định vị tồn cầu thơng qua
song GPS được coi là sự hội tụ giữa công nghệ thông tin và truyền
thông
Đề tài sẽ tập trung vào nghiên cứu lĩnh vực công nghệ định vị tồn cầu
GPS sử dụng cơng nghệ này vào định vị một thiết bị di động để phát
triển ứng dụng cung cấp với chức năng định vị, tìm kiếm địa điểm gần với giao diện bản đồ
II LICH SU GIAI QUYẾT VẤN DE
Trên thị trường hiện nay có khá nhiều phần mềm cung cấp chức năng
định vị, tìm địa điểm, tìm đường Dưới đây là một số nhà cung cấp tiêu
Trang 151 Google map Ộ ,
Google Maps ban dau 1a dịch vụ bản đô trực tuyên của Google Bắt đầu hoạt động từ 2005, Google Maps tập hợp hình ảnh từ nhiều nguồn cung ứng ảnh vệ tinh, tạo thành một bản đồ hoàn chỉnh chỉ tiết đến mức
đường sá của thế giới Ngoài ra Google map còn cung cấp chức năng
tìm đường cho người dùng.Năm 2006, Google giới thiệu Google Maps
for Mobile được viết trên nền Java Khi trên các thiết bị hỗ trợ GPS,
Google Maps có khả năng xác định vị trí của người dùng trên bản đồ và
cung cấp hầu hết các chức năng có trên web như chuyên đổi giữa bản đồ
và hình ảnh vệ tinh, tim đường, tìm địa điểm xra“yHrvuire 2 2 Turk st care ve a\03 x s ơ Lapụâ1 Driving Directions : My location @ h @: Starbucks Coffee, 2018 Market St, San Francisco, CA 94114 || 0.9 mi - about 5 min
Al Press (#) to see on map
Head east on Waller St toward Divisadero St - 0.5 mi oS eo w Turn right at Webster St - 338 ft } Turn left at Hermann St - 0.2 t mi © Turn right at Laguna St - 62 jG err Mission i = 1
Hình 1 Tìm đường trên Google map
Năm 2007, Google tích hợp My Location!M vào Google Maps for Mobile My Location cho phép xac dinh vị trí của người dùng mà không
cần thiết bị phải có GPS Bằng cơ sở đữ liệu vị trí các trạm thu / phát
của mình, cộng với cường độ tín hiệu nhận được tử trạm, ứng dụng có thể suy ra khoảng cách của người dùng tới trạm và xác định vị trí của
người dùng
Trang 16| fans % M
_ | Your approximate location Ww] Press (Q) anytime to recenter earn more @ : Your approximate location 9 within 300m Search Hình 2 MyLocation có thể định vị người dùng
Năm 2008, Google bắt đầu phát triển các phiên bản Google Maps khác nhau cho các hệ điều hành di động khác nhau nhằm mục đích cải thiện tốc độ so với phiên bản Java Tới nay ngoài phiên bản Java, Google Maps đã có các phiên bản cho: > Android > iPhone > Windows Mobile > Symbian / UIQ > BlackBerry OS > Palm OS
Có thê nói Google Maps là ứng dụng địa lý bao quát nhất hiện nayTuy
nhiên Google Maps không hắn không có hạn chế: dữ liệu đường phố chỉ có ở một số quốc gia xác định nên chức năng tìm đường và một số chức năng liên quan chỉ hoạt động ở các quốc gia này; Việt Nam hiện chỉ có tên đường chứ chưa có thông tin đường (chiều, độ rộng, v.v ) trên
Trang 172 Yahoo
Yahoo map được Cartifact, một công ty chuyên về bản đồ thiết kế và cung cấp đữ liệu Yahoo map đi vào hoạt động từ 16/05/2007 Yahoo
map chủ yếu hoạt động trên các hệ thống desktop và không có phiên bản
riêng cho các thiết bị di động như Google map —— — Hybrid} Sateiite [#8 IIIIIII4IIIIII Lả Po Data ©2009 NAVTEQ ©2009 Yahoo! Inc
Hinh 3 Yahoo map
Yahoo có cung cấp một số API dé người dùng có thể sử dụng dữ liệu bản đồ của mình với Flash, Javascript và dưới dạng feed Yahoo không hỗ trợ tìm đường cũng như local search ở Việt Nam
3 Vietmap
Là sản phẩm thuần việt của công ty TNHH bản đồ Việt (Vietmap)
Trang 184 DiaDiem.com
Diadiem.com là sản phẩm của công ty cổ phần Địa Điểm Được xây dựng dưới dạng RIA như giao diện web của Yahoo và Google, địa điểm cung cấp các tính năng tương tự như tìm kiếm địa điểm (khách sạn, nhà hàng, danh lam thắng cảnh v.v ), tìm đường trong phạm vi Việt Nam 3 diadiem.com | Ban D be! LBSV2.docx -Miơos Hình 5 3D trén diadiem.com
Đê minh họa cho kêt quả tìm kiêm, gân đây địa điêm còn bô sung việc hiên thi khung (wireframe) cua các công trình ở các quận trung tâm và
hình ảnh 3D render sẵn của một sô công trình
5 SMS Locator
SMS Locator là dịch vụ ra đời vào tháng 6/2009 của Mobifone nhằm mục đích cung cấp thông tin địa điểm dựa trên vị trí của người dùng thông qua tin nhắn
Người dùng gửi tin nhắn đến dịch vụ của Mobifone, Mobifone sẽ trả về
Trang 19Hil > > ATM Ngan hang Cơ sở y tế Cà phê Nhà hàng Khách sạn Rạp chiếu phim Siêu thị Trạm xăng
PHAM VI DE TAI VA MUC TIEU CAN ĐẠT
Đề tài thuộc loại tìm hiệu công nghệ và ứng dụng vào thực tê, do đó đê tài sẽ tập trung vào giới thiệu công nghệ và cụ thể hóa thông qua một ứng dụng minh họa, mục tiêu cần đạt được đó là giới thiệu được các công nghệ định vị, nền tảng J2ME, phương pháp phát triển một ứng
dụng kiêu MASHUP
Trang 202 Chương trình ứng dụng
Đề tài sẽ xây dựng một ứng dụng có được các chức năng cơ bản của một ứng dụng LBS bao gồm:
v Tìm các địa điểm gần xung quanh người đùng
* Tìm kiếm giới hạn thông qua phân loại địa điểm Y Tim kiém cac dia danh thông qua tên
Y GPS tracking, đây là chức năng khá hay giúp cho nguời dùng có
thể quản lý hành trình của mình trong một chuyến đi du lịch, hay các mục đích khác 3 Công cụ sử dụng: _ Hệ điều hành Microsoft Windows XP pack 2 vx Netbean IDE 6.8 Y Wireless Toolkit 2.5.2 Y StartUML, Microsoft Word 2003 w Sách, Internet
IV.PHƯƠNG PHÁP NGHIÊN CỨU
1 Phân tích yêu cầu
Thu thập các tài liệu có liên quan đên vân đê, sử dụng thử các phan mém có ứng dụng các công nghệ quan
Trang 212 Thiết kế hệ thống
Thiệt kê hệ thông với các yêu câu đã nêu ra ở phân phân tích yêu câu theo phương pháp hướng đối tượng
Giải quyết các thiếu xót trong quá trình phân tích
3 Cài đặt và kiểm thử chương trình
Phân tích lại mô hình ở giai đoạn thiết kế xác định các lớp có trong hệ thống, viết mã lệnh cho các lớp đơn giản trước
Sử dụng các thư viện có sẵn để giảm công thiết kế các lớp đã có Kiếm
thử từng chức năng một trước khi tích hợp chúng vào một khối
Trang 22CHƯƠNG 2 CƠ SỞ LÝ THUYÉT
I CONG NGHE DINH VI
Việc định vị là cốt lõi của khả năng cung cấp các dịch vụ dựa theo vi tri (Location-based service, từ đây gọi là LBS) Chỉ khi xác định được vị trí của người dùng hoặc thiết bị thì hệ thống mới có thể đưa ra nội dung
hoặc quyết định đựa theo thông tin vị trí ấy
Để có thê định vị được thiết bị, cần có sự kết hợp giữa nhiều yếu tổ như
hệ thống phát và thu Cơ sở hạ tầng cho các hệ thống này rất đa dạng: từ vệ tinh, trạm thu phát cho đến các thiết bị cầm tay
Các hệ thống định vị thường bao gồm:
Một hệ thống phát tín hiệu được phân tán trên diện rộng, chang hạn như vệ tinh hoặc các trạm thu phát sóng Các hệ thống này thường phát tín
hiệu một cách tự động và liên tục, bất kỳ thiết bị nào trong vùng phủ
sóng đêu có thê nhận được
Các đầu thu dựa vào tín hiệu nhận được có thê tính toán ra vi trí của mình một cách chủ động
Tuy nhiên vẫn có những hệ thống hoạt động theo cách khác (thiết bị chủ động gửi tín hiệu đến các hệ thống lớn hơn) nhưng không phát triển
mạnh vì chỉ phí cho thiết bị có khả năng phát sóng thường khá lớn
1 Hệ thống định vị toàn cầu GPS ,
Theo Wikipedia thì GPS là một hệ thông các các vệ tính bao quanh trái đất, cung cấp khả năng xác định vị trí cho một thiết bị nếu thiếu bị đó
Trang 231.1 Các hệ thống vệ tỉnh GPS hiện có: 1.1.1 NAVSTAR GPS:
NAVSTAR GPS là hệ thống vệ tinh phát tín hiệu định vị được sử dụng nhiều nhất hiện nay NAVSTAR GPS được triển khai bởi quân đội Mỹ, bắt đầu hoạt
động hoàn chinh tr nam 1993 (Strom 2002) GPS hay Global Positioning System that ra là tên gọi chung cho tất cả các hệ thống có khả năng định vị trên
toàn cầu Tuy nhiên vì NAVSTAR GPS§ là hệ thống được dùng rộng rãi nhất hiện nay nên nhiều người đánh đồng GPS với NAVSTAR GPS
1.1.2 GLONASS (GLObal NAvigation Satellite System)
GLONASS được Liên bang Xô Viết cũ xây dựng từ 1976 và đạt độ phủ toàn cầu năm 1991 Từ sau sự sụp đồ của Liên bang Xô Viết, hệ thống này không còn được duy trì tốt
11.3 GALILLEO
Được đặt tên theo nhà thiên văn học nỗi danh người Ý; Galilleo hiện vẫn ở gial doan lap ké hoach Tuy nhiên Galilleo khác biệt với NAVSTAR GPS và
GLONASS ở các điểm:
Có thể dùng để tăng cường độ chính xác cho việc định vị dựa vào NAVSTAR GPS và GLONASS: từ vài chục mét xuống vài cm; đồng thời có khả năng hoạt động độc lập khi hai hệ thống trên có vấn đề
Là dự án có sự hợp tác của nhiêu quôc gia trong Liên minh châu Âu và một sô nước khác
Được xây dựng cho mục đích dân sự, mọi đổi tượng đêu có thể sử dụng miễn
phí; quá trình quản lý sẽ minh bạch hơn do có sự tham gia của nhiều quốc gia
Galilleo được dự kiến sẽ đi vào hoạt động trong khoảng 2010 đến 2013 GVHD: Ths Vo Huynh Tram Trang 10 SVTH: Nguyễn Thái Toàn
Trang 241.2 Thành phần cấu thành một hệ thống GPS Theo Wikipedia, hệ thống vệ tinh GPS chia làm 3 phần như sau: - 234 vệ tinh (tính đền 1995, 21 VT chủ động va 3 vé tinh dy phòng) - 6 mặt phăng quỹ đạo (nghiéng 55°) —~ Bá ——- Độ cao quỹ đao 20 200 km
“ - Chu k} bay: khoảng 12 giờ
/ - Khối lượng: khoảng 900 kg
\
\ Phan kh6éng gian
Tin hiéu Pa =4 |
~~
ty VT : "Tín hiều từ J khoảng cách giả
Tín biệu —~vé tinh | pha sóng mang LÝ —— 2= : ae = , — a khién _— 4, oe ESS aoe Xs |(N
kx % fi SE Tram PEK chinh: Colorado / # Bs Phan NSD \ j= TS” Tram aa ? Ỉ Springs (Colorado, M#) / May bay, vOtru a \ | | ; điều : ›x„ Tram giảm sat (4)
giam khiến Ang ten mat ‘ % \ Ị \ sát on đắt 1 Ascension (PTD) \ jet / \ cm 2 Diego Garcia (ADD) \ / ä tả 5 3E 4D) N T ie / ` Phản điều khiển ⁄⁄2 “ewalein (TED) Se _” 4 Hawai (TED) % ` Khảo sát, hẳn nen a a ` a ~~, đã a _ 2 el Hình 6 Ba thành phần trong hệ thống GPS 1.2.1 Phần không gian
Gồm 24 quả vệ tinh (21 vệ tinh hoạt động và 3 vệ tính dự phòng) nằm trên các quỹ đạo xoay quanh trái đất Chúng cách mặt đất 12 nghìn dặm Chúng chuyển động ồn định, hai vòng quỹ đạo trong khoảng thời gian gần 24 giờ Các vệ tinh này chuyển động với vận tốc 7 nghìn dặm một giờ Các vệ tinh trên quỹ đạo được bồ trí sao cho các máy thu GPS trên mặt đất có thể nhìn thấy tối thiểu 4
Trang 251.2.2 Phần điều khiển
Mục dich trong phan này là kiểm soát vệ tinh đi đúng hướng theo quỹ đạo và thông tin thời gian chính xác Có tất cả 5 trạm kiểm soát được đặt rãi rác trên trái đất Bốn trạm kiểm soát hoạt động một cách tự động, và một trạm kiểm soát là trung tâm Bốn trạm này nhận tín hiệu liên tục từ những vệ tinh và gữi các thông tin này đến trạm kiểm soát trung tâm Tại trạm kiểm soát trung tâm,
nó sẽ sửa lại data cho đúng và kết hợp với hai anten khác để gữi lại thong tin cho các vệ tinh 1.2.3 Phần người sử dụng Phân sử dụng là thiết bị nhận tín hiệu vệ tinh GPS và người sử dụng thiết bị này 1.3 Nguyên lí hoạt động
Các vệ tỉnh GPS bay vòng quanh Trái Đất hai lần trong một ngày theo một quỹ đạo rất chính xác và phát tín hiệu có thông tin xuống Trái Đất Các máy thu GPS nhận thông tin này và bằng phép tính lượng giác tính được chính xác vị trí
của người dùng Về bản chất máy thu GPS so sánh thời gian tín hiệu được phát
đi từ vệ tính với thời gian nhận được chúng Sai lệch về thời gian cho biết máy thu GPS ở cách vệ tỉnh bao xa Rồi với nhiều quãng cách đo được tới nhiều vệ
tinh máy thu có thé tính được vị trí của người dùng và hiển thị lên bản đồ điện
tử của máy
Trang 26Hình 7 Phương pháp định vị của thiết bị GPS
Máy thu phải nhận được tín hiệu của ít nhất ba vệ tinh dé tính ra vị trí hai chiều
(kinh độ và vĩ độ) và để theo đõi được chuyên động Khi nhận được tín hiệu
của ít nhất 4 vệ tỉnh thì máy thu có thê tính được vị trí ba chiều (kinh độ, vĩ độ và độ cao) Một khi vị trí người dùng đã tính được thì máy thu GPS có thể tính
các thông tin khác, như tốc độ, hướng chuyên động, bám sát di chuyển, khoảng hành trình, quãng cách tới điểm đến
1.4 Ưu điểm và nhược điểm của hệ thống GPS 1.4.1 Ưu điểm
Có tầm bao phủ rộng và tương đối chính xác
Hoàn toàn miễn phí
1.4.2 Nhược điểm
Các hệ thống đang hoạt động đều được xây dựng cho mục đích quân sự, các tô
chức kiểm soát các hệ thống này có quyên hạn chế truy cập của người dùng dân
Trang 27Chất lượng tín hiệu phụ thuộc nhiều vào thời tiết Các hoạt động thời tiết thông thường như giông bão có thê gây nhiễu một cách đáng kế vì vệ tinh & qua xa so người nhận so với nơi hình thành nhiễu
Phải có tâm nhìn tới vệ tinh: không nên có vật cản giữa thiệt bị nhận và vệ tỉnh vì tín hiệu có tính xuyên thâu kém
Đồng hồ của thiết bị bị lệch dù ít cũng có thê gây ảnh hưởng lớn đến kết quả,
có thê đòi hỏi chi phí sản xuất lớn đề tạo ra đồng hồ độ chính xác cao
2 Cell identification / Cell of origin
Thường dùng trên điện thoại di động và việc định vị không cần độ chính xác cao Phương pháp này chỉ đơn giản tìm trạm phát sóng gần người dùng nhất, từ
đó biết được người dùng đang ở trong tầm phát của trạm đó
Vì được triển khai cùng với các trạm thu phát sóng nên phương pháp định vị này đang được sử dụng khá rộng rãi, trong đó có cả việc định vị người gọi các cuộc gọi khân câp
Phương pháp này có ưu điểm là nhanh và khá chính xác ở những vùng đô thị
(các trạm được đặt dày hơn và phục vụ một khu vực nhỏ hơn) Tuy nhiên sai sỐ
có thê lên đến 32km ở vùng nông thôn, phụ thuộc vào tam phủ sóng của trạm thu phát Call 3 Hinh 8 Dinh vi bang cell ID
Trang 28II GIỚI THIỆU CÁC CÔNG NGHỆ TRÊN DI ĐỘNG HIỆN NAY
Thiết bị cầm tay GPS thường không có hệ điều hành và các công cụ phát triển
thường chỉ được cung cấp cho các công ty chuyên về loại thiết bị này Do đó
các thiết bị có hệ điều hành và bộ công cụ phát triển phần mềm được công bố
rộng rãi sẽ thích hợp hơn để phát triển ứng dụng cung cấp dịch vụ định vi
1 Windows Mobile và Microsoft Auto
Các sản phầm này là hậu duệ của Windows CE, phiên bản Windows dành cho các thiết bị nhúng có ít bộ nhớ và năng lực xử lý Windows Mobile xuất hiện từ năm 2000 dưới tên Pocket PC, được thiết kế chủ yếu để chạy trên điện thoại đi động và PDA
Microsoft Auto là phiên bản Window Mobile dành cho dashtop mobile Hiện nay Windows Auto được dùng chủ yếu trong các xe Ford dưới tên Ford Sync Và cung cấp khá nhiều dịch vụ hỗ trợ người lãi dưới dạng LBS như tìm đường, bản đồ, gọi điện thoại cấp cứu trong trường hợp khẩn cấp v.v
Thêm vào đó là các thao tác đọc con trỏ đề lay kiểu đữ liệu bên ngoài, đặt gánh
nặng quản lý con trỏ và bảo mật lên vai người lập trình Đồ án không chọn Windows Mobile vi li do này
2 Symbian
Symbian là hệ điều hành cho điện thoại di động được quản lý bởi công ty trách nhiệm hữu hạn Symbian Công ty này hiện nay đã hoàn toàn thuộc quyền sở
hữu của Nokia Synbian hiện là hệ điều hành chiếm thị phần lớn nhất trên thị
trường di động (theo Gartner vào quý 4/2008 Symbian chiếm gần 41% thị
phan(Cozza, et al 2009)) Hiện Nokia đang có kế hoạch công bố mã nguồn của
Symbian và những hệ điều hành dựa trên Symbian (như UIQ, S60) trong năm
Trang 29Các phần mềm cho Symbian được viết chủ yếu bằng C++ và công cụ phát triển
của Nokia — Carbide Các kiểu dữ liệu và cách thức làm việc của Symbian kha phức tạp cộng thêm việc phải quản lý các con trỏ theo kiểu C++ làm cho việc phát triển phần mềm không có lỗi trên Symbian khá khó khăn: nhà phát triển phải thành thạo về cách hoạt động của hệ điều hành, các khuôn mẫu cần phải theo khi lập trình và quản lý bộ nhớ
Do đó, dù có hỗ trợ GPS nhưng Symbian vẫn chưa là nền tảng tốt để phát triển ứng dụng LBS
3 J2ME
Java Platform, Micro Edition là platform được thiết kế cho các thiết bị di động
và hệ thống nhúng Phát triển bởi Sun Microsystem, mã nguồn của Java hiện nay đã được công b6 dưới giấy phép GPL và được phát triển bởi cộng đồng developer
Ứng dụng được viết cho J2ME phụ thuộc ít hơn vào hệ điều hành cũng như mọi ứng dụng Java khác J2ME hỗ trợ nhiều loại thiết bị dù có cầu hình khác nhau: có hoặc không có màn hình cảm ứng, có hoặc không có bàn phím, âm thanh, v.v
Các thiết bị hỗ trợ Java thường hỗ trợ một profile xác định Profile Java là thuật
ngữ dùng để chỉ tập các hàm được cung cấp bởi Java cài trên máy đó Profile
Java có 2 loại chính:
Mobile Information Device Profile (MIDP) : Được thiết kế cho điện thoại đi động, bao gồm các API giao diện, lập trình game, v.v Ứng dụng viết cho profile này được gọi là MIDIet MIDP hiện được hỗ trợ trong hầu hết các kiểu điện thoại và hiện nay là chuẩn đóng gói game cho điện thoại đi động
Trang 30Information Module Proñile (IMP): Được thiết kế cho các hệ thống nhúng, không có nhu cầu về giao điện như máy bán hàng, hệ thống an ninh, các hệ thống chỉ có khả năng kết nối hạn chế IMP thường là tập con của MIDP
J2ME đòi hỏi khá ít về phần cứng thiết bị, tối thiểu chỉ cần bộ nhớ 128KB, tốc độ 32MHz nên J2ME có thể tích hợp vào cả những thiết bị rẻ tiền
Về hỗ trợ GPS, bắt đầu từ MIDP 2.0, J2ME có cung cấp API định vị trong
package javax.microedition.location và hồn tồn khơng đồi hỏi truy xuất trực tiếp đến hệ điều hành hay phần cứng
Trang 31
double lon = c.getLongitudeQ;
/I! Sử dụng thông tin vị trí lây được
Các vẫn đề cần quan tâm khi phát triển ứng dụng trên thiết bị di động 1 Dữ liệu
Yêu cầu lưu trữ dữ liệu trên các thiết bị cầm tay thường khá ít Với ứng dụng
địa lý thiết bị cầm tay có thể chứa:
Dữ liệu bản đồ (vector hoặc raster) (1)
Dữ liệu do người dùng tạo ra (dùng để gửi đi hoặc lưu trữ cục bộ).(2)
Thiết lập (settings) của chương trình (3)
Đối với loại đữ liệu 1 và 2, dữ liệu thường có nhiều record và đòi hỏi truy xuất
ngẫu nhiên nhiều nhưng trên môi trường di động, việc tối ưu hóa truy cập
thường phải được thực hiện thủ công Các Index phải được thiết kế sao cho thích hợp với kiểu dữ liệu được lưu trữ Các hệ quản trị cơ sở dữ liệu trên di động như SQL Server Mobile của Microsoft hay Record Store trên J2ME đều ít
hỗ trợ index mà thiên về truy cập tuân tự
Đối với kiểu đữ liệu thứ 3, cách tốt nhất để đảm bảo chính xác và tốc độ là tập
hợp thiết lập thành các lớp và dùng các dạng Persistence API (thuật ngữ chỉ các chức năng lưu trữ đối tượng trong ứng dụng để sử dụng nhiều lần) để lưu trữ và quản lý các lớp này
2 Xử lý và tốc độ
Trang 32Thiết bị di động không nên đảm nhận các thao tác xử lý phức tạp hoặc xử lý
trên lượng dữ liệu lớn Hầu hết các môi trường lập trình di động hiện đại đều
hỗ trợ web service nên có thể dễ dàng chuyển các thao tác xử lý phức tạp lên phía server
Vì định vị là yếu tố cốt lõi khi cung cấp địch vụ định vị nên tốc độ định vị cũng
cần được đảm bảo Định vị bằng GPS (xem 2.1.4.3) có ưu điểm là độ chính xác
tương đối đồng đều dù ở bất kỳ đâu Tuy nhiên thời gian khởi tạo của GPS lại lâu: trong điều kiện bình thường cần khoảng 10 phút để thiết bị có thể xác định
tất cả các vệ tỉnh; hơn nữa GPS không hoạt động trong các môi trường kín như cao ốc, ham ngầm v.v ĐỀ đảm bảo việc định vị được thông suốt, cũng như cung cấp chức năng định vị cho các thiết bị không hỗ trợ GPS, ứng dụng cần
hỗ trợ nhiều cách thức định vị khác nhau để có thể thích ứng với nhiều yêu cầu
và hoàn cảnh khác nhau
3 Liên lạc
Với ứng dụng đi động thường sử dụng web service, việc trao đổi dữ liệu giữa client và server cân được đảm bảo thông suôt thì mới có được tôc độ
Trong điều kiện hiện tại với nền tảng 3G chúng ta có thẻ yên tâm rằng vẫn đề liên lạc hoàn toàn được khắc phục, tuy nhiên để có thể hoạt động trên nhiều
mạng với băng thông khác nhau, đữ liệu truyền nhận cần có kích thước nhỏ, đó
là một mốc quan trọng quyết định ứng dụng sẽ thực thi tốt trong mọi đều kiện 2G, hay 3G
4 Đồ họa
Trong ứng dụng định vị, nhu cầu đô họa chủ yêu thuộc về bản đô và các yêu tô
liên quan Cân tận dụng khả năng biêu diễn màu sắc trên thiệt bị đề biêu diễn
Trang 33Việc vẽ bản đồ không đến mức phức tạp nên thường chỉ cần thiết bị hỗ trợ các
thao tác đồ họa 2D
Vì màn hình của các thiết bị di dộng thường khá nhỏ nên thiết kế giao diện cần
sử dụng không gian màn hình hợp lý, tiết kiếm đồng thời không làm giảm đổi
tính tiện dụng của ứng dụng
II GOOGLE STATIC MAP API
Là một giao diện lập trình cung cấp bởi Google chuyên cung cấp những hình ảnh bản đồ với đủ loại ảnh( PNG, GIF và JPEG) cho những yêu cầu từ chương trình ứng dụng
1 Cơ chế hoạt động
Đây là một dịch vụ của Google, Google xây dựng một cơ sở đữ liệu không lồ về các địa điểm, tuyến đường, hình ảnh dang bản đồ hay ảnh chụp từ vệ tinh, sau đó xây dụng một tập các giao điện (API) để truy cập các thông tin địa lý này và phổ biến chúng ra bên ngoài Hiện tại đã có phiên bản thứ ba( Google static map version 3)
Cơ chế cung cấp của Google theo mô hình client- server như sau: Google ch —= map Hình 9 Nguyên lý hoạt động của hệ thống gởi và trả lời giữa Google Geocoder va thiệt bị di động
Client sẽ gởi yêu câu đên server Google map một chuôi có theo định dạng quy định của phía server, tùy vào nội dung của chuôi mà Google map sẽ trả về nội dung tương ứng
Trang 342 Các dịch vụ cung cấp bởi Google static map:
Chức năng GeoCoder, để phục vụ cho yêu cầu lấy tọa độ lat( kinh độ), long( vĩ độ), client sẽ gởi một chuỗi có định dạng như sau:
http://maps.google.com/maps/geo?q=address&output=csv&key=Apikey
Nếu địa chỉ này tôn tại trong cơ sở dữ liệu của Google thì một mảng 20byte
được trả về cho phía yêu cầu, bao gồm 4 byte đầu xác định địa chỉ này là hợp lệ hay không 8 byte tiếp theo là tọa độ long, 8 byte tiếp theo là tọa độ lat
Chức năng map generator, để trả gởi trả về một yêu cầu một hình ảnh Định dạng của chuôi yêu cầu như sau:
Ví dụ nêu biết tên địa điêm là Berkeley, Canada
http://maps.google.com/maps/api/staticmap?center=Berkeley, CA&zoom=14&s ize=—400x400& key=ApiKey
Sau đó server sẽ gởi về một ảnh có size là: 400x400 và độ zoom là 14 có chứa hình ảnh của địa điêm này
Nếu ta có được tọa độ lat, long thực tế của một địa điểm dé lay duoc ban dé cé dia diém do thi chúng ta sẽ gởi yêu câu như sau:
http://maps.google.com/maps/api/staticmap?center=40.714728.- 73.998672&zoom=12&size=400x400& key=ApiKey
Trang 35
Đề có thêm thông tin về Google static map API có thê tham khảo tại địa chỉ:
http://code.google.com/apis/maps/documentation/staticmaps
Trang 36
CHƯƠNG 3 CHƯƠNG TRÌNH ỨNG DỤNG
I PHAN TICH YEU CAU
1 Cac yéu cau doi voi hé thong L1 Yêu cầu về chức nang
Chương trình cần đạt được các chức năng sau: > Tìm các địa điểm gần xung quanh người dùng
> Tìm kiếm giới hạn thông qua phân loại địa điểm
> Tìm kiếm các địa danh thông qua tên
> GPS tracking, đây là chức năng khá hay giúp cho nguời dùng có thể quản lý hành trình của mình trong một chưyến đi du lịch, hay các mục đích khác, ứng dụng phải theo đối sự thay đổi vị trí của người dùng một cách liên tục, mỗi lần có sự thay đôi thì phải cập
nhật lại bản đồ và nỗi từ vị trí cũ đến vị trí mới bằng một đường
màu xanh
I.2 Yêu cầu về xử lý và lưu trữ
Do chương trình được cài đặt trên thiết bị đi động cho nên cần phải đảm
bảo tính gọn nhẹ, bảo đảm cho tồn hệ thống khơng bị ì ạch khi chương trình thực thị, lưu trữ dữ liệu phải hợp lý tránh dư thừa
I.3 Yêu cầu về giao diện
Chương trình phải có giao điện đẹp, thu hút, dễ sử dụng, cần ít thao tác
bàn phím nhất
L4 Tính mở rộng
Chương trình phải có tính linh hoạt có thể sử dụng ở nhiều thành phố
Trang 37II XỬ LÝ YÊU CÂU
1 Yêu cầu về chức năng
1.1.1 Chức năng tìm các địa điểm gần xung quanh người dùng
Để có được các địa điểm gần xung quanh người dùng, đầu tiên phải có được vị trí của người dùng, từ thông tin này tiến hành truy vẫn vào cơ sở dữ liệu nội bộ, so sánh và lấy ra những địa điểm gần, có thể sắp ràng
buộc khoảng cách là 3-10Km Nếu tìm gặp địa điểm thì thể hiện địa
điểm trên bản đồ bằng một hộp thông tin( message box) chứa thông tin của địa điềm
Với chức năng này, ứng dụng cân phải có cơ sở dữ liệu địa lý bao gôm
tên địa điểm, địa chỉ, quận, thành phố và cuối cùng là tọa độ địa lý
Chức năng tìm kiếm giới hạn thông qua phân loại địa điểm
chức năng này tương tự như chức năng ở mục 2.1.1 nhưng trong lúc tìm kiếm sẽ giới hạn lại không gian tìm kiếm thông qua một chuỗi là phân loại địa điềm
1.1.2 Chức năng tìm địa danh thông qua tên:
Chức năng này sẽ không tìm kiếm ở dữ liệu nội bộ mà sử dụng dịch vụ GoogleGeoCode đã đề cập ở phần III chương 2 Và xử lý tọa độ gởi về và thê hiện lên bản đô băng một icon nho
1.1.3 Chức năng GPS tracking
Để thực hiện chức năng này hệ thống phải ở chế độ trượt tuyến (online) lẫy bản đồ về một cách liên tục đự vào tọa độ địa lý cung cấp bởi GPS 1.2 Yêu cầu về xử lý và lưu trữ
1.2.1 Xử lý
Ứng dụng sẽ cung cấp một giao diện trực quan dưới dạng bản đồ, xử lý giao tiép mạng gởi và nhận bản đồ, một phần là tim kiếm đữ liệu nội bộ, không gian dữ liệu càng lớn thời gian tìm kiêm càng lâu và xử lý nhiêu GVHD: Ths Vo Huynh Tram Trang 24 SVTH: Nguyễn Thái Toàn
Trang 38hon, do do van đề là với một thành phố lớn với một số lượng lớn các địa điểm, chúng ta cần có những giải thuật nhằm cải thiện thời gian tìm
kiếm và giảm bớt xử lý cho thiết bị
Hệ thống đang phát triển sẽ lấy dữ liệu địa điểm của thành phố Cần Thơ,
với một lượng đữ liệu đưới 1000 mẫu tin, và sẽ sữ dụng một hashtable
đê lưu trữ các mâu tin
1.2.2 Lưu trữ
Với đữ liệu dưới IMbyte vẫn đề lưu dữ liệu vào bộ nhớ không bốc hơi không còn là vấn đề nữa, tuy nhiên như đã đề cập trong phần 2.2.1 khi số lượng dữ liệu là lớn cần phải có những giải thuật nhằm tiết kiệm thời
gian tìm kiêm
1.3 Yêu cầu về giao diện
Về việc chương trình phải có được tính thâm mỹ, thu hút ứng dụng sẽ sử dụng những Icon nhỏ, nhàm tạo sự thu hút, tuy nhiên không lạm dụng quá mức nhàm đạt được yêu cầu đã đặt ra ở phần 2.2.2 về hạn chế thao
tác cho người sử dụng, chương trình sẽ thiết kế giao diện dạng danh
sach, mỗi phần tử của danh sách là một chức năng, riêng các chức năng về thao tác bản đồ, phóng to thu nhỏ sẽ được thực hiện thông qua một phím, nhằm giảm bớt sự phức tạp trong bố trí chức năng của ứng dụng
1.4 Tính mở rộng
Ứng dụng được thiết kế ở dạng mở, chỉ cần thay đổi dữ liệu là có thể sử
Trang 39II THIET KE HE THONG
Mô hình hệ thống( Sơ đồ usecase):
Tim dia diem bang ten
Tim dia diem gan <<indude>>i ị
Start GPS tracking | Hien thi ket qua <<include>> | Nguoidung i <<extend>> Hien thi vi tri <<extend>> Stop GPS tracking Liet ke cac loai dia diem Hình 10 Sơ đồ usecase 1 Tóm tắt các usecase 1.1 Usecase “Tim dia diem gan” Tóm tắt Người dùng cần tìm kiếm các địa danh ở gần mình Dòng sự kiện chính
Người dùng chọn chức năng tìm kiếm địa điểm gần
Ứng dụng gọi chức năng tìm kiếm Chuyển sang màn hình kết quả Các dòng sự kiện khác
Trang 40Không tìm thấy kết quả nào: báo cho người dùng biết và trờ về màn hình bản đô
Trạng thái hệ thống khi bắt đầu thực hiện usecase
Người dụng đang ở menu chính của chương trình và đã chọn chức năng tìm kiếm
Trạng thái hệ thông sau khi thực hiện usecase
Hiển thị danh sách kết quả hoặc trở về màn hình bản đồ 1.2 Usecase “Tim dia diem bang ten”
Tom tat
Người dùng cần tìm kiếm một địa điểm nào đó
Dòng sự kiện chính
Người dùng nhập từ khóa tìm kiếm Ứng dụng gọi chức năng tìm kiếm Chuyển sang màn hình kết quả Các dòng sự kiện khác
Người dùng chọn hủy tìm kiếm: trở về màn hình bản đồ
Không tìm thấy kết quả nào: báo cho người dùng biết và trờ về màn hình bản đồ
Trạng thái hệ thống khi bắt đầu thực hiện usecase
Người dùng đang xem bản đồ và đã chọn chức năng tìm kiếm Trạng thái hệ thống sau khi thực hiện usecase