1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone

118 15 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 118
Dung lượng 5,96 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Một phương tiện giao thông thông minh được trang bị các thiết bị và cảm biến để thông báo cho tài xế biết tình trạng của xe và hiện đại hơn nữa là một hệ thống xe tự hành và đó là lý do

Trang 1

KHOA ĐIỆN - ĐIỆN TỬ

ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THÔNG

THI CÔNG VÀ THIẾT KẾ MÔ HÌNH XE TỰ HÀNH

THEO CHỈ DẪN TỪ SMARTPHONE

GVHD: ThS.NGUYỄN VĂN HIỆP SVTH: NGUYỄN VĂN NAM MSSV: 12141143

SVTH: TRƯƠNG HOÀNG PHÚ MSSV: 12141171

Tp Hồ Chí Minh, tháng 07/2016

S K L 0 0 4 4 9 7

Trang 2

Bộ Môn Điện Tử Công Nghiệp

Tp Hồ Chí Minh, ngày tháng năm 2015

LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP

Họ tên sinh viên 1: Trương Hoàng Phú

Họ tên sinh viên 2: Nguyễn Văn Nam

Tên đề tài: Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ Smartphone

tài

tìm mua mô hình xe

cầu đề ra ban đầu

 Tiếp tục tìm mua mô hình xe phù hợp (nếu chưa có)

 Giao thức truyền thông Internet Client – Server

 Cách sử dụng máy chủ ảo Google Spreadsheets

 Hệ thống định vị toàn cầu GPS

cương về KIT STM32F103VET6

 Nghiên cứu cách điều khiển module Arduino Nano

 Tìm hiểu cách sử dụng và giao tiếp giữa vi điều khiển với các module và cảm biến có sử dụng

Tuần 6+7+8+9  Tương tác dữ liệu giữa vi điều khiển ARM với

máy chủ và điện thoại với máy chủ

 Nghiên cứu cơ bản về hệ điều hành Android

 Tích hợp Google Maps API, Places API vào trong Android Project

 Viết ứng dụng điều khiển, giám sát và thiết lập hoạt động cho xe

Tuần 10+11  Viết chương trình cho vi điều khiển thực hiện

các chức năng đã đề ra ban đầu

 Thiết kế và thi công các mạch chức năng

 Hoàn thành mô hình

Trang 3

sản phẩm

Tuần 14+15 Viết báo cáo, tạo slide báo cáo

GV HƯỚNG DẪN (Ký và ghi rõ họ và tên)

Trang 4

PHIẾU ĐÁNH GIÁ KHÓA LUẬN TỐT NGHIỆP

I Thông tin chung

- Họ và tên sinh viên: Nguyễn Văn Nam MSSV: 12141143

- Họ và tên sinh viên: Trương Hoàng Phú MSSV: 12141171

- Tên đề tài: THI CÔNG VÀ THIẾT KẾ MÔ HÌNH XE TỰ HÀNH THEO CHỈ DẪN

TỪ SMARTPHONE

- Họ và tên giáo viên hướng dẫn: Nguyễn Văn Hiệp

II Nhận xét về khóa luận

2.1 Đánh giá chung (hoàn thành bao nhiêu phần trăm mục tiêu của đề tài):

2.2 Ưu điểm của đề tài:

2.3 Khuyết điểm của đề tài:

2.4 Thái độ làm việc của sinh viên:

2.5 Kết quả chính thu được:

2.6 Đề nghị: Được bảo vệ Không được bảo vệ

Trang 5

1 Thông tin sinh viên

Họ và tên: Trương Hoàng Phú MSSV: 12141171

Họ và tên: Nguyễn Văn Nam MSSV: 12141143

Tên của đề tài: THI CÔNG VÀ THIẾT KẾ MÔ HÌNH XE TỰ HÀNH THEO

HƯỚNG DẪN TỪ SMARTPHONE

Mục đích của đề tài: cũng cố các kiến thức chuyên ngành cũng như trao dồi các kiến thức mới và các kỹ năng để chuẩn bị cho các công việc sắp tới sau khi tốt nghiệp Thiết kế ra một sản phẩm công nghệ có tiềm năng phát triển trong tương lai tại Việt Nam trong lĩnh vực giao thông vận tải

Đồ án tốt nghiệp được thực hiện tại: Bộ môn Điện Tử Công Nghiệp, Khoa Điện - Điện

Tử, Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh

Thời gian thực hiện: Từ ngày 21/3/2016 đến 7/7/2016

- Tìm hiểu hệ thống định vị toàn cầu GPS

- Nghiên cứu VĐK ARM STM32F10x, đại cương về KIT STM32F103VET6 Viết chương trình điều khiển cho VĐK này bằng phần mềm KeilC v5, khai báo sử dụng các ngoại vi

- Nghiên cứu cách điều khiển KIT Arduino Nano, viết chương trình điều khiển cho

nó với Arduino IDE

- Tìm hiểu cách sử dụng các module cảm biến, giao tiếp chúng với vi điều khiển để thực hiện các chức năng như định vị, tránh vật cản tĩnh, xác định hướng đi

- Nghiên cứu và ứng dụng giao thức truyền thông Client – Server

- Tìm hiểu cách sử dụng Google Spreadsheets (máy chủ ảo)

- Tìm hiểu hệ điều hành Android, cách sử dụng phần mềm Android Studio

- Viết ứng dụng điện thoại để điều khiển, giám sát và thiết lập hoạt động cho mô hình Đăng ký API Key cho ứng dụng

- Tính toán thiết kế và thi công các mạch chức năng (nguồn, công suất)

- Thi công mô hình hoàn chỉnh

- Vận hành thử mô hình

- Cân chỉnh mô hình

- Viết cuốn báo cáo đề tài

- Báo cáo đề tài tốt nghiệp

Trang 6

nghiên cứu của chúng tôi dưới sự hướng dẫn Thạc sỹ Nguyễn Văn Hiệp

Các kết quả công bố trong ĐATN là trung thực và không sao chép từ bất kỳ công trình

Trang 7

i

Đề tài này là do chúng tôi tự thực hiện dựa vào một số tài liệu và không sao chép từ tài liệu hay công trình đã có trước đó Nếu có bất kỳ sự gian lận nào chúng tôi xin chịu trách nhiệm về nội dung đồ án của mình

TP.HCM, ngày 7 tháng 7 năm 2016

Người thực hiện

Nguyễn Văn Nam Trương Hoàng Phú

Trang 8

ii



Chúng em xin chân thành cảm ơn quý thầy, cô Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM đã tận tình dạy dỗ chúng em trong suốt những năm qua Trong đó phải kể đến quý thầy cô trong khoa Điện – Điện Tử đã truyền đạt những kiến thức, kinh nghiệm cùng với sự đam mê của mình như đốt lên những ngọn lửa đam mê khám phá trong mỗi chúng em và rồi từ những kiến thức, đam mê đó chúng em kết lại thành một đồ án cuối cùng, đồ án tốt nghiệp do chính tay mình tạo ra, nó như một bàn đạp đầu tiên để bước vào những cánh cửa lớn hơn

Đặc biệt, nhóm xin chân thành cảm ơn thầy Nguyễn Văn Hiệp đã tận tình giúp đỡ chúng em trong quá trình lựa chọn đề tài và hỗ trợ chúng em trong quá trình thực hiện đề tài Trong quá trình thực hiện đồ án cũng xảy ra nhiều khó khăn, thiếu sót nhưng được sự đôn đốc và góp ý của thầy chúng em đã gặt hái được nhiều kiến thức và kinh nghiệm Một lần nữa chúng em xin cảm ơn thầy Bên cạnh đó, nhóm chúng em xin cảm ơn thầy Nguyễn Đình Phú, thầy Nguyễn Tấn Như đã cho chúng em mượn phòng D401 để tham khảo tài liệu và thực hiện đồ án Và cũng gửi lời cảm ơn đến những người bạn đã đóng góp ý kiến, động viên tinh thần giúp cho nhóm thực hiện đề tài đạt hiệu quả hơn

