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

Thông tin cơ bản

Tiêu đề Thiết kế và thi công hệ thống quản lý mô hình Airbnb homestay
Tác giả Phan Vĩnh Triều Anh, Hồ Tôn Đạt
Người hướng dẫn ThS. Võ Đức Dũng
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công nghệ kỹ thuật Điện tử - Viễn Thông (CLC)
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2024
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 100
Dung lượng 7,89 MB

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN (17)
    • 1.1 GIỚI THIỆU TÌNH HÌNH NGHIÊN CỨU HIỆN NAY (17)
    • 1.2 MỤC TIÊU (19)
    • 1.3 NỘI DUNG NGHIÊN CỨU (19)
    • 1.4 GIỚI HẠN (20)
    • 1.5 BỐ CỤC BÁO CÁO (20)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (21)
    • 2.1 CƠ SỞ ĐỀ TÀI (21)
    • 2.2 GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH (21)
      • 2.2.1 Ngôn ngữ lập trình C/C++ (21)
      • 2.2.2 HTML (22)
      • 2.2.3 JavaScript (22)
    • 2.3 GIỚI THIỆU PHẦN CỨNG (23)
      • 2.3.3 ESP32 [14][15] (32)
      • 2.3.4 Servo MG90s [16][17] (34)
      • 2.3.5 Cảm Biến Phát Hiện Lửa (Flame Sensor) [18] (35)
      • 2.3.6 Màn hình LCD TFT [19][20] (37)
    • 2.4 CÁC CHUẨN GIAO TIẾP (39)
      • 2.4.1 Chuẩn giao tiếp UART (39)
      • 2.4.2 Giao thức SPI (39)
  • CHƯƠNG 3: THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG (41)
    • 3.1 Giới thiệu (41)
    • 3.2. Yêu cầu và sơ đồ khối của hệ thống (0)
      • 3.2.1 Yêu cầu hệ thống (42)
      • 3.2.2 Sơ đồ khối và chức năng của mỗi khối (43)
      • 3.2.3 Hoạt động của hệ thống (44)
    • 3.3. THIẾT KẾ HỆ THỐNG PHẦN CỨNG (45)
      • 3.3.1 Khối xử lý trung tâm (45)
      • 3.3.2 Khối hiển thị (46)
      • 3.3.3 Khối cảm biến (47)
      • 3.3.4 Khối RFID (48)
      • 3.3.5 Khối Servo (49)
      • 3.3.6 Khối thu phát Wifi (50)
    • 3.4 Sơ đồ nguyên lý (52)
  • CHƯƠNG 4: THI CÔNG HỆ THỐNG (55)
    • 4.3. LẬP TRÌNH HỆ THỐNG (58)
      • 4.3.1 Lưu đồ chương trình (59)
      • 4.3.2 Giao diện hệ thống (76)
  • CHƯƠNG 5: KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ (79)
    • 5.1 KẾT QUẢ (79)
      • 5.1.1 Khối Arduino TFT LCD (79)
      • 5.1.2 Khối ESP32 RFID và Khối Arduino RFID (81)
      • 5.1.3 Khối báo cháy (89)
      • 5.1.4 Khối giám sát thiết bị (90)
      • 5.1.5 Giao điện đặt phòng và Admin (91)
    • 5.2. NHẬN XÉT - ĐÁNH GIÁ (93)
      • 5.2.2 NHẬN XÉT (93)
      • 5.2.2 ĐÁNH GIÁ (94)
    • 5.3 Dự toán đề tài (95)
  • CHƯƠNG 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (96)
    • 6.1 KẾT LUẬN (96)
    • 6.2 HƯỚNG PHÁT TRIỂN (96)
  • TÀI LIỆU THAM KHẢO (97)
  • PHỤ LỤC (99)

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

TỔNG QUAN

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 Đặ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à khách hàng

Liên lạc trực tiếp với chủ

Phạm vi phục vụ Cung cấp nơi ở trên toàn thế giới Chỉ cung cấp chổ ở trong nước

Hiện tại, có rất nhiều đề tài nghiên cứu về điều khiển nhà thông mình của Trần Minh Luân, Lâm Thành Đạt, 2018 với đề tài “Thiết kế và thi công thiết bị điều khiển nhà thông minh”[4]và đồ á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] và tham khảo ứng dụng bảo mật RFID trong quản lý khách sạn[6] để thông tin khách hàng được bảo mật tốt hơn Bên cạnh đó, nhóm xem còn tham khảo thêm Đồ á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” tìm hiểu chương trình hoạt động quản lý một cách tối ưu [7]

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

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.

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.

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.

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

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

CƠ SỞ LÝ THUYẾT

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.

GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH

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 hợp của cả các tính năng của ngôn ngữ cấp cao và cấp thấp

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

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, ).

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

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ị.

GIỚI THIỆU PHẦN CỨNG

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

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

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

