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

thiết kế và thi công hệ thống quản lý mô hình airbnb homestay

100 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

Nhất là trong việc bảo mật phòng của khách trong qua việc sử dụng thẻ quét mã phòng, để cho khách hàng có thể an tâm trong việc đi du lịch, nhóm em nghiên cứu và tiến hành thực hiện đề t

Trang 1

THÀNH PHỐ HỒ CHÍ MINH

KHÓA LUẬN TỐT NGHIỆP

NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN, ĐIỆN TỬ; ĐIỆN CÔNG NGHIỆP

THIẾT KẾ VÀ THI CÔNG HỆ THỐNG QUẢN LÝ MÔ HÌNH AIRBNB, HOMESTAY

GVHD:ThS VÕ ĐỨC DŨNG SVTH: PHAN VĨNH TRIỀU ANH HỒ TÔN ĐẠT

S K L 0 1 2 3 4 9

Trang 2

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

NGÀNH : CNKT ĐIỆN TỬ-VIỄN THÔNG (CLC) GVHD : ThS VÕ ĐỨC DŨNG

Trang 3

Độc lập – Tự do – Hạnh phúc ***

Tp Hồ Chí Minh, ngày 05 tháng 01 năm 2024

NHIỆM VỤ KHÓA LUẬN TỐT NGHIỆP

Họ tên sinh viên: Phan Vĩnh Triều Anh MSSV: 17142004 Hồ Tôn Đạt MSSV: 17142008 Ngành: Công nghệ kỹ thuật Điện tử - Viễn Thông (CLC)

Giáo viên hướng dẫn: ThS Võ Đức Dũng

Ngày nhận đề tài: 11//09/2023 Ngày nộp đề tài: 30/12/2023

1 Tên đề tài: Thiết kế và thi công hệ thống quản lý mô hình AIRBNB, HOMESTAY 2 Các số liệu, tài liệu ban đầu:

− Kiến thức về các môn học: Cơ sở và ứng dụng IoTs, Vi xử lý, Arduino, Cảm biến điện tử và ứng dụng, Công nghệ không dây, Công nghệ RFID, …

− Các tài liệu về lập trình: Arduino, HTML, JavaScript 3 Nội dụng thực hiện đề tài:

− Kết nối Arduino với các module (RFID, báo cháy, LCD, Servo…) − Kết nối ESP32 với Internet để cập nhật, quản lý dữ liệu

− Kết nối giao tiếp UART giữa Arduino với ESP32

− Nghiên cứu xây dựng Webserver giám sát, quản lý hệ thống − Thiết kế mô hình hệ thống

− Nguyên cứu lập trình để cập nhật dữ liệu liên tục lên Webserver − Thi công phần cứng, chạy thử nghiệm và hiệu chỉnh hệ thống − Viết và hoàn chỉnh báo cáo thực hiện

− Bảo vệ luận văn

Trang 4

sát thông qua web, điều khiển mở khóa bằng RFID (khách, chủ), thời gian đặt/trả phòng, quản lý thời gian vào/ra, tính tiền, kết nối wifi cho hệ thống và đưa dữ liệu lên Webserver, cảnh báo cháy, dùng bàn phím để nhập mật khẩu khẩn cấp

TRƯỞNG NGÀNH GIÁO VIÊN HƯỚNG DẪN

Trang 5

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

Tp Hồ Chí Minh, ngày 11 tháng 09 năm 2023 LỊCH TRÌNH THỰC HIỆN KHÓA LUẬN TỐT NGHIỆP

Họ tên sinh viên: Phan Vĩnh Triều Anh MSSV: 17142004 Lớp: 17141CLDT1B

Họ tên sinh viên: Hồ Tôn Đạt MSSV: 17142008 Lớp: 17141CLDT2B

Tên đề tài: Thiết kế và thi công hệ thống quản lý mô hình AIRBNB, HOMESTAY

GVHD

Tuần 1 (11/09 - 16/09)

− Gặp GVHD tiến hành xét duyệt đề tài − Viết đề cương chi tiết

Tuần 2 (17/09 - 23/09)

− Gặp GVHD ký đề cương chi tiết − Tìm hiểu Arduino, ESP32 Tuần 3

(24/09 - 01/10)

− Tìm hiểu linh kiện và datasheet

− Cài đặt, tìm hiểu lập trình trên Arduino IDE Tuần 4

(02/10 – 08/10)

− - Tìm hiểu giao tiếp UART giữa Arduino và ESP32

Tuần 5 (09/10 – 15/10)

− - Tiến hành giao tiếp UART giữa Arduino và ESP32

Trang 6

GV HƯỚNG DẪN (Ký và ghi rõ họ và tên) − Vẽ sơ đồ khối

Tuần 7 (23/10 – 29/10)

− Tiến hành lập trình Arduino với các module (RFID, báo cháy, bàn phím, …)

Tuần 8 (30/10 – 05/11)

− Tìm hiểu cơ chế bảo mật trên RFID − Tìm hiểuWebserver trên ESP32 Tuần 9,10,11

Trang 7

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

Người thực hiện

Phan Vĩnh Triều Anh Hồ Tôn Đạt

Trang 8

Dũng đã tận tình hướng dẫn, giúp đỡ và tạo điều kiện thuận lợi cho nhóm em trong suốt quá trình thực hiện báo cáo Nhóm xin gửi đến thầy lời cảm ơn chân thành và sâu sắc nhất

Đồng thời, nhóm em cũng xin cảm ơn đến các bạn bè đã hỗ trợ, đóng góp ý kiến cũng như chia sẻ kinh nghiệm để nhóm em hoàn thành tốt đề tài

Mặc dù đã cố gắng hết sức, nhưng do lượng kiến thức còn eo hẹp nên không tránh khỏi những thiếu sót Do vậy, nhóm em rất mong nhận được sự góp ý quý báu của Thầy để có thể hoàn thiện và tốt hơn nữa cũng như tích lũy kinh nghiệm để hoàn thành thực tập môn học và báo cáo đồ án tốt nghiệp sau này

Sau cùng, nhóm em kính chúc quý thầy thật dồi dào sức khỏe, luôn tràn đầy nhiệt huyết cùng với thành công trong sự nghiệp cao quý