Cuối cùng, chúng con chân thành cảm ơn sự động viên và hỗ trợ của gia đình và cha mẹ trong suốt thời gian học tập Chúng con xin gửi lời cảm ơn trân trọng nhất đến cha mẹ, người đã sinh ra và nuôi dưỡng chúng con nên người cũng như là tạo điều kiện thuận lợi để chúng con có thể hoàn thành đề tài của mình

TP.HCM, ngày 7 tháng 7 năm 2016

Sinh viên thực hiện đồ án

Trang 9

iii

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

MỤC LỤC iii

LIỆT KÊ HÌNH VẼ v

LIỆT KÊ BẢNG vii

TÓM TẮT viii

Chương 1 TỔNG QUAN 1

1.1 ĐẶT VẤN ĐỀ 1

1.2 MỤC TIÊU 2

1.3 NỘI DUNG NGHIÊN CỨU 2

1.4 GIỚI HẠN 2

1.5 BỐ CỤC 3

Chương 2 CƠ SỞ LÝ THUYẾT 4

2.1 HỆ THỐNG ĐỊNH VI TOÀN CẦU (GPS) VÀ HỆ TOẠ ĐỘ ĐỊA LÝ 4

2.2 GIAO THỨC HTTP– TCP/IP 9

2.2.1 TCP/IP 9

2.2.2 GIAO THỨC HTTP 10

2.3 HỆ ĐIỀU HÀNH ANDROID 15

2.3.1 TỔNG QUAN 15

2.3.2 GIỚI THIỆU VỀ NỀN TẢNG CỦA HỆ ĐIỀU HÀNH ANDROID: 16

Chương 3 TÍNH TOÁN VÀ THIẾT KẾ 24

3.1 TỔNG QUAN VỀ YÊU CẦU THIẾT KẾ HỆ THỐNG 24

3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 25

3.2.1 THIẾT KẾ SƠ ĐỒ ĐIỀU KHIỂN 26

3.2.2 TÍNH TOÁN VÀ THIẾT KẾ MÔ HÌNH XE 27

3.2.3 SERVER INTERNET 41

3.2.4 PHẦN MỀM ỨNG DỤNG TRÊN ĐIỆN THOẠI 45

Chương 4 THI CÔNG HỆ THỐNG 49

4.1 THI CÔNG HỆ THỐNG: 49

4.1.1 BOARD ĐIỀU KHIỂN 49

4.1.2 GIAO TIẾP MODULE WIFI VỚI WEB SERVER (GOOGLE SPREADSHEET) 50

4.2 LẬP TRÌNH BOARD ĐIỀU KHIỂN 54

4.2.1 NỘI DUNG CHƯƠNG TRÌNH ĐIỀU KHIỂN 54

4.2.2 LƯU ĐỒ GIẢI THUẬT 55

Trang 10

iv

4.2.4 CHƯƠNG TRÌNH TRÊN BOARD ĐIỀU KHIỂN 65

4.3 LẬP TRÌNH ỨNG DỤNG TRÊN ANDROID 68

4.3.1 NỘI DUNG CHƯƠNG TRÌNH ANDROID 68

4.3.2 LƯU ĐỒ GIẢI THUẬT 69

4.3.3 PHẦN MỀM ANDROID STUDIO 73

4.3.4 CHƯƠNG TRÌNH TRÊN ANDROID 74

4.4 HƯỚNG DẪN SỬ DỤNG VÀ VẬN HÀNH HỆ THỐNG 87

4.4.1 HỆ THỐNG XE 87

4.4.2 PHẦN MỀM ĐIỆN THOẠI 87

Chương 5: KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 90

5.1 SẢN PHẨM SAU KHI HOÀN THÀNH 90

5.1.1 MÔ HÌNH XE 90

5.1.2 ỨNG DỤNG TRÊN ĐIỆN THOẠI 91

5.2 KẾT QUẢ CHẠY HỆ THỐNG 93

5.2.1 MÔ HÌNH XE 93

5.2.2 ỨNG DỤNG TRÊN ĐIỆN THOẠI 97

5.2.3 CLOUD SERVER (GOOGLE SPREADSHEETS) 98

5.3 KIẾN THỨC CÓ ĐƯỢC TRONG QUÁ TRÌNH THIẾT KẾ SẢN PHẨM 98

Chương 6 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 99

6.1 KẾT LUẬN 99

6.2 HƯỚNG PHÁT TRIỂN 99

TÀI LIỆU THAM KHẢO 100

PHỤ LỤC 101

Trang 11

v

Hình 2.1: Cách sắp xếp kinh độ và vĩ độ trên trái đất 6

Hình 2.2: Phân bố kinh tuyến trên trái đất 7

Hình 2.3: Biểu thức toạ độ của tích vô hướng 8

Hình 2.4: Biểu diễn đoạn đường di chuyển AD trên mặt phẳng toạ độ 9

Hình 2.5: Mô hình truyền dữ liệu của TCP/IP 10

Hình 2.6: Mô hình truyền thông Client – Server 11

Hình 2.7: Cấu trúc của một URL 12

Hình 2.8: Quy trình hoạt động của kết nối HTTP 13

Hình 2.9: Cú pháp của một HTTP yêu cầu 14

Hình 2.10: Cú pháp của một HTTP trả lời 15

Hình 2.11: Kiến trúc của HĐH Android 16

Hình 2.12: Nội dung mặc định của một Manifest.xml 17

Hình 2.13: Nội dung mặc định của một tập tin java 18

Hình 2.14: Tạo một Activity mới 18

Hình 2.15: Vòng đời của một Activity 19

Hình 2.16: Chuyển đổi giữa 2 Activity 20

Hình 2.17: Vòng đời của một Service 21

Hình 2.18: Một số thiết bị/cảm biến định vị GPS 21

Hình 2.19: Một số thiết bị/cảm biến đo khoảng cách 22

Hình 2.20: Xử lý ảnh cho xe ô tô 22

Hình 2.21: Cảm biến la bàn số HMC5883L 22

Hình 3.1: Sơ đồ khối của hệ thống 25

Hình 3.2: Sơ đồ điều khiển 26

Hình 3.3: Mô hình xe 27

Hình 3.4: Hình dáng và sơ đồ mạch điện bên trong của TIP122 28

Hình 3.5: Sơ đồ nguyên lý của khối khuếch đại công suất 29

Hình 3.6: Hình module ESP8266-01 30

Hình 3.7: Module GPS Ublox Neo 7M 31

Hình 3.8: Module cảm biến HMC5883L 32

Hình 3.9: Vector lực từ tại điểm đo 32

Hình 3.10: Hình ảnh thực tế cảm biến siêu âm SRF-05 33

Hình 3.11: Dạng sóng điều khiển và phản hồi của SRF-05 34

Hình 3.12: Dạng sóng điều khiển động sơ RC Servo 9G 34

Hình 3.13: Khung truyền của UART 36

Hình 3.14: IC ổn áp 5V LM7805 38

Hình 3.15: Sơ đồ kết nối IC ổn áp 5V LM7805 38

Hình 3.16: Hình ảnh thực tế IC AMS1117 38

Hình 3.17: Sơ đồ kết nối IC AMS1117 39

Hình 3.18: Sơ đồ mạch của khối nguồn 40

Hình 3.19: Sơ đồ nguyên lý phần kết nối 40

Hình 3.20: Sơ đồ nguyên lý phần mạch công suất 41

Hình 3.21: Giao diện của một Spreadsheet 42

Hình 3.22: Tạo một Google Form mới 43

Hình 3.23: Sửa tên cho các tiêu đề 43

Trang 12

vi

Hình 3.25: Tạo thành công một Spreadsheets 44

Hình 3.26: Form hoàn chỉnh 44

Hình 3.27: Giới thiệu 45

Hình 3.28:Trợ giúp 46

Hình 3.29: Cảnh báo(trái), Hoàn thành(phải) 46

Hình 3.30: Điều khiển 47

Hình 4.1: Sơ đồ mạch in phần mạch nguồn 50

Hình 4.2: Sơ đồ mạch in phần mạch công suất 50