NC NC Không kết nối

IOREF IOREF đọc điện áp vi điều khiển

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

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

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

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

MOSI Digital Cung cấp đầu ra xung

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 đượ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

Tần số hoạt động 13.56Mhz

Khoảng cách hoạt động 0~60mm(mifare1 card)

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

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

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 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 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 đọ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 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ẻ

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

• 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

Bluetooth v4.2 BR/EDR and BLE

Nhiệt độ hoạt động -40 + 85C Điện áp hoạt động 2.2-3.6V

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

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

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ÁC CHUẨN GIAO TIẾP

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

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

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

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

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.

THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG

Giới thiệu

Sau khi tìm hiểu về về cơ sở lí thuyết của đề tài và lựa chọn các linh kiện phù hợp với đề tài Sử dụng ngôn ngữ lập trình C/C++ để giao tiếp với Arduino và ESP32 sử dụng các thư viên hỗ trợ của các linh kiện Điều khiển các thiết bị ngoại vi:servo, cảm biến, TFT LCD, nút nhấn, RC522,…Chủ có thể giám sát (không điều khiển) thiết bị phòng và cảnh báo cháy khi có lửa Đề tài sử dụng mô hình 3 nhà thu nhỏ, mô phỏng Homestay Giao diện đặt phòng tham khảo giao diện Airbnb và giao diện giám sát thiết bị tự thiết kế chỉ giám sát( đèn, quạt, cửa) Và cảm biến còn bị ảnh hưởng bởi ánh sáng khác ánh sáng lửa

Yêu cầu đề ra cần thực hiện cho đề tài này là:

• Hiển thị LCD, nhấn được trên LCD, cảm biến cháy phát hiện được lửa, Buzzer báo cháy, đóng mở cửa

• Mật khẩu nhấn được trên LCD và hiển thị được trên đó

• TFT LCD có thể giao tiếp được với chủ

• ESP32 thực hiện được chức năng thêm, xóa thẻ thông qua tín hiệu từ

• Arduino RFID giao tiếp được với servo và RC522 của 3 phòng.

• Giao tiếp được với người dùng cho khách hàng đặt phòng

• Hiển thị được giao diện hệ thống giám sát cho chủ

• Tạo được mật khẩu ngẫu nhiên, đưa về ESP32 và Arduino thông qua đường truyền mạng

• Cảnh báo được khi có cháy, thông báo trên hệ thống giám sát

Yêu cầu và sơ đồ khối của hệ thống

Yêu cầu đề ra cần thực hiện cho đề tài này là:

• Hiển thị LCD, nhấn được trên LCD, cảm biến cháy phát hiện được lửa, Buzzer báo cháy, đóng mở cửa

• Mật khẩu nhấn được trên LCD và hiển thị được trên đó

• TFT LCD có thể giao tiếp được với chủ

• ESP32 thực hiện được chức năng thêm, xóa thẻ thông qua tín hiệu từ

• Arduino RFID giao tiếp được với servo và RC522 của 3 phòng.

• Giao tiếp được với người dùng cho khách hàng đặt phòng

• Hiển thị được giao diện hệ thống giám sát cho chủ

• Tạo được mật khẩu ngẫu nhiên, đưa về ESP32 và Arduino thông qua đường truyền mạng

• Cảnh báo được khi có cháy, thông báo trên hệ thống giám sát

3.2.2 Sơ đồ khối và chức năng của mỗi khối

Hình 3 1 Sơ đồ khối hệ thống

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

Khối xử lý trung tâm:

• Arduino TFT LCD: Có nhiệm vụ xử lý tín hiệu nhập từ bàn phím so sanh tọa độ xuất tín hiệu lên màn hình TFT LCD, đồng thời truyền tín hiệu đã nhập qua ESP32 để thực hiện chức năng(nếu có)

• Arduino RFID: khi thẻ Mifare phòng được khách quẹt mở cửa, RC522 sẽ truyền mã phòng được lưu trong thẻ so sánh với mật khẩu được lập trình cho phòng Nếu mật khẩu đúng buzzer sẽ kêu và cửa sẽ mở ra.

Khối hiển thị: hiển thị dòng nhập mật khẩu và bàn phím cảm ứng để nhập mật khẩu

Khối cảm biến: khi phát hiện lửa sẽ truyền tín hiệu cho Arduino RFID và ESP32 để cảnh báo cháy Đối với Arduino RFID sẽ mở hết cửa phòng, còn ESP32 sẽ thông báo cho chủ thông qua giao diện giám sát thiết bị và buzzer báo

• RC522 của Arduino RFID: mở cửa phòng bằng thẻ từ (so sánh mật khẩu trong thẻ và mật khẩu lưu trong Arduino RFID)

• RC522 của ESP32: sẽ truyền mã vào thẻ Mifare

Khối Servo: mở cửa tự động khi mật khẩu phòng đúng

