Phần lập trình socket thread nhận dữ liệu gửi về từ module SIM548

Một phần của tài liệu Thu thập và phân tích dữ liệu cho hệ thống tàu thuyền trên biển (Trang 71)

Đây là phần quan trọng nhất của phần mềm. trong C# có hỗ trợ công cụ lập trình đó là lập trình đa luồng socket thread dùng để quản lý nhiều kết nối tới. Server bao giờ cũng ở trong tình trạng lắng nghe kết nối. Khi có một kết nối tới, Server sẽ giao tiếp với Client bằng cách tạo ra một connection mới, connection này có chứa một bộ nhớ đệm để lưu các bản tin của phía Client gửi về và gửi dữ liệu cho phía Client đó. Khi có kết nối khác tới, Server sẽ tạo ra một connection khác để giao tiếp với Client đó. Quá trình cứ tiếp tục như vậy cho các kết nối tiếp theo. Khi một Client nào đó ngắt kết nối, bộ nhớ đệm sẽ được giải phóng để nhường cho kết nối tới tiếp theo.

3.6.4 Xử lý chuỗi thông tin gửi về

Khi quá trình kết nối giữa Server và Client được thực hiện thành công, client sẽ gửi cho Server các bản tin qua hệ thống GPRS, các bản tin được gửi tuần tự theo yêu cầu của người điều hành. Cấu trúc của bản tin này là một chuỗi được sắp xếp như sau: Id Tau - Kinh độ - Vĩ độ - Tốc độ - Nhiệt độ. Ta tiến hành lập trình tách chuỗi thông tin gửi về thành các thông số riêng biệt là Id Tau, kinh độ, vĩ độ, tốc độ, nhiệt độ. Các thông số ấy được lập trình và đưa vào cơ sở dữ liệu Microsoft SQL Server 2005. Ta có thể tìm kiếm thông tin trên cơ sở dữ liệu ở các thời điểm khác nhau mà Module gửi về, từ đó ta biết được lịch trình trong ngày của một tàu bất kỳ mà ta quản lý.

Chương 3: Thiết kế hệ thống

3.6.5 Thiết kế cơ sở dữ liệu và sơđồ quan hệ

Hệ quản trị cơ sở dữ liệu Microsoft SQL Server là hệ quản trị cơ sở dữ liệu quan hệ, với các ngôn ngữ truy vấn có cấu trúc, cùng với nền tảng .NET cho phép thực hiện các phép truy nhập và truy vấn dữ liệu từ môi trường lập trình một cách đơn giản hơn. Ngoài ra hệ quản trị cơ sở dữ liệu SQL còn cho phép chức năng truyền thông tin qua lại giữa phần mềm Server quản lý phương tiện và trang Web quản lý, hiển thị phương tiện viết bằng ngôn ngữ ASP.

Trung tâm của SQL Server là các bảng dữ liệu, mỗi bảng bao gồm các hàng chưa thông tin các bản ghi. Các trường dữ liệu được tổ chức theo hàng dọc (cột). Cơ sở dữ liệu của hệ thống sử dụng 3 bảng:

• TauThuyen lưu trữ các thông tin về phương tiện với trường IdTauThuyen là

khóa chính.

• DrvId lưu giữ các thông tin về tàu thuyền, với trường IdDriver là khóa chính.

• GPS lưu giữ các thông tin nhận được trong suốt thời gian hệ thống vận hành, trường IdGPS là khóa chính.

Bảng DrvId và bảng TauThuyen có quan hệ 1- nhiều. Bảng TauThuyen và bảng GPS có quan hệ 1- nhiều.

Chương 3: Thiết kế hệ thống

Cơ sở dữ liệu sẽ được cập nhật khi có bất cứ thông tin (có giá trị) nào được gửi về trung tâm điều khiển sau khi phân tích và kiểm tra. Các thao tác xử lý, hiển thị sẽ đều thực hiện gián tiếp qua cơ sở dữ liệu này.

3.6.6 Xử lý tín hiệu và hiển thị vị trí trên Web Portal

Hệ thống Web Portal được xây dựng nhằm cung cấp tới người dùng những tiện

ích phần mềm quản lý phương tiện tàu thuyền hiện đại nhất trên nền dịch vụ -