Hình 4.3: Lỗi 400 Bad Request từ máy chủ 51

Hình 4.4: DeviceID 52

Hình 4.5: Máy chủ cập nhật dữ liệu mới được yêu cầu 52

Hình 4.6: Máy chủ chứa dữ liệu đường đi 53

Hình 4.7: Dữ liệu trả về từ máy chủ khi được yêu cầu 53

Hình 4.8: Dữ liệu nhận về ESP8266 54

Hình 4.9: Chọn dòng Arm sử dụng 63

Hình 4.10: Thêm thư viện vào project 64

Hình 4.11: Thêm file.h vào 64

Hình 4.12 : Biên dịch và nạp code 65

Hình 4.13: Chọn thiết bị và phiên bản Android 74

Hình 4.14: Hoàn tất tạo project 74

Hình 4.15: Biểu tượng của ứng dụng 87

Hình 4.16: Giao diện khởi động ứng dụng 87

Hình 4.17: Giao diện hướng dẫn sử dụng ứng dụng 87

Hình 4.18: Tìm kiếm điểm đến 88

Hình 4.19: Hiển thị quãng đường 88

Hình 4.20: Thông báo hoàn thành quãng đường 89

Hình 4.21: Cảnh báo sự cố 89

Hình 5.1: Board mạch sau khi đã in và lắp ráp linh kiện 90

Hình 5.2: Mô hình xe sau khi đã hoàn thành 91

Hình 5.3: Biểu tượng của ứng dụng 91

Hình 5.4: Giao diện khởi động ứng dụng và hướng dẫn sử dụng 92

Hình 5.5: Giao diện tìm kiếm điểm đến 92

Hình 5.6: Giao diện hiển thị lộ trình xe sẽ chạy 92

Hình 5.7: Thông báo hoàn thành quãng đường 93

Hình 5.8: Cảnh báo sự cố 93

Hình 5.9: Dữ liệu các lộ trình 96

Trang 13

vii

Bảng Trang

Bảng 4.1: Liệt kê linh kiện sử dụng trên board 49

Trang 14

an toàn và tuân thủ luật lệ giao thông Đây là một chủ đề khó nhưng không phải là không thể làm được, nếu thành công thì nó sẽ đem lại rất nhiều lợi ích cho nước nhà (giảm thiểu tai nạn giao thông, giảm thiểu các chi phí y tế, tiết kiệm nhiên liệu, tiết kiệm thời gian và bảo vệ môi trường) Đó chính là lý do nhóm em chọn đề tài: Thiết kế

và thi công mô hình xe tự hành theo chỉ dẫn từ Smartphone Mô hình này có khả năng

đi đến một điểm bất kỳ trên bản đồ giao thông nhờ khả năng định vị và xác định hướng Bên cạnh đó, chức năng tránh vật cản sẽ hỗ trợ xe vận hành an toàn không va chạm và toàn bộ sẽ được thiết lập và giám sát trên Smartphone, mọi lúc mọi nơi đều biết được xe đang ở đâu, đang đi đâu

Với đề tài này, nhóm em mong muốn đề tài này sẽ là cơ sở nền tảng bước đầu cho các nhóm sau có chung ý tưởng tiếp tục thực hiện Nếu thành công, chắc chắn sẽ

là một bước tiến mạnh mẽ của nền KH-KT Việt Nam và hơn nữa nó sẽ giúp phát triển ngành giao thông vận tải của nước nhà lên một tầm cao mới

Trang 15

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 1

Chương 1 TỔNG QUAN

1.1 ĐẶT VẤN ĐỀ

Ngày nay sự tiến bộ của KH-KT đã mang đến cho con người một cuộc sống ngày càng văn minh và lý tưởng hơn Cũng không quá lắm khi nói như thế vì, ngày càng có nhiều thiết bị “thông minh” được ra đời nhằm giúp con người trong mọi lĩnh vực (công-nông nghiệp, dịch vụ,…) và giao thông là một trong số đó Một phương tiện giao thông thông minh được trang bị các thiết bị và cảm biến để thông báo cho tài xế biết tình trạng của xe và hiện đại hơn nữa là một hệ thống xe tự hành và đó là lý do nhóm em chọn đề tài này để thực hiện

“Xe tự hành không còn là viễn tưởng, không lâu nữa nó sẽ có mặt rộng rãi trên toàn cầu Mercedes - Benz, BMW, Tesla đã và đang chuẩn bị ra mắt những mẫu xe được giới thiệu có khả năng tự vận hành và mạnh mẽ nhất là Google, họ đã tuyên bố đang chạy thử nghiệm các mẫu xe tự hành trên đường phố California từ hè năm 2015

Xe tự hành được chia ra thành 2 loại chính là bán tự động và hoàn toàn tự động:

 Loại xe hoàn toàn tự động là những mẫu xe có thể di chuyển từ điểm A đến điểm

B và tự xử lý các tình huống gặp phải trên đường mà không cần đến con người

 Loại xe bán tự động là những loại xe chỉ có một số hệ thống tự động được trang

bị bên trong xe, nó đòi hỏi lúc nào cũng phải có tài xế và những hệ thống này nhằm hỗ trợ tài xế lưu thông xe an toàn hơn

Xe hơi có tính năng lái tự động sẽ ra mắt thị trường vào năm 2019.“Theo Tổ chức IHC Automotive thì ước tính doanh số bán xe tự hành sẽ tăng lên 11,8 triệu chiếc vào năm 2035 Trong số này, 7 triệu xe sẽ thuộc dạng bán tự hành, và 4,8 triệu

xe hoàn toàn di chuyển tự động.”

Những xe tự hành sẽ giúp giảm thiểu một cách đáng kể tai nạn giao thông hay giảm bớt gánh nặng mà người điều khiển phải chịu đựng trên đường cao tốc hay khi tắc đường bởi tất cả đều được tự động hóa Hệ thống xe tự hành sẽ giúp từ việc phát hiện điểm mù, cảnh báo làn đường khi khởi hành đến quản lý gia nhập làn đường và thậm chí tự đậu xe,

Hầu hết các nguyên nhân chính gây ra tai nạn giao thông chính là từ người tài xế Với xe tự hành, sự phân tâm khi mệt mỏi hay say rượu sẽ không ảnh hưởng tới khả

Trang 16

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 2

năng làm chủ trên đường bởi nhiệm vụ này sẽ được máy tính phụ trách Thật khó khi

kỳ vọng vào mức độ giảm thiểu tai nạn sẽ là 100% nhưng xe tự hành sẽ thay đổi đáng

kể con số chục ngàn trường hợp tử vong xảy ra mỗi năm tại nhiều quốc gia

1.2 MỤC TIÊU

Về phần xe: hoàn thành một mô hình xe tự hành, xe sẽ được kết nối Enthernet để

giao tiếp với smartphone, kết nối giao tiếp với các module và cảm biến, tự động chạy đến được một vị trí đã được đặt trước bằng smartphone và tự tránh các vật cản tĩnh trên đường đi

Về phần ứng dụng điện thoại: thiết kế và viết một ứng dụng hoàn chỉnh chạy

trên hệ điều hành Android, giao tiếp truyền nhận dữ liệu với mô hình xe, tích hợp các phương thức của Google Maps để thực hiện việc tìm kiếm địa điểm, đường đi, lấy các thông tin chỉ dẫn về đường đi gửi về mô hình xe

1.3 NỘI DUNG NGHIÊN CỨU

 Nội dung 1: Tìm hiểu hệ thống định vị toàn cầu GPS

 Nội dung 2: Nghiên cứu VĐK ARM STM32F10x, đại cương về KIT

STM32F103VET6

 Nội dung 3: Nghiên cứu giao tiếp VĐK với các module, cảm biến và truyền nhận dữ liệu thông qua Enthernet

 Nội dung 4: Nghiên cứu module cảm biến la bàn, cảm biến khoảng cách

 Nội dung 5: Tìm hiểu hệ điều hành Android

 Nội dung 6: Viết ứng dụng điều khiển xe, hiển thị tọa độ GPS, lộ trình di chuyển trên giao diện Google Maps, thiết kế giao diện điều khiển

 Nội dung 7: Thiết kế mô hình

 Nội dung 8: Đánh giá kết quả thực hiện