Nhóm em xin chân thành cảm ơn! Sinh viên thực hiện

Phan Vĩnh Triều Anh Hồ Tôn Đạt

Trang 9

được đề cao, không chỉ trong không gian mạng mà còn cả những nơi mà khách hàng du lịch Nhất là trong việc bảo mật phòng của khách trong qua việc sử dụng thẻ quét mã phòng, để cho khách hàng có thể an tâm trong việc đi du lịch, nhóm em nghiên cứu và tiến hành thực hiện đề tài: “Thiết kế và thi công hệ thống quản lý mô hình AIRBNB, HOMESTAY” Đề tài ứng dụng thay đổi mã phòng thông qua việc sử dụng vòng lập để đưa mã phòng vào thẻ Mifare (mã 6 byte) Bên cạnh đó, nhằm bảo vệ khách, nhóm em đã thiết kệ giao diện người dùng (khách và chủ) Khách hàng có đăng kí phòng trên Webserver và chủ có thể giám sát được thiết bị sử dụng trong phòng Đề tài là 1 hệ thống cho phép chủ có thể thêm, xóa thẻ Mifare (thẻ phòng), giám sát thiết bị và tính tiền Việc xác nhận chức năng thêm hay xóa thẻ thực hiện thông qua TFT LCD (password và bàn phím)

Trang 10

TRANG BÌA i

NHIỆM VỤ KHÓA LUẬN TỐT NGHIỆP ii

LỊCH TRÌNH THỰC HIỆN KHÓA LUẬN iv

LỜI CAM ĐOAN vi

LỜI CẢM ƠN vii

Trang 11

2.3.3 ESP32 [14][15] 16

2.3.4 Servo MG90s [16][17] 18

2.3.5 Cảm Biến Phát Hiện Lửa (Flame Sensor) [18] 19

2.3.6 Màn hình LCD TFT [19][20] 21

2.4 CÁC CHUẨN GIAO TIẾP 23

2.4.1 Chuẩn giao tiếp UART 23

Trang 12

5.1.2 Khối ESP32 RFID và Khối Arduino RFID 65

5.1.3 Khối báo cháy 73

5.1.4 Khối giám sát thiết bị 74

5.1.5 Giao điện đặt phòng và Admin 75

Trang 13

Hình 3 8 Sơ đồ nối dây ESP32 với các thiết bị 35

Hình 3 9 Sơ đồ nguyên lý toàn mạch 37

Hình 4 1 Mạch PCB board mạch chính hệ thống 40

Hình 4 2 Mô hình mạch in 41

Hình 4 3 Khi chưa cấp nguồn cho hệ thống 42

Hình 4 4 Arduino TFT LCD, ESP32 RFID và cảm biến 42

Hình 4 5 Lưu đồ Arduino 44

Hình 4 6 Lưu đồ quét thẻ phòng 46

Hình 4 7 Lưu đồ Arduino TFT LCD 48

Trang 14

Hình 4 10 Lưu đồ trạng thái số "0" 51

Hình 4 11 Lưu đồ trạng thái số "1" 53

Hình 4 12 Lưu đồ trạng thái số "2" 54

Hình 4 13 Lưu đồ ESP32 với Websever 56

Hình 4 14 Lưu đồ giao điện giám sát thiết bị 57

Hình 4 15 Lưu đồ giao điện tính tiền 59

Hình 4 16 Giao điện TFT LCD 60

Hình 4 17 Giao diện đặt phòng 61

Hình 4 18 Giao điện giám sát thiết bị 62

Hình 4 19 Hình cửa 3 phòng sau khi nhập mật khẩu 72

Hình 5 1 Arduino TFT LCD khi chưa cấp nguồn 63

Hình 5 2 Arduino TFT LCD khi cấp nguồn 63

Hình 5 3 Màn hình khi TFT LCD nhập số 64

Hình 5 4 Màn hình TFT LCD sau khi nhấn nút # 64

Hình 5 5 RC522 nối với ESP32 khi chưa cấp nguồn 65

Hình 5 6 RC522 nối với ESP32 khi cấp nguồn 65

Trang 15

Hình 5 19 Khi xóa xong thẻ phòng 3 71

Hình 5 20 Khi xóa xong thẻ mới 72

Hình 5 21 Cảm biến phát hiện lửa 73

Hình 5 22 Thông báo trên giao diện giám sát 73

Hình 5 23 Công tắt đèn và quạt của 3 phòng 74

Hình 5 24 Khi chưa có thiết bị hoạt động 74

Hình 5 25 Khi quạt, đèn của 1 phòng hoạt động 75

Hình 5 26 Giao diện đặt phòng 75

Hình 5 27 Phòng và giá tiền từng phòng 76

Hình 5 28 Điền thông tin cá nhân 76

Hình 5 29 Thông tin khách hàng và phòng 77

Trang 16

Bảng 2 2 Bảng các thông số chân Arduino Uno R3 8

Bảng 2 3 Bảng các thông số kỹ thuật RFID-RC522 11

Bảng 2 4 Bảng các thông số chân RFID-RC522 11

Bảng 2 5 Bảng các thông số kỹ thuật ESP32 17

Bảng 2 6 Bảng các thông số chân Servo MG90s 18

Bảng 2 7 Bảng các thông số kỹ thuật Servo MG90s 19

Bảng 2 8 Thông số kỹ thuật Cảm Biến Phát Hiện Lửa (Flame Sensor) 20

Bảng 2 9 Bảng các thông số chân Cảm Biến Phát Hiện Lửa (Flame Sensor) 20

Bảng 2 10 Thông số kỹ thuật màn hình LCD TFT 21

Bảng 2 11 Bảng các thông số chân màn hình LCD TFT 22

Bảng 4 1 Thông tin các thiết bị, linh kiện chuẩn bị cho Board mạch 39

Bảng 5 1 Bảng dự toán đề tài 79

Trang 17

CHƯƠNG 1: TỔNG QUAN

1.1 GIỚI THIỆU TÌNH HÌNH NGHIÊN CỨU HIỆN NAY