Khối thu phát: ESP32 có chức năng truyền mật khẩu vào RC522 master, đồng thời truyền tín hiệu đèn, quạt, cửa của phòng khi khách sử dụng (chủ không điều khiển) lên giao diện người dùng thông qua đường truyền mạng 4G

3.2.3 Hoạt động của hệ thống

• Khách có thể truy cập vào đường dẫn để đặt phòng theo nhu cầu

• Đặt phòng bằng cách: số điện thoạt, gmail, … và khách có thể thanh toán tiền phòng bằng mã QR

• Khách có thể chủ động trong việc đặt phòng, thời gian lấy phòng, loại hình phòng

• Sau khi khách đang ký phòng và thanh toán thông tin khách hàng sẽ được gửi về cho chủ

Hệ thống quản lí phòng:

• Gồm RC522 trên ESP32 làm master còn RC522 trên Arduino sẽ làm slave

• RC522 trên ESP32 sẽ truyền mật khẩu thẻ từ đồng thời mật khẩu đó truyền vào Arduino sau đó mật khẩu đó sẽ được ghi nhớ vào RC522 của phòng chứa mật khẩu đó Khi khách hàng quẹt thẻ từ chứa mật khẩu, nếu đúng thì cửa phòng mở, ngược lại

• Khi có lửa thì cảm biến sẽ gửi thông tin về cho Arduino để Buzzer báo cháy

• Bên cạnh đó, trong trướng hợp khẩn cấp chủ có thể nhập mật khẩu của TFT LCD có chức năng mở hết phòng.

THIẾT KẾ HỆ THỐNG PHẦN CỨNG

3.3.1 Khối xử lý trung tâm

Có rất nhiều loại vi điều khiển như: Pic, Stm, raspberry… nhưng chọn arduino vì: dễ lập trình, phổ biến, có sẵn source, giá thành phải chăng…

Arduino Uno R3 - ATmega328 là dòng Arduino thế hệ thứ 3 cũng giống như các phiên bản trước đây giúp người dùng dễ dàng tiếp cận với lập trình để tạo ra phần cứng có những tính năng mong muốn một cách nhanh chóng với chi phí hợp lý

Là khối xử lý các tín hiệu vào từ cảm biến, ESP32 Đồng thời xuất tín hiệu ra các khối khác (khối hiển thị, servo, Buzzer, RC522)

Là khối nhận tín hiệu từ Web thông qua ESP32 bằng đường truyền mạng để điều khiển RC522

Có rất nhiều loại có thể dùng để hiển thị như LCD Oled, LCD 1602,… nhưng chọn LCD 3.2inch 320x240 TFT ILI9341 Cảm Ứng Điện Trở SPI vì có thể tích hợp cả bàn phím và hiển thị trên một thiết bị tiết kiệm chân kết nối với Arduino, giá thành phải chăng…

• Nguồn của khối hiển thị sử dụng nguồn adapter

• Nối lần lượt các chân tín hiệu RST, RS, CS, SDA, CLK theo thứ tự vào các chân Digital (8, 9, 10, 11, 13) của Arduino

Hình 3 3 Kết nối LCD TFT

Có nhiều loại cảm biến hồng ngoại có khả năng phát hiện lửa, nhiệt như TCRT5000, HC-SR505, … nhưng nhóm em chọn LM393 mạch cảm biến hồng ngoại vì giá cả rẻ, độ chính xác tương đối cao, dễ lập trình

Nguyên lý hoạt động: LM393 mạch cảm biến hồng ngoại nối với nối với Arduino đọc analog từ cảm biến hồng ngoại thành giá trị  giá trị cảm biến phụ thuộc vào mức độ cháy, đồng thời đưa tín hiệu Arduino để cảnh báo thông qua Buzzer

Hình 3 4 Cảm Biến Phát Hiện Lửa

• Chân 1 (D0) nối vào chân IO2 của Arduino để xử lí tín hiệu

• Chân 2 và 3 lần lượt nối vào đất và nguồn (5V)

• Chân số 4 (A0) nối vào chân D4 của ES32 để gửi tín hiệu về cho ESP32 để thông báo lên Webserver cảnh báo chủ thông qua giao diện người dùng

Mạch RFID được sử dụng phổ biến và có rất nhiều loại RFID khác nhau nhưng nhóm em chọn Mạch RFID NFC 13.56MHz RC522 vì nó được sử dụng phổ biến trong môi trường học tập và báo cáo, mức độ phổ biến rộng, có độ chính xác cao, vừa có chức năng đọc và ghi, thiết kệ nhỏ gọn nên việc sử dụng mạch RFID này là lựa chọn tốt nhất cho việc đóng và mở cửa

Nguyên lý hoạt động: mở cửa khi thẻ đúng