1.4 GIỚI HẠN

 Phụ thuộc hoàn toàn vào độ chính xác của các cảm biến

 Độ chính xác của định vị còn hạn chế, sai số khoảng 2-2,5m

 Xuất hiện thời gian trễ của việc truyền dữ liệu giữa điện thoại và xe

 Không tránh được vật cản động

Trang 17

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 3

 Chưa tuân thủ luật giao thông

1.5 BỐ CỤC

 Chương 1: Tổng Quan

 Chương 2: Cơ Sở Lý Thuyết

 Chương 3: Thiết Kế và Tính Tóan

 Chương 4: Thi công hệ thống

 Chương 5: Kết Quả, Nhận Xét và Đánh Giá

 Chương 6: Kết Luận và Hướng Phát Triển

Chương 1: Tổng Quan

Chương này trình bày vấn đề dẫn nhập, lý do chọn đề tài, mục tiêu, nội dung nghiên cứu, các giới hạn và bố cục đồ án

Chương 2: Cơ Sở Lý Thuyết

Giới thiệu các linh kiện, thiết bị sử dụng thiết kế hệ thống, các chuẩn truyền, giao thức

Chương 3: Tính Toán Và Thiết Kế Hệ Thống

Tính toán thiết kế, đưa ra sơ đồ nguyên lí của hệ thống

Chương 4: Thiết Kế Hệ Thống

Thiết kế hệ thống, lưu đồ, đưa ra giải thuật và chương trình

Chương 5: Kết Quả, Nhận Xét, Đánh Giá

Đưa ra kết quả đạt được sau một thời gian nghiên cứu, một số hình ảnh của hệ thống, đưa ra những nhận xét, đánh giá toàn bộ hệ thống

Chương 6: Kết Luận và Hướng Phát Triển

Trình bày những kết luận về hệ thống những phần làm rồi và chưa làm, đồng thời nếu ra hướng phát triển cho hệ thống

Trang 18

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 4

Chương 2 CƠ SỞ LÝ THUYẾT

2.1 HỆ THỐNG ĐỊNH VI TOÀN CẦU (GPS) VÀ HỆ TOẠ ĐỘ ĐỊA LÝ

 Hệ thống định vị toàn cầu (Global Positioning System – GPS) là hệ thống xác

định vị trí dựa trên vị trí của các vệ tinh nhân tạo, do Bộ Quốc phòng Hoa Kỳ thiết kế, xây dựng, vận hành và quản lý Trong cùng một thời điểm, tọa độ của một điểm trên mặt đất sẽ được xác định nếu xác định được khoảng cách từ điểm đó đến ít nhất ba vệ tinh[3]

Các vệ tinh GPS bay vòng quanh Trái Đất hai lần trong một ngày theo một quỹ đạo rất chính xác và phát tín hiệu có thông tin xuống Trái Đất Các máy thu GPS nhận thông tin này và bằng phép tính lượng giác tính được chính xác vị trí của người dùng

Về bản chất máy thu GPS so sánh thời gian tín hiệu được phát đi từ vệ tinh với thời gian nhận được chúng Sai lệch về thời gian cho biết máy thu GPS ở cách vệ tinh bao

xa Rồi với nhiều quãng cách đo được tới nhiều vệ tinh máy thu có thể tính được vị trí của người dùng và hiển thị lên bản đồ điện tử của máy

 Ứng Dụng của GPS: Ứng dụng của GPS là rất lớn, ngoài chức năng định vị trên

các thiết bị cá nhân và quân sự thì các nó cũng được ứng dụng rất nhiều trên các phương tiện giao thông:

 Giám sát lộ trình đường đi của phương tiện theo thời gian thực: vận tốc, hướng di chuyển và trạng thái tắt/mở máy, quá tốc độ của xe…

 Xác định vị trí xe chính xác ở từng góc đường (vị trí xe được thể hiện nhấp nháy trên bản đồ), xác định vận tốc và thời gian xe dừng hay đang chạy, biết được lộ trình hiện tại xe đang đi (real time)

 Lưu trữ lộ trình từng xe và hiển thị lại lộ trình của từng xe trên cùng một màn hình

 Xem lại lộ trình xe theo thời gian và vận tốc tùy chọn

 Quản lý theo dõi một hay nhiều xe tại mỗi thời điểm

 Báo cáo cước phí và tổng số km của từng xe (ngày/tháng)

 Cảnh báo khi xe vượt quá tốc độ, vượt ra khỏi vùng giới hạn

Trang 19

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 5

 Hệ toạ độ địa lý: là một hệ tọa độ cho phép tất cả mọi điểm trên Trái Đất đều có

thể xác định được bằng một tập hợp các số có thể kèm ký hiệu Các tọa độ thường gồm

số biểu diễn vị trí thẳng đứng, và hai hoặc ba số biểu diễn vị trí nằm ngang Hệ tọa độ

phổ biến hiện nay là hệ hệ tọa độ cầu tương ứng với tâm Trái Đất với các tọa độ là vĩ

độ, kinh độ và cao độ

giữa đường thẳng đứng (phương của dây dọi, có đỉnh nằm ở tâm hệ tọa độ-chính

là trọng tâm của địa cầu) tại điểm đó và mặt phẳng tạo bởi xích đạo Đường tạo bởi các điểm có cùng vĩ độ gọi là vĩ tuyến, và chúng là những đường tròn đồng tâm trên bề mặt Trái Đất Mỗi cực là 90 độ: cực bắc là 90° B; cực nam là 90° N Vĩ tuyến 0° được chỉ định là đường xích đạo, một đường thẳng tưởng tượng chia địa cầu thành Bán cầu bắc và Bán cầu nam

giữa mặt phẳng kinh tuyến đi qua điểm đó và mặt phẳng kinh tuyến gốc Kinh độ có thể là kinh độ đông hoặc tây, có đỉnh tại tâm hệ tọa độ, tạo thành từ một điểm trên bề mặt Trái Đất và mặt phẳng tạo bởi đường thẳng ngẫu nhiên nối hai cực bắc nam địa lý Những đường thẳng tạo bởi các điểm có cùng kinh độ gọi là kinh tuyến Tất cả các kinh tuyến đều là nửa đường tròn, và không song song với nhau: theo định nghĩa, chúng hội tụ tại hai cực bắc và nam Đường thẳng đi qua Đài Thiên văn Hoàng gia Greenwich (gần London ở Liên hiệp Vương quốc Anh và Bắc Ireland) là đường tham chiếu có kinh độ 0° trên toàn thế giới hay còn gọi là kinh tuyến gốc Kinh tuyến đối cực của Greenwich có kinh độ là 180°T hay 180°Đ

Trang 20

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 6

Hình 2.1 Cách sắp xếp kinh độ và vĩ độ trên trái đất

 Phương pháp xác định quãng đường và góc giữa hai toạ độ địa lý với

cực bắc của trái đất:

Sự phân bố các vĩ tuyến không giống như các kinh tuyến, các mặt phẳng tạo bởi các

vĩ tuyến luôn song song với nhau trong khi các mặt phẳng được tạo bởi các kinh tuyến lại cắt nhau trên đường thẳng đi qua trục của trái đất, vậy nên giá trị khoảng cách của một đơn vị vĩ độ sẽ luôn bằng nhau tại mọi vị trí trên trái đất còn giá trị khoảng cách của một đơn vị kinh độ sẽ nhỏ nhất ở hai cực và lớn nhất khi ở xích đạo Do vậy, tuỳ vào vị trí đang xét mà ta có các thông số tính khác nhau

Trang 21

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 7

Hình 2.2 Phân bố kinh tuyến trên trái đất

 Ý tưởng tính toán góc giữa hai toạ độ với hướng bắc và khoảng cách giữa

chúng

