Thiết kế phần mềm cho hệ thống

Một phần của tài liệu xe lăn vượt địa hình (Trang 73 - 79)

Lưu đồ giải thuật chương trình giao tiếp module SIM908 (hình 3.29): Bắt đầu

Khởi tạo Uart, Timer, ngắt ngoài Khởi tạo dịch vụ HTTP và GPS cho sim 908 GPS hoạt động? S Chờ 5s Đ Lấy dữ liệu GPS Xử lý và gửi dữ liệu GPS và nhịp tim lên web server Gửi thành công? Đ S

Nhip Tim tăng 1 đơn vị

Tinh toán nhịp tim Kết thúc Có xung ngắt Timer on Kết thúc Chương trình ngắt ngoài Chương trình ngắt timer Khai báo các biến

toàn cục

Hình 3.28: Lưu đồ chương trình đọc và cập nhật dữ liệu cho website

Giải thích lưu đồ:

Khi bắt đầu chương trình, vi điều khiển khởi tạo UART, Timer, ngắt ngoài. Sau đó vi điều khiển gửi các lệnh AT thông qua giao thức UART để khởi tạo dịch vụ HTTP và GPS cho SIM908. Sau đó kiểm tra xem dịch vụ GPS hoạt động hay chưa, nếu chưa chờ 5s sau đó kiểm tra lại, ngược lại (dịch vụ GPS hoạt động) thì

65 lấy dữ liệu GPS rồi xử lý và gửi dữ liệu nhịp tim (thực hiện trong Timer) và GPS lên server. Nếu gửi thành công thì quay lại bước lấy dữ liệu, nếu không thành công thì quay lại bước xử lý và gửi dữ liệu.

3.3.5.1 Thiết kế giao diện và lập trình WEBSITE giám sát.

Việc thiết kế website với sự hỗ trợ của phần mềm PHP designer 8. Phần mềm cung cấp đầy đủ các công cụ hỗ trợ tốt nhất cho việc thiết kế web một cách trực quan nhất. Phần mềm hỗ trợ cả 4 loại ngôn ngữ để thiết kế một website là: HTML, CSS, JAVASCRIPT, PHP. Trong số đó phải kể đến sự quan trọng của ngôn ngữ HTML và CSS trong việc thiết kế bộ khung của website và định dạng cho website.

Tuy nhiên để xây dựng một website hiện đại thì ngôn ngữ để xử lý dữ liệu “động” là điều không thể thiếu. Một trong các ngôn ngữ lập trình website động là PHP.

Hình 3.29: Sơ đồ web server

Hoạt động của hệ thống:

Đầu tiên SIM908 sẽ thu thập dữ liệu GPS. Dữ liệu GPS được SIM908 gửi về server thông qua giao thức HTTP, Server sẽ cập nhật dữ liệu vào My SQL database quá trình này diễn ra liên tục với tần số 15s. Sau đó là dùng PHP với SQL query để thao tác xử lý dữ liệu nhận được kết hợp với các Map API của Google để xây dựng trang giám sát hành trình.

Giao diện web thiết kế gồm 2 giao diện: Giao diện đăng nhập và giao diện giám sát hành trình.

66

Hình 3.30: Giao diện đăng nhập của hệ thống

Hình 3.31: Giao diện giám sát

Khi truy nhập vào website, lập tức sẽ được chuyển vào trang đăng nhập hệ thống như hình 3.31. Chỉ khi gõ đúng tên đăng nhập và password đã được đăng ký với quản lý hệ thống thì mới được chuyển đến giao diện giám sát hành trình ( Hình 3.32).

Với mục đích giám sát hành trình của xe nên việc xây dựng web chỉ đơn giản. Ở đề tài này nhóm không đi sâu vào vấn đề xây dựng một trang web hoàn thiện mà chỉ dừng lại ở khả năng cập nhật dữ liệu và hiển thị vị trí lên google map.

3.3.5.2 Lập trình ứng dụng trên nên Android

Android Studio, môi trường lập trình phát triển ứng dụng được giới thiệu tại Google I/O 2013. Dựa trên “IntelliJ IDEA Community Edition”, công cụ này hoạt động giống như WYSIWYG, cho phép lập trình viên tạo úng dụng, dẽ dàng thực hiện các thay đổi và xem trước trong thời gian thực, đồng thời cũng có khả năng tang tóc sản phảm, giao diện thiết kế đẹp hơn. Đặt biệt là tiếng Việt cũng được hỗ

