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

Đồ án tốt nghiệp: Nhà thông minh sử dụng ESP32 và Arduino

117 131 1

Đ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 đề Hệ Thống Điều Khiển Và Giám Sát Các Thiết Bị Trong Nhà
Tác giả Trần Nhật Khôi
Người hướng dẫn ThS. Nguyễn Thành Vinh
Trường học Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM
Thể loại đồ án tốt nghiệp
Năm xuất bản 2022
Thành phố TP.HCM
Định dạng
Số trang 117
Dung lượng 10,42 MB

Cấu trúc

  • 1. Ý nghĩa đề tài (16)
  • 2. Mục tiêu nghiên cứu của đề tài (16)
  • 3. Giới hạn nghiên cứu của đề tài (16)
  • 4. Kết quả của đề tài (16)
  • 5. Đối tượng nghiên cứu của đề tài (17)
  • Chương 1. TỔNG QUAN NHÀ THÔNG MINH (18)
    • 1.1. TỔNG QUAN (18)
    • 1.2. LỢI ÍCH CỦA NHÀ THÔNG MINH (19)
    • 1.3. CÁC THÀNH PHẦN CẤU TẠO NÊN NHÀ THÔNG MINH (19)
      • 1.3.1. Hệ thống điều khiển (19)
      • 1.3.2. Hệ thống an ninh (21)
      • 1.3.3. Hệ thống đo lường (21)
  • Chương 2. CƠ SỞ LÝ THUYẾT (23)
    • 2.1. ESP32 (23)
      • 2.1.1. Giới thiệu Module ESP32 (23)
      • 2.1.2. Sơ đồ chân (23)
      • 2.1.3. Thông số kỹ thuật (24)
      • 2.2.3. Sơ đồ chân (25)
    • 2.3. MODULE RFID (27)
      • 2.3.1. Giới thiệu Module RFID (27)
      • 2.3.2. Thông số kỹ thuật (27)
    • 2.4. CẢM BIẾN VÂN TAY R307 (28)
      • 2.4.1. Giới thiệu cảm biến vân tay R307 (28)
      • 2.4.2. Thông số kỹ thuật (28)
      • 2.4.3. Sơ đồ chân (29)
    • 2.5. ESP32 CAM (29)
      • 2.5.1. Giới thiệu ESP32 CAM (29)
      • 2.5.2. Thông số kỹ thuật (30)
      • 2.5.3. Sơ đồ chân (30)
    • 2.6. MÀN HÌNH LCD TFT (31)
      • 2.6.1. Giới thiệu màn hình LCD TFT (31)
      • 2.6.2. Thông số kỹ thuật (32)
    • 2.7. MODULE ĐIỀU KHIỂN ĐỘNG CƠ L293D (32)
      • 2.7.1. Giới thiệu Module L293D (32)
      • 2.7.2. Thông số kỹ thuật (34)
  • Chương 3. GIỚI THIỆU PHẦN MỀM VÀ CÁC GIAO THỨC ĐƯỢC SỬ DỤNG (35)
    • 3.1. KODULAR (35)
      • 3.1.1. Giới thiệu Kodular (35)
      • 3.1.2. Cách tạo ra một ứng dụng bằng Kodular (36)
    • 3.2. ỨNG DỤNG BLYNK (42)
      • 3.2.1. Giới thiệu ứng dụng Blynk (42)
      • 3.2.2. Tạo một dự án Blynk (43)
    • 3.3. GIAO THỨC UART (49)
      • 3.3.1. Giới thiệu giao thức UART (49)
      • 3.3.2. Sơ đồ khối (49)
      • 3.3.3. Nguyên lý hoạt động (49)
    • 3.4. GIAO THỨC SPI (50)
      • 3.4.1. Giới thiệu giao thức SPI (50)
      • 3.4.2. Nguyên lý hoạt động (51)
  • Chương 4. THI CÔNG ĐỀ TÀI (52)
    • 4.1. THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN (52)
    • 4.2. SƠ ĐỒ KHỐI CỦA ĐỀ TÀI (66)
    • 4.3. THI CÔNG MÔ HÌNH (68)
      • 4.3.1. Xây dựng mô hình nhà (68)
      • 4.3.2. Xây dựng hệ thống chiếu sáng, quạt (69)
      • 4.3.4. Xây dựng hệ thống cầu thang thông minh (74)
      • 4.3.5. Xây dựng hệ thống bảo mật (76)
  • Chương 5. KẾT QUẢ VÀ KIẾN NGHỊ (78)
    • 5.1. KẾT QUẢ ĐẠT ĐƯỢC (78)
    • 5.2. ĐÁNH GIÁ KẾT QUẢ VÀ KIẾN NGHỊ (86)
      • 5.2.1. Đánh giá kết quả (86)
      • 5.2.2. Kết luận và hướng phát triển (86)
  • TÀI LIỆU THAM KHẢO (88)
    • Chương 2 Hình 2.1. Module ESP32 (0)
    • Chương 3 Hình 3.1. Giao diện Website Kodular (0)
    • Chương 4 Hình 4.1. Giao diện chờ khi khởi động ứng dụng (0)
    • Chương 5 Hình 5.1. Thiết lập WiFi cho hệ thống (0)

Nội dung

Nhà thông minh, đồ án tốt nghiệp, đồ án môn học, vi xử lý.Thực hiện đề tài “Hệ thống điều khiển và giám sát các thiết bị trong nhà” nhằm xây dựng một hệ thống điều khiển và giám sát các thiết bị điện trong nhà thông qua wifi và bluetooth. Hệ thống bao gồm phần cứng điều khiển, ứng dụng điều khiển và giám sát. Hệ thống chống trộm sử dụng RFID và cảm biến vân tay R307. Ứng dụng điều khiển thuộc hệ điều hành Android dễ sử dụng.

Ý nghĩa đề tài

Ngày nay, trong thời kỳ công nghệ số phát triển mạnh mẽ thì cuộc sống của con người càng có nhu cầu sử dụng đầy đủ các thiết bị thông minh để phục vụ cho sinh hoạt và công việc của mình Một thực tế rất gần với con người là trong chính căn nhà của mình

Theo Statista, thị trường nhà thông minh ở Việt Nam sẽ phát triển mạnh khi đạt mốc 183,9 triệu đô vào năm 2021, 251 triệu đô vào năm 2022 và có khả năng đến năm