Vì khoảng cách các kinh độ là không đều nhau cho nên ta không thể tính toán dựa bằng phương pháp mặt phẳng toạ độ mà không quy đổi, tuy nhiên trái đất rất rộng lớn, vậy nên khi chúng ta chỉ xét trong một thành phố, nhất là một thành phố gần xích đạo như thành phố Hồ Chí Minh thì ta có thể coi như các kinh tuyến và vĩ tuyến là các đường thẳng vuông góc với nhau, và khi khoảng cách của một đơn vị kinh tuyến bằng khoảng cách của một đơn vị vĩ tuyến thì chúng ta có thể áp dụng các phương pháp tính góc và khoảng cách giữa hai điểm và một vector trong mặt phẳng Tại thành phố Hồ Chí Minh là nơi đang xét có toạ độ 10°10’ – 10°38’ Bắc và 106°22’ – 106°54’ Đông, vậy chúng ta chọn kinh độ 106 và vĩ độ 10 làm chuẩn để tính toán

Ta có:

 Độ dài của một độ vĩ độ trên kinh độ 106:

Dlat = 2πR/360 = 111701,0721(m) (2.1) Với R= 6400000(m) là bán kính trái đất

Trang 22

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 8

 Độ dài của một kinh độ trên vĩ độ 10:

= Dlat * sin(80°) = 110004,0819(m)

Độ dài của một vĩ độ là không đổi tại mọi vị trí trên trái đất, vậy nên ta chọn khoảng cách của một độ vĩ độ làm đơn vị chuẩn để tính toán trong mặt phẳng toạ độ Khi đó tỷ lệ độ dài một độ vĩ độ trên một độ kinh độ sẽ là:

T = Dlat / Dlng = 1/ sin(80°)= 1,015427 (2.3) Khi tính toán, chúng ta chỉ cần nhân giá trị kinh độ cho T là có thể tính toán với các công thức trong mặt phẳng toạ độ vì khi tính toán các vector trong mặt phẳng yêu cầu hai trục x,y có độ dài đơn vị bằng nhau Để tính góc giữa hai toạ độ với hướng bắc

ta có thể dùng công thức tính tích vô hướng của hai vector, một vector tạo bởi hai toạ

độ và một vector chỉ hướng bắc( vector đơn vị của trục vĩ độ)

Hình 2.3 Biểu thức toạ độ của tích vô hướng

Ví dụ : chọn điểm hiện tại có toạ độ địa lý ( kinh độ; vĩ độ) là A(106,11; 10,56 ) và

Trang 23

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 9

Hình 2.4 Biểu diễn đoạn đường di chuyển AD trên mặt phẳng toạ độ

Bộ giao thức TCP/IP được coi là một tập hợp các tầng Mỗi tầng giải quyết một tập các vấn đề liên quan đến việc truyền tải dữ liệu, và cung cấp cho các giao thức tầng cấp trên một dịch vụ được định nghĩa rõ ràng dựa trên việc sử dụng các dịch vụ của các tầng thấp hơn Hay nói cách khác, các tầng trên gần với người dùng hơn và làm việc với dữ liệu trừu tượng hơn, chúng dựa vào các tầng cấp dưới để biến đổi dữ liệu thành các dạng mà cuối cùng có thể truyền đi trong môi trường vật lý

b Mô hình truyền dữ liệu của TCP/IP:

Trang 24

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 10

Bốn tầng của TCP/IP: tầng ứng dụng (Application Layer), tầng giao vận (Transport Layer), tầng mạng (Internet Layer) và tầng liên kết (Link Layer)

Hình 2.5 Mô hình truyền dữ liệu của TCP/IP

 Application Layer (Tầng ứng dụng): Tầng cao nhất trong cấu trúc phân lớp của TCP/IP Tầng này bao gồm tất cả các chương trình ứng dụng sử dụng các dịch vụ sẵn có thông qua một chồng giao thức TCP/IP như DHCP, DNS, HTTP, FTP, Telnet, SMTP, … Chúng sẽ tương tác với tầng vận chuyển để truyền hoặc nhận dữ liệu

 Transport Layer (Tầng giao vận): Gồm 2 phần chính là giao thức TCP và giao thức UDP

 Internet Layer (Tầng mạng): IP (Ipv4, Ipv6)

 Link Layer (Tầng lien kết): Ethernet, Wifi, Token Ring, PPP, Frame Relay…

2.2.2 GIAO THỨC HTTP

a Tổng quan

HTTP là một giao thức hoạt động trên cơ chế yêu cầu – phản ứng trong mô hình điện toán khách – máy chủ, nghĩa là HTTP cho phép giao tiếp giữa máy chủ và máy khách Máy khách sẽ gửi một yêu cầu bằng giao thức HTTP đến máy chủ (tùy vào từng ứng dụng mà chọn yêu cầu khác nhau), sau đó máy chủ sẽ phản ứng lại yêu cầu

Trang 25

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 11

HTTP thuộc tầng ứng dụng của bộ giao thức TCP/IP (Các giao thức nền tảng cho Internet)

Hình 2.6 Mô hình truyền thông Client – Server

b Phương thức HTTP GET và HTTP POST:

Để máy chủ hiểu được yêu cầu của máy khách muốn làm gì cần phải thông qua các phương thức HTTP Các phương thức HTTP đã được định nghĩa hiện này là: GET, POST, HEAD, OPTIONS, PUT, DELETE, TRACE [5] Trong đó:

 HTTP GET: lấy một nguồn tài nguyên hiện có trên máy chủ

 HTTP POST: tạo ra một nguồn tài nguyên mới

Dựa theo ý nghĩa của 2 phương thức HTTP này, ta sẽ dùng nó để giao tiếp với máy chủ nhằm trao đổi dữ liệu

c Mã trạng thái:

Sau khi nhận được yêu cầu từ máy khách thì máy chủ sẽ phản hồi lại một thông báo và trong thông báo này sẽ chứa các mã trạng thái nhằm nói cho máy khách biết rằng yêu cầu có được chấp nhận hay đã xảy lỗi gì rồi Một số mã trạng thái thường gặp hoặc mắc phải là:

 2xx: điều này nói với máy khách rằng các yêu cầu đã được xử lý thành công,

mã phổ biến là 200 OK, các mã ít phổ biến hơn là 202, 203, 204, 205 và 206

 3xx: điều này đòi hỏi máy khách phải có hành động bổ sung, hành động tiếp theo phải được thực hiện để hoàn tất yêu cầu, mã phổ biến là 301(đối tượng yêu cầu đã được chuyển), ít phổ biến hơn là 303, 304

 4xx: máy khách gặp lỗi, các mã này được sử dụng khi máy chủ nghĩ rằng máy khách đã bị lỗi, hoặc bằng cách yêu cầu một nguồn tài nguyên không hợp lệ

Trang 26

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 12

hoặc thực hiện một yêu cầu xấu Các mã phổ biến nhất trong lớp này là 404 Not Found, ít gặp hơn là 400, 401, 403, 405, 409

 5xx: mã số được sử dụng để chỉ ra lỗi của máy chủ trong khi xử lý yêu cầu, các mã lỗi thông dụng nhất là 500 Internal Server Error hay 501 và 503

d Định vị tài nguyên hệ thống – Uniform Resource Locater (URL):

URL thường được gọi là một địa chỉ web hay là một tham chiếu đến một tài nguyên của máy chủ, mọi truyền thông web đều được thông qua URL Các URL có một cấu trúc đơn giản gồm các thành phần được thể hiện qua ví dụ sau:

Hình 2.7 Cấu trúc của một URL

Trong đó:

 protocol: giao thức http hoặc có thể sẽ là https cho truyền thông bảo mật

 host: server hay máy chủ

 port: cổng kết nối, thông thường sẽ là 80

 resource path: đường dẫn đến nguồn tài nguyên nào đó

 query: truy vấn

e Quy trình hoạt động trong kết nối HTTP:

Gồm có 5 bước như sau:

Bước 1: máy khách sẽ khởi tạo kết nối TCP bằng việc gửi yêu cầu đến server