Servo: Có rất nhiều loại servo dùng để điều khiển động cơ, cửa tự động như SG90, MG996R… nhưng chọn MG90s do có bánh răng kim loại, góc quay rộng, lực kéo mạnh, giá cả phù hợp…

• Chân tín hiệu Servo nối vào chân 3 của Arduino

• Servo sử dụng nguồn 5V từ adapter

Các loại module thu phát wifi: ESP8285, ESP8266, HLK-RM04…3, nhưng chọn ESP32 vì có nhiều chân GPIO, tốc độ cao, giá thành phải chăng

ESP32 là module thu wifi từ mạng internet/router (4G) để giúp Arduino giao tiếp và App Blynk trên điện thoại

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

• ESP32 nối với Arduino TFT LCD để gửi tín hiệu thực hiện các trạng thái: thêm thẻ ( trạng thái ”0”), thêm thẻ mới ( trạng thái ”1”), xóa thẻ ( trạng thái ”2”) và nhập mật khẩu khẩn cấp ( trạng thái “ 159753” )

• ESP32 kết nối RFID để thực hiện chức năng thêm, xóa thẻ Mifare

• ESP32 kết nối nút nhấn thiết bị điện để truyền dữ liệu lên Webserver thực hiện giám sát thiết bị thông qua giao diện người dùng

• ESP32 nối với Arduino để đọc tín hiệu Analog của servo để hiển thị lên giao diện người dùng để giám hoạt động của cửa

• ESP32 kết nối với cảm biến lửa để truyền dữ liệu lên Webserver để cảnh báo cháy.

Sơ đồ nguyên lý

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

Nguyên lý hoạt động toàn mạch:

Khi cấp nguồn xong, cập nhập trạng thái (0, 1, 2, 159753) thông qua TFT LCD Để Arduino truyền tín hiệu cho ESP32 để thực hiện chức năng thêm, xóa, nhập mật khẩu thông qua RC522 Khi quá trình nhập thẻ xong sẽ được thông báo bằng tiếng Buzzer

Với trạng thái ”0” sau khi thêm thẻ thành công sẽ được gửi thông tin check in của khách hàng lên Webserver để tính tiền và trạng thái “2” sẽ check out thẻ của khách sẽ được xóa mật khẩu lưu, đồng thời giá tiền cũng tính ngay lúc check in của khách

Khi khách quẹt thẻ Mifare vào RC522 của phòng sẽ gửi mật khẩu về cho Arduino RFID để so sánh mật khẩu Nếu mật khẩu đúng servo hoạt động mở cửa và Buzzer thông báo

Khi có cháy, cảm biến sẽ gửi tín hiệu về cho ESP32 và Arduino RFID để mở toàn bộ cửa và gửi cảnh báo lên Webserver cho chủ

Khi trạng thái “1” , có thể thực hiện thêm thẻ mới, thẻ mới có thẻ mở cửa cả 3 phòng để có thể cho nhân viên mở cửa phòng chi khách trong trường hợp mất thẻ hoặc vệ sinh phòng

Khi khách hàng mở đèn hoặc quạt sẽ gửi tín hiệu về cho ESP32 để chủ thực hiện giám sát thông qua giao diện người dùng.

THI CÔNG HỆ THỐNG

LẬP TRÌNH HỆ THỐNG

Giải thích: Đầu tiên, thực hiện khai báo thư viện, khai báo các chân dữ liệu, khởi tạo giá trị ban đầu, khai báo giá trị mật khẩu của RFID

Sau đó, kiểm tra và xử lý tín hiệu của Arduino và cập nhật lại tín hiệu RC522 RFID gửi về Arduino

Khi nhận được giá trị từ RC522 RFID gửi về So sánh giá trị thẻ Mifare của RC522 RFID với giá trị mật khẩu của phòng mà đã khai báo ở Arduino RFID Nếu mật khẩu đúng Buzzer kêu (Buzzer =1), sau đó cửa mở (Servo=1)

Khi khách hàng đưa thẻ Mifare vào RC522 của phòng, RC522 sẽ đọc giá trị mật khẩu được lưu trong thẻ gửi về cho Arduino để thực hiện sao sánh với mật khẩu trong Arduino Nếu không có giá trị mật khẩu trong thẻ hoặc không nhận được thì RC522 sẽ không gửi về Arduino (Buzzer không hoạt động) và trên Serial sẽ Timeout

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

4.3.1.3 Lưu đồ Arduino TFT LCD

Giải thích: Đầu tiên, khai báo thư viện, khởi tạo và định nghĩa các chân dữ liệu, khai báo cấu hình TFT LCD và khởi tạo màu

Khi cấp nguồn hệ thống, giao điện mật khẩu sẽ hiện lên trên màn hình TFT LCD Khi nhấn “0”, ”1”, ”2”, ”159753” trên màn hình TFT LCD, TFT LCD sẽ đọc tọa độ cảm ứng và nhấn thêm “#” để xác nhận dữ liệu và được gửi về cho Arduino