2025 doanh thu sẽ là 449,1 triệu đô Những con số này cho thấy tiềm năng về thị trường nhà thông minh ở Việt Nam là rất lớn Tính tới thời điểm hiện tại, Việt Nam đã có hơn 30 thương hiệu nhà thông minh trên khắp cả nước với các mức giá, xuất xứ và giải pháp khác nhau Trong đó các thương hiệu Việt hàng đầu như Bkav, Lumi, Acis…

Trong đồ án tốt nghiệp “Hệ thống điều khiển và giám sát các thiết bị trong nhà” giải pháp của em là sử dụng ESP và Arduino để đo lường và điều khiển các thiết bị điện trong nhà.

Mục tiêu nghiên cứu của đề tài

Nghiên cứu sử dụng Module ESP32, Module Ardunio mega 2560.

Nghiên cứu sử dụng các module cảm biến.

Thiết kế ứng dụng Android để điều khiển và giám sát.

Nghiên cứu phương thức giao tiếp giữa các Module.

Nghiên cứu sử dụng phần mềm chuyên dụng.

Giới hạn nghiên cứu của đề tài

Với lượng kiến thức, tài chính và thời gian có hạn em quyết định thực hiện đề tài dưới dạng mô hình tương đối hoàn chỉnh, đáp ứng được các mục tiêu đã đề ra Vì để hoàn thiện một hệ thống nhà thông minh hoàn chỉnh cần thời gian và tài chính rất lớn.

Kết quả của đề tài

Sau khi nỗ lực nghiên cứu và cố gắng hoàn thành các mục tiêu đã đề ra, đồ án của em đã đạt được những kết quả như sau:

Giao tiếp thành công các module với nhau.

Xây dựng được chương trình giám sát và điều khiển.

TỔNG QUAN NHÀ THÔNG MINH

TỔNG QUAN

Nhà thông minh (Smart Home) chính là nơi mà chủ nhân có thể điều khiển các thiết bị điện trong nhà bằng smartphone và giọng nói Kiểm soát được các thông số môi trường nơi mình đang sống Sử dụng các hệ thống chống trộm, an ninh với độ bảo mật cao

Một ngôi nhà thông minh giúp cho chủ nhân có những trãi nghiệm tuyệt vời khi về nhà sau những giờ làm việc căng thẳng Tất cả thiết bị điện từ phòng ngủ cho đến toilet có đều có thể gắn các điều khiển điện tử được kết nối với internet và điện thoại, có thể điều khiển và quan sát từ xa theo lịch hoặc lập trình tự động

Các thông số về nhiệt độ, độ ẩm hay khí gas… đều có thể cập nhật theo thời gian giúp cho người dùng yên tâm về chất lượng môi trường sống Điều khiển các thiết bị ở bất cứ đâu chỉ cần có internet, giám sát ngôi nhà từ xa,tiết kiệm điện năng trong những trường hợp quên tắt đèn Hình 1.1 dưới đây là ảnh minh họa cho một ngôi nhà thông minh được điều khiển và giám sát thông qua iPad.

LỢI ÍCH CỦA NHÀ THÔNG MINH

Nhà thông mang lại sự tinh tế, sang trọng và tiện ích hơn Trãi nghiệm cuộc sống hoàn toàn mới với căn nhà đầy đủ tiện nghi Đặc biệt phù hợp với những gia đình có bố mẹ đã lớn tuổi thật tiện lợi khi không phải đi lại khó khăn mà vẫn có thể tắt mở các thiết bị thông qua smartphone

Liên kết với căn nhà chỉ cần một chiếc smartphone trong tay, dù đã đến công ty, đi du lịch, vẫn có thể kiểm soát ngôi nhà của mình Đem lại sự an tâm khi sử dụng các hệ thống an ninh như thẻ từ, vân tay, cảm biến chuyển động thông báo về điện thoại ngay khi phát hiện đột nhập.

CÁC THÀNH PHẦN CẤU TẠO NÊN NHÀ THÔNG MINH

Thông thường khi điều khiển các thiết bị điện trong nhà thì chúng ta thường sử dụng công tắc, cầu dao, điều khiển bằng remote Nhưng đối với nhà thông minh, chúng ta sẽ kết hợp các thiết bị điều khiển với cả phần mềm, cảm biến có điều khiển.

Hệ thống sẽ bao gồm các thành phần như hình 1.2

Hình 1.2 Sơ đồ khối hệ thống điều khiển

Nhằm đem lại an toàn cũng như tránh mất thời gian khi mở khóa thông thường thì hệ thống thẻ từ sẽ được lắp đặt tại vị trí cửa cổng của ngôi nhà và bao gồm các thành phần như hình 1.3.

Hình 1.3 Sơ đồ khối hệ thống an ninh RFID

Cảm biến vân tay sẽ được đặt tại cửa chính, nơi quan trọng nhất của ngôi nhà. Hình 1.4 là sơ đồ khối hệ thông an ninh sử dụng cảm biến vân tay.

Hình 1.4 Sơ đồ khối hệ thống an ninh Fingerprint 1.3.3 Hệ thống đo lường

Hệ thống đo lường bao gồm các cảm biến như cảm biến nhiệt độ, cảm biến độ ẩm, cảm biến khí gas, cảm biến rung Các cảm biến được vi xử lý thu tập kết quả đo được từ các cảm biến, sau đó điều khiển các thiết bị hoặc hiển thị lên các thiết bị giám sát được thể hiện thông qua sơ đồ khối của hình 1.5.

Fingerprint Micro Controller Lock Door

Hình 1.5 Sơ đồ khối hệ thống đo lường

Sensor Micro Controller Control Devices

CƠ SỞ LÝ THUYẾT

ESP32

Chip ESP32 (hình 2.1) được phát triển bởi Espressif hổ trợ hai phương thức giao tiếp Wifi và Bluetooth phù hợp cho các hệ thống IOT Điểm đặc biệt của dòng ESP32 là được tích hợp bộ khuếch đại công suất, cảm biến từ trường, cảm biến điện dung Mức tiêu thụ điện năng cực thấp Có khả năng hoạt động trong môi trường có nhiệt độ từ -40 o C đến +125 o C.

Hình 2.1 Module ESP32 2.1.2 Sơ đồ chân