MVaaS (Managed Video as a Service). Trong hệ thống này thì khách hàng có thể dễ dàng quản lý các phương tiện qua bất kì nơi nào có kết nối Internet hoặc trên các thiết bị di động có hỗ trợ kêt nối 3G. Ngoài khả năng quản lý được nhiều tàu thuyền chỉ trên một giao diện web duy nhất thì khách hàng còn có khả năng cấp phát tài khoản cũng như phân phối tài nguyên của mình cho các tài khoản con tự tạo.

Trên bản đồ của Web Portal còn có thêm các chức năng tìm kiếm đường đi theo địa điểm. Chỉ cần cung cấp vị trí đầu và cuối của lộ trình thì bản đồ sẽ hiển thị lộ

trình ngắn nhất, đây là một chức năng khá quan trọng, nó có thể giúp trung tâm

giám sát đưa ra những hướng dẫn chi tiết và chính xác cho các phương tiện.

Việc quản lý các thông tin về dữ liệu GPS và thông tin của phương tiện cũng

như của chủ tàu sẽ được thực hiệ thông qua chức năng “Quản Lý” của Website.

Người quản lý được cung cấp một User name và password để đăng nhập vào quyển quản lý của website. Tại đây người quản lý có thể theo dõi vị trí của tất cả các phương tiện, hướng đi của phương tiện và thông tin của các phương tiện cũng như thông tin của tàu thuyền.

3.7. Thiết kế hệ thống Web Portal

3.7.1 Tổng quan về mô hình MVC

MCV là tên một phương pháp chia nhỏ một ứng dụng thành ba thành phần để cài đặt, mỗi thành phần đóng một vai trò khác nhau và ảnh hưởng lẫn nhau, đó là models, views, và controllers. Mô hình này khắc phục được hạn chế của framework

ASP.NET từ trước đến nay là không hỗ trợ các lập trình viên sử dụng kiến trúc

Chương 3: Thiết kế hệ thống

Hình 3.27 Mô hình ứng dụng MVC

Các thành phần trong MVC có ý nghĩa cụ thể như sau: (adsbygoogle = window.adsbygoogle || []).push({});

Models trong các ứng dụng dựa trên MVC là những thành phần có nhiệm vụ lưu trữ thông tin, trạng thái của các đối tượng, thông thường nó là một lớp được ánh xạ từ một bảng trong CSDL. Lấy ví dụ, chúng ta có lớp Product được sử dụng để mô tả dữ liệu từ bảng Products trong SQL, bao gồm ProductID, OrderDate...

Còn đối với Views, nó chính là các thành phần chịu trách nhiệm hiển thị các thông tin lên cho người dùng thông qua giao diện. Thông thường, các thông tin cần hiển thị được lấy từ thành phần Models. Ví dụ, đối tượng Product có một "Edit" view bao gồm các textboxes, các dropdowns và checkboxes để chỉnh sửa các thuộc tính của sản phẩm; có một "Display" view gồm 2 dòng, cột dòng là ProductID, dòng sau là OrderDate... để xem thông tin về sản phẩm.

Cuối cùng, Controllers trong các ứng dụng kiểu MVC chịu trách nhiệm xử lý các tác động về mặt giao diện, các thao tác đối với models, và cuối cùng là chọn một view thích hợp để hiển thị ra màn hình. Trong kiến trúc MVC, view chỉ có tác dụng hiển thị giao diện mà thôi, còn điều kiển dòng nhập xuất của người dùng vẫn do Controllers đảm trách.

Chương 3: Thiết kế hệ thống

Hình 3.28 Cách sắp xếp Layer trong ASP sử dụng MVC

Một lợi điểm của phương pháp MVC là nó bắt buộc phải tạo ra một sự rành

mạch trong liên kết giữa 3 thành phần models, views và controllers trong ứng dụng. Duy trì được mối quan hệ rành mạch rõ ràng này khiến việc kiểm tra ứng dụng trở

nên dễ dàng hơn, đồng thời trách nhiệm của từng thành phần được định nghĩa rõ

ràng và cả ba đều làm việc ăn ý với nhau.

Pattern MVC cũng cho phép thực hiện, cài đặt các unit tests tự động, xác định và kiểm tra lại các yêu cầu trước khi bắt tay vào viết code.

Chương 3: Thiết kế hệ thống

Hình 3.29 Tương tác của các Layer MVC với nhau

Các đặc điểm nổi bật của mô hình MVC

Mô hình MVC cho phép sự chia tách rành mạch giữa các thành phần, mỗi

