BẢNG TAPLO
1.6.1 giới thiệu chung
Xây dựng ra giao diện tương tác với người lái xe trên bảng taplo giúp cảnh báo việc phát hiện vật cản ở trong phạm vi có thể xảy ra va chạm và yêu cầu xử lý. Sử dụng các ngôn ngữ lập trình QML, C/C++ và Qt Creator để thiết kế. Trong đó C/ C++ được sử dụng để xử lý các logic, và các logic này được thể hiện trên giao diện được thiết kế bằng QML.
a) Qt Creator
Qt Creator là một IDE hỗ trợ các lập trình viên tạo ứng dụng cho nền tảng máy tính và di động, trợ giúp bộ chỉnh sửa mã nguồn và gỡ lỗi tuỳ chọn. Qt Creator là một tiện ích đa nên tảng làm việc thông qua môi trường phát triển tích hợp (viết tắt là IDE) hỗ trợ các nhà phát triển tạo ứng dụng cho nền tảng máy tính và thiết bị di động. Mặc dù có nhiều tham số riêng nhưng Qt Creator mang đến một giao diện rõ ràng, đơn giản, cho phép người dùng thiết lập một dự án mới bằng cách sử dụng phương pháp từng bước tiện dụng, đặc biệt đối với người chưa có kinh nghiệm vì họ sẽ được trợ giúp trong toàn bộ quá trình.[4]
Hình 3.13: Phần mềm Tạo môi trường IDE cho lập trình ứng dụng
Qt Creator cung cấp một số công cụ được dùng để tùy chỉnh bố cục chương trình đang tạo và bộ chỉnh sửa văn bản cài sẵn hỗ trợ cho ngôn ngữ
lập trình C++ và QML, đánh dấu cú pháp, tùy chọn hoàn thành mã và kiểm tra cú pháp mã lệnh.
Hơn nữa, chương trình cho phép bạn xây dựng, chạy và triển khai các ứng dụng QT cho môi trường máy tính và thiết bị di động, sử dụng chế độ gỡ lỗi để phân tích trạng thái ứng dụng (tích hợp nhiều trình gỡ lỗi như Trình gỡ lỗi ký tự GNU, Trình gỡ lỗi điều khiển Microsoft và JavaScript) cũng như các gói phần mềm cài đặt thiết kế phát hành ở nhiều cửa hàng và kênh ứng dụng khác nhau.
Khi nói đến lập cấu hình cài đặt một dự án mới, bạn có thể lựa chọn tiện ích muốn tạo (Các công cụ Qt Quick hay HTML5 hay Qt), thiết lập ngôn ngữ lập trình, sử dụng hệ điều khiển phiên bản và thiết kế các phiên bản tệp dự án riêng biệt.
Quá trình phát triển ứng dụng Qt Quick và các tiện ích công cụ hoàn thành với hai bộ chỉnh sửa hình ảnh tích hợp (Trình thiết kế Qt Quick và Trình thiết kế Qt).
Qt Creator có nhiều công cụ cho phép ghi và chỉnh sửa mã dễ dàng hơn vì bạn có thể sử dụng chức năng tìm kiếm tăng dần và nâng cao, thực hiện thao tác phân tích lại mã để tìm và đổi tên các ký hiệu cũng như lập cấu hình bộ chỉnh sửa mã nguồn về font chữ, màu sắc và thụt đầu dòng.
Thêm vào đó, Qt Creator bao gồm công cụ phân tích mã Valgrind dùng để xác định lỗi và rò rỉ bộ nhớ, các hệ thống xây dựng khác nhau (qmake và CMake), hoạt động của dòng lệnh và các công cụ bên ngoài.
Nhìn chung, Qt Creator là một tiện ích đáng tin cậy và là một trong những IDE mạnh dành cho lập trình viên, được sử dụng rộng rãi trong lĩnh vực lập trình ô tô. Chương trình cung cấp một bộ công cụ hoàn chỉnh với một bố cục đơn giản đáp ứng yêu cầu của người dùng mới và cả những chuyên viên nhiều kinh nghiệm.
b) C++
C++ (hay C Plus Plus) là ngôn ngữ lập trình đa năng, được Bjarne Stroustrup sáng tạo ra, ngôn ngữ này được xem như một phần mở rộng của C, được thiết kế hướng tới việc lập trình máy tính và phần mềm nhúng trên các mạch vi xử lý, chứa các tài nguyên khổng lồ và sở hữu nhiều ưu điểm về hiệu năng hoạt động và tính linh hoạt cao. Hầu hết mọi hoạt động của C++ đều được thực hiện dưới dạng ngôn ngữ biên dịch (Compiler), nên có thể chạy trên đa hệ điều hành.
Một điều đặc biệt trong ngôn ngữ C++, nó đã được tổ chứ Tiêu Chuẩn Hóa Quốc Tế (ISO) chuẩn hóa, phiên bản tiêu chuẩn mới nhất đã được ISO công nhận và đánh giá cao vào tháng 12 năm 2017, đó là ISO/IEC 14882:2017.
Hình 3.14: minh hoạ ngôn ngữ C++
Các đặc trưng của ngôn ngữ C++:
- C++ là một ngôn ngữ tầm trung, bạn hoàn toàn có thể sử dụng nó để phát triển các chương trình bậc thấp hay những chương trình bậc cao, mà vẫn hoạt động tốt trong phần cứng.
- C++ là ngôn ngữ lập trình hướng đối tượng, sử dụng các Class và Object cùng các khái niệm như tính kế thừa, tính đa hình, tính đóng gói... để tạo ra các chương trình.
- C++ được tạo ra dựa trên nền tảng ngôn ngữ C, nên nó có hầu hết mọi tính năng của C và được bổ sung thêm khái niệm functions trong quá trình thiết kế chương trình.
- Các chương trình được tạo ra bởi C++ đều có thể chạy được trên các hệ điều hành như Mac OS, Windows, hay một số biến thể của Unix.
Ứng dụng của ngôn ngữ lập trình C++:
- Có thể nói, C++ là ngôn ngữ lập trình tốt nhất cho sự lựa chọn thiết kế các nền tảng games 3D. Nó cho phép người dùng tối ưu hóa việc quản lý các tài nguyên, cho ra các sản phẩm chạy mượt mà trên mọi nền tảng mạng.
- Ngoài ra, C++ còn hỗ trợ quá trình can thiệp sâu vào CPU và phần cứ của mọi loại máy. Đây là yếu tố quan trọng khi thiết kế các trò chơi Engines. Một số tựa games nổi tiếng có sự "góp mặt" của C++ là World Of Warcraft, Diablo Series, Dom 3, Team Fortress 2... Ứng dụng có giao diện người dùng: Một trong những chương trình được C++ "nhúng tay" tạo ra là các các phần mềm đồ họa được rất nhiều người ưa chuộng, có thể kể đến như Photoshop, Adobe Premier, Image Ready...
Trình duyệt web
- Một yếu tố quan trọng mà người dùng luôn mong muốn, là tốc độ load nhanh và sự bảo mật thông tin cao trong các chương trình trên trình duyệt. C++ là ngôn ngữ có thể đáp ứng tốt được điều đó. - C++ có sự đóng góp trong việc tạo ra các web browsers mã nguồn
mở (Moliza Firefox), ứng dụng email Mozilla Thunderbird, đặc biệt là một phần trong trình duyệt nổi tiếng Google Chrome.
Hình 3.16: các trình duyệt có sự đóng góp của C++
Trình biên dịch
- Ngoài sự "góp mặt" trong MySQL, C và C++ còn là ngôn ngữ nền tảng trong quá trình xây dựng và phát triển ngôn ngữ mới là C#, Java, PHP, Verilog...
- Đặc biệt, C++ còn là ngôn ngữ hỗ trợ các trình biên dịch khác như Apple C++, Bloodshed Dev-C++ và MINGW make.
Trong lập trình ô tô, C++ đóng vai trò là ngôn ngữ xử lý logic, ứng dụng các thuật toán tính toán, điều khiẻn ECU, lập trình cho hệ thống giải trí trên xe hơi, hệ thống dẫn đường.
c) QML
QML là tệp ngôn ngữ QT Meta. Tệp ngôn ngữ được sử dụng bởi Qt SDK, khung phát triển giao diện người dùng trên máy tính để bàn, thiết bị di động và nhúng cho ngôn ngữ C và QML; chứa mã nguồn QML dựa trên JavaScript được mã hóa theo định dạng UTF-8; thường được sử dụng để phát triển các ứng dụng và thành phần di động như các nút. Tệp QML sẽ luôn bắt đầu với ít nhất một câu lệnh nhập (vì QML không nhập bất kỳ mô-đun nào theo mặc định, một câu lệnh nhập là cần thiết, hoặc nếu không thì không các yếu tố sẽ có sẵn).[4]
Hình 3.17:giao diện mà hình xe điện Tesla được viết bằng QML
QML cho phép xây dựng giao diện bằng cách mô tả các đối tượng một các trực quan (visual components) và cách tương tác (interact) giữa chúng. QML được dùng để xây dựng giao diện tương tác với người dùng trên ô tô.