Hình 2.2 cho biết sơ đồ chân và chức năng từng chân của Module ESP32.

Hình 2.2 Sơ đồ chân Module ESP32

Bảng 2.1 dưới đây cho biết chi tiết thông số kỹ thuật của Module ESP32

Bảng 2.1 Thông số kỹ thuật Module ESP32

CPU - Chip Xtensa Dual-Core LX6 microprocessor

Giao tiếp không dây - Wifi

- Bluetooth 4.2 Các phương thức giao tiếp hổ trợ - Analog(ADC): 16 cổng

- PWM tất cả các chân Điện áp hoạt động 2.2 – 3.6V C

Arduino mega 2560 là vi điều khiển sử dụng chip ATmega2560 Bao gồm 54 chân digital (trong đó có 15 chân được sử dụng như các chân PWM) và 16 chân analog được thể hiện trong hình 2.3 là một lựa chọn tuyệt vời cho các dự án cần số lượng chân điều khiển lớn.

Trong mô hình này em sử dụng arduino mega để điều khiển các cửa, đọc cảm biến vân tay và giao tiếp UART với ESP32 để truyền nhận dữ liệu.

Hình 2.3 Arduino Mega 2560 2.2.2 Thông số kỹ thuật

Bảng 2.2 dưới đây thể hiện chi tiết thông số kỹ thuật của Module Arduino Mega

Bảng 2.2 Thông số kỹ thuật Module Arduino Mega

- Bộ nhớ flash memory 256 KB Các phương thức giao tiếp hổ trợ - UART: 4 cổng

- I²C: 1 cổng Điện áp hoạt động - 5V

Hình 2.4 dưới đây là sơ đồ phân bố vị trí và chức năng các chân của Module Arduino Mega

Hình 2.4 Sơ đồ chân Arduino Mega 2560

MODULE RFID

Module RFID có khả năng đọc và ghi thẻ từ ở tần số 13,56MHz Thích hợp cho việc bảo mật hệ thống nhà, cơ quan, điểm danh,… Được kết nối với vi điều khiển thông qua giao thức SPI và bao gồm các chân như hình 2.5.

Hình 2.5 Module RFID 2.3.2 Thông số kỹ thuật

Tần số sóng mang: 13,56MHz.

Khoảng cách hoạt động: 0 – 66 mm.

Tốc độ truyền dữ liệu: 10Mbit/s.

Các loại card RFID hổ trợ: Mifare1 S50, mirafe1 S70, mirafe UltraLight, mirafe pro, mirafe desfire.

CẢM BIẾN VÂN TAY R307

2.4.1 Giới thiệu cảm biến vân tay R307

Module cảm biến vân tay R307 trong hình 2.6 sử dụng cảm biến vân tay quang học với các chức năng như nhận dạng vân tay, so sánh vân tay, tìm kiếm và lưu trữ mẫu Dòng điện tiêu thụ thấp.

Hình 2.6 Cảm biến vân tay R307 2.4.2 Thông số kỹ thuật

 Module cảm biến vân tay loại quang học.

 Tốc độ xác minh: 0,2 giây.

 Dòng làm việc chuẩn: ≤ 75mA. Điện áp hoạt động: 3.5 – 5V.

Hình 2.7 thể hiện sơ đồ khối và vị trí các chân của Module cảm biến vân tay R307.

ESP32 CAM

Hình 2.8 dưới đây là Module ESP32-CAM tích hợp module ESP32-S trên board mạch, hỗ trợ giao tiếp Wifi và Bluetooth Có một module camera OV2640 cỡ nhỏ có thể hoạt động như một hệ thống độc lập Có thể dùng dể nhận dạng khuôn mặt, nhận dạng màu sắc, camera ip Dòng tiêu thụ ở chế độ deep sleep chỉ có 6 mA.

Bảng 2.3 dưới đây thể hiện chi tiết thông số kỹ thuật của Module ESP32 Cam.

Bảng 2.3 Thông số kỹ thuật ESP32 Cam

Thông số Giá trị Điện áp sử dụng - 5V

Bộ nhớ ngoài - Khe cắm thẻ SD hỗ trợ 4GB

Camera - Hỗ trợ camera OV2640

- Đầu nối FPC Điện áp tiêu thụ - Tắt đèn flash: 180mA@5V

- Bật đèn flash và bật độ sáng tối đa: 310mA@5V

Hình 2.4 là sơ đồ phân bố vị trí và chức năng các chân của Module ESP32 Cam.

Hình 2.9 Sơ đồ chân Module ESP32 Cam

Hình 2.10 là sơ đồ nguyên lý của Module ESP32 Cam được hãng thiết kế trên phần mềm Altium.

MÀN HÌNH LCD TFT

2.6.1 Giới thiệu màn hình LCD TFT

Màn hình LCD TFT 1,8 inch ST7735 (hình 2.11) có độ phân giải 128x160 pixels Kết nối với vi điều khiển thông qua giao tiếp SPI

Hình 2.11 Màn hình LCD TFT

 IC Driver hiển thị: ST7735.

 Kích thước màn hình: 1.8 inch.

 Tích hợp khe thẻ nhớ MicroSD.

MODULE ĐIỀU KHIỂN ĐỘNG CƠ L293D

Module điều khiển động cơ L293D có kích thước phù hợp với các board Arduino UNO R3, Arduino Mega 2560 Ta có thể gắn trực tiếp Module lên board.

Module L293D được tích hợp 2 IC cầu H L293D và 1 IC logic 74HC595 để điều khiển động cơ, vì thế có thể điều khiển 4 động cơ khác nhau và 2 servor Vị trí các khối được thể hiện như hình 2.12.

Hình 2.12 Module điều khiển động cơ L293D

 4 ngõ ra điều khiển 4 động cơ độc lập.

 2 jack cắm điều khiển 2 servor.

 Có thể điều khiển 2 động cơ step.

 Các chân Module sử dụng là:

+ Chân 9 và 10 dùng để điều khiển 2 servor.

+ Chân 4,7,8,12 dùng điều khiển motor thông qua IC 74HC595.

GIỚI THIỆU PHẦN MỀM VÀ CÁC GIAO THỨC ĐƯỢC SỬ DỤNG

KODULAR