Thông qua kết nối UART giữa Arduino TFT LCD với ESP32, Arduino sẽ gửi giá trị đã nhập truyền qua cho ESP32 để ESP32 thực hiện chức năng tương ứng

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

Giải thích: Đọc giá trị Arduino TFT LCD nếu giá trị Arduino bằng với trạng thái của ESP32 thì thực hiện trạng thái tương ứng “0”, “1”, “2”, “159753”

4.3.1.5 Lưu đồ ứng với trạng thái số “159753” của ESP32

Hình 4 9 Lưu đồ trạng thái số "159753"

Khi nhấn số “159753” từ TFT LCD và nút “#” để xác nhận Nếu mật khẩu nhập vào đúng giá trị “159753” thì cho phép mở toàn bộ các cửa phòng

Mật khẩu này dùng cho trường hợp khẩn cấp khi có cháy hoặc trong trường hợp khẩn cấp hoặc cần tổng vệ sinh

4.3.1.6 Lưu đồ ứng với trạng thái số “0” của ESP32

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

Khi nhấn số “0” từ TFT LCD và nút “#” để xác nhận Thông qua UART, Arduino TFT LCD qua ESP32 cho phép thực hiện chức năng thêm mật khẩu 6byte của RFID

Khi RC522 của ESP32 nhận thẻ Mifare và truyền mật khẩu 6byte vào thẻ 6byte của phòng được truyền bằng cách thay đổi 6 byte Key B Sau khi truyền dữ liệu xong thì Buzzer hoạt động nếu không nhận được thẻ hoặc tín hiệu trạng “0” thì sẽ được thông báo trên Serial là Timeout Đối với thẻ phòng ở trạng thái số “0” chỉ có thể mở được 1 phòng thông qua UID để phân biệt phòng

4.3.1.7 Lưu đồ ứng với trạng thái số “1” của ESP32

Khi nhấn số “1” từ TFT LCD và nút “#” để xác nhận Thông qua UART, Arduino TFT LCD qua ESP32 cho phép thực hiện chức năng thêm thẻ mới mật khẩu 6byte của RFID

Khi RC522 của ESP32 nhận thẻ Mifare và truyền mật khẩu 6byte vào thẻ 6byte được truyền bằng cách thay đổi 6byte Key B Sau khi truyền dữ liệu xong thì Buzzer hoạt động nếu không nhận được thẻ hoặc tín hiệu trạng “1” thì sẽ được thông báo trên Serial là Timeout Đối với thẻ phòng ở trạng thái số “1” có thể mở được 3 phòng không thông qua UID để phân biệt phòng Thuận tiện cho việc dọn dẹp phòng hoặc khách hàng làm mất thẻ phòng

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

4.3.1.8 Lưu đồ ứng với trạng thái số “2” của ESP32

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

Khi nhấn số “2” từ TFT LCD và nút “#” để xác nhận Thông qua UART, Arduino TFT LCD qua ESP32 cho phép thực hiện chức năng xóa mật khẩu 6byte của RFID

Khi RC522 của ESP32 nhận thẻ Mifare và truyền mật khẩu 6byte vào thẻ 6byte 0xFF sẽ được truyền vào thẻ bằng cách thay đổi 6byte Key B Sau khi truyền dữ liệu xong thì Buzzer hoạt động nếu không nhận được thẻ hoặc tín hiệu trạng “2 thì sẽ được thông báo trên Serial là Timeout

4.3.1.9 Lưu đồ Esp32 với Webserver

Sau khi khai báo thư viện và khởi tạo đăng nhập và mật khẩu Kết Wifi ESP32 với Websever cùng một địa chỉ IP nếu không cùng sẽ kết nối được

Sau khi kết nối được ESP32 sẽ xuất ra địa chỉ IP Dùng địa chỉ IP copy lên Websever sẽ hiện ra giao diện người dùng có thể giám sát được thiết bị, thời gian ra/vào và tính tiền

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

4.3.1.10 Lưu đồ giao điện giám sát thiết bị

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

Khi vào giao diện giám sát thiết bị, chủ có thể giám sát quạt và đèn từng phòng.Bằng cách kiểm tra dữ liệu quạt và đèn của phòng đó thông qua giá trị của thiết bị

Khi quạt hoặc đèn hoạt động (giá trị =1) thì Websever trạng thái hoạt động xuất ra từ màu đỏ sang xanh và ngược lại (giá trị =0) từ xanh sang đỏ

4.3.1.11 Lưu đồ giao điện tính tiền

Khi khách hàng trả phòng, giao diện sẽ tự tính tiền dựa trên thời gian ra/vào của khách

Thời gian vào được tính từ lúc thêm thẻ phòng và thời gian ra được tính từ lúc xóa thẻ phòng

Tổng tiền = 50.000 + [ (thời gian ra – thời gian sau) -1] *20.000

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