Hiện nay, cuộc sống của mỗi người ngày càng hiện đại dẫn theo mức sống ngày càng tăng cao ở những trung tâm đô thị lớn khiến cho nhu cầu du lịch đến những nơi có không khí mát mẻ trong lành để nghỉ dưỡng ngày một tăng cao Nhu cầu của khách du lịch ngày một đa dạng để phù hợp, ngành du lịch không ngừng thay đổi cập nhật xu thế tạo ra các mô hình độc lạ, ấm cúng, chi phí thấp nhằm tạo ra không gian sống gần gũi với khách hàng, tăng sức cạnh tranh Trong đó lĩnh vực Homestay kết hợp với AirBNB là một loại hình phát triển gần đây còn khá mới mẻ và đang có xu thế phát triển được nhiều các bạn trẻ, gia đình, tour du lịch lựa chọn hiện nay

Homestay nghĩa là “ở tại nhà người dân” Khi khái niệm homestay mới ra đời, cách thức hoạt động của nó rất đơn giản Người dân bản xứ tại các địa điểm du lịch cho du khách thuê lại căn phòng còn trống, không có người sử dụng trong nhà mình[1][2]

Airbnb là viết tắt của cụm từ AirBed and Breakfast, là một startup với mô hình kết nối người cần thuê nhà, thuê phòng nghỉ với những người có phòng cho thuê trên khắp thế giới thông qua ứng dụng di động tương tự như ứng dụng chia sẻ xe Uber Tất cả việc thanh toán sẽ được thực hiện thông qua Airbnb, sử dụng thẻ tín dụng và nhà trung gian này sẽ thu một khoản phí đối với cả người cần đặt phòng và chủ nhà[3]

Airbnb Homestay Đối tượng Cung cấp một phạm vi rộng hơn

các loại chỗ ở, bao gồm cả căn hộ, nhà riêng và phòng trọ

Cung cấp phòng trọ trong nhà riêng của người dân

Trải nghiệm Như ở khách sạn Gần gũi với người dân và cộng đồng

Giá Cao vì trong đó có cả chi phí dịch vụ và tính bảo mật cao

Thấp hơn vì không cần thông qua bên trung gian

Trang 18

Đặt phòng Đặt trước phỏng nhanh chóng, dễ dàng

Đặt trực tiếp nếu có trung gian thì sẽ nhanh và dễ dàng hơn

Dịch vụ Hỗ trợ 24/7 Tùy chổ Sự an toàn Cung cấp mọi thông tin chổ ở cho

khách hàng, cung cấp tính bảo mật cho khách hàng lẫn chủ nhà

Homestay cần kiểm tra thông tin cá nhân tại quầy, tính bảo mật và an toàn tương đối Trung gian Tạo Web giao tiếp giữa chủ và

Sau khi tham khảo các đề tài cùng với kết hợp kiến thức được học ở trường, về tìm hiểu kiến thức cơ bản của C/C++ của thầy Nguyễn Đình Phú, Trương Ngọc

Anh, “Giáo trình: Vi xử lý”, Trường ĐHSPKT, Tp.HCM, Nhà xuất bản ĐH Quốc

Gia, 2013[8] và kiến thức về kỹ thuật số của thầy Nguyễn Trường Duy, Võ Đức

Dũng, Nguyễn Thanh Hải, “Giáo trình: Kỹ thuật số”, Trường ĐHSPKT, Tp.HCM,

Nhà xuất bản ĐH Quốc Gia, Tp.HCM, 2018,[9] tìm hiểu về truyền dữ liệu giữa các linh kiện với nhau và kiến thức giao tiếp RFID cửa thầy Nguyễn Văn Hiệp, Phạm

Trang 19

Quang Huy, “Công Nghệ Nhận Dạng Bằng Sóng Vô Tuyến RFID”, Nhà xuất bản khoa học và kỹ thuật[10], để tìm hiểu quá trình ghi và đọc thẻ Mifare

Từ những thông tin mà nhóm tham khảo từ các nguồn Nhóm em sẽ thực hiện hệ thống thông qua những kiến thức học tập tại trường cũng như tham khảo, tìm hiểu

và nghiên cứu Do đó, nhóm em sẽ thực hiện hệ thống: “Thiết kế và thi công hệ

thống quản lý mô hình AIRBNB, HOMESTAY”, mô hình này tạo sự an toàn và

tin cậy đến cho nhà đầu tư lẫn khách du lịch mang đến sự công bằng minh bạch cho hai bên

1.2 MỤC TIÊU

Thiết kế và thi công mô hình hệ thống điều khiển thiết bị thông qua wifi: giám sát thông qua web, điều khiển mở khóa bằng RFID (khách, chủ), thời gian đặt/trả phòng, quản lý thời gian vào/ra, tính tiền, kết nối wifi cho hệ thống và đưa dữ liệu lên Webserver, cảnh báo cháy, dùng bàn phím để nhập mật khẩu khẩn cấp

1.3 NỘI DUNG NGHIÊN CỨU

Trong quá trình thực hiện Đồ án tốt nghiệp với đề tài Thiết kế và thi công hệ thống quẩn lý mô hình AIRBNB, HOMESTAY, nhóm chúng em đã tập trung giải quyết và hoàn thành được những nội dung sau:

- Nội dung 1: Kết nối Arduino với các module (RFID, báo cháy, GLCD,

Servo…)

- Nội dung 3: Kết nối giao tiếp UART giữa Arduino với ESP32

- Nội dung 4: Nghiên cứu xây dựng Webserver giám sát, quản lý hệ thống - Nội dung 5: Thiết kế mô hình hệ thống

- Nội dung 6: Nguyên cứu lập trình để cập nhật dữ liệu liên tục lên Webserver - Nội dung 7: Thi công phần cứng, chạy thử nghiệm và hiệu chỉnh hệ thống - Nội dung 8: Viết và hoàn chỉnh báo cáo thực hiện

- Nội dung 9: Bảo vệ luận văn

Trang 20

1.4 GIỚI HẠN

Các thông số giới hạn của đề tài bao gồm:

• Webserver: chỉ có thể đặt phòng qua đường link

• Mật khẩu phòng cố định, có thể thay đổi mật khẩu trong code • Chưa điều khiển thiết bị trong phỏng bằng giọng nói được • Thời gian đáp ứng của hệ thống chưa được tối ưu

