Luận văn Nghiên cứu phát triển hệ thống dịch vụ dựa trên vị trí địa lý và thử nghiệm

Nghiên cứu đặc điểm chính, các thành phần, các mô hình dịch vụ LBS, các kỹ thuật định vị; đặc điểm cũng như mặt hạn chế của các thiết bị di động sử dụng trong khai thác dịch vụ LBS;một số vấn đề cơ bản về Fuzzy, ứng dụng Fuzzy trong bài toán tìm đường đi ngắn nhất; trên cơ sở đó thiết kế và cài đặt thử nghiệm dịch vụ LBS hỗ trợ tìm đường đi trong thành phố.

pdf91 trang | Chia sẻ: lylyngoc | Lượt xem: 2943 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Luận văn Nghiên cứu phát triển hệ thống dịch vụ dựa trên vị trí địa lý và thử nghiệm, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
n trên hình 3.4: Hình 3.4: Kiến trúc tổng quan hệ thống cung cấp dịch vụ tìm đường MẠNG TRUYỀN THÔNG Internet GSM Yêu cầu Thông tin lộ trình Thông tin lộ trình Yêu cầu Vị trí Dịch vụ định vị toàn cầu HỆ THỐNG MÁY KHÁCH HỆ THỐNG MÁY CHỦ - 46 - 3.3.3. Phần cứng hệ thống Máy chủ Máy chủ là máy tính có cấu hình đủ mạnh trên đó có cài đặt phần mềm cung cấp dịch vụ web (webserver), phần mềm tiếp nhận và xử lý các yêu cầu dịch vụ thông qua hệ thống tin nhắn SMS, kết nối Internet. Máy chủ tích hợp sẵn hoặc có mô đun bổ sung khả năng giao tiếp trong mạng GSM để nhận và gửi tin nhắn SMS. Máy chủ được lắp đặt tại trung tâm quản lý và cung cấp dịch vụ. Máy trạm Máy trạm (máy khách) là các thiết bị di động có khả năng khai thác dịch vụ web hay dịch vụ SMS. Máy khách có thể là các loại điện thoại thường (chỉ nghe gọi, gửi nhận tin nhắn SMS), các loại điện thoại thông minh (có hệ điều hành với khả năng cài đặt phần mềm, truy cập Web, tích hợp bộ thu GPS), các thiết bị hỗ trợ cá nhân kỹ thật số PDA, thậm chí có thể là laptop hay thiết bị chuyên dụng có thiết kế phù hợp yêu cầu khai thác dịch vụ. Máy trạm được người tham gia giao thông tự trang bị và mang theo trong quá trình tham gia giao thông và khai thác dịch vụ. 3.3.4. Cơ sở hạ tầng mạng truyền thông Mạng Internet cung cấp kết nối và dịch vụ web. Máy chủ kết nối vào mạng Internet bằng các loại đường truyền thường dùng trong mạng máy tính. Riêng với thiết bị di động, kết nối tới Internet có thể được thực hiện thông qua dịch vụ GPRS hay có thể là GSM Data. Kết nối Internet qua GPRS hay GSM Data nhìn chung cho tốc độ thấp (GSM: 9,6-14 kbps, GPRS: 20-110 kbps), không đủ đáp ứng nhu cầu tương tác bản đồ [2]. Do vậy, việc hiển thị bản đồ để có chất lượng hình ảnh tốt và tốc độ cao thì cần do máy khách đảm nhiệm. Nếu dữ liệu hình ảnh được truyền tải thường xuyên trong quá trình khai thác dịch vụ có thể phải chấp nhận tốc độ chậm, chất lượng hình ảnh không cao. Mạng GSM với dịch vụ SMS cho phép máy khách gửi yêu cầu và tiếp nhận thông tin khá nhanh nhưng chỉ thuần tuý văn bản. Yêu cầu gửi đi và kết quả trả về được thực hiện thông qua các bản tin SMS. Trong trường hợp khai thác dịch vụ SMS để liên lạc giữa máy khách và máy chủ thì phía máy khách phải đảm nhiệm chức năng hiển thị bản đồ số, như vậy mới cho chất lượng dịch vụ cao trong điều kiện hạn chế về tốc độ và băng thông của mạng truyền dữ liệu. - 47 - 3.3.5. Định vị Máy khách có trách nhiệm cung cấp vị trí của mình cùng với yêu cầu cho máy chủ. Vị trí của máy khách có thể nhận được thông qua hệ thống định vị toàn cầu GPS nếu máy có tích hợp sẵn bộ thu GPS. Trong trường hợp máy khách không có khả năng xác định vị trí thông qua dịch vụ GPS thì người sử dụng phải nhập vị trí vào máy để gửi đến cho máy chủ. Vị trí có thể được nhập vào theo nhiều cách khác nhau: toạ độ chính xác, tên địa danh, giao lộ, tuyến phố hay có thể chỉ định ngay trên bản đồ nếu máy khách có khả năng hiển thị dữ liệu bản đồ số và cho phép người dùng tương tác trên bản đồ này. 3.3.6. Cơ sở dữ liệu GIS Tại máy chủ sẽ lưu trữ toàn bộ dữ liệu mà hệ thống khai thác để cung cấp các dịch vụ cho máy khách. Các dữ liệu này bao gồm bản đồ số nội thành thành phố Hà Nội, các dữ liệu về trạng thái hiện hành các tuyến đường, nút giao thông. Hệ thống giao thông trong thành phố được biểu diễn thông qua một đồ thị có trọng số. Trong đó, các tuyến đường là các cạnh của đồ thị, các nút giao thông, các điểm giao cắt là các đỉnh của đồ thị. Trọng số trên các cạnh được tạo bằng cách phối hợp các yếu tố về độ rộng của đường (khả năng đáp ứng cho các loại phương tiện khác nhau như xe máy hay ô tô), mật độ người tham gia giao thông trên tuyến đường, tình trạng tắc đường. Chiều được phép lưu thông trên đường xác định chiều của cạnh. Ngoài trọng số trên các cạnh, ở đồ thị biểu diễn hệ thống giao thông này còn lưu ý đến tính chất của từng đỉnh. Do các đỉnh biểu diễn các giao lộ, các nút giao thông nên vào những thời điểm bị tắc đường hay mật độ giao thông trên nút quá lớn sẽ ảnh hưởng tới quyết định có chọn đường đi qua nút đó hay không. 3.3.7. Các kiểu dịch vụ và cách khai thác 1) Kiểu thứ nhất: áp dụng cho các thiết bị di động có khả năng kết nối Internet, duyệt web, tích hợp bộ thu GPS. Mách khách truy cập vào trang web của hệ thống theo địa chỉ đã công bố. Trang web hiển thị giao diện chính là bản đồ số thành phố Hà Nội, các công cụ hỗ trợ. Thiết bị thu GPS sẽ giúp xác định vị trí hiện hành và được biểu diễn ngay trên bản đồ. - 48 - Người dùng khởi động chức năng tìm đường, sử dụng thiết bị trỏ hoặc nhập tên địa điểm cần đến, yêu cầu tìm. Quá trình tìm kiếm được thực hiện trên máy chủ và kết quả trả về sẽ là hình ảnh bản đồ chỉ ra đường đi tốt nhất theo yêu cầu tìm kiếm hoặc thông báo không tìm được nếu không tồn tại đường đi thoả mãn yêu cầu. Ngoài biểu thị kết quả trên bản đồ, phần mềm sẽ liệt kê danh sách các cung đường phải qua, độ dài tương ứng. Hình 3.5: Minh hoạ giao diện hỗ trợ GPS, hiển thị bản đồ số Ưu nhược điểm chính: về ưu điểm, không đòi hỏi máy khách phải có cấu hình lớn (bộ nhớ, tốc độ xử lý), có tính cập nhật cao (luôn thể hiện được bản đồ mới nhất). Nhược điểm chính là tốc độ đáp ứng chậm do thường xuyên phải truyền tải dữ liệu bản đồ số qua mạng truyền thông. Để nâng cao chất lượng dịch vụ đòi hỏi phải nâng cao tốc độ cũng như mở rộng băng thông của hệ thống truyền thông. 2) Kiểu thứ hai: áp dụng cho các thiết bị di động có cấu hình mạnh, bộ nhớ lớn, có khả năng kết nối Internet hay khai thác dịch vụ SMS, tích hợp bộ thu GPS. Về giao diện chính cũng là bản đồ thành phố nhưng toàn bộ dữ liệu bản đồ được lưu trên thiết bị di động. - 49 - Dữ liệu được truyền tải qua lại chỉ là yêu cầu dịch vụ và kết quả là danh sách các nút phải đi qua (thông qua tin nhắn SMS). Dựa vào dữ liệu trả về, giao diện phía máy khách sẽ thể hiện trực quan lộ trình tìm được trên bản đồ số. Các thao tác vận hành về cơ bản giống như kiểu thứ nhất. Một số ưu nhược điểm chính: tốc độ đáp ứng cao do không phải truyền tài dữ liệu lớn qua mạng truyền thông, bản đồ có thể trình bày được chi tiết và đẹp hơn. Nhược điểm chính là đòi hỏi máy trạm phải có bộ nhớ đủ lớn, tốc độ xử lý cao để xử lý dữ liệu bản đồ số tại máy, khả năng cập nhật bản đồ thấp và phải thực hiện độc lập. 3) Kiểu thứ ba: áp dụng cho các thiết bị di động có khả năng kết nối Internet, duyệt web, không tích hợp bộ thu GPS. Về giao diện chính cũng như cách khai thác cơ bản giống như kiểu thứ nhất. Không tự động xác định vị trí hiện hành do không tích hợp bộ thu GPS, nếu dùng phương pháp định vụ qua mạng di động thì sai số khá lớn, hiệu quả mang lại không cao. Khi người dùng có yêu cầu tìm đường thì phải xác định rõ cả điểm xuất phát và điểm tới (bằng thiết bị trỏ hoặc nhập bằng văn bản). 4) Kiểu thứ tư: áp dụng cho các thiết bị di động có cấu hình thấp, không duyệt được web, không tích hợp GPS mà chỉ khai thác dịch vụ SMS (điện thoại thường), có khả năng cài đặt phần mềm. Giao diện chính không thể hiện bản đồ mà chỉ có các công cụ nhập số liệu, gửi yêu cầu. Người dùng phải nhập điểm xuất phát, điểm đến. Kết quả được trả về dưới dạng danh sách các cung đường phải đi qua cùng độ dài tương ứng. 5) Kiểu thứ năm: áp dụng cho các thiết bị di động có cấu hình rất thấp, chỉ khai thác dịch vụ SMS, không có khả năng cài đặt phần mềm (điện thoại chỉ nghe gọi và gửi tin nhắn). Người dùng được cung cấp thông tin về số điện thoại dịch vụ. Khi có nhu cầu tìm đường, người dùng sử dụng điện thoại, gửi tin nhắn đến số trung tâm dịch vụ với nội dung yêu cầu chỉ rõ điểm xuất phát, điểm đến và một số thông tin phụ khác. - 50 - Hệ thống sẽ “so sánh” thông tin này với dữ liệu có tại máy chủ, nếu trùng khớp sẽ tiến hành tìm kiếm ngay. Trường hợp thông tin không chính xác, hệ thống sẽ gửi về danh sách các địa danh gợi ý yêu cầu xác nhận từ phía người dùng. Sau khi có thông tin xác nhận sẽ tiến hành tìm kiếm. Kết quả trả về là danh sách các cung đường phải qua và độ dài tương ứng qua tin nhắn. Đánh giá: kiểu dịch vụ này phù hợp cho mọi đối tượng người dùng có cấu hình thiết bị di động từ thấp nhất đến cao. Tuy nhiên chất lượng dịch vụ không cao do không có khả năng biểu diễn trực quan bản đồ, mất nhiều thời gian cung cấp vị trí xuất phát và vị trí đến. Hình 3.6: Minh hoạ giao diện chỉ sử dụng tin nhắn SMS Tóm lại, hệ thống cung cấp dịch vụ tìm đường trong thành phố được thiết kế với khả năng đáp ứng yêu cầu dịch vụ khá đa dạng, phù hợp cho nhiều đối tượng sử dụng khác nhau. Hệ thống hỗ trợ đồng thời tất cả các kiểu dịch vụ nêu trên. Mỗi kiểu dịch vụ có thể được coi như là một gói dịch vụ độc lập nhưng thống nhất về hệ thống thông tin, mục đích khai thác. - 51 - Để thận tiện cho tham chiếu và sử dụng trong các nội dung trình bày sau, mỗi kiểu khác thác dịch vụ trên được coi là một gói dịch vụ trong hệ thống dịch vụ tìm đường và ký hiệu như sau: Gói TD1: triển khai dịch vụ theo kiểu thứ nhất Gói TD2: triển khai dịch vụ theo kiểu thứ hai Gói TD3: triển khai dịch vụ theo kiểu thứ ba Gói TD4: triển khai dịch vụ theo kiểu thứ tư Gói TD5: triển khai dịch vụ theo kiểu thứ năm Sơ đồ tổng quát của hệ thống dịch vụ và khách hàng khai thác dịch vụ được thể hiện như sau (hình 3.7): - 52 - Hình 3.7: Sơ đồ tổng quát hệ thống dịch vụ tìm đường KHÁCH HÀNG DỊCH VỤ TÌM ĐƯỜNG Máy chủ, cơ sở dữ liệu chung Gói TD1 Gói TD2 Gói TD3 Gói TD4 Gói TD4 Duyệt web, GPS, hiển thị bản đồ GPS, SMS, hiển thị bản đồ Duyệt web, hiển thị bản đồ SMS, phần mềm nhập vị trí Chỉ dùng tin nhắn SMS Mạng Internet, dịch vụ Web Mạng GSM, dịch vụ SMS GPS - 53 - 3.3.8. Vấn đề cập nhật tình trạng hệ thống giao thông Cập nhật trạng thái của hệ thống giao thông là một nhiệm vụ quan trọng. Ý nghĩa lớn nhất của dịch vụ tìm đường này là chỉ ra đường đi thực sự hữu ích có tính đến các yếu tố biến động thường xuyên, tác động lên đường đi tìm được như yếu tố tắc đường chẳng hạn. Thực hiện việc cập nhật trạng thái tuyến đường có thể tiến hành theo nhiều cách khác nhau hoặc phối hợp đồng thời nhiều cách: Thứ nhất: lắp đặt hệ thống camera quan sát tại các điểm trọng yếu (nút giao thông, các cung đường hay xảy ra tắc nghẽn). Theo phương án này, hệ thống cần phải có chức năng phân tích hình ảnh, xác định trạng thái tuyến được. Công việc phân tích hình ảnh này có thể được thực hiện một cách tự động bởi phần mềm máy tính hoặc do người làm thủ công. Giải pháp này có ưu điểm là đảm bảo tính cập nhật (ngay tức thời), thông tin chính xác. Tuy nhiên đây là giải pháp tốn kém do phải chi phí nhiều cho trang bị và duy trì hoạt động của hệ thống camera, cùng với đó là phải giải quyết vấn đề truyền thông giữa các camera với trung tâm. Thứ hai: kết hợp với trung tâm dịch vụ điện thoại để tiếp nhận các thông tin về trạng thái các nút giao thông qua điện thoại. Mỗi người dân tham gia giao thông sẽ được khuyến nghị tham gia vào hệ thống. Họ sẽ gọi điện hay nhắn tin đến hệ thống để thông báo về tình trạng giao thông (một cách tự nguyện). Phía hệ thống phải có bộ phận tiếp nhận và cập nhật các thông tin này, cần có sự tham gia trực tiếp của con người với sự hỗ trợ của thiết bị, phần mềm. Giải pháp này có ưu điểm là chi phí đầu tư thấp. Thực chất, các chi phí này được san sẻ cho những người tham gia giao thông. Tuy nhiên, giải pháp này có một số nhược điểm lớn đó là tính cập nhật thấp, bị động (tuỳ thuộc vào người tham gia giao thông), độ tin cậy của thông tin nhận được không cao, khó kiểm chứng. Thứ ba: về phương tiện và cách thức thu thập thông tin thì tương tự như cách thứ hai nhưng đối tượng cung cấp thông tin có bổ sung thêm nhóm người khai thác dịch vụ. Đối với người khai thác dịch vụ, họ được yêu cầu phải cung cấp thông tin về trạng thái của hệ thống giao thông tại vị trí hiện tại của họ (với giả thiết họ đang tham gia giao thông) mỗi khi có yêu cầu dịch vụ. Theo cách này, thông tin về tình trạng hệ thống giao thông sẽ thu thập được nhiều hơn. Các mặt ưu và nhược điểm về cơ bản tương tự như đã trình bày ở cách thứ hai. - 54 - Chương 4: CÀI ĐẶT THỬ NGHIỆM Trình bày các nội dung cài đặt thử nghiệm dịch vụ LBS tìm đường đi trong nội thành thành phố Hà Nội. Lựa chọn mô hình, kiểu dịch vụ, công nghệ áp dụng và kết quả. 4.1. Lựa chọn mô hình cài đặt 4.1.1. Mô hình dịch vụ Do hạn chế về thời gian và phương tiện (phần cứng) thể hiện nên tác giả lựa chọn cài đặt một nhánh nhỏ theo mô hình kết hợp sử dụng công nghệ web thông qua mạng Internet với dịch vụ tin nhắn SMS đã giới thiệu ở chương 3 (nhánh đánh dấu bằng đường nét đứt ở hình 3.7); truyền dữ liệu qua mạng GSM dưới dạng tin nhắn SMS; triển khai kiểu dịch vụ thứ ba (đã giới thiệu ở mục 3.2.7) nhưng không tích hợp bộ thu GPS, thực hiện mô phỏng thiết bị thu GPS. Phía máy chủ: tập trung biểu diễn hiện trạng khai thác dịch vụ một cách trực quan trên bản đồ số; giao tiếp với máy trạm qua dịch vụ tin nhắn SMS. Máy chủ lưu trữ dữ liệu bản đồ số thành phố Hà Nội (dữ liệu chủ yếu được xây dựng để thử nghiệm). Cài đặt thuật toán tìm kiếm đường đi ngay tại máy chủ. Phía máy khách: sử dụng điện thoại thường, mô phỏng bộ thu GPS tạo số liệu toạ độ hiện thời, gửi yêu cầu và nhận kết quả trả về dưới dạng tin nhắn. Hình 4.1: Giao tiếp của hệ thống LBS thử nghiệm MẠNG TRUYỀN THÔNG DI ĐỘNG MÁY CHỦ GSM MODEM MÁY KHÁCH SMS SMS SMS - 55 - 4.1.2. Phần cứng Máy chủ: máy tính để bàn hoặc máy xách tay có cấu hình yêu cầu ở mức trung bình, giao tiếp được với GSM Modem. GSM Modem: là thiết bị ghép nối máy tính giúp giao tiếp với mạng di động GSM. Có thể sử dụng GSM Modem chuyên dụng hoặc điện thoại di động đóng vai trò GSM Modem để thực hiện việc gửi, nhận tin nhắn SMS từ máy tính. Máy khách: sử dụng các loại điện thoại thông thường, không cần tích hợp thiết bị thu GPS. 4.2. Lựa chọn công nghệ 4.2.1. Xử lý dữ liệu bản đồ số bằng MapInfo MapInfo là phần mềm bản đồ đang được sử dụng khá rộng rãi trên thị trường Việt Nam. MapInfo thiên về quản lý, tổng hợp thông tin, xây dựng các loại bản đồ chuyên đề số nên chức năng số hóa bản đồ của MapInfo còn hạn chế. Điểm mạnh của MapInfo là khả năng hiển thị, giàn trang in rất tiện lợi và đây là một trong những ưu thế của MapInfo so với các phần mềm GIS khác. Giải pháp hỗ trợ cho desktop của MapInfo tương đối nhỏ gọn nên MapInfo đang được chiếm ưu thế lớn ở Việt Nam, nhất là đối với những nơi tiếp cận GIS sớm, quy mô nhỏ. Ngoài các giải pháp desktop, MapInfo còn có các giải pháp mạng, ứng dụng Web. Với sự hỗ trợ triển khai dịch vụ trên nền web song song với ứng dụng desktop, MapInfo tỏ ra là một lựa chọn phù hợp cho triển khai thử nghiệm dịch vụ LBS trong đề tài. Một số đặc điểm chính của MapInfo gồm: - Có thể chạy trên các hệ điều hành: UNIX, Windows. - Hỗ trợ các thiết bị: Bàn số, máy quét ảnh, chuột, các máy vẽ. - Các chức năng chính: Tạo vùng đệm, phân tích bản đồ, phân tích mạng. - Cấu trúc dữ liệu: dữ liệu thuộc tính, dữ liệu bảng biểu, hình ảnh. - Đơn giản, dễ sử dụng - Phù hợp với mô hình quy mô nhỏ - Có khả năng giao tiếp với một số phần mềm GIS khác - 56 - Do một số ưu điểm và khả năng đáp ứng khá tốt cho các yêu cầu xử lý dữ liệu, triển khai dịch vụ nên MapInfo là lựa chọn phù hợp cho xử lý dữ liệu bản đồ số thành phố Hà Nội, áp dụng trong dịch vụ LBS cài đặt thử nghiệm. Phiên bản sử dụng trong công tác xử lý dữ liệu bản đồ của đề tài là MapInfo Professional 9.0. Phiên bản này có giao diện đẹp, công cụ thao tác thuận tiện. Sử dụng bộ công cụ của MapInfo. Phần mềm để soạn thảo, hiệu chỉnh dữ liệu tĩnh của bản đồ số thành phố Hà Nội là MapInfo Professional 9.0. Hình 4.2: Giao diện soạn thảo bản đồ MapInfo Professional 9.0 Hình 4.2 thể hiện giao diện của MapInfo đồng thời là một phần dữ liệu tĩnh bản đồ số thành phố Hà Nội sử dụng trong hệ thống cài đặt thử nghiệm của đề tài. Bản đồ chủ yếu thể hiện các tuyến phố chính, các điểm nút giao thông quan trọng để cài đặt thử nghiệm thuật toán tìm đường trong dịch vụ LBS. - 57 - 4.2.2. Công cụ lập trình Công cụ lập trình chính được sử dụng trong cài đặt thử nghiệm dịch vụ LBS của đề tài là bộ Microsoft Visual Studio 2008. Đây là bộ công cụ phát triển các ứng dụng chuyên nghiệp của Microsoft đang được nhiều nhà phát triển phần mềm lựa chọn sử dụng. Microsoft Visual Studio 2008 triển khai các ứng dụng trên môi trường .Net (.Net framework). Một số ưu điểm chính của Microsoft Visual Studio 2008: - Hỗ trợ nhiều ngôn ngữ lập trình như: VB.Net, C#, C++, ASP.Net - Có khả năng phát triển nhiều loại ứng dụng khác nhau: ứng dụng giao diện cửa sổ (Windows Forms Application), ứng dụng kiểu giao diện text (Console Application), phát triển các thư viện, ứng dụng web... - Ngoài các ứng dụng chạy trên hệ điều hành Windows cho các dòng máy tính, Microsoft Visual Studio 2008 còn hỗ trợ phát triển ứng dụng cho thiết bị thông minh (Smart Device). - Hỗ trợ nhiều kiểu lập trình khác nhau như hướng đối tượng, hướng sự kiện, hướng thành phần,... - Phát triển các ứng dụng đa luồng. - Hỗ trợ viết mã: trợ giúp trực tuyến giúp lập trình viên nhanh chóng hoàn thiện các đoạn mã của mình, không phải nhớ nhiều cú pháp phức tạp của câu lệnh. - Các tính năng thiết kế trực quan, tự động sản sinh mã nguồn giúp người lập trình tạo ra các sản phẩm một cách hiệu quả trong thời gian ngắn. - 58 - Hình 4.3: Giao diện Microsoft Visual Studio 2008 4.2.3. Cài đặt ứng dụng desktop và web với MapXtreme MapXtreme là một môi trường phát triển lý tưởng để tạo ra các ứng dụng bản đồ và bản đồ trung tâm. MapXtreme là một trong các thành phần chính của bộ MapInfo. Phiên bản MapXtreme 2008 tương thích và tích hợp luôn với bộ Microsoft Visual Studio 2008. MapXtreme 2008 cung cấp các công cụ điều khiển bản đồ thông dụng, các ứng dụng mẫu, và chức năng kéo và thả. Bản desktop MapXtreme 2008 hỗ trợ hoàn toàn cho các ngôn ngữ Microsoft.NET như VisualBasic.NET, C. Với ứng dụng web, MapXtreme 2008 có nhiều hỗ trợ mạnh. Việc phát triển một ứng dụng bản đồ trên nền web với MapXtreme 2008 là khá dễ dàng và nhanh chóng. Có thể sử dụng tất cả các ngôn ngữ .NET như ASP.NET trong môi trường MapXtreme 2008. - 59 - Hình 4.4: Giao diện MS Studio 2008 với sự tích hợp của MapXtreme 2008 Hình 4.5: Hiển thị dữ liệu bản đồ bằng MapXtreme 2008 Các công cụ lập trình xử lý dữ liệu bản đồ của MapXtreme tích hợp vào bộ Microsoft Visual Studio 2008. - 60 - 4.2.4. Giao tiếp GSM Modem bằng tập lệnh AT Dịch LBS tìm đường đi trong thành phố cài đặt thử nghiệm của đề tài sử dụng giao tiếp giữa máy chủ và khách thông qua dịch vụ tin nhắn. Máy khách là các loại thiết bị liên lạc di động hỗ trợ sẵn khả năng gửi nhận tin nhắn. Máy chủ là máy tính thông thường giao tiếp với mạng GSM thông qua thiết bị đóng vai trò là GSM Modem. Để thuận tiện cho thử nghiệm, hệ thống sử dụng một điện thoại di động có khả năng kết nối với máy tính đóng vai trò của một GSM Modem. Để lập trình cho điện thoại này thực hiện các hoạt động: gửi, nhận, quản lý các tin nhắn gửi đi và nhận về trong hệ thống, ta có thể sử dụng bộ lệnh điều khiển modem AT. Giới thiệu chung về tập lệnh AT AT Commands (viết tắt của Attention Commands) là tập các lệnh được sử dụng để điều khiển modem. Hầu hết các lệnh trong đó bắt đầu bởi “AT” hay “at” nên nó được gọi là tập lệnh AT. Với tập lệnh AT chúng ta hoàn toàn có thể điều khiển được các modem GSM/GPRS và điện thoại di động (có tích hợp GSM Modem). Tập lệnh này do Viện Tiêu Chuẩn Viễn Thông Châu Âu (European Telecommunication Standards Institute - ETSI) đưa ra. Các GSM modem hỗ trợ tập lệnh AT chuẩn để giao tiếp với ứng dụng máy tính. Ngoài ra, modem có thể có tập lệnh mở rộng. Nếu ứng dụng máy tính sử dụng tập lệnh AT chuẩn để giao tiếp với modem thì ứng dụng đó không phụ thuộc vào thiết bị. Các tập lệnh AT cơ bản Các tập lệnh đưới giới thiệu dưới đây được công bố theo chuẩn máy Nokia. Bảng 4.1: Tập lệnh AT xử lý tin nhắn (SMS), chế độ văn PDU Lệnh Mô tả AT+CMGL Xem danh sách message AT+CMGR Đọc message AT+CMGS Gửi message AT+CMGW Lưu message - 61 - Bảng 4.2: Tập lệnh AT điều khiển cuộc gọi Lệnh Mô tả ATA Lệnh trả lời ATD Lệnh gọi ATH Lệnh cúp máy ATL Bật chế độ loa bên trong ATM Chế độ loa ngoài ATO Go on-line ATP Set pulse dial as default ATT Thiết đặt nhạc chuông mặc định AT+CSTA Chọn kiểu địa chỉ Bảng 4.3: Tập lệnh AT điều khiển Card Lệnh Mô tả AT&F Trở về chế độ mặc định AT&V Xem những thiết đặt AT+GMI Xem thông tin nhà sản xuất AT+GMM Xem thông tin đời của điện thoại AT+GMR Xem phiên bản sản xuất AT+GSN Xem số IMEI Bảng 4.4: Tập lệnh AT điều khiển máy điện thoại Lệnh Mô tả AT+CBC Xạc pin AT+CPAS Chế độ hoạt động của điện thoại AT+CPBF Tìm kiếm trong danh bạ AT+CPBR Đọc danh bạ AT+CPBW Lưu vào danh bạ AT+CSQ Xem lưu lượng sóng - 62 - Bảng 4.5: Tập lệnh AT xử lý tin nhắn (SMS), chế độ văn bản Lệnh Mô tả AT+CSMS Chọn dịch vụ message AT+CMGF Định dạng message AT+CSCA Số của trung tâm dịch vụ AT+CSMP Thiết đặt dạng text AT+CSDH Hiển thị chế độ text AT+CSAS Lưu thiết đặt AT+CRES Phục hồi cài đặt AT+CMGL Xem danh sách message AT+CMGR Đọc message AT+CMGS Gửi message AT+CMSS Gửi message từ bộ nhớ AT+CMGW Lưu message vào bộ nhó AT+CMGD Xóa message Cách sử dụng tập lệnh AT để điều khiển modem Để gửi/nhận tin nhắn SMS, ta cần kết nối thiết bị là GSM modem vào cổng COM của máy tính. Nếu modem kết nối máy tính bằng cổng USB thì cần phải biết tên của thiết bị trong hệ thống hoặc thiết bị đã được kết nối qua cổng COM mô phỏng nào. Chương trình máy tính và thiết bị trao đổi dữ liệu thông qua hệ thống lệnh AT chuẩn. Tùy vào thiết bị và nhà sản xuất, mỗi modem có thể có hệ thống lệnh AT mở rộng nhằm tối ưu và nâng cao khả năng kết nối của thiết bị với máy tính. Trong chương trình giao tiếp với modem bằng lệnh AT, trước hết cần tạo một kết nối cổng COM tới modem. Sau đó gửi đến cổng COM những lệnh AT tương ứng và đọc kết quả thực thi lệnh AT từ cổng COM. Cần kiểm tra kết nối và modem bằng cách sử dụng nhóm lệnh: AT, +CPIN, +CSCA, +CGMI, +CGMM, +CMEE, +CSMS, +CSQ, +CBC trước mỗi phiên làm việc. Để đọc thiết lập hiện tại, dùng lệnh AT có thêm ký tự ‘?’. Để xem những giá trị nào có thể thiết lập, dùng lệnh AT có thêm hai ký tự ‘=?’. Để thiết lập giá trị thông số mới, dùng lệnh AT có thêm ký tự ‘=’, và theo sau đó là những giá trị - 63 - thông số mới. Để gửi một nội dung đến một thuê bao của khách hàng, sử dụng lệnh +CMGS. Trong trường hợp nội dung cần gửi đến nhiều khách hàng khác nhau ta sử dụng lệnh +CMGW ghi SMS lên bộ nhớ của modem, sau đó dùng lệnh +SMSS để gửi SMS đó đến các khách hàng khác nhau. Cách này cho phép nâng cao tốc độ làm việc của modem nhờ giảm thiểu trao đổi thông tin giữa modem và chương trình. Có thể gửi SMS theo hai chế độ văn bản (text mode, +CMGF = 1) và chế độ mặc định PDU (Protocol Data Unit, +CMGF = 0). Giá trị các thiết lập thông số cho chế độ văn bản và PDU có khác nhau cho một số lệnh AT. Ví dụ, với lệnh đọc tất cả các tin nhắn +CMGL tiếp nhận các thông số "REC UNREAD","REC READ","STO UNSENT", "STO SENT" và "ALL" trong chế độ văn bản. Trong khi đó ở chế độ PDU sẽ là các giá trị 0 - 4. Ngoài ra, không phải tất cả các GSM modem đều hỗ trợ chế độ văn bản. Thử nghiệm cho thấy không chỉ những điện thoại lạc hậu, mà ngay cả với một số loại điện thoại hiện đại, chẳng hạn W580, cũng không hỗ trợ chế độ văn bản khi làm việc với các chương trình trên máy tính. Trong khi đó, chế độ PDU thì tất cả các modem đều hỗ trợ và chế độ này cho phép gửi hình ảnh và nhạc chuông. Từ đó cho thấy, khi xây dựng một chương trình làm việc với các GSM modem, cần phải nghiên cứu tài liệu kỹ thuật của từng loại modem để có thể thiết lập đúng những thông số mà modem đó hỗ trợ. Tất cả các modem đều phải hỗ trợ tập các lệnh AT chuẩn nên nếu chương trình sử dụng tập lệnh AT chuẩn để làm việc với các modem, thì hệ thống sẽ không bị phụ thuộc vào thiết bị được sử dụng. Sau đây là một ví dụ sử dụng lệnh AT và chương trình HyperTerminal của Windows để gửi tin nhắn SMS. Nội dung dưới đây là các lệnh và kết quả trả về từ màn hình giao diện HyperTerminal: AT OK AT+CMGF=1 OK AT+CMGW="0982713301" > Day la noi dung thong diep thu nghiem. +CMGW: 1 OK AT+CMSS=1 +CMSS: 20 OK Nội dung trên được giải thích như sau: - 64 - Dòng thứ nhất: “AT” để gửi tới GSM modem nhằm kiểm tra kết nối. GSM modem gửi lại xâu “OK” (dòng thứ 2) cho biết kết nối giữa HyperTerminal và modem là tốt. Dòng thứ 3: câu lệnh “AT+CMGF” để báo cho modem biết lựa chọn chế độ làm việc SMS là văn bản (text mode). Kết quả trả về “OK” báo rằng lệnh “AT+CMGF=1” đã thực hiện thành công. Nếu kết quả là “ERROR” thì có nghĩa là lệnh đã không được thực hiện thành công, điều này cũng có nghĩa là modem không hỗ trợ SMS text mode. Để xác nhận, thực hiện lệnh “AT+CMGF=?”, nếu kết quả trả về là “+CMGF: (0,1)” trong đó 0=PDU mode và 1=Text mode. Nếu kết quả là “+CMGF: (1)” thì Text mode được hỗ trợ, ngược lại thì không. Các dòng 5 và 6: câu lệnh “AT+CMGW” được sử dụng để ghi một thông điệp đến modem. Số điện thoại nhận là “0982713301”. Sau khi nhập xong số điện thoại nhận tin nhắn, nhấn phím Enter, modem gửi lại dấu nhắc “>”, tiếp theo nhập nội dung tin nhắn muốn gửi (trong ví dụ là “Day la noi dung thong diep thu nghiem.”). Nhấn tổ hợp phím “Ctrl+z” để kết thúc soạn nội dung tin nhắn. Dòng 7: “+CMGW:1” cho biết chỉ số được gắn với tin nhắn là 1. Đây cũng chính là vị trí của tin nhắn trong bộ nhớ lưu trữ tin nhắn văn bản. Dòng 9: kết quả trả về “OK” báo lệnh “AT+CMGW” đã thực hiện thành công. Dòng 10: “AT+CMSS” được sử dụng để gửi tin nhắn được lưu trong bộ nhớ tin nhắn tại ví trí 1. Dòng 11: “+CMSS:20” cho biết số hiệu tham chiếu được gán cho tin nhắn là 20. Dòng 13: “OK” báo câu lệnh “AT+CMSS” đã được thực hiện thành công. 4.3. Định dạng gói tin SMS sử dụng để giao tiếp trong hệ thống Hệ thống thử nghiệm sử dụng tin nhắn SMS để gửi yêu cầu, truyền tải thông tin kết quả giữa máy chủ và máy khách. Định dạng gói tin được quy ước như sau: 4.3.1. Máy khách cài đặt phần mềm Định dạng gói tin này sử dụng để giao tiếp giữa phần mềm phía máy khách với máy chủ. Các gói tin sẽ được máy khách, máy chủ sinh tự động theo yêu cầu người dùng. Trong trường hợp này, người dùng dễ dàng khai thác dịch vụ hơn vì không phải nhớ định dạng gói tin yêu cầu dịch vụ, giao diện đẹp. Tuy nhiên yêu cầu máy khách phải cài được phần mềm. - 65 - 4.3.1.1. Gói tin yêu cầu Gói tin yêu cầu được phần mềm phía máy khách gửi đi đề yêu cầu máy chủ cung cấp dịch vụ. Gói tin yêu cầu có cấu trúc như sau: Lenh HT Dau Cuoi PT TTGT Đầu tin nhắn Cuối tin nhắn Hình 4.6: Định dạng gói tin yêu cầu 1 Lenh: mã quy ước lệnh khai thác dịch vụ, biểu diễn dưới dạng xâu văn bản, luôn bắt đầu bằng dấu @ (ví dụ: “@TD” để tìm đường). HT: Vị trí hiện thời của của người sử dụng (cũng chính là vị trí của máy khách). Vị trí này có thể nhận được thông qua thiết bị định vị hoặc do người dùng cung cấp (gián tiếp qua vị trí đầu, nếu để trống). Dau: Vị trí đầu (xuất phát) được biểu diễn bằng ID (mã nhận dạng) của nút giao thông hay tuyến đường, toạ độ chính xác (x,y). Nếu dữ liệu để trống, hệ thống sẽ lấy thông tin vị trí hiện tại thay thế. Phần mềm xử lý phía máy chủ sẽ tự động phân tích nhận dạng kiểu dữ liệu phù hợp. Cuoi: Vị trí đến, vị trí này được biểu diễn bằng ID của nút giao thông hay tuyến đường, toạ độ chính xác (x,y). Toạ độ nhận được thông qua thiết bị trỏ hoặc trung tâm của nút giao thông hay tuyến đường do người dùng cung cấp. PT: Xác định kiểu phương tiện sử dụng để lưu thông trên lộ trình cần tìm. Đây là tham số quan trọng để hệ thống tìm đường sử dụng làm cơ sở lựa chọn đường đi cho thích hợp. Nếu người dùng đi xe máy thì sẽ dễ dàng tìm ra đường đi hơn là đi ô tô (đòi hỏi đường rộng hơn, rồi vấn đề giới hạn chiều lưu thông đối với ô tô). Giá trị của PT=”0” nếu đi phương tiện là xe máy hay các phương tiện khác tương tự hoặc đi bộ. PT=”1” nếu đi bằng phương tiện là ô tô. TTGT: Thông tin cho biết tình trạng giao thông hiện tại (của điểm xuất phát – được hiểu là vị trí người sử dụng đang đứng). Có 3 giá trị tương ứng với 3 trạng thái: bình thường, bị tắc nhẹ, bị tắc hoàn toàn. Trong đó, giá trị “0” ứng với bình thường, “1” ứng với tắc nhẹ và “2” ứng với tắc hoàn toàn. 4.3.1.2. Gói tin báo kết quả Gói tin báo kết quả được máy chủ gửi trả lại cho máy khách để thông báo kết quả xử lý yêu cầu của máy khách. Kết quả có thể là tìm kiếm thành công hoặc thất bại. Gói tin báo kết quả có cấu trúc như sau: - 66 - TieuDe NoiDung Hình 4.7: Định dạng gói tin kết quả 1 TieuDe: được trình bày trên một dòng (ngăn cách bằng ký tự xuống dòng), giá trị của tiêu đề là một xâu văn bản có nội dung theo quy ước “@KQ”. NoiDung: được sử dụng để trình bày kết quả tìm kiếm. Nếu tìm thành công, đây sẽ là danh sách ID của các nút giao thông hay các cung đường phải đi qua. Mỗi ID ngăn cách bởi một dấu phảy (,). ID được trình bày theo cấu trúc Nid nếu tham chiếu đến nút giao thông, Did nếu tham chiếu đến cung đường. Trong đó id là một giá trị số tương ứng với từng đối tượng. Nếu tìm kiếm thất bại, nội dung này sẽ được để trống. 4.3.2. Máy khách chỉ sử dụng tin nhắn SMS Định dạng gói tin này áp dung cho trường hợp máy khách không cài đặt được phần mềm bản đồ hoặc người sử dụng lựa chọn hình thức giao tiếp bằng tin nhắn SMS. 4.3.2.1. Gói tin yêu cầu Gói tin yêu cầu được máy khách gửi đi đề yêu cầu máy chủ cung cấp dịch vụ. Ví dụ, khi máy khách muốn xác định đường đi từ vị trí hiện hành đến một điểm đích nào đó, máy khách sẽ sử dụng gói tin yêu cầu để gửi tới máy chủ (thông qua số điện thoại đã công bố). Gói tin được biểu diễn thuần tuý văn bản, chia thành 5 trường, mỗi trường ngăn cách nhau bởi ký tự xuống dòng. Cấu trúc gói tin được mô tả như sau: Lenh Dau Cuoi TTGT PT Đầu tin nhắn Cuối tin nhắn Hình 4.8: Định dạng gói tin yêu cầu 2 - 67 - Lenh: mã quy ước lệnh khai thác dịch vụ, biểu diễn dưới dạng xâu văn bản (ví dụ: “TD” để tìm đường). Dau: Vị trí hiện thời của của người sử dụng (cũng chính là của máy khách). Vị trí này có thể nhận được thông qua thiết bị định vị hoặc do người dùng cung cấp. Vị trí có thể biểu diễn bằng cặp toạ độ (x,y) hoặc tên nút giao thông hay tuyến đường. Phần mềm xử lý phía máy chủ sẽ tự động phân tích nhận dạng kiểu dữ liệu phù hợp. Vị trí này cũng chính là vị trí xuất phát. Cuoi: Vị trí đến, vị trí này có thể biểu diễn dưới dạng toạ độ thông qua thiết bị trỏ (áp dụng cho trường hợp có hiển thị bản đồ số phía máy khách) hoặc tên nút giao thông hay tuyến đường do người dùng cung cấp. Định dạng tương tự như định dạng của vị trí xuất phát. TTGT: Thông tin cho biết tình trạng giao thông hiện. Có 3 giá trị tương ứng với 3 trạng thái: bình thường, bị tắc nhẹ, bị tắc hoàn toàn. Trong đó, giá trị “0” ứng với bình thường, “1” ứng với tắc nhẹ và “2” ứng với tắc hoàn toàn. PT: Xác định kiểu phương tiện sử dụng để lưu thông trên lộ trình cần tìm. Giá trị của PT=”xemay” nếu đi phương tiện là xe máy hay các phương tiện khác tương tự hoặc đi bộ. PT=”Oto” nếu đi bằng phương tiện là ô tô. Giá trị của PT có thể được bỏ qua, khi đó hệ thống tự động xác định phương tiện sử dụng là “xe máy”. 4.3.2.2. Gói tin báo kết quả Gói tin báo kết quả được máy chủ sử dụng để trả lời cho máy khách. Gói tin này được dùng để thông báo kết quả tìm đường theo yêu cầu của máy khách. Trường trường hợp tìm được giá trị biểu diễn chính là danh sách các cung đường phải đi qua và độ dài tương ứng. Trường hợp không tìm được sẽ là thông báo “không tồn tại đường đi cần tìm” dưới dạng văn bản. Ngoài chức năng báo kết quả, gói tin này còn có thể sử dụng với vai trò xác nhận thông tin. Trong trường hợp máy khách gửi số liệu về “vị trí xuất phát”, “vị trí đến” dưới dạng tên nút giao thông, tuyến đường. Nếu dữ liệu không hoàn toàn khới với dữ liệu hiện có trên máy chủ thì khi đó máy chủ sẽ phải yêu cầu máy khách xác nhận lại thông tin chính xác. Để trợ giúp cho người dùng lựa chọn được chính xác, máy chủ sẽ gửi về danh sách một số “tên” có mức độ “giống” cao nhất so với “tên” đã được yêu cầu. Nếu người dùng trả lời với “tên” để trống hoặc không trả lời sau khoảng thời gian quy định hệ thống sẽ tự huỷ bỏ yêu cầu dịch vụ. Gói tin trả lời xác nhận thông tin của người dùng chỉ - 68 - gồm một xâu văn bản biểu diễn “tên” được chọn. Cấu trúc gói tin được mô tả như sau: TieuDe NoiDung Hình 4.9: Định dạng gói tin kết quả 2 TieuDe: được trình bày trên một dòng (ngăn cách bằng ký tự xuống dòng), giá trị của tiêu đề là một xâu văn bản theo quy ước: Là “Ket qua:” nếu vị trí cung cấp hợp lệ và đã thực hiện việc tìm đường. Là “Vi tri xuat phat:” nếu yêu cầu người dùng phải xác định lại vị trí xuất phát. Trong trường hợp này, phần “NoiDung” sẽ liệt kê danh sách các “tên” để gửi ý người dùng lựa chọn, mỗi “tên” trên một dòng. Là “Vi tri den:” nếu yêu cầu người dùng phải xác định lại vị trí đến và cũng có danh sách gợi ý giống như trường hợp yêu cầu xác định vị trí xuất phát. Là “Phuong tien:” nếu yêu cầu người dùng xác định lại phương tiện sử dụng do không thể nhận dạng được phương tiện mà người dùng đã yêu cầu trước đó. Phần “NoiDung” sẽ thể hiện danh sách phương tiện hợp lệ. NoiDung: được sử dụng để trình bày kết quả tìm kiếm hoặc danh sách gợi ý cho người dùng. Nếu là kết quả tìm kiếm: trong trường hợp không tìm thấy, đây sẽ là xâu văn bản “khong ton tai duong di can tim”. Trường hợp tìm được, dòng đầu tiên sẽ là xâu “di theo lo trinh”, các dòng tiếp theo là các cung đường phải đi qua. Mỗi cung đường thể hiện bằng tên và độ dài tương ứng (ngăn cách bởi dấu phẩy). Nếu là danh sách gợi ý, mỗi dòng tương ứng với một “tên” gợi ý cho khách hàng. 4.4. Xử lý tìm đường tại máy chủ Việc xác định đường đi giữa hai điểm theo yêu cầu của người dùng được thực hiện tại máy chủ. Sau khi nhận được tin nhắn yêu cầu dịch vụ từ phía máy khách, máy chủ tiến hành phân tích tin nhắn để xác định số điện thoại của máy khách, các số liệu liên quan đến vị trí hiện thời của máy khách, điểm xuất phát, điểm cần đến, phương tiện giao thông, tình trạng giao thông tại vị trí hiện thời của máy khách (để cập nhật thông tin tình trạng giao thông cho hệ thống). - 69 - 4.4.1. Thuật toán tìm đường Thuật toán tìm đường tại máy chủ được cài đặt dựa trên thuật toán Dijkstra với một số cải tiến nhằm tăng tốc độ xử lý và tiết kiệm bộ nhớ. Dữ liệu đồ thị (biểu diễn hệ thống giao thông) được lưu trữ bằng danh sách kề kèm theo trọng số. Trọng số trong đồ thị không chỉ đơn giản là một giá trị biểu diễn độ dài đường đi mà bao gồm nhiều giá trị khác nhau (độ dài đường đi, độ rộng, tình trạng tắc đường,...). Với thuật toán Dijkstra gốc, thậm chí ngay cả khi đã sử dụng danh sách kề kèm trọng số để biểu diễn đồ thị thì tốc độ vẫn khá chậm. Trong trường hợp xấu nhất, thuật toán có thể cần đến n lần có định nhãn (trong đó n là số đỉnh) và mỗi lần tìm đỉnh để cố định nhãn sẽ mất một đoạn chương trình với độ phức tạp O(n). Để tăng tốc độ xử lý, thuật toán được cài đặt có sự điều chỉnh. Thực ra xét về bản chất, tư tưởng thuật toán không thay đổi. Thay đổi ở đây chủ yếu là kỹ thuật biểu diễn và xử lý dữ liệu. Thông thường thì bước tìm đỉnh tự do có “giá trị” nhỏ nhất phải quét toàn bộ các đỉnh nên mất nhiều thời gian (quét cả đỉnh đã cố định). Để không phải quét lại đỉnh đã cố định, thủ tục tìm kiếm sử dụng danh sách dạng liên kết để lưu danh sách đỉnh. Mỗi khi cố định một đỉnh thì đồng thời loại bỏ đỉnh đó khỏi danh sách để không phải duyệt lại. Để tiết kiệm bộ nhớ, phần cài đặt sử dụng danh sách liên kết (con trỏ đối tượng) để hạn chế việc lưu lặp lại dữ liệu. Thuật toán có thể được mô tả ngắn gọn thông qua qua 3 bước chính sau: Bước 1: Khởi tạo - Khởi tạo danh sách kề từ dữ liệu đồ thị - “Giá trị” tất cả các đỉnh ban đầu bằng “số vô cùng lớn” - Riêng đỉnh xuất phát có giá trị bằng chi phí tình từ điểm xuất phát tới đó. - Tất cả các nút đều tự do Bước 2: Lặp Lặp chừng nào danh sách kề còn khác rỗng: - Tìm đỉnh tự do có “giá trị” nhỏ nhất. Nếu tất cả các đỉnh đều đã cố định hoặc đỉnh tìm được là đỉnh kết thúc thì sang bước 3 - Cố định đỉnh tìm được - Loại bỏ đỉnh tìm được khỏi danh sách kề - 70 - - Duyệt các đỉnh kề với đỉnh tìm được, tối ưu “giá trị” của các đỉnh này theo giá trị của đỉnh tìm được (nếu đỉnh chưa cố định), lưu vết. Bước 3: Lấy kết quả - Tìm đỉnh cuối (giá trị của đỉnh này là chi phí đường đi) - Nếu giá trị đỉnh cuối là “số vô cùng lớn” thì kết luận không tìm được đường, kết thúc. - Nếu không, duyệt và đưa ra danh sách các cung (hay đỉnh) phải đi qua dựa theo vết đã lưu cho đến khi về đỉnh xuất phát (thứ tự ngược). 4.4.2. Xử lý phần dữ liệu “mờ” trong đồ thị Thông tin về các cung đường, nút giao thông (như độ dài, bề rộng) nhìn chung là ít thay đổi, nhưng tình trạng tắc đường thì thường xuyên thay đổi và được cập nhật thông qua người dùng và các hệ thống thu thập thông tin khác. Do vậy trong quá trình tìm đường, tham số về mức độ tắc đường được sử dụng để ra quyết định có đi theo nhánh nào đó hay không. Tình trạng tắc đường có thể đã xảy ra ở thời điểm hiện tại nhưng vào thời điểm người dùng đi đến (sau một khoảng thời gian) có thể không còn tắc. Cũng có thể hiện tại đường chưa tắc nhưng sau khoảng thời gian nữa sẽ bị tắc. Như vậy để hạn chế các “tư vấn” khiến người dùng bị kẹt đường vì sau đó đường mới bị tắc hay bỏ qua mất đường đi “tốt hơn” chỉ vì hiện tại bị tắc nhưng sau đó lại thông, hệ thống sẽ lưu lại lịch sử tắc đường của từng giao lộ, từng cung đường để sử dụng lại. Tại thời điểm nào đó, mỗi khi xác định tình trạng tắc đường, ngoài số liệu hiện tại, hệ thống còn căn cứ vào thời điểm và tần suất xảy ra tắc đường được lưu trong lịch sử tắc đường để đưa ra lựa chọn phù hợp. Tóm lại, việc quyết định rẽ vào cung đường nào đó ngoài chi phí về độ dài còn tính đến tình trạng giao thông lúc bấy giờ và “dự đoán” trong tương lai. 4.4.3. Xử lý kết quả trả lại máy khách Kết thúc quá trình tìm kiếm, máy chủ gửi lại cho máy khách thông báo kết quả tìm kiếm. Nếu tồn tại đường đi, máy chủ sẽ gửi về danh sách các cung đường phải đi qua bằng tin nhắn SMS. Nội dung được gửi là danh sách ID của các cạnh phải đi qua kèm theo quãng đường tính từ điểm xuất phát tới đỉnh đầu (tương ứng với cung đường đầu tiên) và quãng đường từ đỉnh cuối (cung đường cuối) đến điểm kết thúc. Máy khách căn cứ vào nội dung tin nhắn trả lời từ máy chủ để thông báo cho người dùng biết kết quả tìm kiếm. Trong trường hợp tìm kiếm thành công, - 71 - dựa vào danh sách các cung đường phải đi qua sẽ vẽ lên bản đồ lộ trình tìm được, kèm theo đó là màn hình thông báo lộ trình dưới dạng văn bản. 4.5. Giao diện của hệ thống Nội dung tiếp theo trình bày về giao diện cho phần mềm cung cấp dịch vụ phía máy chủ và phần mềm khai thác dịch vụ phía máy khách. 4.5.1. Giao diện phía máy chủ Giao diện này phục vụ cho người làm công tác quản lý dịch vụ để giám sát, điều hành hoạt động của hệ thống. Giao diện này thể hiện được dữ liệu bản đồ số một cách trực quan thuận tiện cho theo dõi trạng thái hiện hành của toàn hệ thống. Ngoài ra, thông qua giao diện, người quản lý có thể cập nhật các thông tin về trạng thái giao thông hiện tại (tình trạng tắc đường) với thông tin thu thập được từ các nguồn khác nhau. Thông qua giao diện, người quản lý cũng thấy được mức độ, tình trạng các yêu cầu dịch vụ của khách hàng để điều tiết. Không chỉ cung cấp giao diện điều khiển, phần mềm phía máy chủ còn thực hiện các hoạt động giao tiếp với máy khách (nhận, gửi tin nhắn theo yêu cầu dịch vụ), thực hiện xử lý các yêu cầu của khách hàng (tìm đường đi). Để nâng cao hiệu quả, tốc độ xử lý, phần mềm phía máy chủ được lập trình theo kiểu xử lý đa luồng (Multithreads). Mỗi yêu cầu của một khách hàng sẽ được xử lý theo một luồng riêng. Giao diện chính phần mềm phía máy chủ được thể hiện như ở hình sau: - 72 - Hình 4.10: Giao diện phần mềm phía máy chủ 4.5.2. Giao diện phía máy khách Phần mềm phía máy khách được cài đặt trên thiết bị di động người sử dụng mang theo và dùng để khai thác dịch vụ. Theo thiết kế thử nghiệm này, yêu cầu máy khách phải sử dụng hệ điều hành Windows Mobile phiên bản 5.0 trở lên (hiện được thiết kế trên hệ điều hành, chưa thử nghiệm trên các phiên bản thấp hơn). Phần mềm phía máy khách có chức năng xác định toạ độ hiện thời của người dùng, qua đó xác định vị trí xuất phát. Người dùng cung cấp vị trí đến, phương tiện giao thông sử dụng, đặc biệt là tình trạng giao thông ở vị trí hiện tại. Cuối cùng là gửi yêu cầu đến hệ thống cung cấp dịch vụ theo điều khiển của người sử dụng. Giao diện lúc mới khởi động như sau: - 73 - Hình 4.11: Giao diện phần mềm phía máy khách (mới khởi động) Giao diện phía máy khách hiển thị bản đồ nội thành Hà Nội với các tuyến đường chính hoàn toàn đồng bộ với nội dung bản đồ ở phía máy chủ. Nếu yêu cầu tìm đường của người dùng được xử lý thành công, trên bản đồ hiển thị được tuyến đường người dùng cần đi qua để đến đích. Ngoài bản đồ chính, trên giao diện phía máy khách còn có thể hiển thị đồng thời một bản đồ thu nhỏ toàn cảnh cho thấy vị trí khung nhìn hiện thời trên bản đồ, thuận tiện cho quan sát và điều khiển vùng nhìn bản đồ. Các ký hiệu sử dụng trên bản đồ: - Vị trí hiện thời của người dùng: - Điểm xuất phát được lựa chọn: - Điểm đến: - Con trỏ bản đồ: Các chức năng chính của phần mềm được trình bày trên các mục chọn (menu), người dùng có thể sử dụng các nút điều khiển có sẵn trên điện thoại để thực hiện các chức năng này. Hình 4.12 thể hiện giao diện với các mục chọn trên menu. - 74 - Hình 4.12: Giao diện phần mềm phía máy khách (menu chính) Nhóm chức năng tìm đường (Tim duong) bao gồm các chức năng chính sau: - “Tim...”: khởi động chức năng tìm đường, trước đó, người dùng nên lựa chọn nơi đến ngay trên bản đồ (nhanh hơn là tìm trên danh sách). - “Hien ket qua tim duong...”: hiển thị kết quả đường đi đã tìm được dưới dạng văn bản trên một cửa sổ riêng. - “Xoa ket qua tim duong”: xoá các dữ liệu về kết quả đường đi đã tìm được theo yêu cầu trước đó. - “Dat chon noi di”: nếu người dùng không muốn lấy vị trí hiện hành làm nơi xuất phát mà muốn lựa chọn điểm khác thì có thể sử dụng chức năng này để nhập nơi đi. - “Dat chon noi den”: người dùng có thể sử dụng “thiết bị trỏ” để xác định điểm đến. Trong trường hợp muốn nhập bằng tên nơi đến, người dùng có thể sử dụng chức năng này. - 75 - - “Xoa lua chon”: xoá các dữ liệu lựa chọn cho các thông số: nơi đi, nơi đến (khởi tạo mặc định). - “Hien tai”: chuyển con trỏ (khung nhìn) đến điểm hiện tại (định vị được qua GPS, dữ liệu demo GPS). - “Noi di”: chuyển con trỏ (khung nhìn) đến nơi đi đã xác định. - “Noi den”: chuyển con trỏ (khung nhìn) đến nơi đến đã xác định. - “Kết thúc”: sử dụng để thoát khỏi chương trình, kết thúc ứng dụng. Nhóm chức năng công cụ (Cong cu) gồm các chức năng chính: - “Thong tin vi tri”: cho biết toạ độ vị trí con trỏ hiện thời. - “An/Hien ten duong chon”: ẩn hoặc hiện thông báo tên đường tại trí con trỏ (nếu đang trỏ lên đường). - “An/Hien ban do nho”: thực hiện việc ẩn hoặc hiện bản đồ toàn cảnh nhỏ ở góc phải dưới màn hình. - “Chuyen den toa do”: đưa con trỏ ngay lập tức đến toạ độ mới theo yêu cầu (trong phạm vi bản đồ). - “GPS Demo...”: tạo các số liệu vị trí hiện thời (thay cho thiết bị thu GPS) để thử nghiệm. GPS Demo tạo ra 4 bộ số liệu vị trí đã xác định từ trước. Ngoài vị trí cố định, GPS Demo còn tạo ra các vị trí yêu cầu một cách ngẫu nhiên. - “Toc do di chuyen”: đặt tốc độ di chuyển con trỏ (3 cấp: trung bình, nhanh, chậm). - “Thiet lap cau hinh”: thực hiện thiết lập cấu hình cho hệ thống như: số điện thoại cung cấp dịch vụ, đường dẫn,... - 76 - Giao diện sau khi kích hoạt và thực hiện chức năng tìm đường: Hình 4.13: Giao diện phần mềm phía máy khách (tìm đường) Hoạt động: - Người dùng phải cung cấp đầy đủ các số liệu thì mới thực hiện được yêu cầu dịch vụ. - Các số liệu phải cung cấp: nơi đi, nới đến, phương tiện sử dụng. Ngoài ra, người sử dụng còn phải cho biết trạng thái giao thông ở vị trí hiện tại để cập nhật dữ liệu chung cho cả hệ thống. - 77 - KẾT LUẬN Ngày nay với sự ra đời và ứng dụng rộng rãi của thiết bị đàm thoại di động không chỉ giúp “rút ngắn” khoảng cách địa lý, thuận tiện trong giao tiếp, liên lạc mà còn giúp con người triển khai điều nhiều ứng dụng, dịch vụ hữu ích phục vụ cho lao động sản xuất cũng như trong cuộc sống thường ngày. Với sự kết hợp của công nghệ GPS (Global Positioning System – Hệ thống định vị toàn cầu), công nghệ truyền thông không dây, công nghệ GIS (Geographic Information Systems - Hệ thống thông tin địa lý) và công nghệ Internet đã cho ra đời một loại hình dịch vụ mới, dịch vụ dựa trên vị trí địa lý được biết đến với tên viết tắt là LBS (Location-based Service). Cuốn luận văn này trình bày nội dung và các kết quả thực hiện đề tài “Nghiên cứu phát triển hệ thống dịch vụ dựa trên vị trí địa lý và thử nghiệm”. Mục tiêu chính của đề tài là nghiên cứu về dịch vụ LBS, phương pháp triển khai ứng dụng trong thực tế, trên cơ sở đó thiết kế thử nghiệm một dịch vụ phù hợp với điều kiện thực tế trong nước. Những nội dung và kết quả chính đạt được: - Nghiên cứu đặc điểm chính, các thành phần, các mô hình dịch vụ LBS, các kỹ thuật định vị; đặc điểm cũng như mặt hạn chế của các thiết bị di động sử dụng trong khai thác dịch vụ LBS; một số vấn đề cơ bản về Fuzzy, ứng dụng Fuzzy trong bài toán tìm đường đi ngắn nhất; trên cơ sở đó thiết kế và cài đặt thử nghiệm dịch vụ LBS hỗ trợ tìm đường đi trong thành phố. - Hoàn thành việc thiết kế dịch vụ LBS cung cấp dịch vụ tìm đường đi trong thành phố. Xây dựng mô hình triển khai dịch vụ LBS dựa trên sự tích hợp của nhiều phương tiện truyền thông nhằm đáp ứng tốt nhất cho các nhu cầu cũng như điều kiện khai thác khác nhau của người dùng. Mô hình lựa chọn hỗ trợ cho nhiều kiểu cung cấp dịch vụ, phù hợp cho cấu hình máy trạm từ mạnh đến yếu một cách linh hoạt. Phần xử lý tìm đường đi ngoài các yếu tố cố định của hệ thống giao thông đô thị, hệ thống còn thu thập và xử lý các số liệu khác tác động đến chất lượng cũng như khả năng tìm được đường đi. Các yếu tố này có tính chất thay đổi theo thời gian như mật độ giao thông từng cung đường, tình trạng bị tắc hay không tắc tại các điểm nút giao thông. - 78 - - Lựa chọn một gói dịch vụ trong Hệ thống dịch vụ LBS đã thiết kế và các giải pháp công nghệ phù hợp để cài đặt thử nghiệm. Hệ thống thử nghiệm đã cài đặt thực hiện giao tiếp khách-chủ thông qua dịch vụ tin nhắn SMS, xử lý yêu cầu dịch vụ, tìm đường đi và báo kết quả về máy khách. Hệ thống đã đưa vào chạy thử nghiệm thành công trên máy tính và điện thoại di động trên các dữ liệu thử nghiệm mẫu. Một số mặt hạn chế: - Mô hình dịch vụ thiết kế mặc dù đã tính đến nhiều khả năng cung cấp cũng như khai thác dịch vụ nhưng chưa có điều kiện thử nghiệm toàn bộ để có thể đánh giá chính thức về hiệu quả thực tế. - Phần cài đặt thử nghiệm mới chỉ áp dụng được cho một gói dịch vụ trong điều kiện còn hạn chế và thiết bị phần cứng. - Phạm vị dữ liệu mẫu thử nghiệm còn hẹp (nội thành thành phố Hà Nội, chưa chi tiết đến các hẻm, đường nhỏ). Hướng nghiên cứu, phát triển: Cài đặt và thử nghiệm toàn bộ dịch vụ LBS đã thiết kế, thực thi trên dữ liệu mẫu lớn hơn để có điều kiện đánh giá, điều chỉnh mô hình cung cấp dịch vụ, tiến tới hoàn thiện hệ thống. Cài đặt chương trình trên các hệ điều hành, môi trường phần cứng khác nhau và hoàn thiện thành sản phẩm ứng dụng để có thể đưa vào thực tế khai thác một cách có hiệu quả. - 79 - TÀI LIỆU THAM KHẢO Tiếng Việt 1. Bùi Công Cường, Nguyễn Doãn Phước (2006), Hệ mờ mạng nơron & ứng dụng, NXB Khoa học và Kỹ thuật. 2. Đặng Văn Đức, Nguyễn Tiến Phương và người khác (2008), “Một số kỹ thuật áp dụng trong việc phát triển mô hình dịch vụ trên cơ sở vị trí địa lý”, Kỷ yếu Hội nghị khoa học ICT.rda08, Hà Nội. 3. Phan Xuân Minh, Nguyễn Doãn Phước (2006), Lý thuyết điều khiển mờ, NXB Khoa học và Kỹ thuật. 4. Nguyễn Tiến Phương, Đặng Văn Đức, Trần Mạnh Trường (2006), “Một phương pháp xây dựng ứng dụng bản đồ số trên thiết bị trợ giúp các nhân (PDA)”, Kỷ yếu hội thảo Quốc gia về Công nghệ thông tin, Đà lạt. Tiếng Anh 5. Ahmed El-Rabbany (2002), Introduction to GPS, ARTECH HOUSE, INC. 6. Jochen Schiller, Agnès Voisard (2004), Location-Based Services, Morgan Kaufmann Publishers is an imprint of Elsevier. 7. Kathie Kingsley-Hughes (2005), Hacking GPS, Wiley Publishing, Inc., Indianapolis, Indiana. 8. Petrik S., Mandarasz L., Adam N., Vokorokos L. (2003), Application of Shortest Path Algorithm to GIS using Fuzzy Logic, 4th International Symposium of Hungarian Researchers on Computational Intelligence, Budapest, Hungary. 9. Stefan Steiniger, Moritz Neun and Alistair Edwardes, Foundations of Location Based Services, CartouCHe - Lecture Notes on LBS, V. 1.0. 10. Shu Wang, Jungwon Min, Byung K (2008), Location Based Services for Mobiles, LG Electronics MobileComm, U.S.A.,Inc. 11. Tumasch Reichenbacher, Liqiu Meng, Alexander Zipf, (2005), Map- based Mobile Services, Springer-Verlag Berlin Heidelberg. - 80 - Website 12. 13. 14. aug/22_1.htm

Các file đính kèm theo tài liệu này:

  • pdfLUẬN VĂN- NGHIÊN CỨU PHÁT TRIỂN HỆ THỐNG DỊCH VỤ DỰA TRÊN VỊ TRÍ ĐỊA LÝ VÀ THỬ NGHIỆM.pdf