KẾT QUẢ - NHẬN XÉT - ĐÁNH GIÁ

KẾT QUẢ

Khi chưa cấp nguồn cho hệ thống Sau khi cấp nguồn cho

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

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

Sau khi chúng ta cấp nguồn, giao diện Password và bàn phím sẽ được hiện trên màn TFT LCD, khi chúng ta nhập bất kì số nào trên màn hình TFT LCD, Arduino TFT LCD sẽ đọc tọa độ ứng với giá trị thiết lập và hiển thị ở dạng ẩn (dạng *), nhấn nút “#” để xác nhận và gửi về cho ESP32 thông qua UART để thực hiện chức năng của phím đó (nếu có)

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

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

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

Sau khi nhấn phím chức năng “0”, “1”, “2”, “159753” và nhấn nút “#” để xác nhận Arduino TFT LCD sẽ gửi tín hiệu về cho ESP32 để cho phép người dùng thực hiện chức năng thẻ Mifare mà họ đã nhập thông qua RC522 nối với ESP32

Khi chưa cấp nguồn cho hệ thống Sau khi cấp nguồn cho

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

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

Khi khách hàng tới nhận phòng, nhập số “0” và xác nhận trạng thái bằng nút

“#” từ Arduino TFT LCD Thông qua UART, Arduino TFT LCD qua ESP32 cho phép thực hiện chức năng thêm mật khẩu 6byte của RFID

Hình 5 7 Sau khi nhập số "0" Để thẻ Mifare mà phòng cần vào RC522, sau khoản một thời gian khi nghe tiếng Buzzer kêu là quá trình truyền mã phòng đã thành công

Hình 5 8 Thẻ Mifare vào RC522 thực hiện thêm mật khẩu vào thẻ

Hình 5 9 Thẻ Mifare vào RC522 phòng 1, 2,3

Sau khi thẻ có chứa mã phòng được đưa vào RC522 sau từng, RC522 sẽ gửi mật khẩu phòng cho Arduino RFID để so sánh với mật khẩu mặc định của phòng Nếu 2 mật khẩu giống nhau thì cửa sẽ mở (tương ứng phòng 1 và 2)

Sau khi nhập số “1” và xác nhận trạng thái bằng nút “#” từ Arduino TFT LCD Thông qua UART, Arduino TFT LCD qua ESP32 cho phép thực hiện chức năng thêm thẻ mới mật khẩu 6byte của RFID

Thẻ Mifare trạng thái “1” có thể mở được cả 3 phòng Loại thẻ này dùng để mở phòng trong trường hợp khách hàng mất thẻ phòng hoặc trong trường hợp nhân viên vệ sinh cần vào phòng vệ sinh

Hình 5 11 Khi nhấn "1" và xácnhận "#"

Sau đó, chủ đưa thẻ mới vào RC522, sau khoản thời gian Buzzer kêu lên thông báo quá trình đưa mật khẩu vào thẻ Mifare thành công

Hình 5 12 Thẻ Mifare trạng thái "1"

Thẻ phòng này có chức năng mở được cả 3 phòng, chủ và nhân viên có nhu cầu mở cửa phòng khách hàng mất thẻ phòng mặc định Đồng thời, thẻ phòng này có thể cho phục vụ dọn dẹp phòng khi cần Thẻ Mifare sẽ được đưa vào RC522 sau từng Sau khi đúng mật khẩu thì tiếng Buzzer kêu và cửa sẽ mở Hình ảnh sau là thẻ mở từng phòng từ phòng 1 tới phòng 3:

Hình 5 13 Thẻ mở 3 phòng (phòng 1) Giải thích: Đưa thẻ trạng thái “1” vào RC522 phòng 1 Đúng Buzzer kêu và cửa mở

Hình 5 14 Thẻ mở 3 phòng (phòng 2) Giải thích: Đưa thẻ trạng thái “1” vào RC522 phòng 2 Đúng Buzzer kêu và cửa mở

Hình 5 15 Thẻ mở 3 phòng (phòng 3) Giải thích: Đưa thẻ trạng thái “1” vào RC522 phòng 3 Đúng Buzzer kêu và cửa mở

Sau khi nhập số “2” và xác nhận trạng thái bằng nút “#” từ Arduino TFT LCD Thông qua UART, Arduino TFT LCD qua ESP32 cho phép thực hiện chức năng xóa mật khẩu 6byte của RFID

Thẻ Mifare trạng thái “2” cho phép chủ xóa thẻ phòng sau khi khách trả phòng hoặc xóa thẻ mới khi không dùng đến Sau khi nhấn tổ hợp phím “2” và “#” thì chủ có thể bắt đầu xóa thẻ được

Hình 5 16 Khi nhấn "2" và xácnhận "#"