1.5 BỐ CỤC BÁO CÁO

Nội dung đề tài gồm các phần sau:

Chương 1: Tổng quan: Nếu tính cấp thiết của đề tài cũng với xu hướng và tình hình khoa học cũng như công nghệ hiện nay Sự phát triển công nghiệp cùng với nhu cầu phục vụ đời sống hàng ngày là lý do chọn đề tài và xác định mục tiêu cho đề tài Chương 2: Cơ sở lý thuyết: Trình bày tổng quan về thành phần, đặc tính cũng như chức năng của từng loại linh kiện ở phần cứng trong hệ thống, từ đó sẽ kết hợp lại để xây dựng nên một hệ thống hoàn chỉnh về mô hình

Chương 3: Mô phổng hệ thống: Từ yêu cầu của đề tài, thiết kế sơ đồ cho hệ thống (Sơ đồ khối, Sơ đồ nguyên lý) Đưa ra các phương pháp xử lý rồi từ đó thiết kế nên mô hình

Chương 4: Kết quả thực hiện: Trình bày kết quả của từng khối nhỏ và kết quả hiển thị qua led 7 đoạn Xuất ra hiển thị lập trình mong muốn

Chương 5: Kết luận và hướng phát triển: Dựa trên kết quả có được từ chương 4, đưa ra tổng quan nhất nhưng gì đã đạt được và nhưng thiết sót chưa đạt được Từ đó sẽ đưa ra hướng phát triển để cải thiện cho mô hình, hệ thống

Trang 21

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

2.1 CƠ SỞ ĐỀ TÀI

Để thực hiện đồ án, nhóm đả tham khảo một số đồ án khác để hoàn chỉnh với mục đích đề ra Cụ thể, nhóm đả tham khảo cơ chế bảo mật RFID như đồ án của Bùi Đình Cường, Lưu Văn Dương, Nguyễn Quang Anh, Đặng Huy Hoàng, 2017, với đề tài: “Thiết kế thiết bị khóa cửa bằng bảo mật và thẻ chip RFID ”[5], trong đề tài này có sử dụng RFID kết hợp với cơ chế bảo mật giúp thông tin khách hàng được hiệu quả hơn Và để tạo ra một giao diện khách hàng để cho việc quản lí một cách tốt nhất như Đồ án môn học 2 của Xaipanya Phoutsady, 2019, với đề tài: “Phần mềm quản lý khách sạn” [7] Bên cách tham khảo các đồ án trên, nhóm em còn tham khảo một số tính năng công nghệ mà RFID thực hiện trong việc quản lý khách sạn [6], áp dụng thêm một số quản lý, giảm sát khách để tạo ra môi trường an toàn [2]

Từ những thông tin mà nhóm tham khảo từ các nguồn Nhóm em sẽ thực hiện hệ thống thông qua những kiến thức học tập tại trường cũng như tham khảo, tìm hiểu và nghiên cứu Nhóm em dùng Arduino kết hợp module thu phát wifi ESP32 thông qua đường truyền internet (4G, router), kết hợp với cảm biến để mở cửa và cảnh báo Dựa trên các thông tin trên nhóm em đề ra mục tiêu cho KLTN, đồng thời phát triển thêm khả năng tính toàn tiền, quản lý thời gian để tạo ra một trường an toàn giữa chủ và khách hàng

2.2 GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH 2.2.1 Ngôn ngữ lập trình C/C++

C++ (C Plus Plus) là một ngôn ngữ lập trình đa năng và phổ biến hiện nay, là một ngôn ngữ nâng cao của C Ngôn ngữ C++ được thiết kế hướng đến việc lập trình máy tính và phần mềm nhúng cho các mạch xử lý vì sở hữu nhiều tính năng vượt trội, hiệu năng và tính linh hoạt cao

C ++ là một ngôn ngữ lập trình được phát triển bởi Bjarne Stroustrup vào năm 1979 tại Bell Labs C ++ được coi là ngôn ngữ bậc trung (middle-level) như một phần mở rộng của ngôn ngữ lập trình C, hoặc “C với các lớp Class” vì nó bao gồm sự kết

Trang 22

Ngôn ngữ C++ mang đến cho người dùng tiện ích và nó mang lại lại một số điểm mạnh như:

• Tính phổ biến: là một trong những ngôn ngữ phổ biến trong môi trường làm việc và trường học

• Tính thực thi nhanh: C++ cho phép người dùng sử dụng Assembly (Hợp ngữ),Assembly (Hợp ngữ) là ngôn ngữ lập trình thấp nhất cho phần cứng của máy tính

• Thư viện đầy đủ: C++ có nhiều tài nguyên cho người lập trình sử dụng, bao gồm cả đồ họa cao như API, 2D,3D, và một số thư viện ngoại vi cho các lập trình viên, sinh viên như chip, module I2C, cảm biến, … dễ dàng cho người sử dụng

• Đa mô hình: C++ hướng đến đối tượng đa dạng tùy theo yêu cầu của lập trình viên

2.2.2 HTML

HTML là viết tắt của cụm từ Hypertext Markup Language (tạm dịch là Ngôn ngữ đánh dấu siêu văn bản) HTML không phải là ngôn ngữ lập trình, nó có chức năng xác định nội dung và cấu trúc của một web HTML đánh dấu các nội dung khác nhau của văn bản: paragraph-đoạn văn, links-liên kết, headings-tiêu đề, image-hình ảnh, …

HTML ứng dụng trong việc dựng ra các trang web, dựng giao diện cho các phần mềm và các ứng dụng (ứng dụng chạy được trình duyệt, desktop, mobile, ).

2.2.3 JavaScript

Là 1 trong 3 ngôn ngữ lập trình web cơ bản mà một người lập trình viên cần phải học là HTML, CSS và JavaScript JavaScript là ngôn ngữ lập trình phổ biển trong vòng 20 năm qua JavaScript còn có tên gọi là Mocha (1995), Mona, Livescript và cuối cùng là JavaScript

Trang 23

JavaScript có rất nhiều điểm mạnh có thể được kể đến:

