1. Trang chủ
  2. » Luận Văn - Báo Cáo

mô hình quản lý hệ thống cho thuê xe đạp trong thành phố

81 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Nội dung

iv ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự Do – Hạnh phúc TT Nội dung góp ý của Hội đồng Kết quả chỉnh sửa, bổ

Trang 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

MÔ HÌNH QUẢN LÝ HỆ THỐNG CHO THUÊ XE ĐẠP TRONG THÀNH PHỐ

ĐỒ ÁN TỐT NGHIỆP

NGÀNH CÔNG NGHỆ KỸ THUẬT MÁY TÌNH

GVHD: ThS HUỲNH THỊ THU HIỀN SVTH: NGUYỄN THỊ NHẬT BĂNG TÔ HOÀNG VŨ

SKL 0 1 2 2 6 7

Tp Hồ Chí Minh, tháng 12 năm 2023

Trang 2

ii

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TPHCM KHOA ĐIỆN – ĐIỆN TỬ

NGÀNH CÔNG NGHỆ KỸ THUẬT MÁY TÍNH

ĐỒ ÁN TỐT NGHIỆP

MÔ HÌNH QUẢN LÝ HỆ THỐNG CHO THUÊ XE ĐẠP TRONG THÀNH PHỐ

SVTH: NGUYỄN THỊ NHẬT BĂNG MSSV: 19119013

TÔ HOÀNG VŨ MSSV: 19119150

GVHD: ThS HUỲNH THỊ THU HIỀN

Tp Hồ Chí Minh, tháng 12 năm 2023

Trang 3

iii

Trang 4

iv

ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH

KHOA ĐIỆN – ĐIỆN TỬ

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự Do – Hạnh phúc

TT Nội dung góp ý của Hội

đồng Kết quả chỉnh sửa, bổ sung Ghi chú

1

Mô tả chi tiết hơn về phương pháp đánh giá đo độ chính xác của phần cứng và phần mềm

- Đã thêm mô tả chi tiết hơn về phương pháp đánh giá đo độ chính xác của phần cứng trang 36 và phần mềm trang 38

2 Dựa vào đâu để đảm bảo tính

khả thi của đề tài - Đã thêm trang 1

3

Nên lược bỏ bớt logo, giao diện( phần mô tả) và thêm source code vào phụ lục

- Đã lượt bỏ logo chỉnh sửa giao diện hình 3.20, 3.21 trang 39,

Trang 5

v hình 4.14 trang 48 và hình 4.15

- Đã chỉnh sửa lưu đồ giải thuật hình 3.18 trang 37

- Đã thêm mã nguồn, cơ sở dữ liệu trang 61

Xác nhận của trưởng ngành

Trang 6

vi

LỜI CẢM ƠN

Để đồ án có được kết quả như hiện tại, nhóm em đã được các Thầy Cô tại Trường Đại học Sư Phạm Kỹ Thuật Thành phố Hồ Chí Minh giảng dạy hết sức tận tình, chu đáo, truyền đạt cho nhóm em những kiến thức bổ ích để ngày hôm nay nhóm em có nguồn kiến thức để hoàn thành được tập đồ án này Thực tế thì không có sự thành công nào mà không có sự giúp đỡ, hỗ trợ dù ít hay nhiều, dù là trực tiếp hay là gián tiếp Em xin chân thành cảm ơn ban giám hiệu nhà trường cùng với quý Thầy Cô khoa đào tạo chất lượng cao đã đồng hành cùng nhóm chúng em trong những năm học vừa qua

Đặc biệt, nhóm em xin chân thành cảm ơn Cô Huỳnh Thị Thu Hiền – Giảng viên hướng dẫn đã tận tình hỗ trợ, giúp đỡ, dành thời gian đưa ra những định hướng trong nghiên cứu cũng như hướng giải quyết một số vấn đề để nhóm có thể thực hiện xong đồ án tốt nghiệp

Trong quá trình nghiên cứu và làm báo cáo, do nhóm em vẫn chưa nắm vững hết kiến thức chuyên ngành cũng như kinh nghiệm thực tế nên bài báo cáo không thể tránh khỏi những thiếu sót rất mong nhận được những ý kiến đóng góp từ Thầy, Cô để nhóm có thể học được nhiều kinh nghiệm hơn

Nhóm em xin kính chúc các thầy cô luôn luôn khỏe mạnh và ngày một thành công hơn trên con đường giảng dạy của mình

Xin chân thành cảm ơn!

Người thực hiện đề tài

Nguyễn Thị Nhật Băng Tô HoàngVũ

Trang 7

vii

LỜI CAM ĐOAN

Nhóm thực hiện đồ án tốt nghiệp cam đoan về đề tài dựa vào một số tài liệu trước đó và không sao chép kết quả của đồ án khác Các nội dung tham khảo đã được trích dẫn đầy đủ

Đại hiện nhóm thực hiện đồ án tốt nghiệp (Ký và ghi rõ họ tên)

Nguyễn Thị Nhật Băng Tô Hoàng Vũ

Trang 8

viii

TÓM TẮT

Hiện nay, cùng với sự phát triển mạnh mẽ của xã hội, đời sống ngày càng được nâng cao, việc áp dụng công nghệ khoa học kỹ thuật vào đời sống hằng ngày trở nên rất cần thiết Song song với sự phát triển kỹ thuật của các ngành khoa học kỹ thuật, công nghệ kỹ thuật điện tử, các công nghệ này được áp dụng vào trong các phương tiện giao thông

Nhóm thực hiện đề tài đã lên ý tưởng áp dụng công nghệ khoa học kỹ thuật để giúp người dân giảm chi phí đi lại, giảm thiểu ô nhiễm môi trường qua khí đốt từ các phương tiện sử dụng xăng dầu; cùng với đó là đóng góp một phần cho ngành du lịch thu hút các du khách nước ngoài thuê bởi sự tiện nghi