Máy chủ nhận được yêu cầu và chấp nhận kết nối bằng việc gửi trả lời về cho máy khách một thông báo Nếu sau khoảng thời gian RTT mà không nhận được trả lời từ phía máy chủ thì máy khách sẽ gửi lại yêu cầu

Bước 2: sau khi kết nối được thiết lập, máy khách sẽ gửi thông điệp yêu cầu chứa

tên đường dẫn của các đối tượng đến máy chủ

Trang 27

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 13

(vd: www.myserver.com/homepage/project.php) Máy chủ nhận được thông điệp yêu cầu và tiến hành lấy ra các đối tượng được yêu cầu Sau đó, các đối tượng được đóng gói thành thông điệp trả lời và gửi đến máy khách

Bước 3: máy chủ đóng kết nối TCP (Lưu ý: máy chủ chỉ đóng kết nối TCP khi

chắc chắn rằng máy khách nhận được thông điệp trả lời)

Bước 4: máy khách nhận thông điệp trả lời chứa tập tin dưới định dạng HTML,

Json,

Bước 5: lặp lại các bước từ 1-4 cho các đối tượng khác

Hình 2.8 Quy trình hoạt động của kết nối HTTP

f Thông điệp HTTP:

Thông điệp HTTP được viết bằng văn bản ASCII thông thường, do vậy người dùng có thể đọc được Có 2 dạng thông điệp HTTP: thông điệp HTTP yêu cầu và thông điệp HTTP trả lời

 Thông điệp HTTP yêu cầu:

Trang 28

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 14

Hình 2.9 Cú pháp của một HTTP yêu cầu

Trong đó:

 Request line: là dòng đầu tiên của thông điệp HTTP yêu cầu Request line bao gồm có 3 trường như: cách thức (method), URL, phiên bản (version) Trường cách thức (method) có thể chứa các giá trị khác nhau, bao gồm GET, POST, HEAD, Phần lớn các thông điệp HTTP yêu cầu đều sử dụng phương thức GET Các phương thức GET được sử dụng khi máy khách yêu cầu một đối tượng được xác định trong trường URL Phương thức POST là những phương thức mà máy khách sử dụng khi người dùng điền vào một biểu mẫu (form) nào đó, chẳng hạn như người dung muốn nhập một từ khóa nào đó vào google.com đề tìm kiếm thông tin Nếu phương thức là POST thì Entity body của thông điệp yêu cầu sẽ chứa thông tin mà người dùng đã điền Phương thức HEAD tương tự như GET, nhưng khi máy chủ nhận được yêu cầu bằng phương thức HEAD, nó sẽ trả về thông điệp HTTP và không chứa đối tượng được yêu cầu

 Header line: là các dòng tiếp theo

 Sp: bao gồm các giá trị về khoảng trống

 Blank line: bao gồm các giá trị điều khiển trở về đầu dòng, xuống hàng (cr, lf)

 Entity Body (nếu có): là phần thân của thông điệp HTTP yêu cầu

 Thông điệp HTTP trả lời:

Trang 29

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 15

Hình 2.10 Cú pháp của một HTTP trả lời

Thông điệp HTTP trả lời có ba phần:

 Dòng trạng thái (status line): gồm 3 trường là phiên bản của giao thức (version), mã trạng thái (status code), trạng thái tương ứng (phrase) và các giá trị khoảng trống (sp), điều khiển trở về đầu dòng, xuống hàng (cr, lf)

 Dòng tiêu đề (header lines)

 Thân thông điệp (entity body) Thân (Body) là thành phần chính của thông điệp hay là nội dung yêu cầu

2.3 HỆ ĐIỀU HÀNH ANDROID

2.3.1 TỔNG QUAN

Android được các công ty công nghệ lựa chọn khi họ cần một hệ điều hành không nặng nề, có khả năng tinh chỉnh, và giá rẻ chạy trên các thiết bị công nghệ cao thay vì tạo dựng từ đầu Ngoài các thiết kế chạy trên điện thoại và máy tính bảng, Android đã xuất hiện trên TV, máy chơi game và các thiết bị điện tử khác

Android chiếm 75% thị phần điện thoại thông minh trên toàn thế giới vào thời điểm quý 3 năm 2012, với tổng cộng 500 triệu thiết bị đã được kích hoạt và 1,3 triệu lượt kích hoạt mỗi ngày Sự thành công của hệ điều hành cũng khiến nó trở thành mục tiêu trong các vụ kiện liên quan đến bằng phát minh, góp mặt trong cái gọi là "cuộc chiến điện thoại thông minh" giữa các công ty công nghệ

Tới thời điểm hiện nay thì hệ điều hành Android đã trải qua một chặng đường dài không ngừng phát triểu với các phiên bản khác nhau như: Cupcake, Donut, Eclair,

Trang 30

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 16

Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich, Jelly Beans, Kitkat, Lollipop

và mới nhất là phiên bản Android 6.0 Marshmallow

2.3.2 GIỚI THIỆU VỀ NỀN TẢNG CỦA HỆ ĐIỀU HÀNH ANDROID:

 Tầng thư viện

 Thời gian chạy Android (Android Runtime)

 Tầng hạt nhân Linux

b Các phần mềm ứng dụng trên Android:

Việc phát triển phần mềm cho Android OS có thể được thực hiện trên hệ điều hành Windows hay trên hệ điều hành nguồn mở Linux và các công cụ phục vụ việc lập trình ứng dụng trên Android OS gồm:

Trang 31

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 17

 Java for Developers 8 (JDK phiển bản mới nhất): do các phần mềm chạy trên Android OS đều phát triển trên nền tảng Java nên cần có bộ thư viện của Java, được cung cấp miễn phí cho người phát triển phần mềm bởi Oracle

 Android SDK – Android Studio: công cụ trực tiếp để viết ứng dụng

c Các thành phần cơ bản trong Android Project:

 Android Manifest.xml:

Mỗi ứng dụng Android đều có một tập tin tên AndroidManifest.xml, được lưu ở thư mục gốc (root) của ứng dụng Tập tin manifest mô tả những thông tin cần thiết của ứng dụng cho hệ điều hành Android, những thông tin này hệ điều hành cần phải biết trước khi nó chạy bất kỳ ứng dụng nào File AndroidManifest.xml sẽ tự động phát sinh khi tạo một Android project Trong file Manifest bao giờ cũng có 3 thành phần chính

đó là: application, permission và version [2]

Hình 2.12 Nội dung mặc định của một Manifest.xml

 File R.java:

Cũng như tập tin Manifest thì tập tin java cũng sẽ tự phát sinh khi tạo một Android project, tập tin này được sử dụng để quản lý các thuộc tính được khai báo trong file XML của ứng dụng và các tài nguyên hình ảnh Mã nguồn của tập tin này được tự động phát sinh khi có bất kỳ một sự kiện nào xảy ra làm thay đổi các thuộc tính của ứng dụng

Trang 32

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 18

Hình 2.13 Nội dung mặc định của một tập tin java

 Activity:

Activity là một thành phần chính của một ứng dụng Android, được dùng để hiển thị một màn hình và nắm bắt các hoạt động xảy ra trên màn hình đó, chẳng hạn như chụp ảnh, gửi mail,… Mỗi Activity là một giao diện người dùng Tạo một Activity trong Android Studio cực kỳ đơn giản (Android Studio cũng đã hỗ trợ một số Activity cho các ứng dụng đặc biệt phổ biến)

Hình 2.14 Tạo một Activity mới

Trang 33

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 19

Một Activity sẽ có 3 trạng thái cơ bản đó là:

 Active: khi nó xuất hiện trên màn hình điện thoại và nhận tương tác người dùng như là click, trượt,…

 Paused: khi nó không còn là trọng tâm trên màn hình nhưng vẫn hiển thị trước người dùng

 Stopped: khi nó hoàn toàn bị che khuất

Vòng đời của một Activity: hình chữ nhật vuông thể hiện các phương thức Callback mà chúng ta có thể khai báo để gọi thực thi một số thao tác khi hoạt động chuyển sang trạng thái khác Các trạng thái chính của một Activity được thể hiện bởi các ô màu [2]

Hình 2.15 Vòng đời của một Activity