• Đối với lập trình viên: dễ học, dễ phát hiện và sửa các lỗi sai Thông qua ngon ngữ này lập trình viên có thể kiểm tra các dữ liệu đầu vào, nhằm giảm bớt các bước thủ công, ngôn ngữ còn sử dụng được ở nhiều nển tảng, trình duyệt khác nhau vì chúng có thể biên dịch bởi HTML từ trình duyệt web

• Đối với khách hàng truy cập: có thể dễ dàng truy cập và tương tác với web hiệu quả hơn Được hỗ trở bởi tất cả các trình duyệt, miễn phí và dễ dàng truy cập

Bên cạnh điểm mạnh thì cũng có điểm yếu:

• Ngôn ngữ tĩnh, không sử dụng để thiết kế các trang web động.

• Vì là một ngôn ngữ phổ biến nên việc dễ bị khai thác bởi các hacker là một điều dễ hiểu, khai thác lỗi bảo mật để đưa mã đọc vào máy tính của người dùng.

• Bên cạnh những trình duyệt hỗ trợ JavaScript thì cũng có những trình duyệt không hỗ trợ làm cho trải nghiệm không thuận tiện trên thiết bị.

2.3 GIỚI THIỆU PHẦN CỨNG 2.3.1 Arduino Uno R3 [11]

Arduino UNO là một bo mạch vi điều khiển dựa trênATmega328P Nó có 14 chân đầu vào/đầu ra kỹ thuật số (trong đó 6 chân có thể được sử dụng làm đầu ra PWM), 6 đầu vào analog, bộ cộng hưởng gốm 16 MHz, kết nối USB, jack cắm nguồn, đầu ICSP và nút đặt lại Nó chứa mọi thứ cần thiết để hỗ trợ vi điều khiển; chỉ cần kết nối nó với máy tính bằng cáp USB hoặc cấp nguồn cho nó bằng bộ chuyển đổi AC-to-DC hoặc pin để bắt đầu Bạn có thể sửa lại UNO của mình mà không phải lo lắng quá nhiều về việc làm sai điều gì đó, trong trường hợp xấu nhất, bạn có thể thay thế con chip với một vài đô la và bắt đầu lại từ đầu

Trang 24

Hình 2 1 Arduino Uno R3

Bảng 2 1 Bảng các thông số kỹ thuật Arduino Uno R3

Vi điều khiển ATmega328 họ 8bit

Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB) Tần số hoạt động 16 MHz

Dòng tiêu thụ khoảng 30mA Điện áp vào khuyên dùng 7-12V DC Điện áp vào giới hạn 6-20V DC

Số chân Digital I/O 14 (6 chân hardware PWM) Số chân Analog 6 (độ phân giải 10bit) Dòng tối đa trên mỗi chân I/O 30 mA

Dòng ra tối đa (5V) 500mA Dòng ra tối đa (3.3V) 50 mA

Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bởi bootloader

SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328)

Bảng 2 2 Bảng các thông số chân Arduino Uno R3

Trang 25

Chức năng

Loại Miêu tả

NC NC Không kết nối IOREF IOREF đọc điện áp vi điều khiển

Reset Reset Reset

GND Power Nối đất GND Power Nối đất

VIN Power Đầu vào điện áp A0 Analog/GPIO Đầu vào tương tự 0 /GPIO A1 Analog/GPIO Đầu vào tương tự 1 /GPIO A2 Analog/GPIO Đầu vào tương tự 2 /GPIO A3 Analog/GPIO Đầu vào tương tự 3 /GPIO A4/SDA Analog

input/I2C

Chân dữ liệu nối tiếp

A5/SCL Analog input/I2C

Chân đồng hồ nối tiếp D0/RX Digital/GPIO Ngõ vào số 0/GPIO

Được sử dụng để nhận dữ liệu (RX) D1/TX Digital/GPIO Ngõ vào số 1/GPIO

Truyền dữ liệu (TX) TTL D2 Digital/GPIO Ngõ vào số 2/GPIO D3 Digital/GPIO Ngõ vào số 3/GPIO

Cung cấp đầu ra xung PWM D4 Digital/GPIO Ngõ vào số 4/GPIO D5 Digital/GPIO Ngõ vào số 5/GPIO

Cung cấp đầu ra xung PWM

Trang 26

D6 Digital/GPIO Ngõ vào số 6/GPIO Cung cấp đầu ra xung PWM D7 Digital/GPIO Ngõ vào số 7/GPIO D8 Digital/GPIO Ngõ vào số 8/GPIO D9 Digital/GPIO Ngõ vào số 9/GPIO

Cung cấp đầu ra xung PWM SS Digital Hỗ trợ giao tiếp SPI bằng

thư viện SPI

Cung cấp đầu ra xung PWM

MOSI Digital Cung cấp đầu ra xung PWM

MISO Digital SCL Digital

GND Digital Nối đất

2.3.2 RFID-RC522 [12][13]

Về RFID có nhiều loại tần sồ và khoảng cách khác nhau như: LF RFID (134 KHz - 10 cm), HF RFID (13,56 MHz - 10 cm), UHF RFID (300 MHz đến 3 GHz - 12 met) trong UHF RFID có UHF Gen2 RFID (860 đến 960 MHz hoặc 900 đến 915 MHz - 12 met) tùy thuộc nhà sản xuất mà dao động tần số thay đổi

Nhóm UHF được quy định bởi một tiêu chuẩn toàn cầu gọi là tiêu chuẩn ECPglobal Gen2 (ISO 18000-6C) UHF

Sau khi tham khảo, nhóm em chọn HF RFID Và tham khảo thêm các chủng loại thuộc nhóm HF RFID để thực hiện gồm có : LC522, FM17550 và RC522 Thì nhóm em chọn RFID-RC522 để thực hiện đồ án này vì trước đó tụi em đã học, tìm hiểu nó thông qua môn Công nghệ RFID của thầy Hiệp và ứng dụng được nó trong việc thêm, xóa thẻ phù hợp với mục tiêu ban đầu đề ra

Mạch RFID NFC 13.56MHz RC522 sử dụng IC MFRC522 được sử dụng để đọc và ghi dữ liệu cho thẻ RFID / NFC tần số 13.56MHz, mạch có thiết kế nhỏ gọn

Trang 27

được sử dụng rất phổ biến hiện nay với Arduino hoặc các loại Vi điều khiển khác trong các ứng dụng cần ghi, đọc thẻ RFID / NFC

Hình 2 2 RFID-RC522

Bảng 2 3 Bảng các thông số kỹ thuật RFID-RC522

Nguồn sử dụng 3.3VDC Dòng điện 13~26mA Tần số hoạt động 13.56Mhz

Khoảng cách hoạt động 0~60mm(mifare1 card) Chuẩn giao tiếp SPI

Tốc độ truyền dữ liệu tối đa 10Mbit/s

Các loại card RFID hỗ trợ mifare1 S50, mifare1 S70, mifare UltraLight, mifare Pro, mifare Desfire

Kích thước 40mm × 60mm

Bảng 2 4 Bảng các thông số chân RFID-RC522

Chân Mô tả chi tiết

Chân 1 VCC Chân nguồn VCC Trong một số phiên bản của RC522, chân này được ký hiệu là 3V3 thay vì VCC

Trang 28

2.3.2.1 Cơ cấu tổ chức EEPROM trong thẻ Mifare

Trong cấu trúc của 1 thẻ Mifare bất kỳ thì bộ nhớ Eeprom là phần đóng vai trò quan trọng nhất trong hoạt động lưu trữ dữ liệu và cơ cấu bảo mật của thẻ Trước khi Chân 2 RST Là chân reset được sử dụng để đặt lại

giá trị trong trường hợp xảy ra lỗi khi thiết bị không bất kỳ phản hồi

Chân 3 Ground Chân nối đất giúp tạo mass chung với các thiết bị bên ngoài (ví dụ bộ nguồn, bi điều khiển hoặc arduino)

Chân 4 IRQ Linh kiện có thể chuyển sang chế độ ngủ để tiết kiệm điện năng và chân IRQ sẽ khởi động lại nó

Chân 5 MISO SCL-TX Chân này kết nối với Arduino / Vi điều khiển để giao tiếp SPI Truyền dữ liệu từ module sang Arduino

Chân MISO cũng có thể sử dụng cho các chức năng khác thay vì SPI Cũng có thể giao tiếp I2C và UART Serial để giao tiếp dữ liệu với module Chân 6 MOSI MOSI là chân đầu vào dữ liệu module

RFID khi giao tiếp SPI

Chân 7 SCK Các chân SCK gửi xung clock khi giao tiếp SPI

Chân 8 SS SDA-RX Chân SS của RFID có thể được sử dụng như một chân thứ hai (SDA) của giao tiếp I2C

Cũng là chân nhận dữ liệu trong quá trình giao tiếp UART

Trang 29

bắt đầu lập trình với Mifare, người dùng buộc phải nắm rõ được cơ cấu tổ chức bên trong loại thẻ này để có được phương án lập trình thích hợp và tối ưu nhất, hơn nữa còn hạn chế được rủi ro trong quá trình sử dụng thẻ Hình dưới đây cho ta thấy được cấu trúc của bộ nhớ Eeprom trên 1 thẻ Mifare Classic:

Bộ nhớ Eeprom có dung lượng 1 KByte được chia thành 16 Sectors hay vùng nhớ Các Sector này được đánh số từ 0 đến 15, được truy xuất không theo thứ tự nghĩa là các vùng nhớ được đọc/ghi một các độc lập, không rang buộc với nhau Trong mỗi Sector lại được chia thành 4 Block (được đánh số từ 0 đến 3) chứa dữ liệu người dùng và các khóa bảo mật, dung lượng của mỗi Block là 16 Bytes được đánh số từ trái sang phải từ Byte 0 đến 15

Mỗi Sector Trailer gồm 3 thành phần chính là 2 mã bảo mật có thể lập trình được gọi là Key A (nằm từ Byte 0 đến Byte 5) và Key B(nằm từ Byte 10 đến Byte 15) để truy cập đọc/ghi vào chính Sector mà nó quy định Và thành phần còn lại là AccessBit (nằm từ Byte 6 đến Byte 9) có khả năng quy định chức năng cho Key A, B và khả năng truy xuất thông tin của thẻ

Duy chỉ có Sector 0 là đặc biệt hơn so với 15 Sector còn lại, đó là việc nó có 1 Block của nhà sản xuất gọi là Manafacturer Block Block này được nhà sản xuất

Trang 30

ghi mã Serial Number vào nhằm phân biệt các thẻ với nhau và các mã Serial Number này là duy nhất Người lập trình không được ghi, xóa dữ liệu vào Block này để tránh việc bị lỗi Sector này (theo khuyến cáo của nhà sản xuất)

2.3.2.2 Cơ cấu bảo mật của thẻ MIFARE

a Đối với 1 thẻ Mifare Classic thì ta có 4 cách để bảo mật thông tin trên thẻ: Dựa vào UID độc nhất của mỗi thẻ, mỗi thẻ Mifare đều có 1 Seri Number độc nhất do nhà sản xuất quy định và chúng ta sẽ không thể thay đổi và tác động vào Ứng dụng vào các bãi giữ xe trong các trường học, bệnh viện, siêu thị…

b Dựa vào thuật toán truy xuất:

Mỗi nhà loại thẻ có một lưu đồ thuật toán khác nhau nên chỉ có đầu đọc được thiết kế cho loại thẻ đó mới có thể đọc/ghi dữ liệu trên thẻ được Đáng tiếc rằng thuật toán truy xuất vào thẻ thì có thể bị sao chép nên phương án bảo mật này không được đánh giá cao

c Dựa vào KeyA, key B:

Đây là hai khóa bảo mật được đặt trong Trailer Block của mỗi Block, được coi như chìa khóa mở ra thông tin trên mỗi Block của thẻ vì khi lập trình, người dùng buộc phải khai báo đúng hai khóa này trước khi tác động vào thông tinh trên thẻ Phương án này được đánh giá khá cao bởi người dùng thẻ Mifare chỉ sau Access Bit

d Dựa vào Access Bit:

Đây là phương án bào mật cao nhất trên thẻ Mifare Access Bit là tổ hợp các bộ ba bit điều khiển chức năng của Key A, Key B cũng như khả năng được xuất hiện của dữ liệu trên thẻ

2.3.2.3 Thêm cơ chế bảo mật bằng cách sử dụng key A, key B

1 Cách sử dụng Key A, B

Để truy xuất thông tin trên thẻ Mifare, sau khi nhận được tính hiệu có thẻ được đưa vào, đầu đọc sẽ yêu cầu người dùng xác thực với các mã bảo mật, nếu mã bảo mật được cung cấp là đúng thì sẽ trả về “True” ngược lại trả về “False” Dựa vào các trạng thái True/False đầu đọc sẽ tiếp tục thực hiện yêu cầu hay không Khi mã bảo mật được cung cấp là đúng, Đọc mã xác nhận trên thẻ và tiến hành các hoạt động

Trang 31

đọc/ghi dữ liệu Khi một thẻ mới được mua về và chuẩn bị được sử dụng thì việc thay đổi các khóa bảo mật nên được thực hiện ở phần này, chúng ta chỉ tác động với Key A, Key B để thấy được rõ vai trò của chúng, nên các Access Bit nên được giữ nguyên, các Access Bit sẽ được hướng dẫn ở phần sau Việc thay đổi Key A, Key B được thực hiện thông qua các bước chính như sau:

Hình 2 3 Quy trình thay Key A và Key B

2 Thay đổi khóa bảo mật Key A, Key B

Việc thay đổi Key A, Key B cũng chính là ghi dữ liệu nhưng đặc biệt hơn là chúng ta phải thay đổi vào vùng nhớ của Trailer Block vì chỉ Trailer Block mới chứa các mã bảo mật này Một lưu ý quan trọng là khi thay chọn mảng để thay đổi, thì đặt vào đủ 16byte của Trailer Block mặc dù có những Bytes không thay đổi ở đây là Access Bit Tùy vào Access Bit qui định cho từng Block thì sẽ tương ứng với Key

Trang 32

nào được gọi trong quá trình ghi Chương trình ghi ở phần này cũng là chương trình ghi đã đưa ở phần trước Lưu đồ thay đổi khóa bảo mật như sau:

Hình 2 4 Quá trình ghi thẻ

2.3.3 ESP32 [14][15]

Kit RF thu phát Wifi ESP32 NodeMCU LuaNode32 được phát triển trên nền module trung tâm là ESP32 với công nghệ Wifi, BLE và nhân ARM SoC tích hợp mới nhất hiện nay, kit có thiết kế phần cứng, firmware và cách sử dụng tương tự Kit NodeMCU ESP8266, với ưu điểm là cách sử dụng dễ dàng, ra chân đầy đủ Mạch WiFi này là sự lựa chọn hàng đầu trong các nghiên cứu, ứng dụng về Wifi, BLE, IoT và điều khiển, thu thập dữ liệu qua mạng

Đặc điểm:

• Khối lượng nhỏ, dễ dàng ứng dụng vào các sản phẩm khác

Trang 33

• Chức năng mạnh mẽ với giao thức LWIP, Freertos • Hỗ trợ ba chế độ: AP, STA và AP + STA

• Hỗ trợ chương trình Lua, dễ dàng phát triển

Hình 2 5 ESP32

Bảng 2 5 Bảng các thông số kỹ thuật ESP32

CPU Xtensa Dual-Core LX6 microprocessor Tốc độ xử lý 160MHZ up to 240 MHz

Tốc độ xung nhịp 40mhz > 80mhz RAM 520 KByte SRAM WIFI 802.11 b/g/n/e/i Bluetooth v4.2 BR/EDR and BLE Nhiệt độ hoạt động -40 + 85C

Điện áp hoạt động 2.2-3.6V Số cổng GPIOs 34

Trang 34

Hình 2 6 Hình các thông số chân ESP32

2.3.4 Servo MG90s [16][17]

Động cơ Servo MG90S bánh răng kim loại là phiên bản nâng cấp của động cơ RC Servo 9G với các bánh răng được làm bằng kim loại cho lực khéo khỏe và độ bền cao, động cơ có kích thước nhỏ gọn, cách điều khiển giống như các động cơ RC Servo phổ biến trên thị trường hiện nay: MG996, MG995, 9G, … Phù hợp cho nhiều ứng dụng khác nhau: Robot cánh tay máy, robot nhện, cơ cấu chuyển hướng, cơ cấu quay góc,…

Hình 2 7 Servo MG90s

Bảng 2 6 Bảng các thông số chân Servo MG90s

STT Tên chân Chức năng

Trang 35

1 Đỏ Chân Nguồn 2 Nâu Chân Đất 3 Cam Chân tín hiệu

Bảng 2 7 Bảng các thông số kỹ thuật Servo MG90s

Trọng lượng 13.4g

Kích thước 22.8 x 12.2 x 28.5 mm

Stall Torque 1.8 kg.cm (4.8V); 2.2 kg.cm (6V) Nhiệt độ hoạt động 0 - 55 độ C

Tốc độ 0.1 giây / 60° (4.8V), 0,08 giây / 60° Điện áp hoạt động 4.8 → 6 V DC

Chiều dài dây nối 175mm

2.3.5 Cảm Biến Phát Hiện Lửa (Flame Sensor) [18]

Cảm biến lửa có nhiều loại như: cảm biến lửa mke-s04 ir infrared flame sensor, YG1006, KY-026, Sau khi tìm hiểu nhóm em chọn YG1006 vì đã tìm hiểu và thực hiện các đồ án môn học với cảm biến đó nhiều

Cảm biến phát hiện lửa (flame sensor) là một cảm biến hòng ngoại thường được sử dụng cho việc phát hiện lửa được ứng dụng nhiều trong các mô hình : xe robot chữa cháy, cảnh báo cháy,… Có tầm phát hiện trong khoảng 80cm, góc quét 600 và bước sóng từ 760mm – 1100mm

Cảm biến phát hiện lửa (flame sensor) có hai ngõ ra tín hiệu là Digital và Analog rất dễ dử dụng

Mạch được tích hợp IC LM393 so sánh để tạo mức tín hiệu Ta có thể chỉnh độ nhạy bằng biến trở

Trang 36

Hình 2 8 Cảm Biến Phát Hiện Lửa (Flame Sensor)

Bảng 2 8 Thông số kỹ thuật Cảm Biến Phát Hiện Lửa (Flame Sensor)

STT Thông số Giá trị 1 Nguồn cấp 3.3V – 5VDC 2 Dòng tiêu thụ 15mA

3 Tín hiệu ra Digital 3.3 – 5VDC 4 Analog

5 Khoảng cách 80cm 6 Góc quét 600

7 Kích thước 3.2 x 1.4 cm

Bảng 2 9 Bảng các thông số chân Cảm Biến Phát Hiện Lửa (Flame Sensor)

Chân Tên Mô tả

1 VCC 3.3V ~ 5.3V

2 GND Ground

3 AOUT (AO) Đầu ra Analog

4 DOUT (DO) Đầu ra Digital

Trang 37

2.3.6 Màn hình LCD TFT [19][20]

Màn hình LCD TFT cảm ứng điện trở 2.8inch ILI9341 giao tiếp SPI được sử dụng trong việc điều khiển và hiển thị, màn hình dễ dàng giao tiếp và sử dụng trên màn hình, có thể giúp người dùng xây dựng giao diện điều khiển cảm ứng trên một màn hình Đi cùng với màn hình là bút cảm ứng giúp người dùng dễ giao tiếp và thiết kế hình trên màn hình một cách chuyên nghiệp

Hình 2 9 Màn hình LCD TFT

Bảng 2 10 Thông số kỹ thuật màn hình LCD TFT

STT Thuộc tính Giá trị 1 Kích thước đường chéo 3.2 inch 2 IC Driver ILI9341 3 Giao tiếp SPI 4 Độ phân giải 320 x 240 pixels 5 Cảm ứng Có

6 Kích thước vùng nhìn 48.6 x 64.8mm 7 Loại cảm ứng Điện trở 8 Điện áp cấp 3.3VDC 9 Loại đèn nền Backlight LED 10 Chế độ hiển thị Transmissive

Trang 38

11 Kích thước 55.04 x 89.3mm 12 Công nghệ hiển thị TFT 13 Số màu 65,536 14 Nhiệt độ hoạt động -10 ~ +60°C 15 Loại Điện trở

Bảng 2 11 Bảng các thông số chân màn hình LCD TFT

STT Chân Miêu tả 1 VCC Đầu vào nguồn 5V/3.3V

10 T_CLK T_CLK Chạm vào tín hiệu đồng hồ bus SPI

11 T_CS Tín hiệu chọn chip màn hình cảm ứng T_CS, bật mức thấp 12 T_DIN T_DIN Chạm vào đầu vào bus SPI

13 T_DO Chạm vào đầu ra bus SPI

14 T_IRQ Tín hiệu ngắt màn hình cảm ứng T_IRQ, mức thấp khi phát hiện cảm ứng

Trang 39

2.4 CÁC CHUẨN GIAO TIẾP 2.4.1 Chuẩn giao tiếp UART

Chuẩn giao tiếp UART, viết tắt là Universal Asynchronous Receiver / Transmitter Mục đích chính của chuẩn giao tiếp UART là truyền và nhận dữ liệu nối tiếp

• TX (Transmiter) – truyền dữ liệu • RX (Receiver) – nhận dữ liệu Số dây sử dụng 2

Tốc độ Từ 9600 bps -> 115200 bps Phương thức truyền dữ liệu Không đồng bộ Kiểu truyền dữ liệu Nối tiếp

Master (thiết bị chủ) 1 Slave (thiết bị tớ) 1

UART1 và UART2 truyền và nhận dữ liệu từ bus dữ liệu thông qua truyền dữ liệu song song

UART truyền và nhận dữ liệu ở tốc độ được đặt trước (Baud rate)

Ưu điểm của UART bao gồm sử dụng chỉ hai dây, không cần tín hiệu đồng hồ, có bit chẵn lẻ để kiểm tra lỗi, cấu trúc gói dữ liệu có thể thay đổi, và phương pháp được sử dụng rộng rãi

Nhược điểm của UART bao gồm kích thước khung dữ liệu giới hạn, không hỗ trợ nhiều hệ thống, tốc độ truyền giới hạn và yêu cầu tốc độ truyền cụ thể cho mỗi UART

2.4.2 Giao thức SPI

SPI là một giao thức giao tiếp phổ biến được ứng dụng trong nhiều thiết bị khác nhau như module thẻ SD, module đầu đọc thẻ RFID, và bộ phát/thu không dây 2,4 GHz So với các giao thức khác như I2C và UART, SPI có lợi ích duy nhất là có thể truyền dữ liệu mà không bị gián đoạn, không bị hạn chế về số lượng bit và không yêu cầu các gói dữ liệu

Trang 40

Giao tiếp SPI thường có cấu trúc master-slave, trong đó master (thường là vi điều khiển) điều khiển slave (cảm biến, màn hình hoặc chip nhớ) Hệ thống có thể có một master và một slave, hoặc một master có thể điều khiển nhiều hơn một slave

Các tín hiệu quan trọng trong SPI bao gồm MOSI (đầu ra master/đầu vào slave) cho việc truyền dữ liệu từ master đến slave, MISO (đầu vào master/đầu ra slave) cho slave trả lại dữ liệu, SCLK (clock) để đồng bộ hóa truyền dữ liệu, và SS/CS (Slave Select/Chip Select) để master chọn slave nào để tương tác

Ưu điểm của SPI bao gồm khả năng truyền dữ liệu liên tục mà không bị gián đoạn, không có hệ thống địa chỉ phức tạp như I2C, tốc độ truyền dữ liệu cao hơn I2C, và khả năng gửi và nhận dữ liệu đồng thời qua các đường MISO và MOSI

Tuy nhiên, SPI cũng có nhược điểm như sử dụng bốn dây (so với hai của I2C và UART), không có xác nhận dữ liệu đã được nhận thành công, không có hình thức kiểm tra lỗi như bit chẵn lẻ trong UART, và chỉ cho phép một master duy nhất

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