Luận văn Nghiên cứu tương tác giữa người và xe thông qua smartphone (Phần 1)

pdf 99 trang phuongnguyen 180
Bạn đang xem 20 trang mẫu của tài liệu "Luận văn Nghiên cứu tương tác giữa người và xe thông qua smartphone (Phần 1)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfluan_van_nghien_cuu_tuong_tac_giua_nguoi_va_xe_thong_qua_sma.pdf

Nội dung text: Luận văn Nghiên cứu tương tác giữa người và xe thông qua smartphone (Phần 1)

  1. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ TRẦN QUỐC HOAN NGHIÊN CỨU TƯƠNG TÁC GIỮA NGƯỜI VÀ XE THÔNG QUA SMARTPHONE S K C 0 0 3 9 5 9 NGÀNH: KỸ THUẬT CƠ KHÍ ĐỘNG LỰC - 605246 S KC 0 0 4 2 3 7 Tp. Hồ Chí Minh, tháng 4 năm 2014
  2. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC SƢ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ TRẦN QUỐC HOAN NGHIÊN CỨU TƢƠNG TÁC GIỮA NGƢỜI VÀ XE THÔNG QUA SMARTPHONE NGÀNH: KỸ THUẬT CƠ KHÍ ĐỘNG LỰC - 605246 Hướng dẫn khoa học: TS. NGUYỄN BÁ HẢI Tp. Hồ Chí Minh, tháng 04/2013
  3. LÝ LỊCH KHOA HỌC I. LÝ LỊCH SƠ LƢỢC: Họ& tên: TRẦN QUỐC HOAN Giới tính: Nam Ngày, tháng, năm sinh: 08/07/1987 Nơi sinh: Tây Ninh Quê quán: Thái Bình Dân tộc: Kinh Địa chỉ liên lạc: Khu phố 4, TT Dương Minh Châu,Dương Minh Châu, Tây Ninh. Điện thoại riêng: 0986334117 Email:qhoancko@gmail.com II. QUÁ TRÌNH ĐÀO TẠO: 1. Cao Đẳng: Hệ đào tạo: Chính quy Thời gian đào tạo từ 09/2005đến 09/ 2008 Nơi học (trường, thành phố):Đại Học Công Nghiệp TP.HCM Ngành học:Cơ Khí Động Lực 2. Đại học: Hệ đào tạo: Chính quy Thời gian đào tạo từ 09/2009đến 09/2011 Nơi học: Trường Đại Học Công Nghiệp TP HCM Ngành học: Cơ Khí Động Lực Tên đồ án tốt nghiệp: “ Mô hình hệ thống phun dầu điện tử EDC động cơ 3C Toyota” Ngày & nơi bảo vệ đồ án tốt nghiệp: 2011, tại Trường Đại Học Công Nghiệp TP HCM Người hướng dẫn: Th.S Đặng Tiến Phúc III. QUÁ TRÌNH CÔNG TÁC CHUYÊN MÔN KỂ TỪ KHI TỐT NGHIỆP ĐẠI HỌC: Thời gian Nơi công tác Công việc đảm nhiệm 2012 – 2014 Đại học công nghệ Đồng Nai Giảng Viên i
  4. LỜI CAM ĐOAN Tôi cam đoan đây là công trình nghiên cứu của tôi. Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác Tp. Hồ Chí Minh, ngày tháng năm 2014 Ký tên TRẦN QUỐC HOAN ii
  5. CẢM TẠ Trong quá trình nghiên cứu để hoàn thành được luận văn như ngày hôm nay, trước tiên tôi xin bày tỏ lòng biết ơn sâu sắc đến thầy TS Nguyễn Bá Hải đã tận tâm hướng dẫn và giúp tôi trong suốt quá trình học tập và nghiên cứu. Tiếp theo tôi xin chân thành gửi lời cảm ơn đến các thầy, cô đã giảng dạy chương trình cao học ngành kĩ thuật cơ khí động lực, những người đã truyền đạt cho tôi những kiến thức hữu ích về chuyên ngành, làm cơ sở để tôi thực hiện tốt luận văn. Xin chân thành bày tỏ lòng biết ơn đến gia đình, các bạn đồng nghiệp, các bạn cùng lớp, những người đã luôn ở bên cạnh hỗ trợ và tạo mọi điều kiện tốt nhất cho tôi trong suốt quá trình học tập và hoàn thành luận văn này. Tp.Hồ Chí Minh, tháng 4 năm 2014. Học viên thực hiện. TRẦN QUỐC HOAN iii
  6. TÓM TẮT Gần đây sự tiến bộ của công nghệ đã mở đường cho một kỷ nguyên mới, kỷ nguyên của kết nối. Các dòng xe hiện đại ngày nay được kết nối với hệ thống máy tính ngày càng phổ biến, dùng để hỗ trợ thu thập các thông tin của xe và có thể kết nối Internet. Các nhà sản xuất xe đã triển khai nhiều công nghệ hỗ trợ khác nhau cho các lái xe như chống trộm và thông tin giải trí đa chức năng. Họ cũng đang phát triển cách để tương tác giữa thiết bị di động với các phương tiện và cung cấp các chức năng giúp khách hàng có thể khóa/mở khóa xe và theo dõi chiếc xe trong trường hợp bị mất cắp. Đó cũng là hướng nghiên cứu của tác giả trong luận văn “Nghiên cứu tương tác giữa người và xe thông qua smartphone” Trong luận văn này, tác giảđã khái niệm được tương tác giữa người và xe, nền tảng công nghệ áp dụng trong tương tác giữa người và xe. Phân loại được các hình thức tương tác giữa người và xe, xu hướng phát triển tương tác giữa ngưởi và xe trong tương lai. Chứng minh khả năng ứng dụng smartphone trong việc tương tác giữa người và xe, và xây dựngmột kiến trúc hệ thống cho phép người dùng tương tác với các hệ thống nằm trong xe của họ bằng cách sử dụng một smartphone. Các vấn đề cần nghiên cứu của đề tài đã được thể hiện trong sáu chương của luận văn: Chương I: Tổng quan về đề tài nghiên cứu Chương II: Cơ sở lý thuyết tương tác giữa người và xe Chương III: Cơ sở lý thuyết thiết kế hệ thống tương tác giữa người và xe thông qua smartphone Chương IV: Thiết kế hệ thống tương tác giữa người và xe thông qua smartphone Chương V: Thực nghiệm hệ thống Chương VI: Kết luận và định hướng nghiên cứu iv
  7. ABSTRACT Recently, technological development has created a new era, the era of connection. Almost ranges of modern cars are connected to the computer systems increasingly in order to support the collection information of the vehicles and help to connect these information to the Internet. The car manufacturers have developed many different technological supports for anti-theft and multi-functional entertainment information. They also develop ways to interact between mobile devices and cars to help customers can lock/unlock the cars, moreover, and vehicles would be tracked in case of being stolen. It is also the author's research in the thesis "Research on the interaction between people and vehicles through smartphones" In this thesis, the author gives the definition about the interaction between people and cars, the technological foundation is used in the interaction between people and cars, the classification of interaction between people and cars, the trend of interaction development between people and cars in the future. Moreover, this thesis also demonstrates the ability to use smartphone in the interaction between people and cars, and provides an architecture system that allows customers to interact with the system in their cars by using their smartphones. Issues of research topics were presented in six chapters of the thesis: • Chapter I: Overview of research topics • Chapter II: Theoretical Basis interaction between people and cars • Chapter III: Theoretical Basis design system and interaction between people and cars via smartphones • Chapter IV: Design of interaction between people and cars via smartphone • Chapter V: Experimental System • Chapter VI: Conclusions and research orientation v
  8. MỤC LỤC LÝ LỊCH KHOA HỌC i LỜI CAM ĐOAN ii CẢM TẠ iii TÓM TẮT iv ABSTRACT v DANH SÁCH CÁC CHỮ VIẾT TẮT viii DANH SÁCH CÁC HÌNH ix DANH SÁCH CÁC BẢNG xii Chƣơng 1. TỔNG QUAN 1 1.1.Tổng quan về lĩnh vực nghiên cứu 1 1.2.Tình hình nghiên cứu 2 1.2.1.Tình hình nghiên cứu trong nước 2 1.2.2.Tình hình nghiên cứu ngoài nước 3 1.3.Mục đích của đề tài 4 1.4.Nội dung nghiên cứu 5 1.5.Đối tượng nghiên cứu 5 1.6.Giới hạn của đề tài 5 1.7.Phương pháp nghiên cứu 5 1.8.Lý do chọn đề tài 6 Chƣơng 2. CƠ SỞ LÝ THUYẾT VỀ TƢƠNG TÁC GIỮA NGƢỜI VÀ XE 7 2.1.Khái niệm sự tương tác và nền tảng công nghệ tương tác 7 2.1.1. Khái niệm về tương tác giữa người và máy 7 2.1.2. Một số nền tảng công nghệ tương tác 8 2.2. Khái niệm và phân loại về tương tác giữa người và xe 12 2.2.1. Phân loại hình thức tương tác giữa người và xe 12 2.3. Các xu hướng phát triển tương tác giữa người và xe hiện nay 15 2.4. Khả năng ứng dụng smartphone trong tương tác giữa người và xe 16 Chƣơng 3. CƠ SỞ LÝ THUYẾT THIẾT KẾ HỆ THỐNG TƢƠNG TÁC GIỮA NGƢỜI VÀ XE THÔNG QUA SMARTPHONE 18 3.1. Các hệ điều hành, công cụ lập trình xây dựng ứng dụng trên smartphone 18 vi
  9. 3.1.1. Phân loại hệ điều hành và các ứng dụng trên smartphone 18 3.1.2. Nền tảng mã nguồn mở Phonegap 20 3.2. Phương thức kết nối giữa smartphone và máy server 22 3.3. Thiết lập kết nối giữa máy tính trên xe và máy server 23 3.3.1. Mạng riêng ảo VPN 24 3.3.2. Thiết lập một mạng riêng ảo VPN 25 Chƣơng 4. THIẾT KẾ HỆ THỐNG TƢƠNG TÁC GIỮA NGƢỜI VÀ XE THÔNG QUA SMARTPHONE 28 4.1. Phương thức kết nối giữa smartphone và xe 28 4.2. Thiết kế hệ thống tương tác giữa người và xe thông qua smartphone sử dụng công nghệ Internet di động 3G 29 4.2.1. Mô hình hệ thống và sơ đồ nguyên lý hoạt động 29 4.2.2. Lập trình hệ thống 33 4.3. Thiết kế hệ thống tương tác giữa người và xe thông qua smartphone sử dụng công nghệ wifi 54 4.3.1. Mô hình hệ thống và sơ đồ nguyên lý hoạt động 54 4.3.2. Lập trình hệ thống 57 Chƣơng 5. THỰC NGHIỆM HỆ THỐNG 66 5.1. Mục tiêu thực nghiệm chung 66 5.2. Tiến hành thực nghiệm hệ thống 66 5.2.1. Thực nghiệm hệ thống tương tác giữa người và xe thông qua smartphone ứng dụng công nghệ wifi 67 5.2.2. Thực nghiệm hệ thống tương tác giữa người và xe thông qua smartphone ứng dụng công nghệ Internet di động 71 5.3. Phân tích và đánh giá hệ thống tương tác giữa người và xe thông qua smartphone 81 Chƣơng 6. KẾT LUẬN VÀ ĐỊNH HƢỚNG NGHIÊN CỨU 82 6.1. Những vấn đề đã giải quyết 82 6.2. Những vấn đề còn tồn tại 82 6.3. Hướng nghiên cứu tiếp theo 82 TÀI LIỆU THAM KHẢO 83 vii
  10. DANH SÁCH CÁC CHỮ VIẾT TẮT HMI : Human Machines Interaction (Tương tác giữa người và máy) HVI :Human Vehicle Interaction (Tương tác giữa người và xe) HMS :Human Machines System (Hệ thống tương tác người-máy) NFC :Near Field Communication (Giao thiếp gần) GSM :Global System for Mobile Communications (Hệ thống thông tin di động toàn cầu) GPRS :General Packet Radio Service (Dịch vụ vô tuyến gói tổng hợp) LCD : Liquid Crystal Display (Màn hình tinh thể lỏng) HTML5 :HyperText Markup Language(Ngôn ngữ đánh dấu siêu văn bản) CSS3 :Cascading Style Sheets (Các tập tin định kiệu theo tầng) VPN :Virtual Private Network (Mạng riêng ảo) LAN :Local Area Network (Mạng nội bộ) IP :Internet Protocol (Giao thức liên mạng) WAN :Wide Area Network (Mạng diện rộng) DDNS : Dynamic Domain Name System (Hệ thống tên miền động) OSC :Open Sound Control XML : eXtensible Makeup Language (Ngôn ngữ đánh dấu mở rộng) W3C : Word Wide Web Consortium (Hiệp hội lập ra các chuẩn cho Internet) HTTP :HyperText Transfer Protocol (Giao thức truyền siêu văn bản) 3G : Third-generation technology (Hệ thống thong tin di động thế hệ thứ ba) LabVIEW: Laboratory Virtual Instrumentation Engineering Workbench GPS : Global Positioning System (Hệ thống định vị toàn cầu) TCP/IP : Transfer Control Protocol/Internet Protocol (Giao thức điều khiển giao vận/giao thức liên mạng) UDP : User Datagram Protocol (Giao thức truyền dữ liệu ngắn) ID :Identification (Nhận dạng) HDL 9090 : Card giao tiếp LabVIEW với máy tính Học Để Làm 9090 viii
  11. DANH SÁCH CÁC HÌNH HÌNH TRANG Hình 2.1: Cấu trúc tương tác giữa người và máy 7 Hình 2.2: Hệ thống HMS bao gồm người dùng, giao diện người–máy và máy 8 Hình 2.3: Hệ thống ứng dụng Led và Laser 9 Hình 2.4: Phân chia các vùng thao tác cơ bản trên xe 12 Hình 2.5: Mô hình cơ bản của một hệ thống tương tác gián tiếp thông qua thiết bị trung gian 13 Hình 2.6: Các mô hình kết nối có thể ứng dụng trên xe 14 Hình 3.1: Kiến trúc bên trong một ứng dụng Phonegap 20 Hình 3.2: Cách thức ứng dụng phonegap tương tác với thiết bị 22 Hình 3.3: Mô hình một mạng VPN điển hình 24 Hình 4.1: Mô hình kết nối giữa smartphone và xe gián tiếp thông qua máy server 30 Hình 4.2: Sơ đồ nguyên lý truyền nhận dữ liệu giữa smartphone và máy client 31 Hình 4.3: Sơ đồ nguyên lý truyền nhận dữ liệu giữa máy server và máy client 32 Hình 4.4: Đoạn code lập trình lưu dữ liệu gửi lên từ smartphone 33 Hình 4.5: Đoạn code đọc dữ liệu từ file XML gửi cho smartphone 33 Hình 4.6: Đoạn code khai báo sử dụng phương thức GET để nhận dữ liệu từ server 34 Hình 4.7: Đoạn code lập trình sử dụng phương thức POST để gửi dữ liệu lên server 34 Hình 4.8: Đoạn code có chức năng thiết kế hiển thị giao diện trên Smartphone 35 Hình 4.9: Giao diện ứng dụng trên smartphone 35 Hình 4.10: Hàm init() 36 Hình 4.11: Đoạn code lập trình chức năng của nút REFESH trên giao diệnứng dụng36 Hình 4.12: Đoạn code lập trình chức năng nút LOCK trên giao diện ứng dụng 37 Hình 4.13: Đoạn code lập trình chức năng nút UNLOCK trên giao diện ứng dụng 38 Hình 4.14: Đoạn code lập trình chức năng nút FIND CAR trên giao diện 39 Hình 4.15: Đoạn code lập trình chức năng nút STOP trên giao diện 40 Hình 4.16: Đoạn code lập trình chức năng nút TURN ON trên giao diện ứng dụng 41 ix
  12. Hình 4.17: Đoạn code lập trình chức năng điều khiển tắt động cơ khẩn cấp 42 Hình 4.18: Đoạn code lập trình chức năng nút LOCATION trên giao diện 32 Hình 4.19: Đoạn code có chức năng nhận dữ liệu từ xe gửi lên qua giaothức TCP/IP 44 Hình 4.20: Đoạn code có chức năng ghi dữ liệu từ xe gửi lên thành file XML 45 Hình 4.21: Đoạn code có chức năng đọc dữ liệu file XML1 có ghi thông tin điều khiển từ smartphone 46 Hình 4.22: Đoạn code có chức năng tách các giá trị trong bảng Table Control 47 Hình 4.23: Hàm truyền dữ liệu từ server tới máy tính gắn trên xe 47 Hình 4.24: Giao diện hiển thị trên máy server dùng để kiểm tra các thông tin 48 Hình 4.25: Đoạn code có chức năng nhận tín hiệu từ server 49 Hình 4.26: Đoạn code có chức năng tách dữ liệu nhận được từ máy server 50 Hình 4.27: Đoạn code thu thập và nhận tín hiệu điều khiển các chức năng thông qua card giao tiếp LabVIEW với máy tính HDL 9090 51 Hình 4.28:Đoạn code thu thập tín hiệu GPS 51 Hình 4.29: Đoạn code có chức năng truyền dữ liệu từ xe lên server 53 Hình 4.30: Giao diện kiểm tra trên máy tính đặt trên xe 54 Hình 4.31: Mô hình hệ thống tương tác giữa người và xe sử dụng công nghệ wifi 55 Hình 4.32: Sơ đồ nguyên lý hoạt động truyền nhận dữ liệu giữa smartphone và xe56 Hình 4.33: Cửa sổ chương trình TouchOSC Editor 57 Hình 4.34: Phần tuỳ chỉnh kích thước giao diện trong phần mềm TouchOSC Editor58 Hình 4.35: Bảng công cụ để thiết kế điều khiển 58 Hình 4.36: Hình ảnh nút nhấn loại Push Botton trong TouchOSC 58 Hình 4.37: Hình ảnh label trong TouchOSC 59 Hình 4.38: Giao diện đã được thiết kế hoàn thiện trên TouchOSC Editor 59 Hình 4.39: Đoạn code có chức năng nhận tín hiệu từ smartphone 60 Hình4.40: Đoạn code có chức năng xử lý dữ liệu nhận được từ smartphone 60 Hình 4.41: Đoạn codexác nhận mật khẩu trên máy server 62 Hình4.42: Đoạn code điều kiện dùng để ngắt điều khiển khi sai password 62 x
  13. Hình 4.43: Đoạn codeđiều kiện dùng để cho phép điều khiển khi đúng password . 63 Hình 4.44: Đoạn code có chức năng truyền tín hiệu mức nhiên liệu từ máy tính server lên smartphone 64 Hình 4.45: Đoạn code có chức năng hiển thị thông tin cảnh báo mức nhiên liệu 64 Hình 4.46: Đoạn code thu thập mức nhiên liệu và điều khiển các chức năng trên xe thông qua card giao tiếp LabVIEW với máy tính HDL 9090 65 Hình 5.1: Mô hình dùng để thực nghiệm 67 Hình 5.2: Sơ đồ đấu nối cụm điều khiển lock/unlock 68 Hình 5.3: Sơ đồ đấu nối cụm loa và đèn báo khi tìm xe trong bãi giữ xe hoạt nơi có không gian lớn 69 Hình 5.4: Sơ đồ đấu nối hệ thống báo mức nhiên liệu còn lại trong thùng chứa 69 Hình 5.5: mô hình tương tác giữa người và xe thông qua smartphone ứng dụng công nghệ Internet di động 71 Hình 5.6: Kết nối hệ thống định vị GPS với máy tính trên xe 75 Hình 5.7: sơ đồ đấu nối hệ thống dừng động cơ khẩn cấp 75 Hình 5.8: Sơ đồ đấu nối cụm điều khiển lock/unlock 76 Hình 5.9: Sơ đồ đấu nối cụm loa và đèn báo khi tìm xe trong bãi giữ xe hoạt nơi có không gian lớn 76 Hình 5.10: Sơ đồ đấu nối hệ thống báo mức nhiên liệu còn lại trong thùng chứa 77 Hình 5.11: Tính toán thời gian trễ của hệ thống bằng công cụ Elapsed Time 79 xi
  14. DANH SÁCH CÁC BẢNG BẢNG TRANG Bảng 3.1: Bảng so sánh các ứng dụng trên smartphone 18 Bảng 4.1: Bảng giá trị tương ứng với các chức năng điều khiển được smartphone ghi trên XML1 43 Bảng 4.2: Bảng diễn giải của bản tin Modul GPS gửi về 52 Bảng 5.1: Bảng đo giá trị trễ trung bình của hệ thống 80 xii
  15. Chƣơng 1 TỔNG QUAN 1.1. Tổng quan về lĩnh vực nghiên cứu Tương tác giữa người và máy (Human Machines Interaction) [1]: được mô tả là sự tương tác và giao tiếp giữa người sử dụng và một máy tính, một hệ thống kỹ thuật năng động, thông qua một giao diện gọi là giao diện “người – máy”(Human Machines Interface). Việc áp dụng tương tác giữa người và máy (HMI) vào lĩnh vực ô tô ngay từ giai đoạn đầu của sự phát triển xe hơi đã trở thành một vấn đề lớn. Ban đầu chỉ là những giao diện hạn chế dùng để điều khiển các hệ thống chính như vô lăng, ga và phanh. Nhưng sau một thời gian ngắn với sự phát triển và phổ biến của ô tô, làm cho việc tương tác giữa người và xe (HVI) ngày càng trở nên cần thiết và được xem là một vấn đề an toàn cho người lái, cũng như giúp người lái biết thêm tình trạng của chiếc xe bắt đầu từ những thông tin cơ bảnnhư tốc độ xe và mức nhiên liệu. Trong vòng 100 năm qua ngành công nghiệp ô tô phát triển rất mạnh mẽ, việc vận hành một chiếc xe đã trở nên dễ dàng hơn nhiều. Các cơ cấu, hệ thống điều khiển cơ khí và hệ thống điện dần được chuyển sang lĩnh vực điện tử, số lượng các nút bấm, các chức năng điều khiển phức tạp ngày càng giảm dần và thay thế bằng những cách tương tác và điều khiển an toàn và dễ sử dụng hơn.Tuy nhiên vì lý do nàynhững chiếc ô tô đã trở thành một hệ thống tương tác phức tạp với số lượng các chức năng trên xe ngày càng nhiều, nhất là số lượng các chức năng người lái có thể kiểm soát và điều khiển được khi đang lái tăng lên như hệ thống thông tin, giải trí và hệ thống tiện nghi trên xe làm cho người lái dễ mất tập trung khi điều khiển ngày càng tăng và có thể gây tai nạn bất cứ lúc nào. Do đó việc tương tác giữa người với các hệ thống này hay nói cách khác việc tương tác giữa người và xe hiện nay đóng một vai trò hết sức quan trọng. Cùng với việc phát triển của điện thoại thông minh (Smartphone) đã trở nên phổ biến với nhiều tính năng có thể vận dụng trong các mô hình tương tác giữa 1
  16. người và xe. Do đó có một xu hướng đang nổi lên là sự kết hợp của điện thoại thông minh với các hệ thống trên ô tô hiện đại. Ví dụ các ứng dụng điều khiển từ xa như truy cập để điều khiển đóng mở cửa, khởi động làm ấm xe trước, tìm xe trong bãi, chẩn đoán sơ bộ tình trạng của xe hay những ứng dụng kết hợp với hệ thống giải trí, thông tin, định vị, điều khiển các thiết bị trên xe bằng giọng nói, nghe điện thoại và nhắn tin rảnh tay đã thực sự là một cuộc cách mạng trong việc tương tác giữa người và xe.Những giải pháp dựa trên điện thoại thông minh hứa hẹn sẽ ngày càng phát triển nâng cao tính an toàn, tiện dụng và hỗ trợ người lái một cách toàn diện và tốt nhất. Đó cũng chính là xu hướng nghiên cứu phát triển của các hãng xe lớn như GM, Ford, Toyota, BMW, Mercedes, Hyundai 1.2. Tình hình nghiên cứu 1.2.1. Tình hình nghiên cứu trong nƣớc Thiết kế và thực hiện hệ thống giám sát hành trình sử dụng định vị toàn cầu Tác giả: Nguyêñ Tiến Chuẩn , Mai Xuân Hoàng , Trường Đại học Bách khoa , Đaị học Đà Nẵng. Tóm tắt: Đề tài thiết kế và thực hi ện hệ thống giám sát hành trình sử duṇ g điṇ h vi ̣ toàn cầu (GPS), bao gồm các module phần cứ ng tích hơp̣ các chứ c nă n g GPS , GSM/GPRS, để thu nhận các thông tin điṇ h vi ̣từ v ệ tinh và truyền về máy chủ dic̣ h vụ Web dữ li ệu về thời gian , kinh độ, vĩ đ ộ, vận tốc tứ c thời , tổng thời gian di chuyển, số lần và tổng thời gi an dừ ng đỗ, các cảnh báo, Từ đó, bằng cách truy c ập vào trang web, thông qua giao diện đồ hoạ , hoặc tin nhắn SMS , người dùng có thể xác điṇ h đươc̣ vi ̣trí cũng như tình traṇ g của phương tiện hiện thời. Ngoài ra còn có các sản phẩm nghiên cứu của các đơn vị công ty trong nƣớc: Hệ thốngchống trộm Sbike Pro của công ty SetechViet, Thiết bị giám sát hành trình Bình Anh của công ty Bình Anh Các công trình nghiên cứu nêu trên đều có chung một phương pháp làthu nhận các thông tin điṇ h vi ̣từ v ệ tinh và truyền về máy chủ dic̣ h vu ̣w eb các dữ liệu 2
  17. thu thập được từ trên xe. Sau đó, bằng cách truy c ập vào trang web thông qua giao diện đồ hoạ , hoặc tin nhắn SMS để truyền thông tin cho điện thoại. Điểm hạn chế là chưa xây dựng được một ứng dụng trực tiếp trên điện thoại và các chức năng điều khiển bằng điện thoại đến xe rất hạn chế. 1.2.2. Tình hình nghiên cứu ngoài nƣớc Smartphone based Vehicle Tracking and Control via Secured Wireless Networks Tác giả: Rajesh Borade – Aniket Kapse – Prasad Bidwai – Priya Kaul, Khoa kĩ thuật máy tính, trường ĐH kỹ thuật Sinhgad. [2] Tóm tắt:Trong hệ thống này, người dùng có khả năng kiểm soátxecủa mình thông quamột ứng dụng chạy trên nền tảng Android. Mộtchế độ bảo đảmthông tin liên lạcgiữa điện thoạivàxeđược thiết lậpthông quamạng GSM. Sử dụngđiện thoại thông minhcủa mình, chủ sở hữu sẽ có thể khóa / mở khóaxevà theo dõichiếc xetrong trường hợpbị mất cắp. Using smartphones to detect Car Accidents and Provide Situational Awareness to Emergence Responders Tác giả: Chris Thompson và đồng nghiệp, ĐH Vanderbilt, Nashville, TN USA. [3] Tóm tắt: Phát hiện tai nạn xe hơi và kiểm soát tắc nghẽn đường cao tốc là một ứng dụng đang nổi lên cho các mạng cảm biến không dây di động. Tiến bộ mới trong công nghệ smartphone giúp phát hiện tai nạn xe hơilinh động hơn và tiết kiệm chi phí hơn nhiều so với các giải pháp trong xe. Sử dụng các cảm biến có sẵn trong điện thoại thông minh như la bàn, cảm biến gia tốc, và máy thu GPS cho phép các nhà phát triển ứng dụng để xác định vị trí địa lý, hướng hành trình, và chuyển động của người sử dụng. Sức mạnh xử lý, phổ biến, và chi phí tương đối thấp (so với các kỹ thuật giám sát khác) làm cho điện thoại thông minh là một nền tảng hấp dẫn để xây dựng một mạng lưới cảm biến không dây di động phát hiện tai nạn xe hơi. Idriver Tác giả: Nhóm phát triển xe tự lái thuộc ĐH Freie Berlin [4] 3
  18. Tóm tắt: Các nhà nghiên cứu ở Đức đã đưa ra và phát triển ứng dụng trên iphone cho phép điều khiển xe từ xa. Ứng dụng này có nút riêng biệt để tăng tốc, phanh và một vô lăng lái theo chuyển động chính xác của iphone. Hệ thống hoạt động bằng cách gửi những lệnh điều khiển từ iphone đến những thiết bị đặc biệt được gắn trên xe thông qua sóng wifi, do đó người lái có thể điều khiển ở khoảng cách xa với sự giúp đỡ của video trực tiếp do camera gắn ở trên nóc xe. Hiện nay Idriver được chạy trên Iphone 3GS, xây dựng dựa vào hệ thống GPS và cảm biến gia tốc của iphone. Smart Keys for Cyber-Cars: Secure Smartphone-based NFC-enabled Car Immobilizer Tác giả: Christoph Busold cùng cộng sự, Đại học Kỹ thuật Darmstadt. [5] Tóm tắt: Ứng dụng công nghệ NFC (Near Field Communication) trên điện thoại thông minh để thiết kế một hệ thống thay thế chìa khoá cơ khí, chìa khoá thông minh. Ngoài ra còn có các công trình nghiên cứu của các hãng xe Hyundai’s connectivity concept (Hyundai), OnStar (GM), Ford Sync Glympse (Ford), iPhone CarMonitor (Audi), My BMW Remote (BMW), Mercedes Mbrace (Mercedes) đã nghiên cứu và ứng dụng smartphone trong việc tương tác giữa người và xe. 1.3. Mục đích của đề tài Nghiên cứu tương tác giữa người và xe, khả năng ứng dụng smartphone trong tương tác giữa người và xe. Thu thập cơ sở khoa học và dự báo về xu thế ứng dụng điện thoại thông minh trên ô tô. Đề xuất ý tưởng và triển khai nghiên cứu sơ bộ việc ứng dụng điện thoại thông minh trên ô tô nhằm nâng cao tính an toàn, tiện dụng cho người điều khiển và phương tiện. Tiến hành những thử nghiệm ban đầu về tương tác giữa người và xe thông qua điện thoại thông minh. 1.4. Nội dung nghiên cứu Tìm hiểu các công trình nghiên cứu trong và ngoài nước. 4
  19. Nghiên cứu tương tác giữa người và xe và các xu hướng phát triển tương tác giữa người và xe. Nghiên cứu phương thức giao tiếp tốt nhất giữa điện thoại thông minh và xe. Nghiên cứu các hệ thống trên xe ô tô. Tìm hiểu về smartphone. Nghiên cứu lập trình trên smartphone. 1.5. Đối tƣợng nghiên cứu Nghiên cứu tương tác giữa người và xe. Nghiên cứu cách thức truyền nhận dữ liệu giữa smartphone và xe. Các chuẩn giao tiếp không dây. Các công cụ lập trình trên smartphone. Các hệ thống trên ô tô. 1.6. Giới hạn của đề tài Chỉ nghiên cứu lý thuyết tương tác gián tiếp giữa người và xe thông qua smartphone. Chỉ xây dựng một số thực nghiệm về tương tác giữa người và xe thông qua điện thoại thông minh ở mức độ cơ bản. 1.7. Phƣơng pháp nghiên cứu Phương pháp nghiên cứu lý thuyết: nghiên cứu các tài liệu, công trình nghiên cứu trong và ngoài nước. Thu thập và tìm hiểu cách kết nối giữa hai thiết bị sử dụng hai mạng Internet khác nhau. Thu thập và đánh giá kết quả thực nghiệm. So sánh đánh giá với các công trình đã nghiên cứu. 1.8. Lý do chọn đề tài Qua các công trình nghiên cứu trong nước và ngoài nước chúng ta nhận thấy rằng, một phần xu hướng phát triển của ô tô hiện nay là nghiên cứu phát triển các hệ thống hỗ trợ người dùng, giúp tăng tính an toàn và tiện dụng cho người lái, có tính tương thích cao với người dùng. Giúp cho chiếc ô tô ngày càng trở nên thông minh hơn. 5
  20. Hiện nay các hãng xe nổi tiếng như Audi, BMW, Mercedes, VW, Ford, GM đã ứng dụng công nghệ giao tiếp qua mạng không dây, ứng dụng điện thoại thông minh để điều khiển các hệ thống, thiết bị trên ô tô; truyền tải dữ liệu giữa các xe, các thiết bị trên xe. Với xu hướng sử dụng smartphone trên thế giới ngày càng tăng và việc xây dựng các ứng dụng trên smartphone ngày càng phát triển nên học viên quyết định chọn đề tài “Tương tác giữa người và xe thông qua smartphone” dưới sự hướng dẫn của thầy TS.Nguyễn Bá Hải để nghiên cứu và phát triển hệ thống điều khiển từ xa các thiết bị trên ô tô bằng smartphone. Và cũng để phát triển một hướng nghiên cứu vẫn còn rất mới mẻtrong nước. 6
  21. Chƣơng 2 CƠ SỞ LÝ THUYẾT VỀ TƢƠNG TÁC GIỮA NGƢỜI VÀ XE 2.1. Khái niệm sự tƣơng tác và nền tảng công nghệ tƣơng tác 2.1.1. Khái niệmvề tƣơng tác giữa ngƣời và máy Khái niệm về tương tác: Tương tác là một loại hành động xảy ra khi hai hoặc nhiều đối tượng có tác động và ảnh hưởng lên nhau.[6] Hình 2.1: Cấu trúc tương tác giữa người và máy Tương tác giữa người và máy (Human Machines Interaction) HMI [1]: Tương tác người-máy được mô tả là sự tương tác và giao tiếp giữa người sử dụng và một máy tính, một hệ thống kỹ thuật năng động, thông qua một giao diện người- máy.Nghiên cứu tương tác con người và máy đã được thực hiện trong hơn 50 năm, tương tác người-máy với các máy công nghiệp và các hệ thống kỹ thuật động lực khác ngày nay được công nhận là cần thiết cho sự an toàn, chất lượng và hiệu quả.Toàn bộhệ thống người sử dụng, giao diện người-máy, và máy được gọi là hệ thống người-máy (HMS). 7
  22. Hì GIAO DIỆN MÁY (Hệ nh NGƯỜI thống kỹ thuật “NGƯỜI – MÁY” DÙNG hoặc ứng 2.2 dụng) : Hệ thống HMS bao gồm người dùng, giao diện người–máy và máy 2.1.2. Một số nền tảng công nghệ tƣơng tác Nền tảng của việc tương tác giữa người và máy là thông qua một giao diện người-máy hay nói cách khác đó là giao diện dành cho người sử dụng để tương tác điều khiển các thiết bị, máy móc Khoa học kỹ thuật ngày càng phát triển cụ thể là từ sau khi xuất hiện các máy vi tính điện năng thấp, chi phí nhỏ, các cảm biến ngày càng tinh vi và chính xác đã mở cửa cho công nghệ HMI ngày càng phát triển với việc ứng dụng nhiều công nghệ khác nhau. [7] 2.1.2.1. Dựa trên công nghệ quang (ánh sáng) Với công nghệ này phần cứng chính thường đuợc sử dụng là Camera, tia Laser, LED, nhưng được sử dụng theo những cách khác nhau. HMI quang thông thường không yêu cầu người dùng chạm vào bất cứ thứ gì mà chỉ cần những chuyển động tay đơn giản, những cử chỉ là có thể dễ dàng sử dụng để tương tác với thiết bị, điều này cho phép nó trở thành một giao diện chung rất hiệu quả. Camera – Computer vision (thị giác máy) Thị giác máy cho phép máy tính quan sát theo dõi và đôi khi nhìn thấy những điều mà chúng ta không nhìn thấy. Cấu tạo gồm một camera được gắn vào một thiết bị điện tử, thông thường có thể là máy tính hay là điện thoại di động. Tất cả những dữ liệu từ máy ảnh được truyền về thiết bị này để xử lý. Việc xử lý dữ liệu đòi hỏi phải thông qua tất cả các điểm ảnh trong khung hình và thực hiện một số các chức năng sửa đổi hoặc phân tích hình ảnh. Việc này khá là chuyên sâu và mất nhiều thời gian để xử lý vì số lượng điểm ảnh có thể lên tới hàng triệu điểm trong 8
  23. một khung hình, trong khi muốn phát hiện chuyển động thì phải sử dụng nhiều khung hình. [7] Một phương pháp tiếp cận để phát hiện chuyển động khá đơn giản đó là chỉ cần một hình ảnh và so sánh hình ảnh đó với những hình ảnh tiếp theo để nhận biết sự chuyển động nếu có sự khác biệt. Điều này chỉ đơn giản nếu như sử dụng một camera tĩnh, một khi sử dụng một camera gắn trên một thiết bị di động thì việc theo dõi phức tạp hơn rất nhiều. Một trong những ứng dụng phổ biến nhất của việc áp dụng thị giác máy trong HMI là sử dụng một camera gắn cố định để nhận dạng và theo dõi cử chỉ tay. Laser và LED’s Việc ứng dụng Laser và LED không phức tạp nhưng có những lợi thế và bất lợi: phần cứng đơn giản nhỏ gọn, nhưng không ứng dụng được cho những hoạt động phức tạp. Điều này không nói rằng Laser và đèn LED không thể thực hiện được các hoạt động phức tạp. Chỉ cần kết hợp nhiều LED hồng ngoại xen kẽ với cảm biến hồng ngoại là có thể tạo ra được một cảm biến cảm ứng đa điểm dựa trên LED, và nó được ứng dụng với màn hình LCD để tạo ra một màn hình cảm ứng đa điểm. Nguyên lý hoạt động hết sức đơn giản: những con LED hồng ngoại được gắn xen kẽ và sát nhau sau thành một mặt phẳng, khi đặt ngón tay gần với đèn LED thì ánh sáng hồng ngoại sẽ chiếu vào đầu ngón tay và được phản xạ trở lại và được các cảm biến hồng ngoại thu nhận. [7] Hình 2.3: Hệ thống ứng dụng Led và Laser 9
  24. Một hệ thống Laser hoạt động theo nguyên tắctương tự như một hệ thống LED, nó bao gồm một nguồn phát laser và một cảm biến ánh sáng laser theo dõi nguồn sáng. Tuy nhiên điều này chỉ có thể thực hiện được với chỉ một tia laser và một cảm biến. [7] Một trong những ứng dụng quan trọng nhất đó là màn hình cảm ứng đa điểm sử dụng công nghệ LED và dùng để xác định khoảng cách. 2.1.2.2. Dựa trên công nghệ âm thanh Công nghệ âm thanh chủ yếu tập trung vào nhận dạng giọng nói và có thể sử dụng để chuyển đổi lời nói thành văn bản, điều khiển hoặc kiểm soát thiết bị hay giao tiếp với máy móc Mục tiêu của nhận dạng giọng nói là để nhận dạng giọng nói của mỗi người với lỗi tối thiểu. Cách làm việc để nhận dạng giọng nói là khi nói chuyện, giọng của chúng ta được thu lại bởi một micro, sau đó được chuyển đổi từ dạng sóng âm thành tín hiệu điện để các máy tính và vi điều khiển có thể sử dụng được, đây là phần dễ dàng. Phần khó nhất là trong việc cố gắng phân tích giọng nói. Sử dụng một kỹ thuật nhận dạng mẫu, máy tính sẽ tách những điểm đặc trưng quan trọng từ giọng nói để phân tích và so sánh với mẫu để nhận dạng một từ. Đây là một vấn đề phức tạp và đòi hỏi nhiều kỹ thuật xử lý khác nhau để cải thiện tín hiệu, chẳng hạn như giảm tiếng ồn và tách âm thanh nền. [7] Nhận dạng giọng nói có một tiềm năng lớn và nhiều điện thoại đã xây dựng phần mềm nhận dạng giọng nói để điều khiển nó. Nếu nhận dạng giọng nói có thể làm việc chính xác thì sẽ có rất nhiều ứng dụng. 2.1.2.3. Dựa trên công nghệ cảm biến điện trƣờng Cảm biến điện trường được tìm ra khi có sự xen vào của cơ thể người hoặc một phần của cơ thể đi vào vùng điện trường giữa điện cực phát và điện cực nhận, đó là lý do làm biến đổi sự dịch chuyển đều đặn mạch từ tại điện cực nhận. 10
  25. Cấu tạo gồm điện cực phát truyền tín hiệu có tần số thấp và điện áp thấp, cùng với điện cực nhận sử dụng mạch phát hiện đồng bộ để phát hiện tín hiệu của điện cực phát thông qua việc thay đổi điện dung của tụ [8]. 2.1.2.4. Dựa trên công nghệ xúc giác Công nghệ tương tác dựa trên cơ sở xúc giác là công nghệ duy nhất yêu cầu người dùng phải tác dụng một lực nhất định lên một cái gì đó. Công nghệ xúc giác (chạm) cổ điển nhất là các nút bấm, nó giống như một công tắc khi người dùng tác dụng vào nút bấm một lực nó sẽ nối tắt hai đầu dây. Nó là thiết bị HMI phổ biến nhất từng được tạo ra và ứng dụng trong nhiều lĩnh vực khác nhau từ bàn phím máy tính, điện thoại di động, các thiết bị giải trí, trong lĩnh vực ô tô Tuy nhiên cũng có hệ thống sử dụng xúc giác bằng cách nhấn trên màn hình. Khi nhấn trên màn hình thì có thể kết nối hai dây dẫn với nhau tạo thành một mạch kín khi đó có thể nhận biết được vị trí nhấn trên màn hình [7]. Hệ thống xúc giác yêu cầu phải tác dụng một lực và nhấn trên giao diện, điều này có nghĩa là phải tác dụng lực ở một mức độ nào đó thì mới có thể phát hiện được, số lượng các chức năng trên một nút bấm ít và phức tạp khi điều khiển nhiều chức năng trên một giao diện. 2.1.2.5. Dựa trên công nghệ chuyển động Công nghệ chuyển động bao gồm tất cả các HMI bằng một cách nào đó có thể phát hiện ra sự chuyển động, con quay hồi chuyển và gia tốc kế là những công nghệ chính được sử dụng. Tuy nhiên những công nghệ này không thường được sử dụng riêng lẻ mà chủ yếu là kết hợp với những cảm biến khác. Một ví dụ điển hình của việc ứng dụng cảm biến chuyển động là iphone, nó sử dụng cả hai con quay hồi chuyển và gia tốc kế. Việc sử dụng con quay hồi chuyển và gia tốc kế không chỉ có khả năng nhận biết chuyển động mà nó có thể sử dụng từ trường để xác định vị trí thông qua vị trí của nam châm. Tuy nhiên có một 11
  26. vấn đề là làm cách nào để các thiết bị khác có thể hoạt động gần một môi trường từ trường như vậy. [7] 2.2. Khái niệm và phân loại về tƣơng tác giữa ngƣời và xe Khái niệm về tương tác giữa người và xe (HVI): là sự giao tiếp, tác động, điều khiển trực tiếp của người dùng và thông tin phảnhồi của xe thôngqua một giaodiệnngười-xe hay thông qua một thiết bị trung gian. [9][14] 2.2.1. Phân loại hình thức tƣơng tác giữa ngƣời và xe Tương tác giữa người và xe được phân loại theo hình thức tương tác bao gồm: tương tác trực tiếp giữa người và xe và tương tác gián tiếp giữa người và xe thông qua một thiết bị trung gian. 2.2.1.1. Tƣơng tác trực tiếp giữa ngƣời và xe Đây là hình thức tương tác giữa người và xe mà trong đó người dùng tương tác trực tiếp với xe thông qua một giao diện người dùng.Tương tác trực tiếp giữa người và xe được chia làm hai khu vực tương tác chính đó là: khu vực tương tác bên ngoài xe và khu vực tương tác ở bên trong trong xe. Khu vực tương tác bên ngoài xe Là toàn bộ khu vực xung quanh bên ngoài cabin xe, ở khu vực ngày người dùng có thể tương tác trực tiếp với khung xe thông qua nút bấm, xúc giác Khu vực tương tác bên trong xe Đây là khu vực người bên trong cabin xe, nơi người dùng phải tương tác nhiều nhất, bao gồm nhiều thao tác phức tạp nên có thể chia làm 3 vùng thao tác cơ bản đó là: thứ nhất, thứ hai, và thứ ba. [10] 12
  27. Hình 2.4: Phân chia các vùng thao tác cơ bản trên xe Vùng thao tác thứ nhất: là vùng quan trọng nhất là nơi người lái quan sát và thu nhận thông tin xung quanh để làm thế nào để có thể điều khiển xe, ví dụ như kiểm soát tốc độ, kiểm tra khoảng cách với các xe khác hoặc các đối tượng khác, nhận biết các tình huống xung quanh để tránh các va chạm. Vùng thao tác thứ 2: bao gồm những chức năng điều hướng xe, và làm tăng tính an toàn cho người lái, chiếc xe và môi trường xung quanh. Ví dụ như điều khiển vô lăng để điều hướng, kích hoạt tín hiệu báo rẽ hay gạt nước cho kính chắn gió, kích hoạt còi Vùng thao tác thứ 3: là tất cả các chức năng liên quan đến hệ thống tiện nghi, thông tin, giải trí trong xe. 2.2.1.2. Tƣơng tác gián tiếp giữa ngƣời và xe thông qua thiết bị trung gian Đây là hình thức tương tác giữa người và xe thông qua một thiết bị trung gian như: điện thoại, máy tính, thiết bị di động Ở hình thức tương tác này, người dùng không cần thiết phải tương tác trực tiếp với xe, mà thay vào đó chỉ cần tương tác với thiết bị trung gian. Sau đó, các thiết bị trung gian này có nhiệm vụ truyền các mệnh lệnh điều khiển của người dùng tới cơ cấu chấp hành được đặt trên xe. 13
  28. Ưu điểm của hình thức tương tác gián tiếp là không phụ thuộc vào khoảng cách giữa người và xe. Có thể tương tác ở các khu vực trong xe và ngoài xe mà không cần phải tương tác trực tiếp với xe. Cấu trúc cơ bản của một hệ thống tương tác gián tiếp giữa người và xe thông quathiết bị trung gian bao gồm một thiết bị đầu và một thiết cuối giao tiếp với nhau thông qua các chuẩn giao tiếp không dây và có dây. Giao diện THIẾT BỊ TRUNG HỆ THỐNG NGƯỜI USB GIAN NHÚNG DÙNG (SMARTPHONE) người dùng TRÊN XE Wifi Hình 2.5: Mô hình cơ bản của một hệ thống tương tác gián tiếp thông qua thiết bị trung gian Mô hình sử dụng chuẩn giao tiếp có dây Trong mô hình này việc truyền tín hiệu điều khiển từ người dùng và nhận các tín hiệu phản hồi từ hệ thống trên xe được thực hiện thông qua các chuẩn giao tiếp RS232, USB do đó việc bảo mật và tốc độ truyền tín hiệu rất cao.Nhưng có một hạn chế là tính linh động không cao nên chỉ có thể ứng dụng để kết nối với hệ thống thông tin giải trí trên xe ngoài ra người dùng còn tận dụng được các tính năng sẵn có và chia sẻ tài nguyên lưu trữ trên thiết bị. Mô hình sử dụng chuẩn giao tiếp không dây Mô hình này ứng dụng các công nghệ giao tiếp không dây để kết nối thiết bị trung gian với xe nên tính di động rất cao có khả năng tương tác với xe ở một khoảng cách xa. Do đó có thể thiết kế được các ứng dụng điều khiển các chức năng từ xa như hệ thống tìm xe, lock/unlock cửa, hay các chức năng giám sát chiếc xe từ xa mọi lúc mọi nơi. Tuy nhiên do là giao tiếp không dây nên khả năng bảo mật và tốc độ truyền nhận tín hiệu thấp. 14
  29. Hình 2.6: Các mô hình kết nối có thể ứng dụng trên xe 2.3. Các xu hƣớng phát triển tƣơng tác giữa ngƣời và xe hiện nay Công nghệ ô tô ngày càng phát triển, các hệ thống trên xe ngày càng phức tạp đòi hỏi thao tác của người lái ngày càng phức tạp. Do đó, đã có nhiều giải pháp nhằm khắc phục tình trạng trên bằng cách áp dụng những công nghệ tương tác mới để hạn chế tối đa sự mất tập trung của người lái trong quá trình lái xe do phải tương tác trực tiếp với các hệ thống trong xe (đây cũng là một trong những lý do chính gây nên tai nạn).Ngoài ra số lượng xe ô tô trên thế giới đang ngày càng tăng nhiều, các hệ thống trở nên phức tạp nên việc kiểm tra tình trạng xe hay kiểm soát chiếc xe của mình ngày càng khó khăn. Vì vậy, trong những năm gần đây đang nổi bật lên các xu hướng tương tác mà nó đã ảnh hưởng sâu sắc đến việc lái xe cũng như kinh nghiệm của người lái như [11]: - Ứng dụng các thiết bị di động trong tương tác giữa người và xe - Tương tác với một hệ thống thông tin giải trí kết hợp. - Tương tác với các chức năng thông minh và tự trị của xe. 15
  30. Ba xu hướng trên hiện đã được các hãng xe ứng dụng trên các mẫu xe ngày càng nhiều. Với thế mạnh của việc tương tác giữa người và xe thông qua thiết bị trung gian là không bị giới hạn khoảng cách tương tác, có thể thực hiện việc tương tác và giám sát chiếc xe mọi lúc mọi nơi. Nên trong luận văn này tác giả đã chọn xu hướng ứng dụng các thiết bị di động cụ thể là ứng dụng smartphone trong việc tương tác giữa người và xe. Và đề xuất thiết kế một hệ thống điều khiển và giám sát từ xa một chiếc xe thông qua smartphone ứng dụng công nghệ wifi và công nghệ Internet di động 3G. 2.4.Khả năng ứng dụng smartphone trong tƣơng tác giữa ngƣời và xe Smartphone là để chỉ chiếc điện thoại tích hợp một nền tảng hệ điều hành di động với nhiều tính năng hỗ trợ tiên tiến về điện toán và kết nối dựa trên nền tảng cơ bản của một điện thoại thông thường. Hay nói cách khác smartphone về cơ bản có thể xem là sự kết hợp giữa thiết bị hỗ trợ cá nhân kỹ thuật số và điện thoại thông thường. Không giống như điện thoại truyền thống, smartphone hoạt động dựa trên nền tảng một hệ điều hành, nền tảng này cho phép smartphone có thể được lập trình, cài đặt và chạy các ứng dụng. Các ứng dụng trên điện thoại thông minh có thể được phát triển bởi các nhà sản xuất thiết bị cầm tay, bởi các nhà điều hành mạng, hay bất kỳ nhà phát triển phần mềm thứ ba khác. Hệ điều hành cho smartphone phổ biến nhất hiện nay là hệ điều hành iOS (Apple), Android (Google), BlackBerry OS (RIM), Windows Mobile (Microsoft), Bên cạnh đó, các smartphone ngày nay có cấu hình tốc độ xử lý mạnh, bộ nhớ lớn, sử dụng màn hình cảm ứng giúp cho người dùng có thể tương tác một cách dễ dàng và nhanh chóng. Ngoài ra trên smartphone còn tích hợp đầy đủ các chuẩn giao tiếp không dây như NFC, Bluetooth, wifi, có thể truy cập Internet ở tốc độ cao ở mọi nơi mà không cần các điểm truy cập wifi cố định nhờ vào khả năng kết nối Internet di động có băng thông rộng như 3G và 4G. 16
  31. Từ những thế mạnh về công nghệ được tích hợp trên smartphone, trong tương lai gần nó sẽ là thiết bị có khả năng ứng dụng lớn nhất để phát triển theo hướng tương tác từ xa để mọi người tương tác với chiếc xe của họ mọi lúc mọi nơi. Ví dụ đơn giản, một chiếc smartphone có thể thay thế cho chức năng của một chiếc chìa khoá, một máy chẩn đoán cầm tay, hay có thể điều khiển mọi thứ trong chiếc xe từ việc chơi nhạc, tìm kiếm thông tin, định vị Hay quan trọng hơn nữa là họ có thể kiểm soát chiếc xe của mình từ xa mọi lúc mọi nơi. Tuy nhiên việc ứng dụng smartphone vào việc tương tác giữa người và xe cũng gặp nhiều khó khăn. Vì việc thiết kế giao tiếp giữa smartphone và xe chủ yếu dựa trên công nghệ không dây, nên việc bảo mật dữ liệu và đảm bảo liên kết là hết sức phức tạp và cũng là vấn đề được các hãng sản xuất tiếp tục nghiên cứu giải quyết. 17
  32. Chƣơng 3 CƠ SỞ LÝ THUYẾT THIẾT KẾ HỆ THỐNG TƢƠNG TÁC GIỮA NGƢỜI VÀ XE THÔNG QUA SMARTPHONE 3.1. Các hệ điều hành, công cụ lập trìnhxây dựng ứng dụng trên smartphone 3.1.1. Phân loại hệ điều hành và các ứng dụng trên smartphone Các hệ điều hành cho smartphone phổ biến nhất hiện nay là hệ điều hành iOS (Apple), Android (Google), Windows Mobile (Microsoft), Do mỗi loại hệ điều hành được viết trên những ngôn ngữ riêng nên để có thể xây dựng được những ứng dụng trên những hệ điều hành đó ta phải sử dụng các ngôn ngữ lập trình khác nhau, như đối với iOS ta dùng Objective-C, Android ta dùng Java, Window Phone ta dùng C#, và cũng chính vì lý do đó nên khi xây dựng một ứng dụng cho hệ điều hành này thì không thể cài đặt nó cho một hệ điều hành khác. Về cơ bản tất cả các ứng dụng trên mobile được chia thành ba loại ứng dụng chính là các ứng dụng Mobile Web, các ứng dụng bản địa (Native App), các ứng dụng lai (Hybird App). 18
  33. Web Hybrid Native Chi phí phát triển Hợp lý Hợp lý Tốn kém Thời gian phát Ngắn Ngắn Dài triển Tính khả chuyển Cao Cao Không có của ứng dụng Hiệu năng xử lý Nhanh Có tốc độ xử lý Rất nhanh giống ứng dụng bản địa nếu cần Các tính năng bản Không có Có Tất cả địa Phát hành qua kho Không có Có Có ứng dụng Khả năng mở rộng Không có Có Có Bảng3.1: Bảng so sánh các ứng dụng trên smartphone Từ bảng so sánh ta thấy việc xây dựng các ứng dụng theo loại Hybrid rất phù hợp để phát triển một ứng dụng trên smartphone và nhu cầu điều khiển của đề tài. Để xây dựng được một ứng dụng Hybrid ta dùng nền tảngmã nguồn mở Phonegap. Ưu điểm của nền tảng mã nguồn mở Phonegap là kết hợp viết trên ngôn ngữ HTML5, Java Script, CSS 3, đây là ba loại ngôn ngữ dễ học, và dễ viết ứng dụng thích hợp cho người lập trình không chuyên. Ngoài ra nền tảng ngôn ngữ Phonegap có khả năng tương thích với các hệ điều hành trên smartphone cao. Có thể cài được ứng dụng trên nhiều hệ điều hành bằng những tuỳ chỉnh nhỏ mà không cần phải lập trình lại từ đầu. 19
  34. 3.1.2. Nền tảng mã nguồn mở Phonegap Phonegap là một framework mã nguồn mở dùng cho vi ệc xây dưṇ g các ứ ng dụng native Applications đa nền tảng bằng cách sử dụng các công ngh ệ web tiêu chuẩn như HTML , CSS, Javascripts. Kiểu ứ ng duṇ g mobile daṇ g này đươc̣ goị là hybrid application (ứng dụng lai ). Phonegap cho phép lập trình ứng dụng một lần nhưng chạy được trên nhiều hệ điều hành khác nhau. [12] Cách thức hoạt động của Phonegap Như đã nói đến từ trước, Phonegap cho phép một nhà phát triển phần mềm xây dưṇ g các ứ ng duṇ g bản địa (native applications) cho các thiết bi ̣mobile (bao gồm cả smartphones và tablets ) bằng cách sử duṇ g các công ngh ệ web như HTML, CSS, JavaScript. Một nhà phát triển phần mềm đóng gói m ột ứng dụng nề n web (web application) thành một ứ ng duṇ g n ative application đươc̣ hỗ trơ ̣ cho từ ng nền tảng mobile dựa vào PhoneGap package. Hình 3.1: Kiến trúc bên trong một ứng dụng Phonegap Trong phaṃ vi của ứ ng duṇ g native application , thì giao di ện làm vi ệc của ứng dụng về bản chất bao gồm duy nhất m ột màn hình và nó cũng giống như m ột khung nhìn web view chiếm duṇ g toàn b ộ không gian màn hình của thiết bị . Khi 20
  35. ứng dụng được khởi chạy thì nó sẽ tải trang khởi taọ của ứ ng duṇ g (thông thường là trang index.html nhưng nhà l ập trình có thể dê ̃ dàng thay đổi thành trang khác ) vào trong khung nhìn web view và sau đó chuyển điều khiển tới web view để cho phép người dùng tương tác với ứng dụng web application . Khi người dùng tươ ng tác với nội dung của ứng dụng (web application ), thì các liên kết links hay các mã JavaScript trong phaṃ vi ứ ng duṇ g đó có thể tải các n ội dung khác từ trong phạm vi các files tài nguyên được đóng gói với ứng dụng này , hay có thể truy c ập thô ng qua mạng network và tải các nội dung từ một website hay từ một server về. [13] Ứng dụng web application chạy trong phạm vi m ột webview cũng giống như bất kì những ứ ng duṇ g web application khác mà chúng đươc̣ chaỵ bê n trong m ột trình duyệt web của mobile . Nó có thể mở các trang HTML khác (theo cả hai cách : một cách điạ phương trưc̣ tiếp trê n thiết bi ̣hay theo cách mở từ m ột webserver đặt ở một nơi nào đó ). JavaScript nhúng vào bên trong các files mã nguồn của ứng dụng chịu trách nhi ệm thưc̣ thi xử lý các điều ki ện logic, ẩn hiện nội dung content nếu cần, chơi các media files, mở các trang pages mới, thưc̣ thi các tính toán, và nhận về nội dung content từ server hay gử i n ội dung content tới server . Giao diện của ứ ng dụng được tạo thành từ HTML và CSS. Một trình duy ệt web mobile thô ng thường khô ng có khả nă ng truy c ập vào các thành phần sâu bên trong thiết bị giố ng như những ứ ng duṇ g chaỵ trưc̣ tiếp trê n thiết bi ̣ (như Contacts , Accelerometer, Camera, Compass, Microphone, ). Để có thể xâ y dưṇ g m ột ứ ng duṇ g mobile thú vi ̣thì ứ ng duṇ g đó cần phải có khả nă ng truy cập vào các thành p hần bê n trong của thiết bi ̣ , vượt ra ngoài m ột trình duy ệt web thô ng thường. PhoneGap trơ ̣ giúp cho điều cần thiết này bằng cách cung cấp ra một bộ các hàm JavaScript APIs , cho phép các nhà phát triển phần mềm có thể sử dụng để tạo nên ứng dụng web application chạy trong môi trường ứng dụng của Phonegap có khả nă ng truy c ập vào các thành phần của thiết bi ̣vươṭ quá giới haṇ ngữ cảnh trình duyệt web. 21
  36. Hình 3.2: Cách thức ứng dụng phonegap tương tác với thiết bị Khi một lập trình viên thưc̣ thi xử lý m ột tính nă ng trong m ột ứ ng duṇ g mà nó có sử duṇ g m ột trong các hàm PhoneGap APIs , thì ứ ng duṇ g goị tới API bằng cách sử duṇ g JavaScript và sau đó m ột lớp layer đ ặc biệt trong ứ ng duṇ g se ̃ dic̣ h hàm PhoneGap API này , để gọi tới hàm native API thích hợp với tính năng tương ứng. 3.2. Phƣơng thức kết nối giữa smartphone và máy server Để smartphone có thể điều khiển được các chức năng trên xe cũng như định vị chiếc xe mọi lúc mọi nơi thì yêu cầu đặt ra là giữa smartphone và xe phải kết nối truyền nhận dữ liệu với nhau. Đây là một vấn đề rất khó khi cả xe và smartphone đều có tính di động rất cao, cũng như không phải lúc nào cũng kết nối được với nhau trong một mạng nội bộ. Để giải quyết vấn đề này tác giả đề ra một giải pháp là sử dụng một máy server trung gian để truyền nhận dữ liệu với máy tính đặt trên xe. Từ cơ sở dữ liệu 22
  37. này xây dựng một webserver để smartphone truy cập và sử dụng cơ sở dữ liệu này. Từ đó viết ra một ứng dụng có chức năng tuỳ chỉnh dữ liệu trên webserver sau đó lấy dữ liệu này làm cơ sở để máy server nhận biết các lệnh điều khiển từ smartphone. Trước khi xây dựng một ứng dụng trên smartphone việc đầu tiên là phải xây dựng được một cơ sở dữ liệu. Để smartphone có thể tương tác được với xe thông qua ứng dụng thì giữa xe và smartphone phải có một cơ sở dữ liệu chung. Từ trên cơ sở dữ liệu đó thông qua lập trình phần mềm LabVIEW trên máy server sẽ xử lý thành các lệnh điều khiển truyền xuống máy tính đặt trên xe. Để tạo cơ sở dữ liệu chung giữa máy server và smartphone ta cần phải xác định những kiểu cơ sở dữ liệu nào phần mềm LabVIEW có thể đọc và ghi những dữ liệu từ xe gửi lên vào cơ sở dữ liệu chung này. Trong LabVIEW hỗ trợ rất nhiều các kiểu cơ sở dữ liệu, trong phần này tác giả chọn kiểu cơ sở dữ liệu kiểu XML. XML (viết tắt từ tiếng Anh eXtensible Markup Language, "Ngôn ngữ Đánh dấu Mở rộng") là ngôn ngữ đánh dấu với mục đích chung do W3C (World Wide Web Consortium) đề nghị, để tạo ra các ngôn ngữ đánh dấu khác. Đây là một tập con đơn giản của SGML, có khả năng mô tả nhiều loại dữ liệu khác nhau. Mục đích chính của XML là đơn giản hóa việc chia sẻ dữ liệu giữa các hệ thống khác nhau, đặc biệt là các hệ thống được kết nối với Internet. Hay nói cách khác vai trò của XML là làm dữ liệu trung gian để các server giao tiếp với nhau. Từ cơ sở dữ liệu XML này xây dựng một webserver với các chức năng đơn giản là nhận và ghi dữ liệu từ smartphone và máy server. Chức năng của webserver này được xây dựng với hai chức năng chính là nhận dữ liệu từ smartphone thông qua webserver sau đó ghi xuống file XML, và chức năng thứ hai là đọc file XML sau đó gửi dữ liệu về smartphone. 3.3. Thiết lập kết nối giữa máy tính trên xe và máy server Để smartphone có thể truy cập và điều khiển các hệ thống trên xe từ xa mọi 23
  38. lúc mọi nơi thì yêu cầu đặt ra là cả smartphone và xe đều phải có kết nối Internet. Nhưng vấn đề đặt ra là xe có tính di động rất cao nên không phải lúc nào cũng có thể kết nối Internet bằng một đường truyền cố định. Do đó muốn chiếc xe có một kết nối Internet ta có một giải pháp là sử dụng mạng Internet di động 3G. Đặc điểm của Internet di động 3G là kết nối IP động, do đó rất khó để cho máy server và máy tính trên xe có thể kết nối và truyền nhận dữ liệu cho nhau. Để giải quyết vấn đề này có một giải pháp là cả hai sẽ kết nối với nhau thông qua một mạng riêng ảo VPN. Về cơ bản lúc này VPN giống như một ngôi nhà chung để máy server và máy tính trên xe có thể đến để truyền nhận dữ liệu với nhau. Cả hai sẽ cùng truy cập lên một server trung gian thông qua kết nối VPN. Server này có nhiệm vụ nhận thông tin điều khiển từ smartphone sau đó gửi về cho xe để thực hiện các lệnh của người sử dụng, và nhận các thông tin từ xe để chuyển lên hiển thị trên smartphone thông qua webserver. 3.3.1. Mạng riêng ảo VPN VPN (Virtual Private Network) là một mạng riêng sử dụng hệ thống mạng công cộng (thường là Internet) để kết nối các địa điểm hoặc người sử dụng từ xa với một mạng LAN ở trụ sở trung tâm. Thay vì dùng kết nối thật khá phức tạp như đường dây thuê bao số, VPN tạo ra các liên kết ảo được truyền qua Internet giữa mạng riêng của một tổ chức với địa điểm hoặc người sử dụng ở xa. 24
  39. Hình 3.3: Mô hình một mạng VPN điển hình Phân loại VPN Phân loại kỹ thuật VPNs dựa trên 3 yêu cầu cơ bản: - Người sử dụng ở xa có thể truy cập vào tài nguyên mạng đoàn thể bất kỳ thời gian nào. - Kết nối nội bộ giữa các chi nhánh văn phòng ở xa nhau - Quản lý truy cập các tài nguyên mạng quan trọng của khách hàng, nhà cung cấp hay các thực thể ngoài khác là điều quan trọng đối với tổ chức hay cơ quan. Dựa vào những yêu cầu cơ bản trên VPN được chia thành: - Mạng VPN truy cập từ xa (Remote Access VPN) - Mạng VPN cục bộ (Intranet VPN) - Mạng VPN mở rộng (Extranet VPN) 3.3.2. Thiết lập một mạng riêng ảo VPN Xây dựng một mô hìnhtruy cập từ xa (Remote Access VPN): Gồm một máy tính làm server VPN và một máy client. Đăng ký một DDNS (Dynamic Domain Name System – Hệ thống tên miền động): DDNS có nhiệm vụ có nhiệm vụ cập nhật địa chỉ IP WAN cho kết nối. 25
  40. IP WAN có hai trường hợp là: IP WAN tĩnh do người sử dụng mua từ nhà cung cấp dịch vu Internet và IP WAN động được cấp phát từ nhà cung cấp dịch vụ Internet và nó luôn thay đổi. Để thuận tiện cho quá trình truy cập người ta sử dụng tên miền thay thế cho IP WAN. Giả sử ta có tên miền là ttp07b.homeip.net tương ứng với địa chỉ IP WAN 118.112.10.156, khi IPWAN thay đổi thành 1 địa chỉ khác như 118.68.9.169 thì dịch vụ DDNS sẽ tự động cập nhật địa chỉ IPWAN mới cho tên miền ttp07b.homeip.net. Như vậy chúng ta không cần quan tâm IP WAN mà chỉ cần nhớ đến tên miền mà thôi. Ta có thể đăng ký tài khoản ở các trang no-ip.com hoặc dyndns.com. Sau khi đăng ký xong thì mở mail kích hoạt tài khoản, vào lại trang no-ip.com hoặc dyndns.com đăng nhập bằng accoutn đã đăng ký rồi tạo một tên miền. Tạo kết nối VNP theo kiểu outgoing trên máy tính đặt trên xe Bước 1: Vào menu Start nhập Network vào ô Search sau đó bấm chuột vào mục Network and Sharing Center để mở một cửa sổ cùng tên, bấm tiếp vào liên kết Setup a new connection or network. Chọn mục Connect to a workplace trong một cửa sổ vừa hiện ra rồi bấm Next để xác nhận. Sau cùng, bấm chuột vào mục Use my Internet connection. Bước 2: Nhập địa chỉ IP hoặc tên miền của máy chủ muốn kết nối. Nếu đang kết nối với một mạng lưới làm việc. Nếu muốn thiết lập kết nối, nhưng không connnect thì đánh dấu chọn vào ô Don’t connect now , nếu không, hãy để trống và bấm Next. Bước 3: Trong cửa sổ tiếp theo, nhập vào tên người dùng và mật khẩu mà quản trị mạng cung cấp, cũng có thể để trống. Bấm Connect. Bước 4: Để sử dụng kết nối VNP vừa tạo, bấm chuột vào biểu tượng Network trong khay hệ thống rồi bấm nút Connect nằm bên dưới tên của kết nối từ danh sách. Bước 5: Trong hộp thoại Connect VPNConnection vừa xuất hiện, hãy nhập vào các thông tin kết nối cần thiết như Domain (tên miền) cùng với Username và Password, sau đó bấm Connect. 26
  41. Bước 6: Nếu không thể kết nối được vào máy chủ VNP, vấn đề có thể là do cấu hình máy chủ, bởi vì VPN có nhiều loại khác nhau. Từ cửa sổ VPN Connection, bấm vào nút Properties. Bước 7: Một cửa sổ có tên VNP Properties hiện ra, tại đây, chọn thẻ Security và chọn một loại kết nối cụ thể của VPN trong mục Type of VNP. Sau cùng, bấm OK để xác nhận và tiến hành kết nối lại với máy chủ. Tạo kết nối theo kiểu incoming trên máy server Bước 1: Vào menu Start, gõ nhập network vào ô Search sau đó bấm chuột vào mục Network and Sharing Center để mở một cửa sổ cùng tên, bấm vào liên kết Change adapter settings trong khung bên trái. Bước 2: Từ cửa sổ Network Connections vừa xuất hiện, bấm chuột vào nút Organize sau đó chọn Layout > Menu bar để làm xuất hiện thanh menu chứa các tùy chọn. Bước 3: Vào menu File > New Incoming Connection để bắt đầu tạo một kết nối VNP theo kiểu Incoming. Trong cửa sổ Who may connect to this computer vừa hiện ra, hãy đánh dấu chọn vào tên các tài khoản người dùng mà muốn cho phép họ kết nối vào máy chủ. Bấm Next để xác nhận. Bước 4: Đánh dấu chọn vào ô Through the Internet trong cửa sổ How will people connect. Bấm Next để xác nhận. Bước 5: Chọn giao thức Internet muốn sử dụng, có thể sử dụng các tùy chọn mặc định của Microsoft. Bấm nút Allow access để xác nhận. Về căn bản, sau khi tạo một kết VPN ta sẽ được một kết nối chung giữa máy tính trên xe và máy server. Bằng các giao thức truyền nhận dữ liệu TCP/IP ta có thể truyền và nhận dữ liệu từ server tới máy tính đặt trên xe mọi lúc mọi nơi với một điều kiện là máy tính trên xe phải có kết nối với mạng riêng ảo VPN. Giao thức TCP/IP (tiếng Anh: Internet Protocol Suite hoặc IP suite hoặc TCP/IP protocol suite - bộ giao thức liên mạng) là một hệ thống giao thức, với mỗi một giao thức là hệ thống các quy định và thủ tục truyền và nhận. 27
  42. Chƣơng 4 THIẾT KẾHỆ THỐNG TƢƠNG TÁC GIỮA NGƢỜI VÀ XE THÔNG QUA SMARTPHONE 4.1. Phƣơng thức kết nối giữa smartphone và xe Có hai hình thức kết nối giữa smartphone và xe đó là hình thức kết nối trực tiếp và hình thức kết nối gián tiếp thông qua một máy server. Hai hình thức này đều có ưu và nhược điểm riêng. Đối với hình thức kết nối trực tiếp có ưu điểm là tốc độ truyền dữ liệu nhanh nên đảm bảo được khả năng tương tác nhanh. Nhưng có một hạn chế là tính bảo mật không cao, phải xây dựng ứng dụng bản địa trên từng hệ điều hành riêng nên đòi hỏi mất rất nhiều thời gian, tiền của và công sức. Đối với hình thức kết nối thông gián tiếp thông qua máy server có nhược điểm là tốc độ truyền dữ liệu chậm hơn đối với hình thức kết nối trực tiếp. Nhưng ngược lại hình thức này có ưu điểm là khả năng bảo mật cao do sử dụng một server chuyên có các tính năng bảo mật tốt, có thể viết các ứng dụng lai trên hệ điều hành smartphone, do đó không bị mất nhiều thời gian, công sức và tiền của, có thể cài đặt được cho nhiều hệ điều hành mà không cần phải viết lại chương trình. Có khả năng nâng cấp hệ thống nhiều hơn khi sử dụng máy server trung gian có tốc độ xử lý cao. Đối với hình thức kết nối trực tiếp giữa smartphone và xe, do đòi hỏi phải xây dựng được một ứng dụng bản địa trên từng hệ điều hành mất nhiều thời gian để xây dựng. Nên đối với hình thức này tác giả sử dụng một ứng dụng có sẵn được lập trình trên hệ điều hành Android là TouchOSC để thiết kế một hệ thống tương tác giữa người và xe thông qua smartphone. Do những ưu điểm của hình thức kết nối gián tiếp giữa smartphone và xe thông qua máy server trung gian, và lý do điều kiện thời gian nghiên cứu ngắn, kinh phí không cho phép nên tác giả chọn hướng đi chính trong đề tài này là sử dụng hình thức kết nối gián tiếp giữa smartphone và xe thông qua một server trung gian. 28
  43. Từ đó đề xuất thiết kế một ứng dụng lai trên smartphone và xây dựng hệ thống tương tác giữa người và xe thông qua smartphone. 4.2. Thiết kế hệ thống tƣơng tác giữa ngƣời và xe thông qua smartphone sử dụng công nghệ Internet di động 3G 4.2.1. Mô hình hệ thống và sơ đồ nguyên lý hoạt động Mô hình hệ thống Yêu cầu phần cứng: Một máy smartphone chạy hệ điều hành Android Một máy tính VPN server sử dụng Windows 7 Một máy tính VPN client sử dụng hệ điều hành Windows 7. Mô hình Remote Access VPN: Gồm một máy tính làm server VPN và một máy client được gắn trên xe. - Máy server Cấu hình: Intel® Xeon® CPU E31230@ 3.20GHz 3.19GHz (2 processors) RAM 1GB IP Address: 103.20.148.73 Subnet Mask: 255.255.255.0 Default Gateway: 103.20.148.254 - Máy client Cấu hình: Intel® Celeron® CPU 1037U @ 1.80GHz 1.80GHz IP Address: 103.20.148.1xx – 200 Subnet Mask: 255.255.255.255 Default Gateway: 103.20.148.254 Yêu cầu phần mềm: Để smartphone có thể tương tác được với xe thì yêu cầu trên xe phải có một hệ thống máy tính kết nối internet và cả hai được kết nối chung trên một máy server. Trên máy server thiết lập một mạng riêng ảo VPN để máy tính trên xe có thể liên kết truyền nhận dữ liệu với máy server mọi lúc mọi nơi không phụ thuộc vào 29
  44. khoảng cách, các điểm truy cập Internet cố định cũng như không phụ thuộc vào cùng một kết nối nội bộ. Trên máy server được cài phần mềm LabVIEW để máy server có thể truyền và nhận thông tin từ máy tính gắn trên xe thông qua giao thức TCP/IP. Máy tính gắn trên xe cũng được cài phần mềm LabVIEW để có thể truyền và nhận thông tin với máy server thông qua giao thức TCP/IP. KHỐI MÁY KHỐI MÁY CLIENT SERVER Bộ thu tín Bộ 3G hiệu GPS Máy tính, Máy tính, Card HDL LabVIEW, MẠNG3G LabVIEW 9090 VPN, Webserver Thu thập dữ liệu và điều khiển các chức năng trên xe MẠN G 3G SMARTPHONE Ứng dụng trên smartphone Hình 4.1: Mô hình kết nối giữa smartphone và xe gián tiếp thông qua máy server 30
  45. Sơ đồ truyền nhận dữ liệu giữa smartphone và máy client trên xe Hình 4.2: Sơ đồ nguyên lý truyền nhận dữ liệu giữa smartphone và máy client 31
  46. Sơ đồ truyền nhận dữ liệu giữa máy client trên xe và máy server Hình 4.3: Sơ đồ nguyên lý truyền nhận dữ liệu giữa máy server và máy client 32
  47. 4.2.2. Lập trình hệ thống Sau khi thiết lập kết nối giữa máy server và máy tính trên xe thông qua mạng riêng ảo VPN, lúc này giũa máy server và máy tính trên xe đã có thể truyền nhận dữ liệu với nhau. Nhưng có một vấn đề là muốn cho máy server và máy tính trên xe có thể truyền và nhận dữ liệu thông qua phần mềm LabVIEW ta cần phải thiết lập một giao thức chung TCP/IP trong phần mềm LabVIEW. 4.2.2.1. Xây dựng Webserver Webserver sử dụng giao thức HTTP để truyền nhận dữ liệu giữa smartphone và máy server với hai nhiệm vụ chính là: - Nhận dữ liệu từ smartphone ghi xuống file XML: Dữ liệu được smartphone gửi lên server theo phương thức POST của giao thức HTTP. Server nhận dữ liệu và ghi vào đối tượng Xml1Dto và lưu dữ liệu vào đối tượng. Sau đó tạo một process cho việc lưu đối tượng Xml1Dtoxuống file XML. Hình 4.4: Đoạn code lập trình lưu dữ liệu gửi lên từ smartphone vào file XML - Đọc file XML, gửi dữ liệu về smartphone: Smartphone gửi yêu cầu lấy dữ liệu theo phương thức GET của giao thức HTTP. Ngay lập tức server tạo một process cho việc đọc dữ liệu file XML đã được lưu ở server. Process sẽ đọc file XML và lưu dữ liệu đọc được vào Xml2Dto. Hình 4.5: Đoạn code đọc dữ liệu từ file XML gửi cho smartphone Hai phương thức GET và POST là các cách thức để gửi dữ liệu lên server. Cả hai cách thức đều được sử dụng để thao tác với dữ liệu trong form nhưng chúng lại có cách hoạt động khác nhau. 33
  48. Hình 4.6: Đoạn code khai báo sử dụng phương thức GET để nhận dữ liệu từ server Phương thức này được sử dụng khi dùng URL để gửi yêu cầu lên server. Có thể không cần Form. Lấy thông tin từ một trang web trong hầu hết các trình duyệt. Dữ liệu gửi đi là một phần trong URL với dạng “&name=value”. Hình 4.7: Đoạn code lập trình sử dụng phương thức POST để gửi dữ liệu lên server Phương thức này có chức năng gửi các giá trị lên server nhưng bắt buộc phải có Form data. Form gửi đi có cấu trúc, dữ liệu cần xử lý nằm trong message body. 4.2.2.2.Lập trình trên smartphone Để lập trình trên smartphone ta sử dụng nền tảng mã nguồn mở Phonegap, các ngôn ngữ lập trình như JavaScript, HTML5, CSS3. Công cụ lập trình Eclipse và Android SDK. CSS3 có chức năng thiết kết giao diện hiển thị là các nút bấm. 34
  49. HTML5 có chức năng tạo cơ sở dữ liệu. JavaScript dùng để lập trình các chức năng trên ứng dụng. Hình 4.8: Đoạn code có chức năng thiết kế hiển thị giao diện trên smartphone Hình 4.9: Giao diện ứng dụng trên smartphone Chức năng của hàm này là thiết kế giao diện các nút bấm hiển thị trên smatphone bằng cách canh lề với màn hình smartphone và khai báo tên chức năng các nút bấm, ứng với mỗi nút bấm ta sẽ gán cho nó một ID riêng. Khi hệ thống hoạt động nó sẽ gọi đến hàm init() 35
  50. Hình 4.10: Hàm init() Hàm này có chức năng sẽ kiểm tra nếu thiết bị sẵn sàng nó sẽ chạy hàm onDeviceReady ngược lại sẽ thông báo lỗi. Trong hàm onDeviceReady có chứa các hàm con xử lý khi ấn các nút trên giao diện. Lập trình chức năng các nút bấm thiết kế trên giao diện Hình 4.11: Đoạn code lập trình chức năng của nút REFESH trên giao diện ứng dụng Khi tác động vào nút REFESH trên giao diện, ứng dụng sẽ mặc định chạy hàm này. Chức năng của hàm này là khi ấn vào nút có id= “refesh” trên giao diện, sẽ thực hiện phương thức GET để nhận dữ liệu, thông tin tình trạng hiện tại của xe thông qua webserver có địa chỉ sauđó hiển thị các dữ liệu này 36
  51. trên ứng dụng. Hình 4.12: Đoạn code lập trình chức năng nút LOCK trên giao diện ứng dụng Nút có id = “lock” trong hàm này được lập trình để có thể thực hiện hai chức năng khác nhau là LOCK và UNLOCK. Khi ấn nút LOCK trên giao diện thì hàm này sẽ kiểm tra trạng thái hiện tại của xe trước. Nếu giá trị ở cột unlock bằng 1 và giá trị ở cột lock bằng 0 thì hiển thị cảnh báo “LOCKING CAR”. Sau đó thực hiện phương thức POST dữ liệu lock bằng 1, unlock bằng 0 lên webserver. Khi thực hiện thành công sẽ hiện thông báo “FINISH”. Lúc này máy server đọc file XML1 có giá trị lock bằng 1 sẽ hiểu là chuyển trạng thái hiện tại là đang mở cửa sang thực thi chức năng khoá cửa. Sau khi thực thi xong lệnh LOCK, id = “lock” cho hiển thị trạng thái “UNLOCK” để biểu diễn trạng thái hiện tại của xe là đang khoá. Chức năng của nút điều khiển này bây giờ chuyển sang chức năng điều khiển mở khoá cửa. 37
  52. Hình 4.13: Đoạn code lập trình chức năng nút UNLOCK trên giao diện ứng dụng Khi ấn nút có id = “lock” trên giao diện thì hàm này sẽ kiểm tra trạng thái hiện tại của xe trước. Nếu giá trị ở cột unlock bằng 0 và giá trị ở cột lock bằng 1 thì hiển thị cảnh báo “UNLOCKING CAR”. Sau đó thực hiện phương thức POST để gán dữ liệu lock bằng 0, unlock bằng 1 lên webserver. Khi thực hiện thành công sẽ hiện thông báo “FINISH”. Lúc này máy server đọc file XML1 có giá trị unlock bằng 1 sẽ hiểu là chuyển trạng thái hiện tại đang khoá cửa sang thực thi chức năng mở khoá. Sau khi thực thi xong lệnh UNLOCK, id = “lock” cho hiện trạng thái “LOCK” để biểu diễn trạng thái hiện tại của xe là đang mở khoá. Chức năng của nút điều khiển này bây giờ chuyển sang chức năng điều khiển khoá cửa. 38
  53. Hình 4.14: Đoạn code lập trình chức năng nút FIND CAR trên giao diện Khi tác động vào nút có id = “findcar” trên giao diện, hàm này sẽ kiểm tra giá trị biến “isStop” nếu bằng 0 thì hiển thị thông báo “FINDING CAR”. Sau đó thực hiện phương thức POST để gán dữ liệu alert bằng 1 lên webserver. Sau khi thực hiện thành công id = “findcar” cho hiện trạng thái STOP để biểu diễn trạng thái hiện tại là đang thực hiện lệnh tìm xe và gán giá trị bằng 1 vào biến “isStop”. Chức năng của nút điều khiển này bây giờ chuyển sang chức năng điều khiển dừng việc tìm xe. 39
  54. Hình 4.15: Đoạn code lập trình chức năng nút STOP trên giao diện Khi tác động vào nút STOP trên giao diện, hàm này sẽ kiểm tra giá trị biến “isStop” nếu bằng 1 thì hiển thị thông báo “STOP FINDING CAR”.Sau đó thực hiện phương thức POST để gán dữ liệu alert bằng 0 lên webserver. Sau khi thực hiện thành công id = “findcar” cho hiện trạng thái FIND CAR để biểu diễn trạng thái hiện tại là không có lệnh tìm xe và gán giá trị bằng 0 vào biến “isStop”. Chức năng của nút điều khiển này bây giờ chuyển sang chức năng điều khiển tìm xe. 40
  55. Hình 4.16: Đoạn code lập trình chức năng nút TURN ON trên giao diện ứng dụng Khi tác động vào nút có id = “turnoff” trên giao diện, hàm này sẽ kiểm tra giá trị biến “power”, nếu bằng 1 thì hiển thị thông báo “TURNING ON YOUR CAR”. Sau đó thực hiện phương thức POST để gán dữ liệu status bằng 0 lên webserver. Sau khi thực hiện thành công sẽ hiện thông báo “FINISH”, tiếp theo id = “turnoff” cho hiện trạng thái TURN OFF để biểu diễn trạng thái hiện tại là xe đang hoạt động bình thường và gán giá trị bằng 0 vào biến “power”. Chức năng của nút điều khiển này bây giờ chuyển sang chức năng điều khiển dừng động cơ khẩn cấp. 41
  56. Hình 4.17: Đoạn code lập trình chức năng nút TURN OFF trên giao diện ứng dụng Khi tác động vào nút có id = “turnoff” trên giao diện, hàm này sẽ kiểm tra giá trị biến “power”, nếu bằng 0 thì hiển thị thông báo “TURNING OFF YOUR CAR”. Sau đó thực hiện phương thức POST để gán dữ liệu status bằng 1 lên webserver. Sau khi thực hiện thành công sẽ hiện thông báo “FINISH”, tiếp theo id = “turnoff” cho hiện trạng thái TURN ON để biểu diễn trạng thái hiện tại là xe đang bị điều khiển chức năng tắt máy và gán giá trị bằng 1 vào biến “power”. Chức năng của nút điều khiển này bây giờ chuyển sang chức năng điều khiển cho hệ thống động cơ hoạt động bình thường. Hình 4.18: Đoạn code lập trình chức năng nút LOCATION trên giao diện Khi tác động vào nút có id = “LOCATION”, sẽ hiện thị thông báo “SHOW LOCATION OF CAR” và sẽ chuyển ứng dụng tới địa chỉ map.html. 42
  57. 4.2.2.3.Lập trình trên máy server Để smartphone và phần mềm LabVIEW có thể giao tiếp truyền nhận dữ liệu cho nhau thì cần phải xây dựng một hệ thống cơ sở dữ liệu chung là cơ sở dữ liệu dạng XML. Ở đây tác giả sử dụng hai file XML bao gồm một file XML2 ghi dữ liệu từ xe gửi lên và một file XML1 đọc các dữ liệu mà điện thoại ghi thông tin dùng điều khiển các chức năng trên xe. Các dữ liệu đầu vào là các dữ liệu chuyển từ máy client trên xe gửi lên thông qua giao thức TCP/IP và sẽ được ghi vào một bảng. Từ bảng này, thông qua một chương trình contrên LabVIEW là Makes XML file để chuyển dữ liệu này vào một file XML có tên XML2, và sử dụng một chương trình con khác là XML File 2 Array để lấy dữ liệu từ một file XML có tên XML1. Cơ sở dữ liệu trên file XML2 bao gồm các dữ liệu thu thập từ GPS là kinh độ, vĩ độ ứng dụng cho việc định vị xe từ xa, dữ liệu thu thập mức nhiên liệu hiện tại trên xe, và các dữ liệu phản hồi từ xe sau khi đã thực hiện xong các lệnh điều khiển từ điện thoại. Cơ sở dữ liệu trên XML1 là cơ sở dữ liệu dùng cho điện thoại ghi các thông tin dùng để điều khiến các chức năng bao gồm lock, unlock, tìm xe, dừng động cơ khẩn cấp. Dữ liệu trên file XML1 bao gồm các cột dữ liệu với các giá trị là 0 hoặc 1. Máy server sẽ đọc các giá trị trong cột này, với giá trị bằng 0 tương ứng với không có tín hiệu điều khiển, và bằng 1 tương ứng với có điều khiển từ smartphone. Chức năng Dừng động Lock Unlock Tìm xe cơ Giá trị khẩn cấp Điều khiển 1 1 1 1 Không điều 0 0 0 0 khiển Bảng 4.1: Bảng giá trị tương ứng với chức năng điều khiển được ghi trên XML1 43
  58. Hình 4.19: Đoạn code có chức năng nhận dữ liệu từ xe gửi lên qua giao thức TCP/IP Chức năng của đoạn codetrên là nhận dữ liệu truyền từ máy tính đặt trên xe gửi lên thông qua giao thức TCP/IP.Bằng cách thiết lập một kết nối TCP/IP với máy tính trên xe thông qua công cụ TCP Open Conection trong labVIEW, trong đóđịa chỉ IP là của máy tính gắn trên xe khi kết nối vào mạng VPN và port 2055 là port được thiết lập gửi tại máy tính trên xe.Sau khi nhận dữ liệu từ kết nối TCP dữ liệu sẽ được tách ra từng phần tử tương ứng với thứ tự trong mảng dữ liệu gửi lên từ máy tính trên xe. Từ những dữ liệu nhận được từ máy tính trên xe sẽ được máy server ghi vào một file XML2, và được đưa lên webserver để smartphone có thể truy cập và lấy dữ liệu thông tin tình trạng hiện tại của xe. 44
  59. Hình 4.20: Đoạn code có chức năng ghi dữ liệu từ xe gửi lên thành file XML2 Chức năng của đoạn code này là sau khi nhận được các dữ liệu từ xe gửi lên sẽ ghi các giá trị nhận được vào một bảng dữ liệu trước khi ghi thành một file XML. Từ bảng dữ liệu này thông qua công cụ Makes XML File trong phần mềm LabVIEW sẽ lấy thông tin từ bảng và thực hiệnghi lại vào trong file XML2. Sau đó lưu file XML2 này trên máy server làm cơ sở dữ liệu cho webserver. Công cụ Makes XML File thực chất là một chương trình nhỏ được lập trình sẵn trong LabVIEWcó chức năng ghi dữ liệu vào một file có định dạng XML. 45
  60. Hình 4.21: Đoạn code có chức năng đọc dữ liệu file XML1 có ghi thông tin điều khiển từ smartphone Chức năng của đoạn code này là đọc dữ liệu từ file XML1 lưu trên máy server, thực hiện xuất ra một bảng chứa các thông tin điều khiển từ smartphone và gửi các giá trị này xuống máy tính trên xe bằng giao thức TCP/IP. Cơ sở dữ liệu trên XML1 là cơ sở dữ liệu dùng cho điện thoại ghi các thông tin điều khiển các chức năng bao gồm lock, unlock, tìm xe, dừng động cơ khẩn cấp. Và là cơ sở dữ liệu trung gian để smartphone có thể giao tiếp với LabVIEW. Trên smartphone được lập trình một ứng dụng có chức năng thay đổi các giá trị trong file XML1 thông qua webserver chứa nội dung XML1. Như vậy gián tiếp thông qua cơ sở dữ liệu trên XML1 ta có thể lập trình trên máy server nhận các thông tin điều khiển từ smartphone, từ đó gửi dữ liệu này xuống máy tính trên xe để thực hiện điều khiển các chức năng. 46
  61. Hình 4.22: Đoạn code có chức năng kiểm tra điều khiển từ smartphone Chức năng của đoạn code này là tách riêng từng dữ liệu nhỏ theo hàng và cột trong bảng dữ liệu đọc từ file XML1, sau đó gửi các dữ liệu này xuống máy tính trên xe thông qua giao thức TCP/IP. Các giá trị thu được là 0 hoặc 1 ở dạng string thông qua một bước so sánh bằng 1 ta sẽ được các tín hiệu kiểm tra điều khiển trên giao diện lập trình LabVIEW, giúp cho việc kiểm tra có sự điều khiển từ smartphone tới máy server được dễ dàng hơn. Hình 4.23: Đoạn code có chức năng truyền dữ liệu từ server tới máy tínhtrên xe 47
  62. Chức năng của đoạn code ở hình 4.23 là tập hợp và xếp theo thứ tự các dữ liệu đọc được từ file XML1 vào một mảng dữ liệu chung, sau đó gửi tới máy tính trên xe thông quagiao thức TCP/IP, với port gửi là 2056. Hình 4.24: Giao diện hiển thị trên máy server dùng để kiểm tra các thông tin Giao diện hiển thị thông tin trên máy server bao gồm các thông tin để nhập địa chỉ IP cho kết nối TCP/IP, các ô chọn đường dẫn file XML1 và XML2 trên máy server, các ô status để kiểm tra thông tin kết nối TCP/IP, và các đèn báo có tín hiệu điều khiển từ smartphone, các bảng hiển thị giá trị truyền và nhận. 4.2.2.4. Lập trình trên máy tính gắn trên xe Chức năng của máy tính gắn trên xe dùng để thu thập các thông tin như định vị GPS, thu thập mức nhiên liệu hiện tại của xe gửi lên máy server. Truyền nhận dữ liệu với máy server và thực thi các lệnh điều khiển từ máy server gửi xuống. 48
  63. Hình 4.25: Đoạn code có chức năng nhận tín hiệu từ server Chức năng của đoạn code này là nhận dữ liệu truyền từ máy server gửi xuống thông qua giao thức TCP/IP.Bằng cách thiết lập một kết nối TCP/IP với máy tính trên xe thông qua công cụ TCP Open Conection trong labVIEW, với địa chỉ IP là của máy servervà port 2056 là port được thiết lập gửi tại máy server. Sau khi mở được một kết nối TCP, dữ liệu nhận được là một mảng dữ liệu chứa nội dung gửi từ máy server. 49
  64. Hình 4.26: Đoạn code có chức năng tách dữ liệu nhận được từ máy server Dữ liệu nhận được sau khi chuyển sang dạng mảng sẽ được tách riêng ra từng phần tử theo thứ tự mảng lúc gửi từ server. Bằng cách thiết lập một hàm so sánh với giá trị mặc định là 1 tương ứng với giá trị điều khiển. Như vậy khi có tín hiệu điều khiển thì cho giá trị là True và ngược lại nếu giá trị điều khiển bằng 0 thì cho giá trị là False. Từ các tín hiệu True/False này sẽ được đưa đến các chân điều khiển trên card giao tiếp LabVIEW với máy tính HDL 9090 để điều khiển các chức năng. Do các chức năng lock, unlock, tìm xe ta không thể điều khiển trong một thời gian dài vì sẽ xảy ra tình trạng hư hỏng thiết bị do đó cần phải lập trình để ngắt tín hiệu điều khiển sau một thời gian ngắn để đảm bảo vẫn điều khiển được chức năng mà không làm hư hỏng thiết bị. Đồng thời gửi báo tín hiệu phản hồi đã nhận được tín hiệu điều khiển gửi về cho máy server. 50
  65. Hình 4.27: Đoạn code thu thập và nhận tín hiệu điều khiểncác chức năng thông qua card giao tiếp LabVIEW với máy tính HDL 9090 Để thu thập được mức nhiên liệu hiện tại của xe ta cần phải biết được đường đặc tuyến mức nhiên liệu theo giá trị điện áp. Bằng cách thu thập điện áp qua cổng ADC1 của card HDL USB 9090 ta đưa vào Fomular chứa phương trình đặc tuyến, kết quả ra ta sẽ được % mức nhiên liệu. Hình 4.28:Đoạn code thu thập tín hiệu GPS Dữ liệu GPS được thu thập qua thiết bị thuGPS modules NEO-6M, thông qua thiết lập một kết nối VISA configure Serial Port trong LabVIEW. Dữ liệu nhận 51
  66. được thể hiện dưới dạng các bản tin được định dạng chuẩn NMEA-183 trên toàn thế giới với các khung bản tin theo vi xử lí chuẩn. Ví dụ modul GPS sẽ trả về bản tin như sau:$GPRMC, 161229.487, A, 3723.2475, N, 12158.3416, W, 0.13, 309.62, 120598,*10 Sau đây là diễn giải của bản tin: Tên Ví dụ Đơn vị Mô tả Giao thức header RMC Message ID $GPRMC (RMC protocol header) Thời gian (UTC Giờ phút giây (% giây) 161229.487 Time) Hhmmss.mmmm A: dữ liệu hợp lệ, V: dữ liệu Tình trạng A không hợp lệ. Vĩ độ (Latitude) 3723.2475 ddmm.mmmm Chỉ dẫn Nam Bắc N N = Bắc hoặc S = Nam Kinh độ (longitude) 12158.3416 dddmm.mmmm Chỉ dẫn Đông Tây W E = Đông hoặc W = Tây Tốc độ trên mặt đất 0.13 Knots Hướng bám trên 309.62 Độ Đúng (True) mặt đất Ngày tháng 120598 ddmmyy Kiểm tra *10 Kiểm tra mã truyền tin (Checksum) Kết thúc bản tin Bảng 4.2: Bảng diễn giải của bản tin Modul GPS gửi về Từ bảng diễn giải này ta thực hiện thao tác tách các ký tự trong bản tin bằng phương pháp tách các ký tự sau message ID là “GPRMC,” sau đó chuyển thành dạng mảng dữ liệu để dễ dàng tách ra từng phần tử. Dựa vào thứ tự của kinh độ và vĩ độ trong bản tin của GPS, ta có thể tách chính xác các giá trị của kinh độ và vĩ độ. 52
  67. Hình 4.29: Đoạn code có chức năng truyền dữ liệu từ xe lên server Chức năng của đoạn code này là chuyển các dữ liệu thu thập và tín hiệu phản hồitới máy sever bằng cách thiết lập một giao thức truyền TCP, với port gửi là 2055. Dữ liệu gửi bao gồm các thông tin về kinh độ, vĩ độ, mức nhiên liệu, và các tín hiệu phản hồi của các chức năng điều khiển được tập hợp và xếp theo thứ tự lại thành mảng dữ liệu. 53
  68. Hình 4.30: Giao diện kiểm tra trên máy tính đặt trên xe Giao diện kiểm tra ở máy tính đặt trên xe bao gồm phần nhập địa chỉ IP máy server, các bảng status để kiểm tra kết nối TCP, các thông số kiểm tra dữ liệu thu thập GPS, các đèn kiểm tra tín hiệu điều khiển. 4.3. Thiết kế hệ thống tƣơng tác giữa ngƣời và xethông qua smartphone sử dụng công nghệ wifi 4.3.1. Mô hình hệ thống và sơ đồ nguyên lý hoạt động Mô hình hệ thống Trong mô hình này tác giả xây dựng một số tính năng điều khiển cơ bản như Lock/Unlock cửa xe, tìm xe trong bãi xe đông đúc, thu thập các tín hiệu tình trạng xe như mức nhiên liệu thực tế trên xe, báo khoảng cách các vật cản phía sau khi lùi xe. Hệ thống bao gồm các thành phần chínhmột máy tính được gắn trên 54
  69. xecó chức năng làm một máy server, một modem phát wifi, một card giao tiếp LabVIEW với máy tính và một smartphone sử dụng hệ điều hành Android hoặc iOS được cài ứng dụng TouchOSC. Hệ thống máy tính trên xe được cấu hình kết nối với modem phát wifi và được gắn trên xe. Được cài đặt phần mềm LabVIEW và được lập trình để có thể kết nối và truyền nhận dữ liệu với smartphone qua giao thức chuẩn TCP/IP. Trên smartphone được cài ứng dụng TouchOSC sau đó thiết kế một giao diện đơn giản để truyền nhận dữ liệu với máy tính được gắn trên xe. Đây là một ứng dụng được xây dựng sẵn cho các hệ điều hành của smartphone. Ứng dụng này có thể gửi và nhận các dữ liệu dạng tin nhắn OSC thông qua giao thức TCP/IP. OSC là một định dạng nội dung cho tin nhắn giữa các máy tính, bộ tổng hợp âm thanh, và các thiết bị đa phương tiện khác. SMARTPHONE Card HDL 9090 Mạng Máy wifi Server Ứng dụng Điều khiển Touch OSC lock,unlock,tìm xe Hình 4.31: Mô hình hệ thống tương tác giữa người và xe sử dụng công nghệ wifi 55
  70. Sơ đồ nguyên lý hoạt động của hệ thống Hình 4.32: Sơ đồ nguyên lý hoạt động truyền nhận dữ liệu giữa smartphone và xe 56
  71. 4.3.2. Lập trình hệ thống 4.3.2.1. Lập trình giao diện cho smartphone Sử dụng phần mềm TouchOSC Editor để thiết kế một giao diện trên smartphone. Khi chạy chương trình TouchOSC Editor ta sẽ thấy một cửa sổ như trong (hình dưới). Ở phía bên trên là các thanh công cụ chỉnh sửa, bên phải là phần chỉnh sửa giao diện. Hình 4.33: Cửa sổ chương trình TouchOSC Editor Để thiết kế giao diện, đầu tiên ta cần định dạng kích cỡ và đặt hướng hiển thị cho giao diện trên smartphone. Trong phần Layout có những định dạng kích cỡ màn hình thông dụng, tuy nhiên chúng ta cũng có thể tự định kích thước của giao diện sao cho phù hợp với kích thước màn hình của smartphone. 57
  72. Hình 4.34: Phần tuỳ chỉnh kích thước giao diện trong phần mềm TouchOSC Editor Thiết kế điều khiển trong giao diện với các công cụ được mặc định sẵn trong phần mềm TouchOSC Editor, tuỳ vào chức năng mà ta lựa chọn công cụ cho phù hợp. Hình 4.35: Bảng công cụ để thiết kế điều khiển Trong thí nghiệm này để thực hiện các chức năng Lock/Unlock cửa, tìm xe, tác giả thiết kế điều khiển bằng các nút nhấn Push Botton để gửi các tín hiệu điều khiển.Chức năng của Push Botton là có thể gửi hai giá trị trong dãy giá trị của nó, một là giá trị thiết lập ban đầu khi chưa ấn và một là giá trị khi có tác động ấn, dựa vào sự khác nhau của hai giá trị này ta có thể gán giá trị OFF ở trạng thái ban đầu và ON ở trạng thái có tác động ấn. Hình 4.36: Hình ảnh nút nhấn loại Push Botton trong TouchOSC 58
  73. Để có thể hiển thị các thông tin hiện tại của xe gửi lên, trong TouchOSC có một công cụ đó là Label. Chức năng của Label là chỉ dành cho mục đích hiển thị và không có tác dụng điều khiển nào khi tác động hoặc gửi một tin nhắn. Giá trị thông số gửi từ xe lên sẽ được hiển thị được ờ cả hai dạng số và văn bản. Hình 4.37: Hình ảnh label trong TouchOSC Hình 4.38: Giao diện đã được thiết kế hoàn thiện trên TouchOSC Editor 4.3.2.2. Lập trình trên máy server Trên máy server ta dùng phần mềm LabVIEW để lập trình các chức năng truyền nhận tín hiệu với smartphone thông qua giao thức UDP. Đây là giao thức cột lõi của giao thức TCP/IP, dùng để gửi những dữ liệu ngắn. 59
  74. Hình 4.39: Đoạn code có chức năng nhận tín hiệu từ smartphone Chức năng của đoạn code này là thiết lập một giao thức chuẩn UDP của giao thức TCP/IP. Nhận dữ liệu thông qua port 8000 là port xuất dữ liệu được thiết lập trên smartphone. Hình 4.40: Đoạn code có chức năng xử lý dữ liệu nhận được từ smartphone Chức năng của đoạn code này là khi có tín hiệu điều khiển trên smartphone, ứng dụng Touch OSC sẽ chuyển một gói dữ liệu dạng OSC tới máy server thông 60
  75. qua cổng 8000. Lúc này trên server được lập trình để nhận dữ liệu từ cổng này sau đó dữ liệuđược biên dịch và chuyển thành dạng dữ liệu chuỗi string. Các chuỗi ký tự này sẽ được chuyển đến các công cụ, được lập trình sẽ cắt các ký tự dư thừa và giữ lại các ký tự đặc trưng cho từng chức năng điều khiển trên smartphone. Cuối cùng các dữ liệu này được chuyển sang dạng số và chuyển tiếp thành tín hiệu dạng True/False. Lập trình bảo mật Trong thiết kế này tác giả thiết lập một bảo mật đơn giản cho trương trình bằng cách sử dụng công cụ Multi-Toggle. Công cụ này thực chất là một nhóm các nút bấm dạng toggle được kết hợp lại, nó cho phép tác động lên nhiều nút bấm trong cùng một lúc. Khi tác động bất kì vào một nút bấm trong Multi-toggle nó sẽ làm thay đổi giá trị của Multi-toggle. Dựa vào tính chất này ta có thể làm một password đơn giản là khi tác động đúng vị trí của nút bấm trên Multi-toggle thì nó sẽ gửi giá trị này xuống máy server. Trên máy server đặt ở xe được lập trình là sẽ so sánh giá trị gửi của Multi-toggle trước tiên, nếu đúng giá trị ta đã mặc định từ trước thì mới cho phép chương trình trên máy server nhận các tín hiệu điều khiển từ smartphone. Bằng cách thu thập các dữ liệu thay đổi khi có tác động vào bảng Multi Toggle, các dữ liệu này được lưu trữ lại bằng cách ghi vào một bảng dữ liệu. Từ các dữ liệu đó ta lọc ra được những dữ liệu đặc trưng khi có tác động vào các nút trên Multi Toggle. Sau đó ta thiết lập một hàm so sánh tất cả các giá trị thu được trên bảng với các giá trị được mặc định sẵn, nếu ta tác động vào đúng các nút trên multi toggle thì sẽ gửi một tín hiệu True và cho phép thực thi các tín hiệu điều khiển từ smartphone. Ngược lại nếu không đúng với các giá trị mặc định sẵn thì sẽ gửi một tín hiệu False và không thực thi các lệnh điều khiển từ smartphone. 61
  76. Hình 4.41: Đoạn codexác nhận mật khẩu trên máy server Hình 4.42: Đoạn code điều kiện dùng để ngắt điều khiển khi sai password 62
  77. Hình 4.43: Đoạn codeđiều kiện dùng để cho phép điều khiển khi đúng password Chức năng của hàm này là một hàm điều kiện với hai điều kiện True hoặc False. Khi nhập đúng password tín hiệu True được gửi tới một Case Structure xác nhận cho điều khiển hoặc ngắt điều khiển khi có tín hiệu False gửi tới. Lập trình truyền tín hiệu từ xe lên smartphone Thông tin mức nhiên liệu được thu thập từ cảm biến mức nhiên liệu, từ các tín hiệu điện áp đưa vào card HDL 9090 để thu thập sau đó giá trị điện áp thu thập này được xử lý thành phần trăm mức nhiên liệu. Dữ liệu sau khi được xử lý sẽ được chuyển thành dạng string và được truyền lên smartphone thông qua hàm truyền. Tại hàm truyền ta nhập địa chỉ IP của điện thoại và cổng nhận 9000 được mặc định trên phần mềm Touch OSC. 63
  78. Hình 4.44: Đoạn code có chức năng truyền tín hiệu mức nhiên liệu từ máy tính server lên smartphone Hình 4.45: Đoạn code có chức năng hiển thị thông tin cảnh báo mức nhiên liệu Lập trình điều khiển các chức năng trên xe thông qua card giao tiếp LanVIEW Để thực hiện các chức năng điều khiển từ máy tính ta dùng card giao tiếp LabVIEW HDL 9090. Khi có tác động vào các nút điều khiển trên smartphone thì phần mềm TouchOSC sẽ chuyển thành dạng dữ liệu OSC và được gửi xuống máy tính server trên xe. Tại đây các dữ liệu này được xử lý thành các tín hiệu dạng True/False và đưa vào thư viện card giao tiếp LabVIEW và cuối cùng trên card giao tiếp sẽ xuất các tín hiệu điều khiển. 64
  79. Hình 4.46:Đoạn code thu thập mức nhiên liệu và điều khiển các chức năng trên xe thông qua card giao tiếp LabVIEW với máy tính HDL 9090 65
  80. Chƣơng 5 THỰC NGHIỆM HỆ THỐNG 5.1. Mục tiêu thực nghiệm chung Những yêu cầu đặt ra đối với hệ thống: - Không làm thay đổi mạch điện của các hệ thống trên xe. - Ứng dụng lập trình trên smartphone phải chạy được, có khả năng điều khiển được các hệ thống trên xe. - Thời gian điều khiển và khả năng cập nhật dữ liệu nhanh, độ trễ cho phép khoảng 3 đến 5 giây. - Máy server hoạt động ổn định trong thời gian dài. - Máy tính đặt trên xe phải thu thập dữ liệu chính xác về định vị và mức nhiên liệu hiện tại. - Tìm ra được những ưu nhược điểm của hệ thống. 5.2. Tiến hành thực nghiệm hệ thống Do chưa có đủ điều kiện trang bị ô tô để tiến hành thử nghiệm nên tôi đã thực hiện quá trình thử nghiệm hệ thống này trên một mô hình hệ thống điện trên xe ô tô. Và tất nhiên mô hình này hoạt động hòan toàn giống với trên xe thực tế và đáp ứng được đầy đủ các yêu cầu của quá trình thử nghiệm. 66
  81. Hình 5.1: Mô hình dùng để thực nghiệm chung cho hai hệ thống 5.2.1. Thực nghiệm hệ thống tƣơng tác giữa ngƣời và xe thông qua smartphone ứng dụng công nghệ wifi Đối với hệ thống tương tác giữa người và xe thông qua smartphone ứng dụng công nghệ wifi do sử dụng kết nối mạng wifi nội bộ nên trong phần thực nghiệm này không sử dụng máy chủ dịch vụ làm server mà dùng ngay máy tính trên xe làm server. Hệ thống bao gồm các thành phần: - Một modem phát wifi - Một máy tính đặt trên xe làm máy server - Một card giao tiếp LabVIEW với máy tính HDL USB 9090 - Một điện thoại smartphone có cài ứng dụng TouchOSC 67
  82. Nguyên lý hoạt động hệ thống Trong phần thực nghiệm này hệ thống yêu cầu smartphone và máy tính trên xe phải kết nối chung một mạng wifi nội bộ. Khi cả hai cùng kết nối chung vào một mạng wifi lúc này modem sẽ cấp cho máy tính trên xe và smartphone một địa chỉ IP xác định cho từng thiết bị. Từ địa chỉ IP này ta thiết lập một giao thức truyền nhận dữ liệu TCP/IP trực tiếp giữa điện thoại và smartphone. Khi có tín hiệu điều khiển trên smartphone ứng dụng TouchOSC sẽ gửi một chuỗi dữ liệu tới máy server. Tiếp theo máy server xử lý phần dữ liệu này và tách ra những kí tự đặc trưng của từng nút ứng dụng. Sau đó dựa vào phần lập trình trên LabVIEW trên máy server sử dụng sự thay đổi này làm lệnh điều khiển các chức năng đơn giản như lock/unlock cửa, tìm xe và báo mức nhiên liệu hiện tại. Quá trình thực nghiệm Đầu tiên ta đấu nối các chức năng điều khiển vào mô hình thật. Sử dụng các rơle và Tip 122 để đấu mạch điều khiển từ các chân điều khiển của card như sau: Hình 5.2: Sơ đồ đấu nối cụm điều khiển lock/unlock Các tín hiệu điều khiển lock, unlock được đưa tới các chân của thư viện card HDL USB 9090. Các chân trên thư viện tương ứng với các chân điều khiển trên 68
  83. card. Từ chân SW2, SW3 khi có tín hiệu điều khiển sẽ xuất ra 5V. Khi có tín hiệu unlock cửasẽ có tín hiệu 5V tại chân SW2, thông qua một điện trở và một TIP 122 dẫn dòng cho cuộn dây, hút tiếp điểm rơ le để dẫn dòng điều khiển motor unlock cửa. Tương tự khi có tín hiệu điều khiển lock cửa tại chân SW3 sẽ có tín hiệu 5V, điều khiển mortor lock cửa. Hình 5.3: Sơ đồ đấu nối cụm loa và đèn báo khi tìm xe trong bãi giữ xe hoạt nơi có không gian lớn Khi có tín hiệu tìm xe sẽ có tín hiệu 5V tại chân SW4, thông qua một điện trở và một TIP 122 dẫn dòng cho cuộn dây, hút tiếp điểm rơ le để dẫn dòng điều khiển loa và đèn tín hiệu để nhận biế vị trí của xe. Hình 5.4: Sơ đồ đấu nối hệ thống báo mức nhiên liệu còn lại trong thùng chứa 69
  84. Đấu chân thu thập tín hiệu điện áp của cảm biến mức nhiên liệu trên xe vào chân thu thập tín hiệu điện áp ADC1 của card HDL USB 9090. Tiến hành thực nghiệm điều khiển các hệ thống lock/unlock, tìm xe trên điện thoại. Thực hiện thao tác điều khiển ở các khoảng cách khác nhau trong vùng phủ sóng wifi. Kết quả thử nghiệm và đánh giá Kết quả thực nghiệm cho thấy hệ thống hoạt động rất tốt và ổn định đáp ứng tốt yêu cầu chung đặt ra đối với hệ thống. Chứng minh được khả năng sử dụng smartphone kết nối trực tiếp với xe trong một mạng wifi nội bộ, không thông qua một webserver trung gian. Tuy nhiên với hệ thống sử dụng mạng wifi nội bộ lại bị giới hạn bởi khoảng cách sóng wifi. Do sử dụng một ứng dụng có sẵn để lập trình nên bị giới hạn bởi các giao diện và chức năng điều khiển. Do đó với mô hình này không đáp ứng được yêu cầu tương tác ở khoảng cách xa, và không thích hợp để xây dựng một hệ thống giám sát và tương tác với xe ở mọi lúc mọi nơi. 5.2.2. Thực nghiệm hệ thống tƣơng tác giữa ngƣời và xe thông qua smartphone ứng dụng công nghệ Internet di động 5.2.2.1. Yêu cầu riêng đặt ra đối với hệ thống - Hiển thị được thông tin vị trí của xe trên bản đồ đối với chức năng định vị. - Máy server hoạt động ổn định, truyền nhận thông tin giữa smartphone và xe tốt. - Đảm bảo được khả năng truyền không giới hạn khoảng cách, có thể điều khiển mọi lúc mọi nơi. - Đảm bảo độ trễ tín hiệu của hệ thống từ 1 đến 5 giây. 70
  85. Các bộ phận của hệ thống Hệ thống tương tác giữa người và xe thông qua smartphone được mô tả cụ thể thông qua sơ đồ sau: GPS Hình 5.5:Mô hình tương tác giữa người và xe thông qua smartphone ứng dụng công nghệ Internet di động Các bộ phận của hệ thống bao gồm:  Điện thoại thông minh (smartphone): Điện thoại smartphone sử dụng trong đề tài nghiên cứu này là điện thoại sử dụng hệ điều hànhAndroid có kết nối Internet (có thể sử dụng bất kì đường truyền Internet nào như 3G, WIFI, GPRS ) Được xây dựng một ứng dụng chạy trên nền tảng Android với giao diện và các chức năng điều khiển đơn giản như lock, unlock, tìm xe, định vị xe, báo mức nhiên liệu hiện tại của xe.  Hệ thống máy chủ server Hệ thống máy chủ server là máy tính thuê dịch vụ có địa chỉ IP cố định là 103.20.148.73. Trên máy tính server có tạo một mạng riêng ảo VPN để cho máy tính trên xe và chạy một webserver để smartphone có thể truy cập mà không cần phải kết nối chung một mạng nội bộ. Được cài đặt phần mềm lập trình LabVIEW và chạy chương trình giao tiếp với máy tính trên xe. 71
  86.  Máy tính đặt trên xe Máy tính đặt trên xe được sử dụng trong đề tài nghiên cứu này là máy mini Box có cấu hình như sau: Intel® Celeron® CPU 1037U @ 1.8GHz 1.80GHz, Ổ cứng:300G, Ram: 2G. Trên máy tính được cài đặt để có thể kết nối mạng Internet thông qua Dcom 3G. Được cài đặt phần mềm lập trình LabVIEW, và chạy chương trình đã được lập trình cho máy tính trên xe.  Các cụm điều khiển trên ô tô Cụm điều khiển khóa mở cửa. Cụm loa và đèn báo khi tìm xe trong bãi giữ xe hoặc nơi có không gian lớn. Cụm GPS để định vị vị trí của xe. Hệ thống báo mức nhiên liệu còn lại trong thùng chứa. Hệ thống dừng động cơ khẩn cấp. 5.2.2.2. Các chức năng của hệ thống Như chúng ta đã biết, hiện nay trên thị trường có rất nhiều những ứng dụng, thiết bị có thể thực hiện những chức năng như khóa cửa từ xa, tìm xe từ xa, hay định vị xe Tuy nhiên, hạn chế lớn nhất của những hệ thống này là chưa xây dựng được một ứng dụng chạy trên hệ điều hành của smartphone, rất khó sử dụng, khi muốn định vị hay giám sát tình trạng của chiếc xe ta phải đang nhập vào webserver. Ngoài ra các hệ thống này sử dụng phương pháp truyền nhận thông tin giữa xe và điện thoại bằng hình thức tin nhắn SMS nên khả năng nâng cấp hệ thống rất khó. Hệ thống tương tác giữa người và xe thông qua smartphone được thiết kế có thể đáp ứng được hầu hết những chức năng kể trên và khắc phục được nhược điểm đó. Sau đây là những chức năng cụ thể được thiết kế trên hệ thống này: Chức năng 1: Hệ thống có khả năng kiểm soát được vị trí hiện tại của xe thông qua điện thoại thông minh dù người chủ xe và phương tiện của mình không ở cùng nhau. Nói cách khác, dù bạn ở bất cứ nới đâu, bạn cũng có thể biết được xe 72
  87. của mình đang ở vị trí nào, đang di chuyển hay đứng yên. Và dữ liệu này cũng được cập nhật liên tục trên điện thoại của bạn hoạt khi bạn cần định vị vị trí xe của mình. Chức năng 2: Hệ thống có khả năng thực hiện chức năng khóa mở cửa từ xa thông qua điện thoại mà không bị giới hạn khoảng cách. Trong nhiệm vụ này, trạng thái hiện tại của xe là đang khóa hay mở cũng được báo cho người dùng biết. Điều này rất có ý nghĩa khi chúng ta đỗ xe mà quên không khóa cửa. Chức năng 3: Chức năng thứ 3 mà hệ thống có thể thực hiện được đó là dừng hoạt động của động cơ trong trường hợp khẩn cấp hoặc mất xe. Với chức năng này, người chủ xe nếu phát hiện xe có sự cố hoặc bị mất cắp thì có thể điều khiển cho xe dừng hoạt động. Cũng như những chức năng kể trên, việc dừng hoạt động được thực hiện bằng một thao tác rất đơn giản trên smartphone và hoàn toàn không phụ thuộc vào khoảng cách. Chức năng 4: Một chức năng nữa của hệ thống đó là ứng dụng cho phép tìm xe ở những nơi có không gian lớn, hoặc những bãi xe khó quan sát và ghi nhớ vị trí khi đỗ xe, hay như những trường hợp người đỗ xe và người lấy xe khác nhau. Cũng như những ứng dụng hiện có, ứng dụng này khi hoạt động sẽ cho phép ô tô nhấp nháy đèn và phát ra âm thanh để giúp đẽ dàng tìm được xe. Tuy nhiên hơn hẳn những ứng dụng hiện tại là việc tìm xe này cũng không có giới hạn về khoảng cách. Chức năng 5: Ngoài những chức năng kể trên, hệ thống này còn cho phép người dùng kiểm soát được mức nhiên liệu còn lại trong thùng nhiên liệu của ô tô mà không phải mở nắp thùng xăng hay bật khóa xe và quan sát đồng hồ tablue. Chức năng này giúp người lái chủ động trong việc kiểm soát nhiêu liệu của xe trước khi sử dụng xe. Bên cạnh những chức năng vừa kể trên mà hệ thống có thể thực hiện được thì khả năng nâng cấp mở rộng hệ thống là rất lớn. Với những kết cấu phần cứng khác nhau, chúng ta có thể viết rất nhiều ứng dụng để kiểm soát cũng như điều khiển ô tô thông qua smartphone. 73
  88. 5.2.2.3. Nguyên lý hoạt động của hệ thống Để thực hiện được các chức năng như đã kể trên hệ thống phải hoạt động dựa trên nguyên lý như sau: Đầu tiên khi thực hiện một lệnh bất kì trên ứng dụng, dữ liệu sẽ lập tức được ghi lên hoặc lấy về từ webserver có địa chỉ /fastMobile - Server/Service. Tiếp theo trên máy server, chương trình LabVIEW sẽ đọc cơ sở dữ liệu của web này đó là file XML1 từ đó lọc ra các giá trị 0 và 1 ở các cột lock, unlock, tìm xe, tắt động cơ, đó là các cột mà các nút bấm tương ứng trên giao diện gán giá trị vào. Ví dụ như người dùng ấn nút lock thì ứng dụng sẽ gán giá trị bằng 1 vào cột lock trên file XML1 thông qua webserver. Ứng với giá trị 0 là không có điều khiển và ứng với giá trị bằng 1 là thực hiện điều khiển hệ thống tương ứng với nút điều khiển trên giao diện. Tiếp theo máy server gửi các dữ liệu này xuống máy tính đặt trên xe thông qua giao thức TCP/IP.Và cuối cùng máy tính đặt trên xe nhận các dữ liệu này gửi tín hiệu điều khiển card giao tiếp LabVIEW điều khiển các chức năng mong muốn. Sau đó gửi tín hiệu phản hồi về cho máy server. 5.2.2.4. Sơ đồ đấu nối các bộ phận và cụm chi tiết Thực hiện thao tác đấu dây các hệ thống trên mô hình với card giao tiếp LabVIEW với máy tính HDL 9090. Với các cách kết nối điều khiển lock, unlock, tìm xe như đã nêu ở phần 5.2.1 và thêm các phần kết nối thu thập tín hiệu GPS, điều khiển tắt động cơ khẩn cấp. Phần định vị GPS sử dụng trong thực nghiệm này là GPS modules NEO-6M, model GY-GPS6MV2. Sau khi cài đặt Driver cho thiết bị có thể kết nối với máy tính qua cổng USB của máy tính. 74
  89. Kết nối qua cổng USB của máy tính trên xe Hình 5.6: Kết nối hệ thống định vị GPS với máy tính trên xe Hình 5.7: Sơ đồ đấu nối hệ thống dừng động cơ khẩn cấp Khi có tín hiệu điều khiển tắt động cơ khẩn cấp tại chân SW1 của card HDL USB 9090 sẽ ngắt điện áp 5V. Lúc này sẽ làm cho TIP 122 không dẫn và sẽ ngắt rơ le điều khiển EFI là làm cho động cơ dừng hoạt động. 75
  90. Hình 5.8: Sơ đồ đấu nối cụm điều khiển lock/unlock Hình 5.9: Sơ đồ đấu nối cụm loa và đèn báo khi tìm xe trong bãi giữ xe hoạt nơi có không gian lớn 76
  91. Hình 5.10: Sơ đồ đấu nối hệ thống báo mức nhiên liệu còn lại trong thùng chứa 5.2.2.5. Thực nghiệm hê thống Quá trình thử nghiệm được thực hiện trong các điều kiện sau: - Mô hình được kết nối hoàn chỉnh với các thiết bị - Máy tính đặt trên xe (mô hình) được kết với Internet thông qua đường truyền 3G và phải được kết nối với máy server thông qua mạng riêng ảo VPN. - Điện thoại thông minh (Smartphone) được kết nối với Internet (3G, Wifi, GPRS ) và được cài đặt ứng dụng “fastMobileAndroid”. - Máy chủ server chạy file LabVIEW đã được lập trình cho máy server. - Các thiết bị sử dụng nguồn điện DC 12V được cung cấp từ ắc quy của xe ô tô. Tiến hành thực nghiệm Bước 1. Đấu nối tất cả các thiết bị theo sơ đồ ở phần 5.2.2.4 Bước 2. Cấp nguồn cho hệ thống và khởi chạy thiết bị. Kiểm tra thử hoạt động của từng chi tiết. Bước 3. Khởi chạy các chương trình và thiết lập kết nối ban đầu cho hệ thống. Kiểm tra quá trình kết nối giữa các thiết bị. Bước 4. Kết nối Internet máy tính gắn trên xe bằng Dcom 3G. 77
  92. Bước 5. Đăng nhập máy tính gắn trên xe vào VPN server. Bước 6. Chạy hệ thống server và máy tính trên xe. Bước 7. Chạy ứng dụng fastMobileAndroid trên smartphone. Bước 8. Tiến hành thực nghiệm trong các trường hợp smartphone kết nối Internet bằng 3G, wifi, GPRS. Điều khiển các hệ thống lock/unlock, tìm xe trên ứng dụng đã được lập trình. Tiến hành thực hiện các chức năng của hệ thống ở các thời điểm, khoảng cách và tốc độ đường truyền khác nhau. Kiểm tra, thu thập và phân tích kết quả. Đo thời gian trễ từ khi ấn nút điều khiển đến khi chức năng hoạt động trên mô hình nhiều lần. Kiểm tra chức năng định vị và hiển thị trên bản đồ. 5.2.2.6. Kết quả thu đƣợc Điện thoại smartphone đã thực hiện được việc thu nhận và truyền tín hiệu điều khiển tới máy tính đặt trên xe thông qua máy server. Ứng dụng chạy trên hệ điều hành nhanh,và ổn định. Thực hiện được đầy đủ các chức năng mong muốn, hiển thị được vị trí hiện tại và thể hiện rõ trên bản đồ. Tốc độ xử lý các lệnh truyền và nhận thông tin từ server tới smartphone ổn định. Đường truyền kết nối từ máy tính trên xe tới smartphone ổn định (do thực hiện trên mô hình nên chưa kiểm tra được kết nối Internet khi gắn trên xe thực). Các chức năng của hệ thống điều hoạt động ổn định theo đúng yêu cầu đặt ra ban đầu.Khi thực hiện các lệnh như khóa cửa, tìm vị trí xe, dừng động cơ khẩn cấp trên giao diện của ứng dụng fastMobileAndroid thì các bộ chấp hành trên xe điều hoạt động với độ trễ nằm trong yêu cầu từ 0.2 đến 3 giây. 78
  93. Hình 5.11: Tính toán thời gian trễ của hệ thống bằng công cụ Elapsed Time Chức năng của đoạn code này là tính thời gian truyền và nhận một gói tin từ máy server tới máy tính gắn trên xe thông qua công cụ Elapsed Time. Sau đó thực hiện các phép tính toán theo công thức tính độ trễ trung bình ta thu được kết quả là độ trễ của hệ thống. Với độ trễ trung bình của hệ thống được tính bằng công thức: Độ trễ trung bình S Thời gian gửi đi S − Thời gian nhận phản hồi S − Thời gian vòng lặp S = 2 Kết quả thực nghiệm độ trễ trung bình của hệ thống trong 15 lần đo với các chức năng điều khiển khác nhau thu được bảng sau: 79