Trong sơ đồ về vòng đời của một Activity, dễ nhận thấy rằng trước khi Activity được chạy thì phương thức onResume() đã được gọi trước và khi Activity bị hủy thì

Trang 34

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 20

phương thức onPause() đã được gọi trước Tại sao lại nhấn mạnh vấn đề này, nguyên nhân sẽ được tìm hiểu ở phần đối tượng SharePreference

 Intent:

Intent là một cấu trúc dữ liệu mô tả cách thức, là đối tượng của một Activity Trong một ứng dụng Android thì thường có nhiều Activity và chúng hoạt động hoàn toàn độc lập với nhau, Intent sẽ là cầu nối giữa các Activity, giúp chúng có thể truyền

dữ liệu cho nhau

Hình 2.16 Chuyển đổi giữa 2 Activity

Intent là một đối tượng được mô tả trong lớp android.content.Intent

 Service (dịch vụ):

Service là một trong bốn thành phần cơ bản của một ứng dụng Android (Activity, Service, BroadcastReceiver, ContentProvider), đây là thành phần chạy ngầm và làm những công việc không cần tới giao diện như chơi nhạc hay xử lý tính toán,…

Để khởi chạy một service thì ta phải gọi hàm Context.startService() hay dừng bằng hàm Context.stopService()/Service.stopSelf()/Service.stopService() Chỉ cần một lệnh stopService() để ngừng Service lại cho dù lệnh startService() được gọi nhiều lần

Một Service có 3 phương thức được gọi đến trong vòng đời của nó: onCreate(), onStart(Intent intent), onDestroy() Giống như một Acctivity thì một Service cũng sẽ tiến hành cài đặt ban đầu ở onCreate() và giải phóng tất cả các tài nguyên còn lại ở onDestroy()

Trang 35

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 21

Hình 2.17 Vòng đời của một Service

Tóm lại, lập trình Service cũng tương tự như lập trình cho một Activity để thực hiện một chức năng nào đó mà không cần có giao diện (chạy ngầm) và nó hoạt động độc lập với các ứng dụng khác đang chạy Sau khi startService() thì Service sẽ tiếp tục chạy cho đến khi stopService() được gọi

2.4 KHẢO SÁT LINH KIỆN, THIẾT BỊ SỬ DỤNG:

Dựa trên mục tiêu về các chức năng của sản phẩm đề ra ban đầu thì một số linh kiện

và thiết bị có thể phù hợp như:

 Định vị GPS: hiện nay có khá nhiều module, cảm biến có chức năng định vị GPS như Arduino GPS, GPS Ublox với các phiên bản khác nhau, Module Sim 900/900A,…

Hình 2.18 Một số thiết bị/cảm biến định vị GPS

Trang 36

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 22

 Đo khoảng cách tránh vật cản: hiện nay có khá nhiều cảm biến nhằm hỗ trợ tránh vật cản thông dụng như cảm biến hồng ngoại, cảm biến siêu âm,…

Hình 2.19 Một số thiết bị/cảm biến đo khoảng cách

Phức tạp hơn nhưng mang lại hiệu quả tốt hơn đó là các giải pháp xử lý ảnh

Hình 2.20 Xử lý ảnh cho xe ô tô

 Xác định hướng: dựa trên nguyên tắc hoạt động của một là bàn thì phổ biến hiện này là cảm biến la bàn số với nhiều phiên bản và dạng khác nhau, quen thuộc trong nghiên cứu và học tập là cảm biến la bàn số HMC5883L

Hình 2.21 Cảm biến la bàn số HMC5883L

 Vi điều khiển: hiện nay có rất nhiều các dòng vi điều khiển khác nhau nhằm phục vụ với từng mục đích khác nhau Với các ứng dụng nhỏ có thể chọn các dòng như STM8, PIC16, 8051 với ứng dụng phức tạp thì các dòng PIC16/18, STM32, AVR đều có thể thực hiện

Trang 37

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 23

 Điện thoại: tất cả các dòng Smartphone đang chạy hệ điều hành Android, một số nhà sản xuất điện thoại như: Samsung, Sony, Asus, HTC, LG,…

Trang 38

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 24

Chương 3 TÍNH TOÁN VÀ THIẾT KẾ

3.1 TỔNG QUAN VỀ YÊU CẦU THIẾT KẾ HỆ THỐNG

Để thực hiện đề tài, nhóm em đưa ra một số phương án để điều khiển xe tự hành chạy theo chỉ dẫn từ smartphone như sau:

 Phương án 1: Cài sẵn các lộ trình trên xe và người dùng sẽ lựa chọn một

trong các lộ trình đó bằng smartphone, và smartphone sẽ gửi lộ trình được lựa chọn xuống mô hình xe, sau đó xe sẽ chạy theo lộ trình đó Ưu điểm của phương án này là đơn giản nhưng xe chỉ có thể chạy theo các lộ trình có sẵn, muốn thay đổi phải can thiệp vào chương trình trên xe

 Phương án 2: Thiết lập lộ trình trên điện thoại và gửi trực tiếp dữ liệu lộ

trình đó xuống mô hình xe thông qua kết nối có dây hoặc Bluetooth, RF, hồng ngoại…Ưu điểm là đáp ứng nhanh, lộ trình có thể tuỳ biến theo người dùng nhưng vì truyền trực tiếp nên khoảng cách truyền dữ liệu bị giới hạn trong phạm vi hẹp

 Phương án 3: Kế thừa phương án 2 nhưng môi trường truyền dữ liệu là

mạng internet, smartphone hoặc xe sẽ đóng vai trò là một SERVER và thiết bị còn lại

sẽ gửi, nhận dữ liệu từ SERVER đó Khi đó dữ liệu có thể truyền đi mà không bị giới hạn khoảng cách, chỉ cần cả hai thiết bị có kết nối internet, tuy nhiên nhược điểm của phương án này là tính bảo mật không cao, dễ bị hack do SERVER tự thiết kế không được chuyên nghiệp

 Phương án 4: Giống như phương án 3 nhưng thay vì một trong hai thiết bị

là SERVER thì cả hai thiết bị cùng truy cập và sử dụng một SERVER chung có sẵn trên internet Vì là SERVER được thiết kế cho thương mại nên tính ổn định và bảo mật rất cao tuy nhiên việc truyền nhận với SERVER sẽ trở lên phức tạp và phải theo đúng phương pháp mà SERVER đó quy định

 Phương án 5: Tương tự như phương án 4 nhưng SERVER sử dụng sẽ được

thiết kế riêng sao cho phù hợp với đề tài Với phương án này thì chi phí bỏ ra để tạo một SERVER là rất lớn nhưng vì thiết kế riêng cho việc truyền thông giữa xe và điện thoại nên việc truyền nhận, truy cập sẽ dễ dàng hơn

Trang 39

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 25

Lựa chọn phương án: Sau khi xem xét về kiến thức có được, chi phí, thời

gian… và khả năng của nhóm thì nhóm em lựa chọn phương án 4 làm phương án thực hiện cho đề tài này Khi đó sơ đồ khối của hệ thống sẽ như hình sau:

Hình 3.1 Sơ đồ khối của hệ thống

Để thực hiện phương án này, nhóm em đặt ra các yêu cầu sau:

 Xác định được vị trí hiện tại và hướng của xe

 Tự vẽ lộ trình từ vị trí hiện tại của xe và điểm đến

 Chạy chính xác theo lộ trình

 Xe có thể chạy trên đường

 Tự động né nếu có vật cản trước mặt

 Đáp ứng nhanh, cập nhật dữ liệu kịp thời

 Khoảng cách chạy đủ xa

 Có thể giám sát ở bất kì nơi đâu

 Mô hình xe chắc chắn, có thể chạy được trên đường

Với yêu cầu trên thì Smartphone sẽ đóng vai trò là thiết bị giám sát vị trí hiện tại của xe, chọn đích đến, vẽ ra lộ trình cho xe di chuyển, gửi dữ liệu toạ độ dựa vào lộ trình đó xuống mô hình xe Còn mô hình xe sẽ là vật di chuyển, xe sẽ xác định toạ độ