Sau khi nhấn xong, đưa thẻ Mifare vào RC522 thỉ thẻ được chuyển mã byte (0xFF) vào thẻ và thẻ đó không còn mở được cửa phòng nữa Như hình bên trái là đưa thẻ Mifare và RC522 và hình phải là thẻ đã xóa không còn mở được phòng

Hình 5 17 Khi xóa xong thẻ phòng 1

Hình 5 18 Khi xóa xong thẻ phòng 2 Giải thích: thẻ Mifare phòng 2 xóa và không thể mở được cửa phòng 2

Hình 5 19 Khi xóa xong thẻ phòng 3 Giải thích: thẻ Mifare phòng 2 xóa và không thể mở được cửa phòng 3

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

Giải thích: thẻ Mifare trạng thái “1” khi đã xóa và không thể mở được cửa 3 phòng

Khi nhấn số “159753” từ TFT LCD và nút “#” để xác nhận Nếu mật khẩu nhập vào đúng giá trị “159753” thì cho phép mở toàn bộ các cửa phòng

Mật khẩu này dùng cho trường hợp khẩn cấp khi có cháy hoặc trong trường hợp khẩn cấp hoặc cần tổng vệ sinh Sau một khoản thời gian cửa sẽ đóng

Mật khẩu dùng trong trường hợp khẩn cấp khi có cháy mà cửa không mở tự động mở được hoặc cảm biến bị lỗi thì trong trường hợp này nhập mật khẩu để mở cửa được thay thế Đồng thời, nó còn có thể dùng trong trường hợp tổng vệ sinh

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

Khi cảm biến phát hiện lửa sau một thời gian ngắn, sẽ thông báo lên giao diện thiết bị của chủ và đồng thời mở toàn bộ cửa các phòng

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

Giải thích: Sau khi hồng ngoại phát hiện được lửa, cảm biến sẽ gửi tín hiệu về cho ESP32 và Arduino RFID Đối với ESP32, sẽ gửi thông báo lên hệ thống giám sát thiết bị cho chủ Còn với Arduino RFID sẽ gửi tín hiệu cho servo để mở cửa tất cả các phòng

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

Giải thích: Dòng màu đỏ trên Webserver thông báo “Khách sạn có cháy” cho chủ để thực hiện giải tán Nếu cửa không mở được trong trường hợp này thì chủ có thẻ nhập mật khẩu từ TFT LCD để mở 3 phòng

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

Các thiết bị cần giám sát ở các phòng là đèn, quạt và cửa của phòng

NHẬN XÉT - ĐÁNH GIÁ

Với sự hỗ trợ tận tình của giáo viên hướng dẫn về cơ bản đã hoàn thành những mục tiêu đề ra sau 16 tuần:

• Hệ thống chạy ổn định

• Thông tin hiển thị và thao tác thực hiện trên LCD TFT ổn định, có thể nhập mật khẩu (mở 3 cửa phòng) trong trường hợp khẩn cấp

• Giao tiếp giữa LCD TFT với RFID trong việc thêm và xóa mật khẩu phòng ổn định

• Giao tiếp RFID trong việc mở cửa hoạt động và giao tiếp hoạt động ổn định

• Giao diện người dùng dễ dàng sử dụng đối với chủ và khách hàng

• Hệ thống báo cháy hoạt động tốt, có thông báo cho chủ (trên Webserver) và khách (mở cửa phòng)

• Webserver cho phép chủ giám sát được thiết bị điện sử dụng trong các phòng

Trong quá trình nghiên cứu, tìm hiểu linh kiện, test mô phỏng, thi công mô hình, đã đưa ra những kệt luận sau:

• Hệ thống hoạt động tốt, tương đối ổn định sau gần 30 lần thử và chỉnh sửa độ trễ giờ hệ thống đạt được hơn 90%

• Giao diện TFT LCD ổn định sau 6 lần thay thế linh kiện

• Quá trình đưa mật khẩu vào thẻ Mifare còn tương đối lâu sau nhiều lần thay đổi độ trễ

• Ứng dụng của đề tài có tính ứng dụng cao nhất là trong khi nước đang phát triển du lịch Độ chính xác và tính ổn định tương đối

• Phạm vi đề tài được sử dụng rộng rãi: gia đình, khu dân cư, khách sạn, khu du lịch HOMESTAY, Đề tài cung cấp tính năng bảo mật cao tránh hoạt động sao chép thẻ tạo ra tín an toàn, bảo mật thông tin

Dự toán đề tài

Sau khi thiết kế và thi công xong đề tài, nhóm em đã thống kê danh sách linh kiện đã dùng trong đồ án với chi phí dự đoán theo bảng sau:

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

STT Danh sách linh kiện Giá tiền (VND) Số lượng Đơn giá (VND)

Dựa vào bảng thông kê, chi phí ước tính cho mô hình 1.665.000 và một số khoản phí dao động khoảng 1.000.000 tổng cổng 2.665.000 Chi phí thực hiện mô hình rơi nhiều vào Arduino Uno R3 và TFT LCD 2.4 Inch.

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