Mô hình thuê xe đạp công cộng ở thành phố của nhóm thực hiện nghiên cứu sử dụng công nghệ IoT Mô hình sử dụng công nghệ GPS để theo dõi vị trí xe đạp, là hệ thống thời gian thực; cập nhật số xe trống, số chỗ đỗ trống; sử dụng cảm biến MPU6050 thông báo té ngã xe; đóng mở khóa tự động, nếu đang đóng khóa mà vị trí hiện tại so với vị trí ở thời điểm đóng khóa vượt quá ngưỡng sẽ báo còi Các thông tin sẽ được đẩy lên Firebase để lưu các dữ liệu, từ đó phần cứng và phần mềm có thể lấy thông tin từ nhau Thông qua App cho phép người dùng dễ dàng sử dụng với các thao tác đơn giản, quét mã QR mở khóa đặt xe dễ dàng để trải nghiệm chuyến đi, hình thức thanh toán nạp tiền nhanh chóng Web quản lý sử dụng để hiển thị các thông tin để người quản lý hệ thống giám sát từ xa Mục tiêu của mô hình này là tạo ra một dịch vụ cho thuê xe đạp một cách linh hoạt, hiệu quả và an toàn Hứa hẹn mô hình này sẽ giúp cho giao thông thành phố được cải thiện và trải nghiệm mới mẽ cho người dùng

Trang 9

CHƯƠNG 1: GIỚI THIỆU CHUNG 1

1.1 Giới thiệu tình hình nghiên cứu hiện nay 1

1.2 Mục tiêu đề tài 1

1.3 Giới hạn đề tài 2

1.4 Đối tượng và phạm vi nghiên cứu 2

1.5 Bố cục của đề tài 2

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 4

2.1 Giới thiệu về IoT Internet of Things 4

2.1.1 Giới thiệu về IoT 4

2.1.2 Cấu trúc của hệ thống IoT 4

2.1.3 Cấu trúc của hệ thống IoT 5

2.2 Tổng quan về phần mềm để lập trình vi điều khiển 6

2.2.1 Giới thiệu về phần mềm Arduino IDE 6

2.2.2 Các thao tác cơ bản trên phần mềm lập trình Arduino IDE 8

2.3 Tổng quan về phần mềm lập trình Visual Studio Code 9

2.3.1 Giới thiệu về phần mềm lập trình 9

2.3.2 Những ưu điểm nổi bật của Visual Studio Code 10

2.3.3 Giới thiệu về HTML, CSS, Javascript [1] 10

2.3.4 Các thao tác sử dụng cơ bản trên phần mềm Visual Studio Code 11

2.4 Tổng quan về Firebase 13

2.4.1 Giới thiệu về cơ sở dữ liệu Firebase 13

2.4.2 Cách thức hoạt động của Firebase 13

2.5 Các chuẩn truyền dữ liệu 14

Trang 10

x

2.5.1 Chuẩn giao tiếp UART 14

2.5.2 Chuẩn giao tiếp I2C 16

CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG 18

3.2.1 Yêu cầu thiết kế phần mềm 36

3.2.2 Lưu đồ giải thuật phần mềm 37

Trang 11

xi

DANH MỤC BẢNG

Bảng 1 Thao tác trên Arduino IDE 9

Bảng 2 Liệt kê số lượng linh kiện trong tập đồ án 19

Bảng 3 Thông số kỹ thuật cảm biến gia tốc MPU6050 21

Bảng 4 Kết nối chân giữa MPU6050 với module ESP32 22

Bảng 5 Thông số kỹ thuật module sim 7600CE-M1S 23

Bảng 6 Kết nối chân giữa module sim 7600CE-M1S với module ESP32 24

Bảng 7 Thông số kỹ thuật của GPS ATGM336H 25

Bảng 8 Kết nối chân giữa GPS ATGM336H với module ESP32 25

Bảng 9 Thông số kỹ thuật module ESP32 28

Bảng 10 Thông số kỹ thuật của driver A4988 30

Bảng 11 Thông số kỹ thuật của động cơ bước 42 2 pha 4 dây 31

Bảng 12 Thông số đo điện áp và dòng tiêu thụ của các linh kiện 32

Bảng 13 Thông số kỹ thuật của mạch hạ áp LM2596S-3A 32

Bảng 14 Thông số kỹ thuật của còi báo động SFM-20B 33

Bảng 15 Đánh giá phần cứng 57

Bảng 16 Đánh giá phần mềm 58

Trang 12

xii

DANH MỤC HÌNH ẢNH

Hình 2.1 Cấu trúc của hệ thống IoT 5

Hình 2.2 Trình biên dịch Arduino IDE 7

Hình 2.3 Sự đa dạng về thư viện 8

Hình 2.4 Một số tính năng thường được sử dụng trên phần mềm 8

Hình 2.5 Logo của phần mềm Visual Studio Code 10

Hình 2.6 Giao diện khởi tạo Project mới trên VS Code 11

Hình 2.7 Giao diện của trang html 12

Hình 2.8 Giao diện của trang css 12

Hình 2.9 Giao diện của Firebase 13

Hình 2.10 Giao diện Realtime Database 14

Hình 2.11 Truyền thông UART 15

Hình 3.1 Sơ đồ khối toàn bộ hệ thống 18

Hình 3.2 Cảm biến gia tốc MPU6050 21

Hình 3.3 Sơ đồ nguyên lý kết nối chân giữa MPU6050 với ESP32 22

Hình 3.4 Module sim 7600CE-M1S 23