Kodular là một ứng dụng web dùng để tạo phần mềm trên hệ điều hành Android Được phát triển dựa trên mã nguồn mở của App Inventor Người dùng tạo giao diện ứng dụng bằng cách kéo thả các block mà không cần phải viết code.[4]

Người dùng có thể sử dụng bất kỳ trình duyệt nào để truy cập vào trang chủ của Kodular Hình 3.1 dưới đây là giao diện trang chủ của Website Kodular.

Hình 3.1 Giao diện Website Kodular

3.1.2 Cách tạo ra một ứng dụng bằng Kodular

+ Đầu tiên người dùng truy cập vào địa chỉ: https://www.kodular.io

+ Tiếp theo bấm vào “Create Apps” như hình 3.1 bạn sẽ được dẫn đến giao diện đăng nhập như hình 3.2, ở đây sẽ có 3 lựa chọn:

Hình 3.2 Giao diện đăng nhập Kodular

+ Lựa chọn (1): Dành cho người dùng đã có tài khoản, chỉ cần đăng nhập tài khoản đã đăng ký.

+ Lựa chọn (2): Dành cho người dùng chưa có tài khoản, hoặc muốn tạo tài khoản mới.

+ Lựa chọn (3): Người dùng có thể dùng tài khoản Google để đăng ký và đăng nhập

 Tạo project và làm quen với giao diện thiết kế

+ Sau khi đăng nhập thành công ta tiến hành tạo một project mới bằng cách nhấn vào “Create project” như hình 3.3.

Hình 3.4 Đặt tên cho project mới + Lưu ý tên của project phải bắt đầu bằng chữ, không chứa các khoảng trống và ký tự đặc biệt như hình 3.4 Sau đó nhấn “Next” sẽ xuất hiện giao diện như hình 3.5 dưới đây.

Hình 3.5 Giao diện designer của Kodular + (1): Menu chính bao gồm:

• Project chứa các thành phần liên quan đến dự án gồm các thành phần được thể hiện trong hình 3.6.

• Hình 3.7 là khu vực Test chứa các thành phần liên quan đến ứng dụng đang tạo.

• Khu vực Export (hình 3.8) chưa các thành phần liên quan đến xuất file ứng dụng để cài đặt.

• Khu vực Help (hình 3.9) chưa các lệnh trợ giúp.

+ (2): Người dùng có thể thay đổi tên dự án tại đây.

+ (3): Menu liên quan đến màn hình chính.

+ (4): Nơi chứa các thuộc tính mà bạn thêm vào ứng dụng của mình Hình 3.10 dưới đây chứa các thuộc tính cần thiết.

Hình 3.10 Khu vực User Interface + (5): Nơi các thành phần đã được phân nhóm.

+ (6): Có thể lựa chọn kiểu màn hình hiển thị.

+ (7): Màn hình hiển thị những thành phần sẽ xuất hiện trong ứng dụng của bạn.

+ (8): Nơi hiển thị tất cả các thành phần bạn đã thêm vào màn hình.

+ (11): Hiển thị các thuộc tính được chọn ở mục (8), bạn có thể tùy chỉnh các thành phần tại đây.

 Giao diện block Để cho các thành phần đã chọn hoạt động, bạn cần ghép nối các block lại với nhau để chúng hoạt động theo ý muốn của bạn.

Các thành phần khác nhau sẽ có các khối block chức năng khác nhau nằm trong giao diện Block (hình 3.11).

ỨNG DỤNG BLYNK

3.2.1 Giới thiệu ứng dụng Blynk