HÌNH ẢNH LIÊN QUAN

3.2.2  Sơ đồ khối và chức năng của mỗi khối - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
3.2.2 Sơ đồ khối và chức năng của mỗi khối (Trang 43)
Hình 3. 5 RFID - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 3. 5 RFID (Trang 49)
Hình 3. 6 Động cơ - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 3. 6 Động cơ (Trang 50)
Hình 4. 2 Mô hình mạch in  Giải thích: - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 4. 2 Mô hình mạch in Giải thích: (Trang 57)
Hình 4. 4 Arduino TFT LCD, ESP32 RFID và cảm biến - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 4. 4 Arduino TFT LCD, ESP32 RFID và cảm biến (Trang 58)
Hình 4. 3 Khi chưa cấp nguồn cho hệ thống - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 4. 3 Khi chưa cấp nguồn cho hệ thống (Trang 58)
Hình 4. 5 Lưu đồ Arduino - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 4. 5 Lưu đồ Arduino (Trang 60)
Hình 4. 6 Lưu đồ quét thẻ phòng - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 4. 6 Lưu đồ quét thẻ phòng (Trang 62)
Hình 4. 7 Lưu đồ Arduino TFT LCD - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 4. 7 Lưu đồ Arduino TFT LCD (Trang 64)
Hình 4. 8 Lưu đồ ESP32 - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 4. 8 Lưu đồ ESP32 (Trang 65)
Hình 4. 9 Lưu đồ trạng thái số "159753" - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 4. 9 Lưu đồ trạng thái số "159753" (Trang 66)
Hình 4. 10 Lưu đồ trạng thái số "0" - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 4. 10 Lưu đồ trạng thái số "0" (Trang 67)
Hình 4. 11 Lưu đồ trạng thái số "1" - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 4. 11 Lưu đồ trạng thái số "1" (Trang 69)
Hình 4. 12 Lưu đồ trạng thái số "2" - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 4. 12 Lưu đồ trạng thái số "2" (Trang 70)
Hình 4. 13 Lưu đồ ESP32 với Websever - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 4. 13 Lưu đồ ESP32 với Websever (Trang 72)
Hình 4. 14 Lưu đồ giao điện giám sát thiết bị - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 4. 14 Lưu đồ giao điện giám sát thiết bị (Trang 73)
Hình 4. 15 Lưu đồ giao điện tính tiền - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 4. 15 Lưu đồ giao điện tính tiền (Trang 75)
Hình 4. 16 Giao điện TFT LCD - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 4. 16 Giao điện TFT LCD (Trang 76)
Hình 4. 17 Giao diện đặt phòng  Giải thích: - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 4. 17 Giao diện đặt phòng Giải thích: (Trang 77)
Hình 5. 1 Arduino TFT LCD khi chưa - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 5. 1 Arduino TFT LCD khi chưa (Trang 79)
Hình 5. 4 Màn hình TFT LCD sau khi nhấn nút # - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 5. 4 Màn hình TFT LCD sau khi nhấn nút # (Trang 80)
Hình 5. 3 Màn hình khi TFT LCD nhập số - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 5. 3 Màn hình khi TFT LCD nhập số (Trang 80)
Hình 5. 11 Khi nhấn "1" và xácnhận "#" - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 5. 11 Khi nhấn "1" và xácnhận "#" (Trang 83)
Hình 5. 17 Khi xóa xong thẻ phòng 1 - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 5. 17 Khi xóa xong thẻ phòng 1 (Trang 86)
Hình 5. 19 Khi xóa xong thẻ phòng 3  Giải thích: thẻ Mifare phòng 2 xóa và không thể mở được cửa phòng 3 - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 5. 19 Khi xóa xong thẻ phòng 3 Giải thích: thẻ Mifare phòng 2 xóa và không thể mở được cửa phòng 3 (Trang 87)
Hình 5. 18 Khi xóa xong thẻ phòng 2  Giải thích: thẻ Mifare phòng 2 xóa và không thể mở được cửa phòng 2 - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 5. 18 Khi xóa xong thẻ phòng 2 Giải thích: thẻ Mifare phòng 2 xóa và không thể mở được cửa phòng 2 (Trang 87)
Hình 5. 20 Khi xóa xong thẻ mới - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 5. 20 Khi xóa xong thẻ mới (Trang 88)
Hình 5. 22 Thông báo trên giao diện giám sát - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 5. 22 Thông báo trên giao diện giám sát (Trang 89)
Hình 5. 23 Công tắt đèn và quạt của 3 phòng - thiết kế và thi công hệ thống quản lý mô hình airbnb homestay
Hình 5. 23 Công tắt đèn và quạt của 3 phòng (Trang 90)

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

TÀI LIỆU LIÊN QUAN

w