Hình 3.5 Sơ đồ nguyên lý kết nối chân giữa MPU6050 với ESP32 24

Hình 3.6 Module GPS ATGM336H 25

Hình 3.7 Sơ đồ nguyên lý kết nối giữa ATGM336H với ESP32 26

Hình 3.8 ESP32 NodeMCU LuaNode32 Module Thu Phát Wifi 38 Chân 27

Hình 3.9 Sơ đồ chân ESP32 28

Hình 3.10 Sơ đồ nguyên lý ESP32 29

Hình 3.11 Mạch điều khiển đọng cơ bước A4988 29

Hình 3.12 Động cơ bước 30

Hình 3.13 Sơ đồ nguyên lý kết nối giữa driver A4988 với ESP32 31

Hình 3.14 Mạch hạ áp LM2596S-3A 32

Hình 3.15 Còi báo động SFM-20B 33

Trang 13

xiii

Hình 3.16 Sơ đồ nguyên lý kết nối chân giữa còi SFM-20B với ESP32 34

Hình 3.17 Lưu đồ thuật toán phần cứng 35

Hình 3.18 Lưu đồ thuật toán phần mềm 38

Hình 3.19 Giao diện Đăng nhập và đăng ký 39

Hình 3.20 Thiết kế giao diện của trang Đăng kí 40

Hình 3.21 Thiết kế giao diện của trang Đăng nhập 40

Hình 3.22 Thiết kế giao diện trang chủ 41

Hình 3.23 Giao diện nạp tiền 41

Hình 3.24 Giao diện quét mã QR và google map 42

Hình 3.25 Giao diện lịch sử thanh toán 42

Hình 4.1 PCB của toàn mạch 43

Hình 4.2 Mặt sau của bo mạch 43

Hình 4.3 Mặt trước của bo mạch 44

Hình 4.4 Hiển thị đang khóa xe 44

Hình 4.5 Hiển thị khóa xe đang mở 45

Hình 4.6 Hiển thị thông báo ngã 45

Hình 4.7 Kết quả định vị 46

Hình 4.8 Kết quả thông báo ngã 46

Hình 4.9 Trường hợp chưa thuê xe 47

Hình 4.10 Trường hợp chưa thuê xe 47

Hình 4.11 Trường hợp thuê 2 xe 47

Hình 4.12 Giao diện bắt đầu của App 48

Hình 4.13 Giao diện mới vào, trang Login và Sign Up 48

Hình 4.14 Giao diện trang đăng ký 49

Hình 4.15 Giao diện đăng nhập 50

Hình 4.16 Giao diện chính của app 50

Hình 4.17 Hướng dẫn sử dụng 51

Hình 4.18 Nạp tiền 52

Hình 4.19 Giao diện quét mã QR 53

Trang 14

xiv

Hình 4.20 Trạng thái khi chưa thuê xe 54

Hình 4.21 Trạng thái khi thuê xe 54

Hình 4.22 Giao diện thanh toán chuyến đi 55

Hình 4.23 Trạm xe và google map 55

Hình 4.24 Giao diện về trường hợp chưa thuê xe 56

Hình 4.25 Giao diện về trường hợp thuê 1 xe 56

Hình 4.26 Giao diện về trường hợp thuê 2 xe 57

Trang 16

Với lối sống ngày càng lành mạnh, con người chăm chút hơn về vấn đề sức khỏe, việc sử dụng xe đạp là một cách tuyệt vời để duy trì sức khỏe Nhiều người chọn lựa đi xe đạp hàng ngày để thay thế cho việc sử dụng phương tiện cơ giới, tăng cường hoạt động thể chất hàng ngày mà không cần đến các phòng tập gym

Xe đạp công cộng và xe đạp nói chung là giải pháp giảm ùn tắc giao thông, kết nối các hệ thống giao thông công cộng như xe bus, tàu điện, là xu hướng toàn cầu của những thành phố phát triển Việc đạp xe không chỉ giải quyết các vấn đề môi trường, xã hội, mà còn giúp người dân nói chung tăng cường sức khỏe và hình thành lối sống xanh Xe đạp công cộng là một dịch vụ đã được phổ biến ở nhiều nước trên thế giới Hiện nay có tập đoàn TNGO đã triển khai dịch vụ này tại Việt Nam và phủ sóng nhanh chóng tại các thành phố: Hồ Chí Minh, Vũng Tàu, Hải Dương và đến nay là Hà Nội Xe đạp công cộng ra đời giúp người dân có thêm sự lựa chọn đi lại, góp phần giảm người đi xe cá nhân Nhận thấy dịch vụ cho thuê xe đạp công cộng có một lượng lớn nhu cầu từ cộng đồng Dự án thúc đẩy vận động xanh và giảm lượng ô nhiễm môi trường

Với những lợi ích trên của mô hình nhóm thực hiện đã quyết định đề xuất đề tài “Mô hình quản lý hệ thống cho thuê xe đạp trong thành phố”

1.2 Mục tiêu đề tài

Mục tiêu đề tài “Mô hình quản lý hệ thống cho thuê xe đạp trong thành phố”

thực hiện các chức năng sau:

Trang 17

2

Về phần cứng: Xây dựng phần cứng có chức năng theo dõi vị trí, thông báo ngã,

mở/đóng khóa xe khi người dùng quét mã, báo còi khi vị trí hiện tại đến vị trí xe ở trạng thái đóng khóa vượt quá ngưỡng

Về phần mềm: Xây dựng phần mềm Web có chức năng hiển thị thông tin để quản

lý giám sát từ xa, phần App người dùng có thể đăng nhập/đăng ký, tìm kiếm trạm xe, xem các thông tin về số xe đạp trống, số chỗ đõ trống, quét mã QR để mở/đóng khóa xe, nạp tiền và thanh toán, hiển thị thông tin lịch sử giao dịch

1.3 Giới hạn đề tài

Đề tài “Mô hình quản lý hệ thống cho thuê xe đạp trong thành phố” của nhóm

thực hiện được giới hạn trong phạm vi như sau: Đề tài thực hiện mô phỏng với số lượng xe giả định là 2

1.4 Đối tượng và phạm vi nghiên cứu Đối tượng nghiên cứu:

● Nghiên cứu sơ đồ nguyên lý cũng như cách hoạt động của phần cứng module ESP32, module sim 7600CE-M1S, module GPS ATGM336H, cảm biến gia tốc MPU6050, còi, driver A4988 và động cơ bước

● Nghiên cứu và tìm hiểu về cách lập trình ứng dụng web trên Visual Studio Code và các ngôn ngữ lập trình khác liên quan đến ứng dụng

● Nghiên cứu các giao thức kết nối và giao tiếp giữa các module với nhau

Phạm vi nghiên cứu: Nghiên cứu dựa trên các mô hình đã có sẵn, tích hợp và ứng

dụng những tính năng mới cho đề tài

1.5 Bố cục của đề tài

Bài báo cáo này gồm có 5 chương:

Chương 1: Giới thiệu chung

Chương này trình bày tình hình nghiên cứu hiện nay, tính cấp thiết của đề tài, mục đích nghiên cứu, phương pháp nghiên cứu, đối tượng và phạm vi nghiên cứu, phương phán

Trang 18

3 nghiên cứu và bố cục đồ án, nguyên nhân và động lực để hoàn thành đề tài và các phương pháp nghiên cứu

Chương 2: Cơ sở lý thuyết

Chương này trình bày cơ sở lý luận và những vấn đề thực tiễn liên quan đến đề tài

Chương 3: Thiết kế và thi công hệ thống

Chương này trình bày chi tiết ý tưởng thiết kế, lựa chọn và tính toán giải pháp thiết kế hệ thống, sơ đồ khối, lưu đồ giải thuật, thiết kế ứng dụng trên phần mềm Visual Studio Code, viết chương trình cho hệ thống, thiết kế sơ đồ mạch in PCB và dựng mô hình ổ khóa xe đạp thông minh

Chương 4: Kết quả và đánh giá

Chương này trình bày các kết quả đã đạt được trong đề tài sau khi hoàn thành khảo sát, giải thích các chức năng hoạt động của hệ thống, kèm với hình ảnh thực tế để minh họa

Chương 5: Kết luận và hướng phát triển

Chương này trình bày các vấn đề đã được giải quyết của đề tài, đồng thời đề ra các hướng phát triển xa hơn và hoàn thiện hơn cho đề tài

Trang 19

4

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu về IoT Internet of Things

2.1.1 Giới thiệu về IoT

IoT (Internet of Things) được dịch là Internet kết nối vạn vật, hiện nay IoT đang ảnh hưởng đến chúng ta rất nhiều từ nhiều khía cạnh và từ nhiều mức độ khác nhau, từ chiếc đồng hồ thông minh đang theo dõi các hoạt động hằng ngày hoặc thậm chí là đa số các thiết bị được đặt ở trong nhà mà chúng ta có thể điều khiển qua điện thoại thông minh IoT là một mạng lưới khổng lồ để các thiết bị có thể kết nối với nhau thông qua Internet Các thiết bị này có khả năng thu thập và chia sẻ dữ liệu cho nhau Tất cả các dữ liệu được thu thập bằng các cảm biến được gắn trong mọi thiết bị mà ta sử dụng Một bóng đèn mà chúng ta bật bằng ứng dụng điện thoại thông minh, cũng được gọi là một thiết bị IoT hay là bật quạt bằng điện thoại thông minh cũng gọi là một thiệt bị IoT

Một thiết bị IoT có thể đơn giản như đồ chơi của trẻ em hoặc lớn hơn là một chiếc xe không người lái, phức tạp hơn là một động cơ phản lực chứa hàng ngàn con cảm biến thu thập và truyền dữ liệu, để đảm bảo nó hoạt động một cách hiệu quả

Ở những dự án lớn hơn, thì các thành phố thông minh đang được lắp đầy các cảm biến để giúp chúng ta hiểu và kiểm soát môi trường Như vậy, IoT đã đưa ra ngôn ngữ chung để các thiết bị có thể giao tiếp với nhau

2.1.2 Cấu trúc của hệ thống IoT

Cấu trúc của một hệ thống IoT gồm có 4 phần chính: Thiết bị (Things), trạm kết nối(Gateways), hạ tầng mạng (Network and Cloud), dịch vụ (Services)

Trang 20

5

Hình 2.1 Cấu trúc của hệ thống IoT

Thiết bị: Ở tầng thiết bị, tầng này có các thiết bị rất quen thuộc với chúng ta như bóng

đèn, quạt, máy lạnh, đồng hồ, máy in, ổ khóa, máy hút bụi, camera, thiết bị đo, công tắc, … Nhưng các thiết bị này đều được gắn các cảm biến để làm các nhiệm vụ thu thập dữ liệu từ môi trường xung quanh chúng ta

Trạm kết nối: Các trạm kết nối ở đây đóng vai trò trung gian cho việc kết nối các thiết

bị với điện toán đám mây để đảm bảo an toàn và thuận tiện hơn trong việc kết nối

Hạ tầng mạng và điện toán đám mây: Hạ tầng mạng bao gồm những thiết

bị định tuyến, các dữ liệu từ các tầng bên dưới như thiết bị, muốn gửi qua Internet phải qua các bộ định tuyến để gửi đúng vị trí của máy chủ nằm trong trung tâm dữ liệu

Dịch vụ: Các ứng dụng do các công ty công nghệ hoặc chính người dùng tạo ra để

giúp việc tối ưu hóa việc sử dụng các sản phẩm IoT dễ dàng hơn và tận dụng tối đa chức năng của chúng mang lại

2.1.3 Cấu trúc của hệ thống IoT Ưu điểm:

● Các dữ liệu được lưu trữ trong cơ sở dữ liệu để tiết kiệm thời gian, tiền bạc và tăng tính linh hoạt của dữ liệu

Trang 21

6 ● Việc kiểm soát giao tiếp giữa các thiết bị được cải thiện hơn, có thể thực hiện thuận tiện mọi lúc mọi nơi thông qua mạng Internet

● Iot là giải pháp giúp tự động hóa mọi thứ để nâng cao chất lượng cuộc sống của con người

Nhược điểm:

● Do kết cấu của hệ thống luôn có mối quan hệ mật thiết với nhau nên khi hệ thống gặp sự cố nào đó thì sẽ có khả năng gây hư hỏng các thiết bị kết nối với nhau ● Với sự tiện lợi của việc kết nối và chia sẻ thông tin trên Internet, khi nhiều thiết bị

kết nối với nhau, việc đánh cắp thông tin có thể xảy ra

2.2 Tổng quan về phần mềm để lập trình vi điều khiển 2.2.1 Giới thiệu về phần mềm Arduino IDE

Arduino IDE là phần mềm dùng để lập trình vi điều khiển Phần mềm hỗ trợ tương thích đa nền tảng, phần mềm có các phiên bản cho các hệ điều hành phổ biến như Windows, Mac, Linux,…với các chức năng và lệnh tích hợp để chỉnh sửa và biên dịch mã Phần mềm thường lập trình bởi các ngôn ngữ lập trình C và C ++ nên phổ biến với sinh viên để lập trình nhúng một cách dễ dàng hơn Phần mềm Arduino IDE hỗ trợ nhiều module Arduino như Arduino Mega, Arduino Uno,.Không những có Arduino phần mềm còn hỗ trợ lập trình các module ESP như ESP8266 ESP32 Mỗi module sẽ chứa vi điều khiển được lập trình trên bảng thông tin ở dạng mã (còn được gọi là bản phác thảo) bao gồm các nền tảng IDE Sau đó, nó sẽ tạo một tệp hex để chuyển và tải lên bộ điều khiển

Trang 22

7 của bảng Như vậy, phần mềm Arduino IDE giúp chúng ta sử dụng các cảm biến, linh kiện một cách linh hoạt đúng với mục đích sử dụng.[7]

Hình 2.1 Trình biên dịch Arduino IDE

Tuy phần mềm Arduino IDE có mã nguồn mở nhưng khả năng bảo mật thông tin của Arduino IDE là vô cùng tuyệt vời Khi phần mềm phát hiện ra lỗi thì nhà phát hành sẽ sửa nó lại và cập nhật một cách nhanh chóng khiến thông tin của người dùng không bị mất hay là rò rỉ ra bên ngoài

Arduino có một module quản lý bo mạch, nơi người dùng có thể chọn bo mạch mà họ muốn sử dụng nó và có thể thay đổi bo mạch thông qua Menu Quá trình sửa đổi lựa chọn cũng liên tục tự động cập nhật để các dữ liệu có sẵn trong bo mạch và dữ liệu sửa đổi đồng nhất với nhau Không những thế, Arduino IDE cũng giúp bạn tìm ra lỗi từ code mà bạn viết, qua đó giúp bạn sửa lỗi kịp thời tránh tình trạng bo mạch Arduino làm việc với code lỗi quá lâu dẫn đến hư hỏng hoặc tốc độ xử lý bị giảm

Trang 23

8

Hình 2.3 Sự đa dạng về thư viện

Arduino IDE tích hợp với hơn 700 thư viện, được viết và chia sẻ bởi các nhà xuất bản Phần mềm Arduino và các thành viên của cộng đồng Arduino Mọi người đều có thể sử dụng chúng cho các dự án của riêng mình mà không tốn bất kỳ chi phí hay khoản tiền nào

2.2.2 Các thao tác cơ bản trên phần mềm lập trình Arduino IDE

Hình 2.4 Một số tính năng thường được sử dụng trên phần mềm

Trang 24

9

Bảng 1 Thao tác trên Arduino IDE

Verify Kiểm tra lỗi code chuẩn bị truyền xuống bo mạch

Upload Nạp đoạn code vào bo mạch

New Tạo một sketch mới

Open Mở một sketch có sẵn

Save Lưu sketch vào IDE

Serial Monitor Mở Serial Monitor

2.3 Tổng quan về phần mềm lập trình Visual Studio Code 2.3.1 Giới thiệu về phần mềm lập trình

Visual Studio Code hay được viết tắt là VS Code Visual Studio Code là một ứng dụng cho phép biện tập, soạn thảo các đoạn code để hỗ trợ trong quá trình xây dựng và thiết kế website.Visual Studio Code có trình soạn thảo vận hành mượt mà trên nhiều nền tảng như Window, Linux, macOS Không những thế, VS Code còn có khả năng tương thích với những thiết bị máy tính có cấu hình tầm trung vẫn có thể sử dụng một cách dễ dàng hoặc cũng có thể responsive để người dùng điện thoại có thể xem được

Visual Studio Code có hỗ trợ đa dạng các chức năng Debug, đi kèm với Github, có Syntax Highlighting Đặc biệt, nó có thể tự hoàn thành mã thông minh và có khả năng cải tiến nguồn Nhờ có tính năng tùy chỉnh như vậy Visual Studio Code cho phép lập trình viên thay đổi Theme, phím tắt và các tùy chỉnh khác

Trang 25

10 Visual Studio Code dù mới được phát hành nhưng Visual Studio Code là một trong những Code Editor mạnh mẽ và phổ biến nhất dành cho những lập trình viên Nhờ được hỗ trợ nhiều ngôn ngữ lập trình phổ biến và tích hợp đầy đủ các tính năng nên VS Code đã trở nên quá phổ biến với những lập trình viên

Hình 2.5 Logo của phần mềm Visual Studio Code

2.3.2 Những ưu điểm nổi bật của Visual Studio Code

● VS Code có đa dạng ngôn ngữ lập trình giúp cho lập trình viên thỏa sức sáng tạo như HTML, CSS, Javascript, C++, …

● VS Code có các tiện ích mở rộng rất đạ dạng, ngôn ngữ, giao diện than thiện giúp cho người dùng dễ dàng định hình được nội dung

● Có tích hợp những tính năng quan trọng như tính năng bảo mật (Github), khả năng tăng tốc xử lý (Debug), khả năng nhắc lệnh,…

● Đơn giản hóa các code đã lưu trên hệ thống

2.3.3 Giới thiệu về HTML, CSS, Javascript [1]

HTML: HTML là viết tắt của cụm từ Hypertext Markup Language HTML được sử dụng để tạo và cấu trúc các thành phần trong trang web hoặc ứng dụng, phân chia các đoạn văn, heading, titles, blockquotes, HTML là một khung xương của một trang web Thông thường các thẻ html, chúng ta có thể định được hình hài của một trang web sẽ

Trang 26

11 trông như thế nào và tổ chức sao cho hợp lý Nếu không có HTML, trang web của chúng ta không thể hoạt động, HTML đóng vai trò là nền móng của một trang web

CSS (Cascading Style Sheets) là một ngôn ngữ được sử dụng để tìm và định dạng lại các phần tử được tạo ra bởi các ngôn ngữ đánh dấu (HTML) Nói ngắn gọn hơn là ngôn ngữ tạo phong cách cho trang web Bạn có thể hiểu đơn giản rằng, nếu HTML đóng vai trò định dạng các phần tử trên website như việc tạo ra các đoạn văn bản, các tiêu đề, bảng, thì CSS sẽ giúp chúng ta có thể thêm style vào các phần tử HTML đó như đổi bố cục, màu sắc trang, đổi màu chữ, font chữ, thay đổi cấu trúc…

Javascript là ngôn ngữ chuyên dùng cho lập trình một trang web Nếu CSS cung cấp cho HTML dom những thuộc tính về màu sắc, cách hiển thị,… thì Javascript cung cấp cho HTML dom những hành động Giả sử khi ta nhấn vào một nút bất kì thì sẽ xảy ra hành động gì? Javascript sẽ cung cấp hành động cho trang web của chúng ta

2.3.4 Các thao tác sử dụng cơ bản trên phần mềm Visual Studio Code

Mở ứng dụng Visual Studio Code, sau đó bấm File => New Folder để tạo dự án mới

Hình 2.6 Giao diện khởi tạo Project mới trên VS Code

Trong mục Folder vừa tạo thì ta tạo thêm một File và đặt tên dưới dạng html

Trang 27

12

Hình 2.7 Giao diện của trang html

Tiếp theo tạo thêm file có tên css để thay style cho các thẻ trong html đã tạo ở trang html

Hình 2.8 Giao diện của trang css

Trang 28

13

2.4 Tổng quan về Firebase

2.4.1 Giới thiệu về cơ sở dữ liệu Firebase

Firebase là cơ sở dữ liệu(database) thời gian thực dựa trên đám mây máy chủ do Google cung cấp rất hiệu quả Firebase là một nền tảng phát triển các ứng dụng và trang web dành cho các thiết bị di động bao gồm các API đơn giản Nó là tính năng và dễ sử dụng nên nó là một trong những cơ sở dữ liệu nhiều nhà phát triển đã chọn, nó là nền tảng đầu tiên để phát triển sản phẩm cho hàng triệu người dùng trên khắp thế giới Hơn thế, nó còn là một trong những dịch vụ đa năng với khả năng bảo vệ rất tốt Firebase hỗ trợ cả hệ điều hành Android và iOS

Hình 2.9 Giao diện của Firebase

2.4.2 Cách thức hoạt động của Firebase • Firebase Realtime Database

Bằng cách đăng ký tài khoản Firebase để tạo ứng dụng, bạn có thể dễ dàng lấy cơ sở dữ liệu trực tiếp Dữ liệu này được định dạng dưới dạng chuỗi JSON Đồng thời dữ liệu được đồng bộ mỗi khi tác động thay đổi dữ liệu và kết nối đến từng máy client với các ứng dụng đa nền tảng Trong trường hợp lỗi mạng, dữ liệu được lưu trữ cục bộ Do đó, thay đổi được cập nhật tự động vào máy chủ Firebase Dữ liệu được truyền qua chứng chỉ kết nối SSL bảo mật cao

Trang 29

• Firebase Hosting

Cung cấp cho các nhà phát triển dịch vụ lưu trữ nhanh và an toàn cho các ứng

dụngweb cấp sản xuất Với một lệnh duy nhất, bạn có thể triển khai các ứng dụng và phân phối cả nội dung tĩnh và động tới CDN Với CDN, một bản sao nội dung từ máy chủ gần nhất được trả lại cho người dùng khi họ truy cập trang web

2.5 Các chuẩn truyền dữ liệu 2.5.1 Chuẩn giao tiếp UART

Trang 30

15 UART viết tắt của “Universal Asynchronous Receiver/Transmitter” là kiểu truyền thông tin được sử dụng phổ biến trong các chuẩn giao tiếp, UART là kiểu truyền nối tiếp không đồng bộ Chức năng chính của UART là truyền dữ liệu nối tiếp Trong UART, giao tiếp giữa hai thiết bị có thể được thực hiện theo hai cách là giao tiếp dữ liệu nối tiếp và giao tiếp dữ liệu song song

Dữ liệu truyền qua UART được tổ chức thành các gói, mỗi gói chứa 1 bit bắt đầu (Start bit), 5 đến 9 bit dữ liệu (tùy thuộc vào UART), một bit chẵn lẻ tùy chọn và 1 hoặc 2 bit dừng (Stop bit).[8]

Hình 2.11 Truyền thông UART

Bit bắt đầu: Dữ liệu của giao thức UART thường được giữ ở mức điện áp cao trong

trường hợp không truyền dữ liệu Khi bắt đầu truyền dữ liệu thì giao thức sẽ bắt đầu kéo đường truyền từ mức cao xuống mức thấp Khi giao thức phát hiện sự thay đổi điện áp thì lập tức đọc các bit trong khung

Khung dữ liệu: Là nơi chứa những dữ liệu cần vận chuyển Có kích thước từ 5 bit đến

8 bit khi sử dụng bit chẵn lẻ Trong trường hợp không sử dụng bit trên, kích thước dài đến 9 bit Trong tất cả trường hợp, dữ liệu sẽ gửi bit quan trọng nhất đầu tiên

Bit chẵn lẻ: Là một cách để nhận chỉ báo UART cho dù dữ liệu đã được nhận chưa

Các thay đổi xảy ra trong quá trình truyền Sau khi nhận được khung dữ liệu đọc

Trang 31

16 UART, hãy đếm số bit có giá trị 1 và kiểm tra xem tổng số đó là chẵn hay lẻ

Nếu tính chẵn lẻ là 0 (chẵn), thì tổng của 1 trong khung dữ liệu phải là số chẵn Nếu bit chẵn lẻ là 1 (lẻ), tổng các bit 1 trong khung dữ liệu là số lẻ Khi bit chẵn lẻ khớp với dữ liệu, UART biết rằng quá trình truyền không có lỗi Nhưng nếu bit chẵn lẻ là 0 và tổng là số lẻ hoặc nếu bit chẵn lẻ là 1 và tổng là chẵn, UART sẽ biết rằng một bit trong khung dữ liệu đã thay đổi

Bit dừng: Báo hiệu kết thúc gói, hãy gửi điều khiển UART Truyền dữ liệu từ điện áp

thấp lên điện áp cao ít nhất khoảng 2 bit.[8]

Ưu điểm:

● Không cần đến tín hiệu xung Clock ● Chuẩn giao tiếp được sử dụng bởi 2 dây

● Có một bit chẵn lẻ cho phép kiểm tra khi có lỗi

● Cấu trúc gói dữ liệu của UART có thể thay đổi, miễn là cả hai bên đều thiết lập cho nó

● Phương pháp có nhiều tài liệu và được sử dụng rộng rãi trong các mô hình hay hệ thống

Nhược điểm:

● Không hỗ trợ nhiều hệ thống server client

● Kích thước khung dữ liệu được giới hạn tối đa là 9 bit

● Tốc độ truyền của mỗi UART phải nằm trong khoảng 10% của nhau.[8]

2.5.2 Chuẩn giao tiếp I2C

I2C là tên viết tắt của "Inter-Integrated Circuit" trong tiếng Anh Giao thức này được sử dụng để truyền dữ liệu giữa các CPU của nhiều IC trên cùng một bo mạch, mạch này chỉ sử dụng hai dây tín hiệu Do tính đơn giản của nó, giao thức được sử dụng một cách rộng rãi trong các vi điều khiển, thiết bị cảm biến hay các loại module khác nhau, v.v Đây là một giao thức truyền thông nối tiếp đồng bộ Các bit dữ liệu được truyền từng bit theo các khoảng thời gian đều đặn được đặt bởi tín hiệu đồng hồ

Trang 32

17 tham chiếu I2C kết hợp các tính năng tốt nhất của UART và SPI Người sử dụng có thể kết nối nhiều slave với một master duy nhất và người dùng cũng có thể điều khiển nhiều master điều khiển một hoặc nhiều slave.[9]

I2C sử dụng hai đường truyền tín hiệu:

● Một đường dữ liệu (SDA) theo 2 hướng

● Một đường xung nhịp được truyền bởi thiết bị chủ (thông thường là 100kHz và 400kHz và cực đại là 1MHz và 3,4 MHz)

● Khi một thiết bị ngoại vi kết nối vào đường bus I2C thì chân SDA của nó sẽ nối với dây SDA của bus, chân SCL sẽ nối với dây SCL

Ưu điểm:

● I2c hỗ trợ nhiều thiết bị master và slave ● I2C chỉ sử dụng hai dây

● Phần cứng ít phức tạp hơn so với UART

● Bit ACK / NACK xác nhận mỗi khung được chuyển thành công ● Giao thức I2C phổ biến được sử dụng rộng rãi trong đời sống

Trang 33

18

CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG 3.1 Thiết kế phần cứng

3.1.1 Yều cầu thiết kế phần cứng

“Mô hình quản lý hệ thống cho thuê xe đạp trong thành phố” thực hiện các chức

năng sau: - Định vị vị trí - Thông báo ngã

Trang 34

19

3.1.3 Chức năng của từng khối

Khối cảm biến: Cung cấp thông tin về gia tốc, góc quay để từ đó đo đạc so sánh các