và gửi lên điện thoại thông qua internet, sau đó nhận lộ trình được gửi xuống từ điện thoại (nếu có) và tính toán kết hợp với xác định hướng để tự động chạy theo lộ trình đó đến đích Vì yêu cầu mô hình xe có thể chạy trên đường nên nhóm em chọn điều khiển

xe chạy theo toạ độ địa lý Để xác định vị trí hiện tại theo toạ độ địa lý của xe để điều khiển thì nhóm em chọn dùng hệ thống định vị toàn cầu GPS, do vậy lộ trình xe cần chạy sẽ là tập hợp các toạ độ địa lý và xe cần chạy đến

3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG

Như vậy từ yêu cầu trên thì nhóm em cần tính toán thiết kế các nội dung sau:

 Thiết kế sơ đồ khối hệ thống

Trang 40

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 26

 Mô hình xe

 SERVER internet

 Phần mềm trên điện thoại

3.2.1 THIẾT KẾ SƠ ĐỒ ĐIỀU KHIỂN

Hình 3.2 Sơ đồ điều khiển

Các khối sử dụng trong mạch:

Khối xử lý trung tâm : Sử dụng vi điều khiển để giao tiếp với các module, cảm

biến từ các khối khác sau đó xử lý và xuất tín hiệu để điều khiển động cơ

Khối điều khiển và giám sát : Sử dụng ứng dụng trên điện thoại android để gửi

và nhận dữ liệu từ khối xử lý trung tâm thông qua SERVER trên internet

Khối SERVER : Lưu trữ dữ liệu gửi lên từ khối xử lý trung tâm và khối điều

khiển giám sát

Khối định vị GPS: Sử dụng module GPS để gửi tín hiệu toạ độ GPS về cho vi

điều khiển

Ngày đăng: 29/11/2021, 10:36

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Phan Vân Hoàn, “Giáo trình vi xử lý nâng cao”, Đại Học Sư Phạm Kỹ Thuật Tp.HCM 9/2015 Sách, tạp chí
Tiêu đề: Giáo trình vi xử lý nâng cao
[2] Nguyễn Văn Hiệp, Đinh Quang Hiệp, “Giáo trình lập trình Android Cơ Bản”, NXB Đại Học Quốc Gia 2015 Sách, tạp chí
Tiêu đề: Giáo trình lập trình Android Cơ Bản
Nhà XB: NXB Đại Học Quốc Gia 2015
[3] “Hệ thống Định vị Toàn cầu”, https://vi.wikipedia.org, [4] Google Developer, “Manage Worksheets”https://developers.google.com, 13/08/2015 Sách, tạp chí
Tiêu đề: Hệ thống Định vị Toàn cầu”, https://vi.wikipedia.org, [4] Google Developer, “Manage Worksheets
[5] VietJack Team, “Học HTTP cơ bản và nâng cao” http://vietjack.com Sách, tạp chí
Tiêu đề: Học HTTP cơ bản và nâng cao
[6] arezar272, “Arduino Data Logging to Google Docs (Spreadsheet)”, https://www.youtube.com, 19/06/2014 Sách, tạp chí
Tiêu đề: Arduino Data Logging to Google Docs (Spreadsheet)

HÌNH ẢNH LIÊN QUAN

Hình 2.1 Cách sắp xếp kinh độ và vĩ độ trên trái đất. - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 2.1 Cách sắp xếp kinh độ và vĩ độ trên trái đất (Trang 20)
Hình 2.2 Phân bố kinh tuyến trên trái đất. - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 2.2 Phân bố kinh tuyến trên trái đất (Trang 21)
Hình 2.4 Biểu diễn đoạn đường di chuyển AD trên mặt phẳng toạ độ - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 2.4 Biểu diễn đoạn đường di chuyển AD trên mặt phẳng toạ độ (Trang 23)
Hình 2.5 Mô hình truyền dữ liệu của TCP/IP - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 2.5 Mô hình truyền dữ liệu của TCP/IP (Trang 24)
Hình 2.6 Mô hình truyền thông Client – Server - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 2.6 Mô hình truyền thông Client – Server (Trang 25)
Hình 2.8 Quy trình hoạt động của kết nối HTTP - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 2.8 Quy trình hoạt động của kết nối HTTP (Trang 27)
Hình 2.11 Kiến trúc của HĐH Android - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 2.11 Kiến trúc của HĐH Android (Trang 30)
Hình 2.14 Tạo một Activity mới. - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 2.14 Tạo một Activity mới (Trang 32)
Hình 2.13 Nội dung mặc định của một tập tin .java - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 2.13 Nội dung mặc định của một tập tin .java (Trang 32)
 Mô hình xe. - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
h ình xe (Trang 40)
Hình 3.6 Hình module ESP8266-01 - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 3.6 Hình module ESP8266-01 (Trang 44)
Hình 3.7 Module GPS Ublox Neo 7M. - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 3.7 Module GPS Ublox Neo 7M (Trang 45)
Hình 3.11 Dạng sóng điều khiển và phản hồi của SRF-05 - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 3.11 Dạng sóng điều khiển và phản hồi của SRF-05 (Trang 48)
Hình 3.12 Dạng sóng điều khiển động sơ RC Servo 9G. - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 3.12 Dạng sóng điều khiển động sơ RC Servo 9G (Trang 48)
Hình 3.18 Sơ đồ mạch của khối nguồn. - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 3.18 Sơ đồ mạch của khối nguồn (Trang 54)
Hình 3.19 Sơ đồ nguyên lý phần kết nối. - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 3.19 Sơ đồ nguyên lý phần kết nối (Trang 54)
Hình 3.20 Sơ đồ nguyên lý phần mạch công suất. - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 3.20 Sơ đồ nguyên lý phần mạch công suất (Trang 55)
Hình 3.21 Giao diện của một Spreadsheet - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 3.21 Giao diện của một Spreadsheet (Trang 56)
Hình 3.23 Sửa tên cho các tiêu đề Chuyển sang tab RESPONSE để tạo SpreadSheet:  - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 3.23 Sửa tên cho các tiêu đề Chuyển sang tab RESPONSE để tạo SpreadSheet: (Trang 57)
Nếu hình ảnh quá nhỏ và khó để xem rõ thì nhấn vào hình ảnh và nó sẽ được phóng to toàn màn hình - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
u hình ảnh quá nhỏ và khó để xem rõ thì nhấn vào hình ảnh và nó sẽ được phóng to toàn màn hình (Trang 60)
Hình 4.2 Sơ đồ mạch in phần mạch công suất. - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 4.2 Sơ đồ mạch in phần mạch công suất (Trang 64)
Hình 4.1 Sơ đồ mạch in phần mạch nguồn - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 4.1 Sơ đồ mạch in phần mạch nguồn (Trang 64)
Hình 4.4 DeviceID URL yêu cầu dùng pushingbox:  - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 4.4 DeviceID URL yêu cầu dùng pushingbox: (Trang 66)
Hình 4.6 Máy chủ chứa dữ liệu đường đi. - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 4.6 Máy chủ chứa dữ liệu đường đi (Trang 67)
Hình 4.11 Thêm file.h vào - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 4.11 Thêm file.h vào (Trang 78)
Bước 6: Chọn hình thức nạp ,ở đây chọn ST Link. - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
c 6: Chọn hình thức nạp ,ở đây chọn ST Link (Trang 79)
màn hình Nhấn Return Button? IIYNYN N Y YNYNYN Y Y YNYN YII - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
m àn hình Nhấn Return Button? IIYNYN N Y YNYNYN Y Y YNYN YII (Trang 86)
Hình 4.15 Biểu tượng của ứng dụng. - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 4.15 Biểu tượng của ứng dụng (Trang 101)
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 92 - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
92 (Trang 106)
Hình 2.23 Các thông số chứa trong Message GGA. - Thi công và thiết kế mô hình xe tự hành theo chỉ dẫn từ smartphone
Hình 2.23 Các thông số chứa trong Message GGA (Trang 117)

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm