CHƯƠNG 1: TỔNG QUAN 1.1 Tổng quan Từ khi xe ô tô xuất hiện, nhu cầu sử dụng thông tin giải trí trên xe ngày càng tăng. Bên cạnh sự phát triển của động cơ và các hệ thống khác như hệ thống lái, hệ thống phanh, hệ thống treo,…để thỏa mản nhu cầu sử dụng của người dùng, hệ thống giải trí được các hãng ngày càng phát triển và tích hợp nhiều ứng dụng. Trãi qua quá trình lâu dài và cải tiến, đến nay hệ thống giải trí đã được tích hợp rất nhiều chức năng như: hiển thị thông tin ngày tháng, hiển thị thông tin bản đồ, bài hát đang chơi, nhiệt độ điều hòa, áp suất lốp,… Vì vậy nhóm chúng em thực hiện đề tài: Thiết kế ứng dụng Home thuộc hệ thống giải trí trên xe ô tô, với mong muốn có thể góp phần vào nguồn tài liệu tham khảo phụ vụ cho các bạn sinh viên, kỹ thuật viên trong ngành kỹ thuật ô tô cũng như những người muốn tìm tòi và tham khảo chủ đề này.2 Mục tiêu đề tài - Mục tiêu của chúng em là thiết kế ra một ứng đụng Home chứa các ứng dụng giải trí trên ô tô để xây dựng nguồn tài liệu tham khảo cho các bạn sinh viên, kỹ thuật viên trong ngành kỹ thuật ô tô và mọi người có nhu cầu tìm kiếm chủ đề này. - Rèn luyện kỹ năng lập trình, tra cứu thông tin, tổng hợp và phân tích vấn đề, nâng cao kiến thức chuyên ngành.3 Nội dung nghiên cứu Tìm hiểu, nghiên cứu cách thức khởi tạo, thiết kế tạo ra một ứng dụng Home hoàn chỉnh với các chức năng: hiển thị thông tin ngày tháng, hiển thị thông tin bản đồ, điều hòa xe hơi, bài hát đang chơi, hiển thị danh sách ứng dụng, mở các ứng dụng trong hệ thống.4 Phương pháp nghiên cứu Kết hợp nhiều phương pháp, trong đó có các phương pháp sau: - Tổng hợp tài liệu, phần mềm thiết kế.
- Chọn lọc nghiên cứu các chức năng cơ bản của hệ thống giải trí. - Sử dụng ngôn ngữ lập trình C++, QML và lập trình trên Framework Qt Creator để tạo ra một ứng dụng Home thuộc hệ thống giải trí.5 Phạm vi nghiên cứu Hệ thống giải trí được hầu hết đều được trang bị trên các dòng xe hiện nay. Do đó, chúng em đã nghiên cứu để thiết kế ra một ứng dụng Home cơ bản có đầy đủ các 1 chức năng hiện có trên các dòng xe để phục vụ xây dựng nguồn tài liệu tham khảo cho các bạn sinh viên, kỹ thuật viên trong ngành kỹ thuật ô tô và mọi người có nhu cầu tìm kiếm chủ đề này. 2 CHƯƠNG 2: NGÔN NGỮ LẬP TRÌNH C++ VÀ ỨNG DỤNG QT CREATOR 2.1 Ngôn ngữ lập trình C++ 2.1 Khái niệm Ngôn ngữ lập trình C++ là một ngôn ngữ lập trình hướng đối tượng (OOP – Object Oriented Programming) được phát triển bởi Bjarne Stroustrup.
C++ là ngôn ngữ lập trình được phát triển trên nền tảng ngôn ngữ lập trình C. Do đó, C++ có song song cả 2 phong cách lập trình hướng cấu trúc giống C và có thêm phong cách hướng đối tượng. Ngôn ngữ lập trình C++ là một ngôn ngữ lập trình cấp trung. Bởi vì nó các tính chất của cả ngôn ngữ lập trình bậc thấp (Pascal, C…) và ngôn ngữ lập trình bậc cao (C#, Java, Python…).
Ngôn ngữ lập trình C++ (C plus plus) có đuôi mở rộng là .2 Điểm mạnh của ngôn ngữ C++ Nói đến C++ thì không thể không nhắc đến những điểm mạnh của nó dưới đây: - Tính phổ biến: C++ là một trong những ngôn ngữ lập trình phổ biến trên thế giới. - Tính thực thi nhanh: Nếu thành thục C++ thì có thể lập trình nhanh, một trong những khả năng của C++ là khả năng thực thi nhanh và nếu cần thêm các chức năng cho chương trình, C++ có thể cho phép dùng ngôn ngữ Assembly – ngôn ngữ lập trình bậc thấp nhất – để giao tiếp với các phần cứng của máy tính. - Thư viện đầy đủ: Có rất nhiều tài nguyên cho người lập trình C++, bao gồm cả đồ họa API, 2D, 3D, vật lý các thiết bị âm thanh hỗ trợ giúp cho lập trình viên dễ dàng thực thi. - Đa mô hình: C++ cho phép bạn lập trình theo cấu trúc tuyến tính, hướng chức năng, hướng đối tượng đa dạng tùy theo yêu cầu của người lập trình.3 Ứng dụng của ngôn ngữ C++ Có rất nhiều ứng dụng thực tế sử dụng C++: - Games - Ứng dụng có giao diện người dùng - Trình duyệt web 3 - Ứng dụng tính toán và đồ họa - Phần mềm quản trị cơ sở dữ liệu - Hệ điều hành - Phần mềm doanh nghiệp - Trình biên dịch 2.2 Ứng dụng Qt Creator 2.1 Giới thiệu Qt Qt là một framework phát triển ứng dụng đa nền tảng dành cho máy tính, nhúng và di động.
Các nền tảng được hổ trợ bao gồm: Linux, OS X, Windows, VxWorks, QNS, Android, IOS, BlackBerry, Sailfish OS và các nền tảng khác. Mục tiêu của các nhà phát triển nên Qt chính là tạo ra một framework có khả năng thiết kế những phần mềm có thể chạy trên nhiều nền tảng phần mềm lẫn phần cứng khác nhau mà không phải thay đổi nhiều về code. Qt không chỉ là thứ giúp viết giao diện cho phần mềm, nó có đầy đủ các khía cạnh để tạo nên một phần mềm hoàn chỉnh ở nhiều góc độ, cho dù phần mềm đó có giao diện hay không. Có thể dùng Qt viết ra những phần mềm chạy bằng dòng lệnh, hoặc là các ứng dụng console chạy trên server, thậm chí là các web framework,….2 Các thành phần của Qt Qt creator có các thành phần và chức năng cơ bản như sau: - Qt Core: Chứa các thành phần cơ sở, bao gồm các containers (tương tự thư viện chuẩn của các ngôn ngữ lập trình: QVector ,Qlist ,QMap,…), các thư viện nhập xuất đa nền tảng, lập trình đa luồng (threading) và xử lý song song (concurrency),… - Qt GUI: Thành phần chính để lập trình giao diện.
- Qt Widgets: Các widget, button, hộp thoại và những thứ tương tự trong giao diện đều gọi là các widget. - Qt QML: Hỗ trợ cho QML và Javacript. QML là một ngôn ngữ để viết giao diện cho ứng dụng Qt, bên cạnh ngôn ngữ lập trình C++. - Qt Quick: QML là một phần của Qt Quick.
- Qt Quick Control: Các widget điều khiển dành cho Qt Quick. - Qt Quick Layouts: Bố trí các widget trong Qt Quick. - Qt Network: Network abstraction layer (NAL – lớp trừu tượng dành cho network), đầy đủ các giao thức TCP, UDP, HTTP và SSL. 4 - Qt Multimedia: Thư viện về âm thannh, hình ảnh, camera,… - Qt Multimedia Widgets: Các widget dành cho Qt Multimedia.
- Qt SQL: Module làm việc với cơ sở dữ liệu (ngôn ngữ SQL). - Qt WebKit: WebKit là một module cho các web browser (Safari và Google Chrome,…) dùng để hiển thị các trang web. Qt WebKit là một thư viện giúp làm việc với WebKit. - Qt WebKit Widgets: Các widget dành cho Qt WebKit.
- Qt Test: Hỗ trợ Unit Test cho các ứng dụng Qt.3 Ưu điểm và nhược điểm của Qt 2.1 Ưu điểm - Khả năng sử dụng cùng một mã cho các nền tảng máy tính, thiết bị di động và nhúng khác nhau. - Qt sử dụng mô hình cấp phép kép. Integra Sources thường chọn giấy phép nguồn mở cho các dự án, thiết kế ứng dụng cũng có sẵn theo giấy phép thương mại Qt theo yêu cầu của khách hàng. - Tài liệu API chi tiết, ví dụ, hỗ trợ kỹ thuật và cộng đồng lớn giúp Qt dễ sử dụng.
- Qt Creator IDE nhanh và phản hồi nhanh .2 Nhược điểm - Ngôn ngữ C++ rất phức tạp, thật khó để các nhà thiết kế thiếu kinh nghiệm học và sử dụng nó. - C++ thiếu tính linh hoạt đối với các công nghệ web. - Tốc độ của các ứng dụng đa nền tảng có thể chậm hơn so với các ứng dụng khác. - Biên dịch chéo có thể yêu cầu các bước bổ sung.3 Cài đặt ứng dụng Qt Bước 1: Tải Qt phiên bản 5.12 tại https:/download.io/archive/qt/ Hình 2.
1: Các phiên bản Qt hiện tại 5 Bước 2: Đăng nhập tài khoản Hình 2. 2: Đăng nhập tài khoản Bước 3: Bấm Next đến mục Select Components Hình 2. 3: Các thành phần cài đặt 6 Bước 4: Chọn các thành phần cài đặt cần thiết Hình 2. 4: Các phần cần cài đặt Bước 5: Tiến hành cài đặt Hình 2.
5: Tiến hành cài đặt 7 Bước 6: Hoàn tất cài đặt Hình 2. 6: Giao diện Qt Creator 8 CHƯƠNG 3: CƠ SỞ LÝ THUYẾT 3.1 Khảo sát một số màn hình ô tô 3.1 Khảo sát một số màn hình ô tô phổ biến trên thị trường 3.1 Màn hình OLED Hình 3. 1: Màn hình OLED - Xuất xứ: Trung Quốc - Ưu điểm của màn hình OLED là giá bình dân, màn hình trang bị kính cường lực 2.5D, có xử lý chống loá, cấu hình mạnh, có khuếch đại âm thanh, ngôn ngữ tiếng Việt… Các dòng màn hình ô tô OLED cao cấp có cả điều khiển bằng giọng nói. - Loại xe: Lắp được hầu hết trên các dòng xe ở Việt Nam, tuy nhiên đối với những dòng xe như Mazda, Vinfast,… - Giá: 5-10 triệu 9 3.2 Màn hình NaviPlay Hình 3.
2: Màn hình NaviPlay - Xuất xứ: Việt Nam - Ưu điểm: Hỗ trợ lái xe an toàn và các ứng dụng giải trí thông minh. Đây là phân khúc màn hình tầm trung, phù hợp với hầu hết các dòng xe phổ thông và khắc phục được hầu hết những thiếu hụt của màn hình nguyên bản theo xe.3 Màn hình Pyle Double DIN Car Stereo Receiver Hình 3. 3: Màn hình Pyle - Xuất xứ: Trung Quốc - Ưu điểm: Màn hình cảm ứng 10" 1080P. Màn hình lớn hơn cho phép cải thiện tầm nhìn, đặc biệt là khi lái xe.
Bạn có thể nhanh chóng lướt qua màn hình và truy 10 cập thông tin mình cần mà không bị phân tâm nhiều. Có tính năng định vị GPS Android 8.1 & hỗ trợ phát lại video HD 1080P để xem youtube, video HD, v.2 Khảo sát một số màn hình trên xe thực tế của Toyota 3.1 Màn hình theo xe Toyota Lexus ES250 - Giao diện Menu Hình 3. 4: Giao diện Menu Toyota Lexus ES250 - Giao diện Climate Hình 3. 5: Giao diện Climate Toyota Lexus ES250 3.2 Màn hình theo xe Toyota RUSH - Giao diện Menu 11 Hình 3.
6: Giao diện Menu Toyota RUSH - Giao diện Media Player Hình 3. 7: Giao diện Media Player Toyota RUSH 3.3 Màn hình JBL của xe Toyota Camry 2.5Q - Giao diện Menu 12 Hình 3. 8: Giao diện Menu màn hình JBL Toyota Camry 2.5Q - Giao diện Map Hình 3. 9: Giao diện Map Toyota Camry 2.4 Màn hình theo xe Toyota Fortuner - Giao diện Menu 13 Hình 3.