67 trợ trong Android Studio. Do đó, Android Studio được nhóm lựa chọn để lập trình ứng dụng cho thiết bị Android.

Mô hình client – sever trong Android:

Hình 3.32: Sơ đồ kết nối dữ liệu giữa ứng dụng Android với Database

Mô hình được phổ biến nhất và được chấp nhận rộng rãi trong các hệ thống phân tán là mô hình client – server (hình 3.33). Trong mô hình này sẽ có một tập các tiến trình mà mỗi tiến trình đóng vai trò như là một trình quản lý tài nguyên cho một tập hợp các tài nguyên cho trước và một tập hợp các tiến trình client trong đó mỗi tiến trình thực hiện một tác vụ nào đó cần truy xuất tới tài nguyên phần cứng hoặc phần mềm dùng chung. Bản thân các trình quản lý tài nguyên cần phải truy xuất tới các tài nguyên dùng chung được quản lý bởi một tiến trình khác, vì vậy một số tiến trình vừa là tiến trình client vừa là tiến trình server. Các tiến trình phát ra các yêu cầu tới các server bất kỳ khi nào chúng cần truy xuất tới một trong các tài nguyên của các server. Nếu yêu cầu là đúng đắn thì server sẽ thực hiện hành động được yêu cầu và gửi một đáp ứng trả lời tới tiến trình client.

Mô hình client - server cung cấp một cách tiếp cận tổng quát để chia sẻ tài nguyên trong các hệ thống phân tán. Mô hình này có thể được cài đặt bằng rất nhiều môi trường phần cứng và phần mềm khác nhau.

Client: là các máy khách hay ở đây là thiết bị di động chạy hệ điều hành Android.

Server: chính là database và một giao thức trung gian.

Giao thức trung gian (HTTP): là một cầu nói trung gian để giao tiếp nhận yêu cầu và trả lại kết quả của thiết bị và database. Hiện tại cầu nối trung gian phổ biến nhất là PHP.

JSON (JavaScript Object Notation) là cú pháp để lưu trữ và trao đổi thông tinh văn bản. JSON sử dụng cú pháp JavaScrips để mô tả đối tượng dữ liệu, nhưng

68 JSON là ngôn ngữ và nền tản độc lập. Trình phân tích cú pháp (parsers) JSON và các thư viện JSON tồn tại cho nhiều ngôn ngữ lập trình khác nhau.

Để có thể kết nói client với sever tất nhiên các client chạy Android không thể kết nối trực tiếp, phải thông qua 1 web sever. Web sever này nhận yêu cầu từ client, xử lý và truy vấn tới database của server.

Thiết kết giao diện:

Giao diện ứng dụng được chia ra ba phần: Giao diện đăng nhập, xác định vị trí và giao diện liên kết Maps của Goolge để kích hoạt chế độ dẫn đường đến vị trí của xe.

Khi ứng dụng được mở thì giao diện đăng nhập sẽ xuất hiện (hình 3.34). Username và Password được sử dụng chung với dữ liệu đăng nhập của giao diện trên website từ MySQL database. Trên thiết bị cũng có một database cục bộ lưu dữ thông tin người dùng vừa đăng nhập, và khi thoát khỏi hệ thống sẽ tự động xóa tất cả.

69 Khi đăng nhập thành công ứng dụng sẽ tự động chuyển qua giao diện giám sát vị trí hiện tại của xe và thông tin nhịp tim (hình 3.35).

Hình 3.34: Giao diện giám sát vị trí xe trên điện thoại Android

Ở giao diện giám sát, ứng dụng hỗ trợ kích hoạt chế độ liên kết với ứng dụng Maps của Google (hình 3.36). Ứng dụng Maps sẽ tải dữ liệu tọa độ hiện tại của xe, kích hoạt hệ thống định vị GPS trên điện thoại Android và dẫn đường đến từ điện thoại đến vị trí của xe.

70

Một phần của tài liệu xe lăn vượt địa hình (Trang 73 - 79)