Blynk là một phần mềm được sử dụng trong các ứng dụng IoT (Internet of

+ Phần mềm Blynk: Cho phép người dùng tạo giao diện điều khiển dự án của mình.

+ Server Blynk: Chịu trách nhiệm xử lý các dữ liệu được gửi lên từ phần cứng và điện thoại, đồng thời thực hiện giao tiếp hai chiều giữa phần cứng và điện thoại.

+ Thư viện Blynk: Hỗ trợ hầu hết các nền tảng phần cứng hiện nay, giúp cho phần cứng có thể giao tiếp với server Blynk.

Hình 3.12 Các thành phần của Blynk

 Nguyên lý hoạt động của Blynk:

+ Khi người dùng thực hiện các tác vụ trong phần mềm Blynk, yêu cầu sẽ được gửi đến server Blynk, server sẽ kết nối với phần cứng thông qua thư viện Blynk.

+ Tương tự khi phần cứng truyền dữ liệu đến server Blynk, server sẽ gửi phản hồi đến phần mềm Blynk và hiển thị dữ liệu lên màn hình.

3.2.2 Tạo một dự án Blynk

 Tải và cài đặt ứng dụng Blynk trên điện thoại từ Google Play hoặc Apple Store.

Hình 3.13 Nền tảng hỗ trợ cài đặt ứng dụng Blynk

 Sau khi cài đặt thành công ứng dụng Blynk, ta tiến hành đăng ký tài khoản bằng email cá nhân như hình 3.14.

Hình 3.14 Đăng ký tài khoản Blynk

 Sau khi đăng ký thành công, tiến hành đăng nhập và tạo một dự án mới bằng cách nhấn vào biểu tượng như (hình 3.15) bên dưới và sau đó nhấn “Add Tenplate” sẽ xuất hiện giao diện như (hình 3.16) tại đây ta tiến hành đặt tên dự án và cuối cùng nhấn “Continue”

Hình 3.15 Tạo một dự án mới trên ứng dụng Blynk

Hình 3.16 Đặt tên cho dự án mới

 Thiết kế giao diện cho phần mềm điều khiển:

+ Nhấn vào biểu tưởng “ ≡ ” như hình 3.17 hộp thoại Widget sẽ mở ra, người dùng tiến hành lựa chọn các Widget phù hợp với dự án của mình

+ Tiến hành cấu hình cho các Widget đã chọn như hình 3.18.

Hình 3.18 Cấu hình cho Widget

 Tạo giao diện dashboard trên Web Blynk.

Người dùng tiến hành truy cập vào đường link: http://blynk.cloud/dashboard/ sau đó đăng nhập tài khoản đã tạo ở trên để cấu hình giao diện dashboard nếu muốn sử dụng máy tính hoặc panel điều khiển Sau khi đăng nhập người dùng nhấn chọn vào dự án đã tạo trên điện thoại sẽ được giao diện như hình 3.19.

Hình 3.19 Giao diện web cấu hình dashboard

Có 2 mục cần chú ý là Datastreams và Web Dashboard.

Tại Datastreams ta tiến hành thiết lập các chân ảo tương ứng với các chức năng mà ta muốn để điều khiển thiết bị và thuận tiện cho việc viết chương trình (hình 3.20).

Tại Web DashBoard ta kéo thả các Widget cần thiết vào Dashboard để điều khiển thiết bị (hình 3.21).

Hình 3.20 Thiết lập chân ảo cho các thiết bị

Hình 3.21 Chọn các Widget thích hợp cho dashboard

Sau khi hoàn tất các thiết lập ta nhấn “Save” nằm ở góc phải màn hình.

GIAO THỨC UART

3.3.1 Giới thiệu giao thức UART

UART là bộ truyền nhận dữ liệu nối tiếp đơn giản nhất được tích hợp sẵn trong các vi điều khiển UART được sử dụng phổ biến trong các ứng dụng như: GPS, Bluetooth, RFID,…

Sơ đồ khối của UART (hình 3.22) bao gồm các bộ phận sau: Máy thu và máy phát Phần máy phát gồm có 3 khối là: Thanh ghi giữ (Transmit Hold Register), Thanh ghi dịch (Transmit Shift Register) và khối Logic điều khiển (Control Logic) Tương tự bên khối máy thu.[2]

Hình 3.22 Sơ đồ khối giao thức UART 3.3.3 Nguyên lý hoạt động

UART truyền nhận dữ liệu từ Bus data Bus dữ liệu được sử dụng để gửi dữ liệu tới UART bởi một thiết bị khác như CPU, bộ nhớ vi điều khiển Dữ liệu được truyền từ Bus data sang UART theo dạng song song Sau khi truyền nhận xong, nó thêm các bit đầu, bit chẵn lẻ và bit dừng, tạo thành một gói dữ liệu Sau đó dữ liệu được truyền nối tiếp ra chân Tx UART bên nhận sẽ nhận đọc dữ liệu tại chân Rx, sau khi truyền nhận dữ liệu xong nó sẽ chuyển thành dữ liệu song song và loại bỏ các bit start, bit chẵn lẽ và bit stop Cuối cùng UART nhận chuyển gói dữ liệu song song với Bus data.[2] Được mô phỏng như hình 3.23.

GIAO THỨC SPI

3.4.1 Giới thiệu giao thức SPI

SPI (Serial Peripheral Interface) là phương thức truyền dữ liệu nối tiếp đồng bộ song công SPI bao gồm có 4 chân SCLK, MOSI, MISO, SS Tốc độ truyền dữ liệu cao hơn so với I2C, tốc độ có thể lớn tới 80MHz.[1]

 SCLK (Serial Clock): Được phát bởi Master.

 MOSI (Master Out Slave In): Dữ liệu được truyền từ Master đến Slave.

 MISO (Master In Slave Out): Dữ liệu được truyền từ Slave đến Master.

 SS (Slave Select): Lựa chọn Slave.

Cách kết nối của giao thức SPI được thể hiện như hình 3.24 dưới đây.

3.4.2 Nguyên lý hoạt động Để bắt đầu truyền dữ liệu, chân SS đưa xuống mức thấp và kích hoạt Clock. Thanh ghi dữ liệu 8-bits có trong Slave và Master.

Mỗi xung Clock tương ứng với mỗi bit trong thanh ghi của Slave và Master được truyền đi Ở đây MOSI là truyền từ Master đến Slave và MISO là từ Slave đến Master.[3]

Có 4 cấu hình cơ bản của SPI dựa vào cấu hình xung Clock như hình3.25 Sự lựa chọn các chế độ sẽ không ảnh hưởng đến tốc độ truyền

Hình 3.25 Các cấu hình cơ bản của SPI

THI CÔNG ĐỀ TÀI

THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN

+ Màn hình chờ hiển thị thông tin khi khởi động ứng dụng.

+ Yêu cầu đăng nhập vào ứng dụng.

+ Kết nối trung tâm điều khiển thông qua Bluetooth.

+ Điều khiển thiết bị bằng nút nhấn hoặc giọng nói.

+ Hiển thị các thông số cảm biến lên ứng dụng.

+ Đồng bộ trạng thái với nút nhấn vật lý.

+ Cài đặt câu lệnh và câu hồi đáp trên ứng dụng

+ Thay đổi được tên thiết bị, lệnh gửi về vi điều khiển.

Từ những yêu cầu đặt ra, em đã thiết kế được giao diện ứng dụng như sau:Hình 4.1 là giao diện chờ khi khởi động ứng dụng và yêu cầu bật bluetooth nếu phát hiện điện thoại chưa bật bluetooth Ứng dụng sẽ truy cập vào tính năng bluuetooth của thiết bị để kích hoạt nếu được cho phép.

Sau khi khởi động ứng dụng xong sẽ xuất hiện giao diện yêu cầu đăng nhập. Người dùng có thể đăng nhập bằng tài khoản được đăng ký và lưu trữ trên Firebase thuận tiện cho việc quản lý tài khoản Nếu điện thoại người dùng có hệ thống vân tay thì người dùng cũng có thể đăng nhập bằng dấu vân tay đã được lưu trong điện thoại như hình 4.2.

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

Sau khi đăng nhập thành công, ứng dụng sẽ chuyển sang giao diện điều khiển chính (hình 4.3) Tại đây ta tiến hành kết nối với bluetooth của ESP32 để có thể điều khiển các thiết bị bằng nút nhấn hoặc giọng nói trên ứng dụng Ngoài ra, để có thể di chuyển đến các giao diện khác bằng cách nhấn vào biểu tượng “ ≡ ” để xuất hiện Sidebar hoặc trượt một ngón tay từ bên trái màn hình sang bên phải màn hình.

Hình 4.3 Giao diện điều khiển chính

Tiện ích Sidebar (hình 4.4) sẽ giúp người dùng có thể chuyển đổi qua lại giữa các giao diện dễ dàng hơn, bao gồm các thành phần:

 Điều khiển đèn và quạt.

 Cài đặt tên và lệnh gửi về vi điều khiển.

 Cài đặt câu lệnh và câu phải hồi khi điều khiển bằng giọng nói.

Danh sách bluetooth Điều khiển bằng giọng nói

Tên thiết bị (có thể thay đổi được)

Hình 4.5 Cài đặt tên và lệnh

40 Ở giao diện cài đặt tên và lệnh (hình 4.5), chúng ta có thể thay đổi tên thiết bị và lệnh gửi về vi điều khiển

Tương tự với giao diện cài đặt câu lệnh và câu hồi đáp (hình 4.6) ta có thể thay đổi câu ra lệnh và câu trả lời của trợ lý ngay trên ứng dụng theo ý muốn của mỗi người dùng khác nhau.

Hình 4.6 Cài đặt hồi đáp

Giao diện giám sát (hình 4.7) có thể giám sát các thông số như nhiệt độ, độ ẩm và khí gas dưới dạng biểu đồ gauge.

Hình 4.7 Giao diện giám sát

Ta có thể điều khiển các cửa của ngôi nhà ở giao diện điều khiển cửa (hình 4.8).

 Sơ đồ thuật toán hoạt động của ứng dụng

Gửi dữ liệu tương ứng

Cập nhật màn hình Nhận dữ liệu

Chọn thiết bị no yes

Khi bắt đầu khởi động, ứng dụng sẽ yêu cầu người dùng đăng nhập tài khoản, chỉ khi đăng nhập thành công người dùng mới có thể vào các giao diện điều khiển Tại giáo diện điều khiển chính người tiến hành kết nối Blutooth với hệ thống Sau đó thực hiện các tác vụ, ứng dụng sẽ gửi lệnh về vi điều khiển để thwujc hiện các lệnh tương ứng Nguyên lý hoạt động của ứng dụng được thể hiện qua sơ đồ khối của hình 4.9.

 Lập trình cho ứng dụng

Kodular cho phép người dùng kéo thả các block chức năng ghép nối với nhau để ứng dụng hoạt động theo ý muốn.

Một số block chính của ứng dụng:

Block đăng ký (hình 4.10) dùng để lưu lại tài khoản người dùng đăng ký trên ứng dụng, tên tài khoản không được phép trùng với tên tài khoản đã được đăng ký trước đó Sau đó thông tin tài khoản sẽ được gửi lên Firebase để lưu trữ Có thể thêm hoặc xóa tài khoản trực tiếp trên Firebase.

Hình 4.11 Block đăng nhập bằng vân tay

Block đăng nhập sử dụng vân tay (hình 4.10) dùng để so sách vân tay của người dùng với vân tay được lưu trữ trong điện thoại Nếu vân tay đúng ứng dụng sẽ chuyển sang giao diện điều khiển, nếu sau sẽ thông báo lỗi và yêu cầu quét lại vân tay.

Hình 4.12 Block đăng nhập bằng tài khoản

Block đăng nhập bằng tài khoản (hình 4.11) sẽ so sánh tài khoản người dùng nhập ở hai ô textbox với các tài khoản được lưu trữ ở Firebase Nếu tài khoản đúng sẽ chuyển đến giao diện điều khiển, nếu sai sẽ thông báo tài khoản sai và yêu cầu nhập lại.

Hình 4.13 là block tìm kiếm và kết nối với bluetooth Trong trường hợp thiết bị chưa bật bluettoth sẽ yêu cầu thiết bị bật bluetooth để sử dụng ứng dụng Ngoài ra còn hiển thị trạng thái kết nối bluetooth của ứng dụng.

Hình 4.14 Block nút nhấn một

Block kiểm tra nút nhấn một (hình 4.14) khi có thao tác nhấn nút trên ứng dụng.Lệnh chỉ được thực hiện khi trạng thái kết nối của ứng dụng là đang kết nối Sau đó lệnh sẽ được gửi đến vi điều khiển mà người dùng đã cài đặt trước đó ở giao diện cài đặt tên và lệnh Và tương tự cho các nút nhấn còn lại.

Hình 4.15 là block đồng bộ nút nhấn bằng cách nhận dữ liệu từ vi điều khiển gửi về ứng dụng khi nút nhấn vật lý được nhấn sau đó sẽ đồng bộ trạng thái thiết bị và hiển thị lên màn hình.

Hình 4.16 Block điều khiển bằng giọng nói

Hình 4.15 là block dùng để nhận dạng giọng nói và so sánh với câu lệnh đã được người dùng cài đặt ở phần cài đặt hồi đáp sau đó sẽ thực hiện lệnh tương ứng với câu lệnh được nói Nếu sai sẽ không thực hiện gì.

Hình 4.17 Block hiển thị thông số cảm biến

Block hiển trị thông số cảm biến (hình 4.16) sau khi vi điều khiển đọc được giá trị cảm biến sẽ gửi các thông số đọc được lên ứng dụng, sau khi nhận được chuỗi giá trị sẽ tiến hành tách các chuỗi giá trị thành các thông số của từng cảm biến và hiển thị lên màn hình.

SƠ ĐỒ KHỐI CỦA ĐỀ TÀI

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

Sơ đồ khối của đề tài (hình 4.18) gồm bốn phần chính là khối xử lý trung tâm, khối phần mềm điều khiển, khối phần cứng điều khiển và khối cảm biến.

Khối xử lý trung tâm bao gồm ESP32 và Arduino Mega có nhiệm vụ nhận dữ liệu từ cảm biến và phần mềm điều khiển sau đó đưa ra các xử lý tương ứng để điều khiển các tác vụ đã được lập trình như điều khiển đèn, quạt, đóng mở cửa hoặc hiển thị dữ liệu ra màn hình quan sát

Khối phần mềm điều khiển bao gồm ứng dụng Android điều khiển và ứng dụng

Android app Blynk app ESP32 Cam

Khối cảm biến bao gồm cảm biến nhiệt độ, cảm biến độ ẩm, cảm biến khí gas.

THI CÔNG MÔ HÌNH

4.3.1 Xây dựng mô hình nhà

Mô hình nhà bao gồm một phòng khách, một phòng bếp, hai phòng ngủ, một phòng đọc sách, một phòng vệ sinh và một garage

4.3.2 Xây dựng hệ thống chiếu sáng, quạt

Hình 4.20 Sơ đồ thuật toán hệ thống chiếu sáng và quạt

Sau khi khởi động hệ thống sẽ kết nối với wifi hoặc bluetooth để điều khiển các thiết bị bằng smartphone Ngoài ra còn có thể điều khiển các thiết bị bằng nút nhấn cảm ứng được đặt ở các phòng Nguyên lý hoạt động của khối hệ thống chiếu sáng và quạt được thể hiện qua sơ đồ thuật toán của hình 4.20.

Kết nối wifi hoặc bluetooth

Kiểm tra tác vụ từ ứng dụng

 Thiết kế và mô phỏng mạch

Mạch ra chân cho ESP32 (hình 4.22) để điều khiển relay và kết nối với cảm biến được mô phỏng và thiết kế trên phần mềm Altium (hình 4.21).

Hình 4.21 Mô phỏng mạch trên Altium

Trong hệ thống này, Arduino Mega có chức năng điều khiển các servor để mở các cửa, đồng thời đọc trạng thái nút nhấn cảm ứng gửi sang ESP32 thông qua giao thức AURT Sơ đồ kết nối giữa Arduino Mega cùng servor và nút nhấn cảm ứng được thể hiện như hình 4.22 dưới đây.

Hình 4.23 Sơ đồ nguyên lý điều khiển cửa và công tắc cảm ứng bằng Arduino

Hình 4.23 là mạch ra chân cho Arduino Mega, kèm theo đó là Module điều khiển độgn cơ L293D được gắn trực tiếp lên board mạch để điều khiển hai động cơ

DC đóng mở cửa cổng và cửa garage.

Hình 4.24 Mạch ra chân cho Arduino Mega 4.3.3 Xây dựng hệ thống camera

Hệ thống camera sử dụng ESP32 Cam và cảm biến chuyển động sẽ được đặt tại nơi có tài sản có giá trị lớn như két sắt, garage,…

Khi khởi động hệ thống ESP32 Cam sẽ kết nối với wifi được lưu trước đó, trường hợp không kết nối được wifi, hệ thống sẽ chuyển sang chế độ truy cập mạng không dây Sau khi kết nối với wifi do ESP32 Cam phát ra, thiết bị sẽ tự điều hướng sang Web Server để thiết lập wifi (hình 4.26).

Sau khi mở port wifi cho camera có thể xem video stream ở bất kỳ đâu thông qua ứng dụng Blynk Ngoài ra khi cảm biến chuyển động phát hiện có người vào khu vực quan trọng sẽ lập tức chụp hình và gửi vào Telegram của người dùng.

Hình 4.25 dưới đây là sơ đồ nguyên lý của ESP32 Cam và cảm biến chuyển động được thiết kế bằng phần mềm Altium Từ đó làm ra được mạch thực như hình4.26.

Hình 4.25 Sơ đồ nguyên lý ESP32 Cam và cảm biến chuyển động

Hình 4.26 Mạch thực tế của ESP32 Cam và cảm biến chuyển động

Hình 4.27 Cấu hình WiFi cho ESP32 Cam 4.3.4 Xây dựng hệ thống cầu thang thông minh

Sau khi khởi động hệ thống, cảm biến hồng ngoại đặt ở hai đầu cầu thang có nhiệm vụ phát hiện người di chuyển vào cầu thang Đèn cầu thang sẽ được bật/tắt theo nguyên lý: Khi phát hiện người đi lên/xuống, đèn sẽ sáng từ dưới lên/trên xuống theo bậc Nếu người vẫn còn bên trong cầu thang đèn của các bậc sẽ sáng mãi, khi phát hiện người đi ra từ hướng nào, đèn sẽ tắt từng bật theo hướng ngược lại.

Hình 4.28 dưới đây là sơ đồ nguyên lý của mạch cầu thang thông minh được thiết kế và mô phỏng mạch (hình 4.29) bằng phần mềm Altium Từ đó làm ra được mạch thực như hình 4.30.

Hình 4.28 Sơ đồ nguyên lý mạch cầu thang thông minh

Hình 4.29 Mô phỏng mạch cầu thang thông minh trên Altium

Hình 4.30 Mạch thực tế cầu thang thông minh 4.3.5 Xây dựng hệ thống bảo mật

Hệ thống bảo mật bao gồm RFID đặt ở cửa cổng và cảm biến vân tay đặt ở cửa chính được kết nối với Arduino Mega như hình 4.31.

Hình 4.31 Sơ đồ nguyên lý khối cảm biến cửa

Có thể thực hiện mở cổng bằng hai cách là quét thẻ RFID hoặc mở cổng bằng ứng dụng trên điện thoại

Trường hợp sử dụng thẻ: Hệ thống sẽ so sánh id của thẻ được quét với các id đúng đã được thiết lập sẵn Nếu đúng cổng sẽ mở cho tới khi chạm vào công tắt hành trình cổng sẽ dừng.

Trường hợp sử dụng ứng dụng trên điện thoại: Khi hệ thống kết nối wifi hoặc bluetooth người dùng có thể điều khiển đóng mở cửa cổng trên điện thoại thông qua ứng dụng Blynk hoặc ứng dụng Android.

Tương tự cho cảm biến vân tay để mở cửa chính cũng sử dụng hai cách để mở là dùng id vân tay đã được lưu và ứng dụng trên điện thoại như hình 4.32 Ngoài ra khi sử dụng ứng dụng Android để mở cửa chính, ứng dụng yêu cầu quét vân tay trên điện thoại để mở Nếu sai sẽ thông báo lỗi và yêu cầu quét lại Nếu đúng sẽ gửi lệnh về vi điều khiển để thực hiện mở cửa.

Hình 4.32 Đóng mở cửa chính bằng vân tay trên ứng dụng Androi

KẾT QUẢ VÀ KIẾN NGHỊ

KẾT QUẢ ĐẠT ĐƯỢC

Hệ thống hoạt động ổn định, đã đáp ứng được các yêu cầu đã đề ra trước đó. Cảm biến cho ra kết quả tương đối chính xác, ứng dụng điều khiển đơn giản dễ sử dụng Hệ thống camera sử dụng ESP32 Cam hoạt động tốt, tuy nhiên cho ra hình ảnh chưa được rõ nét.

 Các bước vận hành hệ thống

Bước 1: Bật công tắt nguồn.

Bước 2: Thiết lập kết nối cho hệ thống Trường hợp sử dụng WiFi (hình 5.1),

Trường hợp sử dụng Bluetooth (hình 5.2).

Hình 5.1 Thiết lập WiFi cho hệ thống

Hình 5.2 Thiết lập kết nối Bluettoth cho hệ thống Bước 3: Truy cập vào ứng dụng để điều khiển các thiết bị Tùy vào phương thức kết nối mà người dùng truy cập vào ứng dụng điều khiển phù hợp

Nếu sử dụng WiFi, người dùng vào ứng dụng Blynk hoặc Dashboard của Blynk để điều khiển.

Nếu sử dụng Bluetooth, người dùng vào ứng dụng Android để điều khiển. Người dùng có thể điều khiển đèn, quạt thông qua ba phương thức:

 Điều khiển bằng công tắc cảm ứng.

 Điều khiển bằng ứng dụng Blynk và Dashboard của Blynk.

 Điều khiển bằng ứng dụng Android.

Một số hình ảnh vận hành hệ thống

Hình 5.3 Xem video camera trên ứng dụng Blynk

Trong hệ thống này, em quyết định đặt camera tại phòng để có thể NatPort cho camera trở thành camera ip để có thể xem video camera ở bất kỳ đâu.

Người dùng truy cập vào đường link để xem camera.

Hình 5.4 Ảnh gửi về Telegram

Hình 5.4 là ảnh camera chụp lại khi phát hiện người vào khu vực quan trọng và gửi về Telegram.

Hình 5.5 LCD TFT hiển thị trạng thái thời tiết

Các thông số hiển thị lên màn hình LCD TFT như hình 5.5 được lấy dữ liệu thời tiết trực tiếp từ Website Hiển thị thời gian, ngày tháng năm, nhiệt độ, độ ẩm và trạng thái thời tiết Có thể xem đây là một bộ dự báo thời tiết mini đặt tại phòng khách.

Hình 5.6 Bật tất cả các thiết bị

Hình 5.7 Đóng mở cửa cổng bằng RFID

Chúng ta có thể đóng mở cửa cổng bằng 3 cách là dùng thẻ RFID, dùng ứng dụng Blynk hoặc ứng dụng Android để mở cửa cổng.

Tương tự như cửa cổng, cửa chính cũng có thể đóng mở bằng ba cách là dùng cảm biến vân tay, dùng ứng dụng Blynk hoặc ứng dụng Android.

Hình 5.9 Hệ thống đèn, quạt và công tắc cảm ứng tại các phòng

Hình 5.9 là hệ thống đèn, quạt và công tắc cảm ứng được đặt tại các phòng.Ngoài ra phòng bếp còn được gắn cảm biến đo nhiệt độ, độ ẩm và cảm biến đo khí gas

Hình 5.11 Bật tắt thiết bị bằng giọng nói trên ứng dụng Android

Chúng ta có thể bật tắt các thiết bị thông qua giọng nói trên ứng dụng Android bằng cách nhấn vào biểu tượng “Micro” sau đó ra lệnh điều khiển Các câu lệnh được cài đặt tại giao diện cài đặt câu lệnh và hồi đáp (hình 4.6).

ĐÁNH GIÁ KẾT QUẢ VÀ KIẾN NGHỊ

Hệ thống hoạt động trong các trường hợp sau:

 Trường hợp được kết nối với internet

Khi hệ thống được kết nối với internet chúng ta có thể điều khiển và giám sát các thiết bị bằng ứng dụng Blynk, bằng công tắc cảm ứng, và ứng dụng Android.

 Trường hợp thay đổi Wifi

Các module sử dụng wifi như ESP32 và ESP32 Cam đều được cài đặt chức năng WiFi Manager nên khi WiFi thay đổi, người dùng có thể cấu hình WiFi cho hệ thống bằng điện thoại hoặc máy tính mà không cần nạp lại chương trình. Đặc biệt, ESP32 Cam còn được thiết lập IP tĩnh nên sẽ không bị nhảy địa chỉ IP khi thiết lập lại WiFi mới.

 Trường hợp không có internet

Trường hợp không có internet người dùng vẫn có thể điều khiển và giám sát các thiết bị thông qua ứng dụng Android được kết nối Bluetooth với hệ thống

5.2.2 Kết luận và hướng phát triển

Sau khi hoàn thành đồ án “Hệ thống điều khiển và giám sát các thiết bị trong nhà” em đạt được những kết quả như sau:

 Hoàn thành đồ án theo đúng qui định và đúng qui trình.

 Thi công mô hình nhà thông minh hoàn chỉnh.

 Xây dựng được ứng dụng điều khiển nhà thông minh.

 Hiểu rõ hơn về hệ thống nhà thông minh.

 Kết nối các module thành một hệ thống và hiểu về các giao thức truyền nhận dữ liệu.

 Sử dụng các phần mềm chuyên dụng thành thạo hơn. Ưu điểm:

 Diện tích phủ sóng Bluetooth hạn chế.

 Chất lượng hình ảnh của camera chưa tốt.

Quá trình thực hiện đồ án tốt nghiệp là cơ hội để em tổng hợp những kiến thức đã học được trên ghế nhà trường để ứng dụng vào thực tế Không chỉ dừng lại ở lĩnh vực nhà thông minh mà còn cho nhìu lĩnh vực tự động khác.

Sau những cố gắng của bản thân, đồ án đã đem lại một số kết quả nhất định. Bên cạnh đó là những hạn chế về thời gian, kinh phí nên mô hình chỉ đạt được các yêu cầu đã đề ra trước đó Để phát triển hệ thống này lên một tầm cao mới, em xin đưa ra một số hướng phát triển cho hệ thống như sau:

 Thêm hệ thống điện dự phòng để tránh trường hợp mất điện.

 Sử dụng hệ thống Camera WiFi với chất lượng hình ảnh cao tích hợp xử lý ảnh để nhận dạng khuôn mặt.

 Sử dụng các cảm biến chuyên dụng để có thể đưa ra thông số với độ chính xác cao hơn và đặt cảm biến ở từng phòng.

 Tích hợp nhiều Node để có độ phủ sóng rộng hơn, mỗi một phòng sẽ là một Node và liên kết các Node với nhau.

Ngày đăng: 18/07/2023, 16:46

TỪ KHÓA LIÊN QUAN

w