thành phần đều có khả năng được test riêng biệt. Tất cả các mối liên hệ chính yếu trong MVC đều có giao diện để hiển thị và đều có thể xây dựng thành các mô hình và bao gồm interface-based IHttpRequest/IHttpResponse. Bạn có thể chạy unit test cho ứng dụng mà không phải chạy các Controllers trong ASP.NET process, điều này làm unit test chạy nhanh hơn. Ngoài ra người lập trình có thể sử dụng bộ phận kiểm trả framework như NUnit, MBUnit, MS Test...

Mô hình MVC được thiết kế để có thể dễ mở rộng và tiện dụng, tất cả mọi thứ trong MVC framework đều có thể nhanh chóng được thay đổi, tùy chọn hóa. Ví dụ

bạn có thể viết một View và sử dụng cho nhiều ứng dụng khác nhau, đây là tính

Pluggable.

Bao gồm thành phần ánh xạ URL cho phép bạn xây dựng các ứng dụng thân thiện với bộ máy tìm kiếm và với người dùng. Mô hình MVC hỗ trợ sử dụng các các tập tin .ASPX, .ASCX và .Master như là thành phần View, điều đó có nghĩa là bạn vẫn có thể sử dụng các tính năng của ASP.NET như master pages, snippets, server controls, templates, data-binding, localization... Tuy nhiên nó không sử dụng

mô hình post-back từ giao diện gửi đến server nữa, thay vào đó, bạn có thể chủ

động đưa những post-back từ giao diện đó đến thẳng lớp Controller. Tóm lại, không còn viewstate hay là page lifecycle còn tồn tại trong mô hình MVC.

Chương 3: Thiết kế hệ thống

Vẫn tiếp tục hỗ trợ các tính năng ASP.NET như là forms/windows authentication, URL authorization, membership/roles, output and data caching, session/profile state management, health monitoring, configuration system, the provider architecture...

3.7.2 Cấu trúc Web Portal

Cấu trúc trang Web Portal bao gồm 4 phần chính:

Hình 3.30 Cấu trúc trang Web Portal khi người đăng nhập là khách hàng

• Trang Single View: Cung cấp cho khách hàng tính năng xem trực tiếp lộ trình từng phương tiện cụ thể qua Web portal. Ngoài lộ trình thì khách hàng cũng có thể quan sát những thông số khác như tốc độ và quãng đường mà phương tiện đã di chuyển được bắt đầu từ thời điểm khách hàng vào xem. Tính năng này giúp cho khách hàng có thể tập trung giám sát được thiết bị mà họ mong muốn.

• Trang Multi View: Tính năng này cũng tương tự như tính năng trên. Thay vì

chỉ xem được 1 phương tiện trong cùng 1 thời điểm thì khách hàng có thể

Chương 3: Thiết kế hệ thống (adsbygoogle = window.adsbygoogle || []).push({});

được phân biệt bằng cách tô lộ trình bằng các màu khác nhau. Ví dụ: tàu thuyền 1 tô màu đỏ, tàu thuyền 2 tô màu xanh...

• Trang Playback: Tính năng này giúp cho khách hàng có thể xem lại được lộ

trình của những phương tiện thuộc quyền quản lý của mình. Danh sách của các phương tiện sẽ được liệt kê ra dưới dạng ngày tháng và dữ liệu của từng thiết bị.

• Trang Account: Tính năng này giúp cho khách hàng có khả năng quản trị và

cấp phát những tài khoản con trong những trường hợp cần thiết.

• Ngoài những tính năng trên thì khách hàng có thêm khả năng tìm lại mật khẩu

khi cần thiết.

Hình 3.31 Cấu trúc trang Web Portal khi người đăng nhập là quản trị

Cấu trúc bao gồm 3 phần chính:

• Trang Quản lý tàu thuyền: Tính năng này cho phép người quản trị có thể thu thập và quản lý thông tin của tàu thuyền trên Web Portal.

• Trang Quản lý tàu thuyền: Tính năng này cho phép người quản trị có thể thu thập và quản lý thông tin của khách hàng trên Web Portal.

Chương 3: Thiết kế hệ thống

• Trang Quản lý tàu thuyền: Tính năng này cho phép người quản trị có thể thu thập và quản lý thông tin của các máy chủ trên Web Portal.

Hình 3.32 UseCases mô tả cấu trúc tổng quan web portal