ngưỡng để thông báo thông tin tình trạng xe cũng như cung cấp thông tin nhiệt độ của chip của cảm biến để xem xét cảm biến có hoạt động tốt không

Khối module: Giúp kết nối mạng nhờ sử dụng kết nối 4G của module Sim 7600CE đẩy

dữ liệu lên Firebase, cung cấp thông tin về định vị vị trí của module GPS

Khối điều khiển trung tâm xử lý: Thu thập dữ liệu và xử lý dữ liệu từ các thiết bị, khối

cảm biến và module thiết bị, khối động cơ Khối trung tâm xử lý còn là cầu nối trung gian để nhận và gửi dữ liệu lên Firebase để từ đó Firebase, App và Web có thể giao tiếp 2 chiều

Khối động cơ: Bao gồm một driver A4988 điều khiển động cơ bước thực hiện chức

năng đóng mở khóa

Khối nguồn cung cấp: Khối nguồn cung cấp là một khối rất quan trọng trong tập

đồ án này giúp cung cấp điện cho toàn hệ thống bao gồm: Khối xử lý trung tâm, giao tiếp mạng 4G, khối thiết bị, khối cảm biến, khối module, khối relay, khối động cơ Vì vậy cần tính toán hợp lý để khối nguồn có thể cung cấp đủ dòng và áp để mạch có thể hoạt động tốt và ổn định

3.1.4 Tính toán và thiết kế mạch

Dưới đây là số lượng linh kiện trong tập đồ án “Mô hình quản lý hệ thống cho thuê xe

đạp trong thành phố” sử dụng:

Bảng 2 Liệt kê số lượng linh kiện trong tập đồ án

1 Module ESP32 38 chân 1

3 Cảm biến gia tốc MPU6050 1

Trang 35

20 4 Module định vị GPS Atgm336h 1

5 Mạch giảm áp LM2596S 3A 1 6 Mạch điều khiển động cơ A4988 1

8 Còi báo động SFM-20B 1

Cộng những linh kiện nhỏ lẻ: điện trở, diode, transistor Các linh kiện được chia thành nhiều khối: Khối điều khiển trung tâm, khối cảm biến thiết bị, khối ngoại vi, khối relay, khối động cơ, khối nguồn

3.1.4.1 Khối cảm biến

Phân tích lựa chọn linh kiện: Đối với đồ án mô hình quản lý xe đạp công cộng ứng

dụng IoT nhóm quyết định sử dụng cảm biến gia tốc MPU6050 để kiểm tra tình trạng của xe và module GPS để định vị vị trí

Cảm biến gia tốc MPU6050[10]

● Giới thiệu: Cảm biến gia tốc MPU6050 rất phổ biến được sử dụng để đo gia tốc trong các ứng dụng MPU6050 có khả năng đo chính xác, tích hợp các con cảm biến gia tốc và con quay hồi chuyển trong cùng một con chip Nó được sử dụng để đo, theo dõi chuyển động, gia tốc và góc quay của đối tượng

MPU6050 có 6 bậc tự do (DOF) bao gồm 3 bậc tự do gia tốc kế và 3 bậc tự do cho quay hồi chuyển Điều này cho phép MPU6050 đo chính xác các thông số chuyển động trên 3 trục không gian: trục X, Y và Z

Trang 36

21

Hình 3.2 Cảm biến gia tốc MPU6050

Với kích thước nhỏ gọn thì MPU6050 tiêu thụ năng lượng thấp và tích hợp sẵn các chức năng đo chuyển động quan trọng MPU6050 là một sự lựa chọn quan trọng, phổ biến trong các ứng dụng như là robot, thiết bị định vị và điều khiển chuyển động,…

Trang 37

22 ● Kết nối chân giữa cảm biến gia tốc MPU6050 với ESP32

Bảng 4 Kết nối chân giữa MPU6050 với module ESP32

ESP32 MPU6050 G22 3(SCL) G21 4(SDA)

Hình 3.3 Sơ đồ nguyên lý kết nối chân giữa MPU6050 với ESP32

3.1.4.2 Khối module Module sim 7600CE-M1S:

● Giới thiệu: Module sim 7600CE-M1S là giải pháp hỗ trợ đa băng tần 2G, 3G, 4G và

GPS Module sim cũng hỗ trợ LTE CAT4 tải xuống tới 150Mbs và hỗ trợ định vị GPS.[5]

Trang 38

Tải về từ 150Mps GPRS Tải lên từ 85.6Kbps

Tải về từ 85.6Kbps TD-SCDMA Tải lên từ 128Kbps Tải về từ 384Kbps TD-HSDPA/HSUPA Tải lên từ 2.2Mbps

Tải về từ 2.8Mbps ● Kết nối chân giữa module sim 7600CE-M1S với ESP32

Trang 39

24

Bảng 6 Kết nối chân giữa module sim 7600CE-M1S với module ESP32

Module sim 7600CE-M1S ESP32

● Giới thiệu: Module GPS ATGM336H là một module định vị và điều hướng

BDS/GNSS hiệu năng cao sử dụng chip AT6558 AT6558 là một chip định vị vệ tinh đa phương tiện bao gồm 32 kênh theo dõi, tín hiệu GNSS có thể nhận được 6 hệ thống định vị vệ tinh và nhận ra điểm chung, điều hướng và thời gian Module ATGM33H có

Trang 40

25 ưu điểm là độ nhạy cao, tiêu thụ năng lượng thấp và có giá thành thấp và nó phù hợp cho các thiết bị cầm tay, điều hướng xe,…[6]

Bảng 8 Kết nối chân giữa GPS ATGM336H với module ESP32

ATGM336H ESP32

Ngày đăng: 07/06/2024, 16:36

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

TÀI LIỆU LIÊN QUAN

w