Do mô hình mang tính chất dịch vụ nên các người dùng được phân thành những cấp độ khác nhau. Về cấp độ người dùng được chia thành 2 cấp độ khác nhau:

• Cấp độ cao (high level): Administrator

• Cấp độ bình thường (common level): User

Chương 3: Thiết kế hệ thống

Hình 3.33 Cấu trúc trang Web Portal khi người đăng nhập là khách hàng

Hình 3.34 UseCases mô tả quyền Admin

Chương 3: Thiết kế hệ thống

Hình 3.36 UseCases mô tả quyền quản trị thiết bị tàu thuyền của Admin

3.7.3 Một số kết quả giao diện trang web

Chương 3: Thiết kế hệ thống

Hình 3.38 Trang thông tin tài khoản khách hàng

Chương 3: Thiết kế hệ thống

Chương 3: Thiết kế hệ thống

Hình 3.41 Chức năng hiển thịđường đi của phương tiện

Chương 5: Kết luận

KT LUN (adsbygoogle = window.adsbygoogle || []).push({});

Những vấn đề nghiên cứu trong đồ án có ý nghĩa đặc biệt liên quan đến giải pháp ứng dụng GPS trên nền tảng web dưới dạng dịch vụ cho người dùng. Không chỉ có ý nghĩa thực tiễn đối với hệ thống tàu thuyền, việc xây dụng những hệ thống định vị qua web còn có thể ứng dụng rộng rãi cho các thiết bị điện tử định vị dùng trong các lĩnh vực khác như vận tải đường bộ, hàng hải, đường thủy nội địa, hàng không, vận tải hành khách công cộng trong thành phố, các phương tiện container, xe taxi, xe tự lái, xe gia đình...

Đề tài còn có khả năng phát triển ở nhiều hướng khác nhau như thay thế module truyền bản tin qua GPRS thành module 3G, 4G. Việc tích hợp hệ thống Web trên các dòng điện thoại Smart Phone (iPhone, Black Berry) cũng hoàn toàn là hướng mở rộng hệ thống tiềm năng và thực tế. Ngoài ra, về mặt tính năng thì việc tích hợp thêm các hệ thống camera phối hợp cùng với các hệ thống định vụ cũng là một phương án hoàn toàn khả thi.

Em cũng hy vọng những kết quả đã đạt được sẽ giúp ích một phần nào đó cho những người nghiên cứu cùng lĩnh vực tham khảo và tiếp tục phát triển thành các giải pháp hiệu quả, hoàn thiện và có tính ứng dụng cao hơn trong thực tiễn.

Cuối cùng, một lần nữa xin chân thành cảm ơn TS. Lâm Hồng Thạch đã nhiệt tình giúp đỡ, cung cấp cho em những vốn kiến thức bổ ích để giúp em hoàn thành đề tài này.

Chương 5: Tài liệu tham khảo

TÀI LIU THAM KHO

1. Lê Đình Duy, Thiết kế và lập trình Web bằng ngôn ngữ ASP, NXB Khoa học và kỹ thuật, trường ĐH KHTN Tp. HCM.

2. Phạm Công Hùng, Giáo trình thông tin di động, NXB Khoa học và kỹ thuật,

trường ĐH KHTN Tp. HCM.

3. Tống Văn On, Lập trình cơ sở dữ liệu, NXB Minh Khai

4. ESTI, Digital Cellular Telecommunications System (phase 2+) – AT Command

Set for GSM Mobile Equipment (ME) GSM 07.07, v5.0.0, 07/1996

5. Edward Whalen, Macilina Garcia, Burzin Patel, Microsoft SQL SERVER 2005

6. Ramjee Prasad, Marina Ruggieri, Applied Satellite Navigation using GPS, Galileo and augmentation system - Mobile Communications series

7. Steven Sanderson (2008), ASP.NET MVC Framework Preview, Apress

8. SIMCOM LTD, SIM300C Hardware Interface Specification v1.11, 14/4/2006

9. SIMCOM LTD, SIM300C AT Command Set v2.00, 31/7/2007

10. SIMCOM LTD, SIM548C Hardware Design v1.01, 9/5/2008

11. SIMCOM LTD, SIM548C AT Command Set v1.00, 30/4/2008

12. SIMCOM LTD, GPS Command Examples v1.01, 6/5/2008

Một phần của tài liệu Thu thập và phân tích dữ liệu cho hệ thống tàu thuyền trên biển (Trang 71)