TỔNG QUAN
GIỚI THIỆU TÌNH HÌNH NGHIÊN CỨU HIỆN NAY
Trong thời đại công nghệ số hiện nay, căn hộ thông minh đang thu hút sự quan tâm và nghiên cứu sâu rộng Mục tiêu của các hệ thống căn hộ thông minh là tạo ra môi trường sống tiện nghi và hiện đại cho người sử dụng, với các tính năng tự động hóa thông minh Những căn hộ này kết hợp các thiết bị điện tử và viễn thông để quản lý và điều khiển các hoạt động trong không gian sống.
Các nghiên cứu hiện nay tập trung vào việc nâng cao tính năng và hiệu suất của hệ thống căn hộ thông minh Công nghệ mới như Internet of Things (IoT) và trí tuệ nhân tạo (AI) đang được tích hợp vào sản phẩm và dịch vụ, cho phép người dùng điều khiển ánh sáng, nhiệt độ, giám sát an ninh, quản lý năng lượng và giải trí một cách thông minh Hệ thống này giúp người sử dụng dễ dàng kiểm soát thiết bị trong căn hộ, tiết kiệm năng lượng và giảm thiểu chi phí.
Việc thiết lập hệ thống căn hộ thông minh cần phải đảm bảo an toàn và bảo mật, đặc biệt là thông tin cá nhân của người sử dụng Nghiên cứu trong lĩnh vực này tập trung vào các vấn đề liên quan đến bảo mật thông tin và quyền riêng tư của người dùng.
Căn hộ thông minh đang trở thành xu hướng nổi bật trong lĩnh vực công nghệ, nhằm tạo ra một môi trường sống tiện nghi, an toàn và thông minh cho người sử dụng.
MỤC TIÊU NGHIÊN CỨU
Dự án thiết kế và thi công hệ thống căn hộ thông minh tích hợp các cảm biến như cảm biến nhiệt độ, độ ẩm, gió và khói nhằm đo lường các thông số quan trọng và phát hiện cháy nổ qua ứng dụng Web Hệ thống được bảo mật bằng mật khẩu và công nghệ nhận diện khuôn mặt sử dụng ESP32-CAM Arduino Uno R3 được sử dụng làm bộ xử lý trung tâm, kết hợp với module ESP32 để kết nối internet và các cảm biến phù hợp Màn hình LCD hiển thị thông số của căn hộ, đồng thời áp dụng các phương pháp nghiên cứu ứng dụng IoT trong thực hiện dự án này.
ĐỐI TƯỢNG NGHIÊN CỨU
Đối với phần cứng nhóm nghiên cứu về các thiết bị như:
− Cảm biến tốc độ gió
Về phần mềm, nhóm nghiên cứu và phát triển giao diện Web để điều khiển và hiển thị thông số.
PHẠM VI NGHIÊN CỨU
Đề tài này tập trung vào việc phát triển một mô hình hệ thống cơ bản, đáp ứng nhu cầu thực tiễn của xã hội hiện đại Hệ thống này được thiết kế để phù hợp với các yêu cầu và thách thức hiện tại, nhằm tối ưu hóa hiệu quả và tính khả thi trong việc triển khai.
− Arduino Uno R3 làm bộ xử lý chính để kết nối và điều khiển các cảm biến, module và thiết bị khác
− Module tích hợp WiFi ESP32, ESP32-CAM được sử dụng để kết nối với mạng internet và Firebase để lưu trữ và truy xuất dữ liệu
− Giao diện Web cho phép người dùng tương tác với hệ thống và điều khiển các thiết bị
− Hệ thống được thiết kế với 2 chế độ điều khiển là tự động và điều khiển trực tiếp bằng nút nhấn trên board mạch
Các thông số đo từ cảm biến được hiển thị trên màn hình LCD và giao diện web, cho phép người dùng theo dõi trạng thái của hệ thống một cách dễ dàng.
Tóm lại, đề tài đạt được một hệ thống đơn giản nhưng vẫn có tính ứng dụng cao, phù hợp với nhu cầu của xã hội hiện đại.
BỐ CỤC ĐỒ ÁN
Trong đề tài nhóm chia thành 5 chương để nghiên cứu và thực hiện như sau:
Chương 1: Tổng quan: Giới thiệu chung về đề tài Xu hướng phátitriển của công nghệihiệninay từ đó đưa ra lýido chọn đềitài, xác định mục tiêu, đối tượng và phạmivi nghiên cứu cho đềitài
Chương 2: Cở sở lý thuyết: Trình bày tổng quan về thiết bị, module phần cứng phần cứng sửidụng trongiđề tài, cácichuẩn giaoitiếp, dẫn dắt chiitiết cụithểiđể xâyidựng hoàn chỉnhivề môihình
Chương 3: Thiết kế và xây dựng hệ thống: Từ yêuicầu đềitài, trình bày về sơ đồ khối hệ thống Tính toán và chọn lựa linh kiện phù hợp từ đó thiết kế mô hình
Chương 4: Kết quả thi công hệ thống: Thiicông mô hình và lập trình cho hệithống Trình bày kết quả thu được sau khi thi công mô hình thông qua hình ảnh, video Từ đó nhận xét và đánh giá sản phẩmidựa trênicác yêu cầu đặt ra
Chương 5: Kết luận và hướng phát triển: Dựaivào kếtiquảicó được từ chương 4, đưa ra kếtiluận về ưu, nhược điểm hệithống Từ đó đưa ra định hướng để cải thiện, phátitriển hệ thống
CƠ SỞ LÝ THUYẾT LIÊN QUAN
TỔNG QUAN VỀ CÔNG NGHỆ IOT
Công nghệ IoT (Internet of Things) là hệ thống kết nối các thiết bị và đối tượng qua internet, cho phép chúng tương tác mà không cần sự can thiệp của con người IoT đang phát triển mạnh mẽ và ứng dụng rộng rãi trong nhiều lĩnh vực như công nghiệp, nông nghiệp, y tế, gia đình thông minh, đô thị thông minh, giao thông vận tải, năng lượng và môi trường.
Một hệ thống IoTs thường bao gồm các thành phần chính sau:
Cảm biến là thiết bị được lắp đặt trên các đối tượng hoặc trong môi trường để thu thập dữ liệu về nhiều thông số như nhiệt độ, độ ẩm, ánh sáng, độ rung, và vị trí.
Thiết bị kết nối là các thiết bị có khả năng kết nối với mạng internet, bao gồm module WiFi, module Bluetooth và các chip giao tiếp khác Chúng đóng vai trò quan trọng trong việc truyền tải dữ liệu từ các cảm biến lên mạng và nhận lệnh điều khiển từ máy chủ hoặc ứng dụng điều khiển.
Máy chủ hoặc đám mây là hệ thống lưu trữ và xử lý dữ liệu từ các thiết bị cảm biến, cung cấp khả năng lưu trữ lớn, tính toán mạnh mẽ và phân tích dữ liệu để tạo ra thông tin hữu ích cho người dùng Ứng dụng điều khiển cho phép người dùng quản lý và điều khiển các thiết bị IoT từ xa, xem dữ liệu và nhận thông tin cảnh báo thông qua các thiết bị điện thoại thông minh, máy tính bảng hoặc trình duyệt web.
Cơ sở hạ tầng mạng đóng vai trò quan trọng trong việc cung cấp kết nối liên tục giữa các thiết bị IoT, máy chủ, đám mây và ứng dụng điều khiển, bao gồm cả mạng internet và mạng nội bộ trong tổ chức.
2.1.1 Xu hướng và các yếu tố tạo nên nhà thông minh
Hiệninay, xuihướnginhà thôngiminhiđang phátitriểnirất nhanh chóng và trở thành một phần quan trọng của cuộc sống hiện đại Dưới đây là một số xuihướng nhà thôngiminh hiện nay:
Giám sát an ninh thông minh bao gồm các thiết bị như camera, cảm biến và khóa cửa thông minh, cho phép kết nối lẫn nhau và với điện thoại thông minh, nhằm đảm bảo an toàn và bảo vệ sự an ninh cho gia đình.
Hệithống ánhisáng thôngiminh: Hệ thống ánhisáng có thể tựiđộng điềuichỉnh độisáng và màu sắc để phùihợp với nhu cầu và sở thích của người dùng
Hệ thống tự động hóa gia đình thông minh cho phép người dùng điều khiển các thiết bị như máy giặt, tủ lạnh, và lò nướng từ xa Người dùng có thể dễ dàng kiểm soát nhà của mình từ bất kỳ đâu trên thế giới thông qua các ứng dụng điện thoại thông minh, mang lại sự tiện lợi và linh hoạt trong việc quản lý các thiết bị nhà thông minh.
Tổng quát, xuihướng nhà thôngiminh đang phát triển mạnhimẽ và mang lại nhiềuitiệniích cho ngườiidùng, giúp giaiđình an toàn, tiếtikiệm thờiigian và năng lượng
2.1.2 Vận hành và giám sát nhà thông minh
Vận hành và giám sát nhà thông minh phụ thuộc vào hệ thống cụ thể của từng căn hộ Tuy nhiên, có thể thực hiện các bước chung sau đây để tối ưu hóa việc quản lý và giám sát ngôi nhà thông minh của bạn.
Để vận hành và giám sát nhà thông minh, người dùng cần kết nối các thiết bị thông minh với hệ thống mạng của mình thông qua Wi-Fi hoặc Bluetooth.
Hầu hết các hệ thống nhà thông minh đều cung cấp ứng dụng điều khiển riêng, giúp người dùng dễ dàng quản lý các thiết bị từ xa Người dùng chỉ cần tải ứng dụng này từ cửa hàng ứng dụng trên điện thoại của mình để bắt đầu sử dụng.
Hệ thống nhà thông minh tích hợp camera và cảm biến giúp người dùng giám sát và kiểm soát các hoạt động trong căn hộ từ xa một cách hiệu quả.
Với những bước đơn giản này, người dùng có thể vận hành và giám sát nhà thông minh củaimình một cách dễidàng và tiệnilợi.
TỔNG QUAN VỀ PHẦN CỨNG SỬ DỤNG
Bàn phím, hay còn gọi là "thiết bị nhập", là công cụ cho phép người dùng nhập chữ số, chữ cái và ký hiệu vào bộ điều khiển Khác với bàn phím thông thường, bàn phím số không bao gồm toàn bộ bảng mã ASCII, do đó thường được sử dụng trong các thiết bị đặc biệt.
Số lượng nút nhấn trên bàn phím số phụ thuộc vào yêu cầu của ứng dụng, với bàn phím 4x3 có 12 nút được sắp xếp thành ma trận 4 hàng và 3 cột, một cấu trúc phổ biến Giống như ma trận LED, các nút nhấn trong cùng hàng và cột được kết nối với nhau.
Do đó, với bàn phím số 4x3, tổng cộng có 7 ngõ ra (4 hàng và 3 cột)
Hình 2 1: Bàn phím 4x3 Bảng 2 1: Bảng thông số kỹ thuật bàn phím
STT Thông số Giá trị
1 Điện áp cung cấp tối đa 24 VDC
2 Dòng điện cung cấp 20 mA
4 Tuổi thọ 1 triệu lần nhấn
Bảng 2 2: Bảng thông số các chân bàn phím
2.2.2 Cảm biến gas/khói MQ2 [2]
Mô-đun cảm biến khí MQ2 là thiết bị đa chức năng có khả năng phát hiện và đo các loại khí như LPG, Alcohol, Propane, Hydrogen, CO và khí mê-tan Phiên bản mô-đun này được trang bị chân kỹ thuật số, cho phép hoạt động độc lập mà không cần bộ vi điều khiển, rất hữu ích khi chỉ cần phát hiện một loại khí cụ thể mà không cần thiết bị điều khiển phức tạp.
Để đo lường nồng độ khí theo ppm (parts per million), mô-đun cảm biến sử dụng chân analog Chân analog này được cấp điện TTL và hoạt động ở mức điện áp 5V, giúp nó tương thích với hầu hết các bộ vi điều khiển phổ biến trên thị trường.
Cảm biến khí MQ2, nhờ vào tính linh hoạt và đa năng, đã trở thành công cụ quan trọng trong việc phát hiện và đo lường nhiều loại khí khác nhau Với khả năng phát hiện đa dạng chất khí và hoạt động độc lập, cảm biến này đáp ứng nhu cầu của nhiều ứng dụng, từ kiểm soát an toàn trong công nghiệp đến đo lường chất lượng không khí trong môi trường sống hàng ngày.
Hình 2 2: Cảm biến MQ2 Bảng 2 3: Bảng thông số các chân cảm biến MQ2
Chân Thông số Mô tả
1 VCC Chân dùng để cấp nguồn
3 DO Gửi dữ liệu thông qua tín hiệu số
4 AO Gửi dữ liệu thông qua tín hiệu analog
Bảng 2 4: Bảng thông số kỹ thuật cảm biến MQ2
STT Tham số Giá trị
2 Dòng điện cung cấp 150 mA
5 Tín hiệu ngõ ra Analog/Digital
7 Phạm vi phát hiện 300 - 10000ppm
Hình 2 3: Sơ đồ nguyên lý cảm biến MQ2
Hình 2 4: Đặc điểm độ nhạy đối với một số loại khí của cảm biến MQ2
Cảm biến MQ2 thể hiện đặc tính nhạy cảm qua biểu đồ, với trục tung là tỷ lệ điện trở (Rs/Ro) và trục hoành là nồng độ khí Trong đó, Rs là điện trở của các loại khí khác nhau, còn Ro là điện trở của cảm biến trong môi trường 1000ppm Hydrogen Được kiểm tra trong điều kiện tiêu chuẩn, cảm biến này có khả năng phát hiện các khí như H2, LPG, CH4 và CO.
Do đó, điện trở của cảm biến sẽ thay đổi tùy thuộc vào nồng độ H2 hoặc LPG có trong không khí
2.2.3 Cảm biến tốc độ gió [3]
Cảm biến tốc độ gió được thiết kế bền bỉ, có khả năng chịu gió bão nhưng vẫn nhạy với gió nhẹ Sản phẩm này sử dụng vòng bi kín, đảm bảo tuổi thọ lâu dài Các thông số kỹ thuật về phạm vi và độ chính xác đã được xác thực qua các thử nghiệm trong đường hầm gió Đặc biệt, ở những khu vực có nguy cơ đóng băng, thiết kế vòng nhỏ giọt giúp ngăn chặn nước xâm nhập vào khớp nối giữa các bộ phận chuyển động.
Hình 2 5: Cảm biến tốc độ gió
Nếu sử dụng senor đầu ra tương tự, hãy sử dụng thông tin sau để hiệu chỉnh:
− Đầu ra: 0 - 5 VDC (0 đến 250 km/giờ)
− Tốc độ gió tính bằng km/giờ = 50*Điện áp đầu ra của cảm biến (tính bằng Vôn)
− Đầu ra: 4-20mA (0 đến 250 km/giờ)
− Tốc độ gió tính bằng km/giờ = 15,625*(Đầu ra tính bằng mA - 4)
Bảng 2 5: Bảng thông số kỹ thuật cảm biến tốc độ gió
STT Thông số Giá trị
1 Loại cảm biến Ba cốc
2 Chất liệu Đầu điều khiển ABS chống tia cực tím
4 Phạm vi 0 đến 250 km/giờ
5 Tốc độ gió khởi động 0,5 m/s hoặc 1,8 km/h
7 Đầu ra: A, B, C, D là 4 mẫu khác nhau
10 Chiều dài cáp cảm biến 2m
2.2.4 Cảm biến nhiệt độ - độ ẩm DHT11 [4]
Cảm biến Nhiệt độ và Độ ẩm DHT11 là thiết bị kết hợp với đầu ra tín hiệu kỹ thuật số đã được hiệu chuẩn, sử dụng công nghệ thu tín hiệu số và cảm biến, đảm bảo độ tin cậy và ổn định lâu dài Thiết bị này bao gồm một thành phần đo độ ẩm kiểu điện trở và một thành phần đo nhiệt độ NTC.
Nó cũng kếtinối với một bộ điều khiển vi mô 8-bit hiệu suất cao, mang lại chất lượng vượtitrội, thời gian phảnihồi nhanh, chống nhiễu và tiếtikiệm chi phí
Hình 2 6: Cảm biến nhiệt độ - độ ẩm DHT11
Bảng 2 6: Thông số kỹ thuật của cảm biến DHT11
STT Thông số Giá trị
2 Dòng diện cung cấp 2.5 mA
Nhiệt độ: 0 - 50°C Độ ẩm: 20 – 90%RH
4 Độ chính xác Nhiệt độ: +- 2°C Độ ẩm: +- 5%RH
5 Độ nhạy Nhiệt độ: +- 1°C Độ ẩm: 1%RH
7 Độ ổn định +-1%RH/năm
Bảng 2 7: Thông tin chân cảm biến DHT11
Chân Thông số Mô tả
1 Vcc Chân cung cấp nguồn 3V(DC) - 5V(DC)
2 Data Chân giao tiếp dữ liệu
Cảm biến DHT11 sử dụng giao thức truyền 1 dây để giao tiếp và đồng bộ dữ liệu với vi điều khiển Dữ liệu được truyền bao gồm 40-bit, tương đương với 5 byte.
• Byte 1: giáitrị phần nguyên của độiẩm 8 bit
• Byte 2: giáitrị phần thập phân độiẩm 8 bit
• Byte 3: giáitrị phần nguyên của nhiệtiđộ 8 bit
• Byte 4: giáitrị phần thập phân nhiệtiđộ 8 bit
Nếu Byte 5 = (byte1 + byte2 + byte3 + byte4) thì giá trị nhiệt độ và độ ẩm chính xác
Hình 2 7: Quy trình giao tiếp dữ liệu DHT11 với MCU
Quy trình giao tiếp dữ liệu giữa MCU và DHT11 bắt đầu khi MCU gửi tín hiệu khởi động, khiến DHT11 chuyển sang chế độ khởi chạy Sau khi tín hiệu khởi động hoàn tất, DHT11 sẽ gửi 40-bit dữ liệu, mà vi điều khiển sẽ đọc dưới dạng 5-byte Nếu không nhận được tín hiệu khởi động từ MCU, DHT11 sẽ không phản hồi Sau khi thu thập dữ liệu, DHT11 sẽ quay về chế độ tiêu thụ điện năng thấp cho đến khi nhận tín hiệu khởi động mới từ MCU.
Thư viện hiện nay hỗ trợ nhiều loại cảm biến nhiệt độ và độ ẩm như DHT11, DHT22, giúp giao tiếp hiệu quả với Arduino và các vi điều khiển khác.
Relay là thiết bị cơ điện sử dụng dòng điện để điều khiển việc mở hoặc đóng các tiếp điểm của công tắc Thiết bị này bao gồm ba khối cơ bản, mỗi khối thực hiện các chức năng khác nhau để đảm bảo hoạt động hiệu quả.
Khối tiếp thu (cơ cấu tiếp thu) có nhiệm vụ nhận tín hiệu đầu vào và chuyển đổi chúng thành đại lượng cần thiết, cung cấp thông tin phù hợp cho khối trung gian Khối này tiếp nhận dữ liệu đầu vào và tiếp thu các yêu cầu điều khiển từ nguồn tín hiệu bên ngoài.
Khối trung gian là cơ cấu tiếp nhận thông tin từ khối tiếp thu và chuyển đổi nó thành đại lượng cần thiết để điều khiển relay Khối này biến đổi tín hiệu từ khối tiếp thu thành dạng tín hiệu phù hợp, giúp kích hoạt hoặc ngắt relay một cách hiệu quả.
Khối chấp hành có nhiệm vụ phát tín hiệu cho mạch điều khiển, nhận tín hiệu từ khối trung gian và thực hiện các hành động cần thiết để kích hoạt relay hoặc ngắt kết nối Thành phần này quyết định hoạt động của relay dựa trên tín hiệu điều khiển nhận được từ khối trung gian.
CÁC CHUẨN GIAO TIẾP DỮ LIỆU ĐƯỢC SỬ DỤNG TRONG MÔ HÌNH
2.3.1.1 Giới thiệu về giao thức I2C
I2C là viếtitắt của Inter-Integrated-Circuit (I2C)
I2C là một giao thức truyền thông nối tiếp tương tự như UART, nhưng không được sử dụng để giao tiếp với máy tính cá nhân Thay vào đó, I2C chủ yếu được áp dụng trong việc kết nối các mô-đun và cảm biến.
I2C là giao thức lý tưởng cho các dự án cần đồng bộ hóa nhiều thành phần khác nhau như cảm biến, đầu nối, mô-đun mở rộng và bộ điều khiển Giao thức này cho phép kết nối tối đa 128 thiết bị với bo mạch chính, mang lại sự linh hoạt và tiện lợi trong việc thiết lập hệ thống.
30 sử dụngihệ thống địaichỉ và busichung Điều này giúpiduyitrì đường truyềnithông rõ ràng và tiện lợi
I2C sử dụng một hệ thống địa chỉ và bus chung, cho phép nhiều thiết bị khác nhau kết nối qua cùng một dây Tất cả dữ liệu được truyền qua một dây duy nhất, giúp giảm số lượng chân cần thiết và đơn giản hóa hệ thống dây.
Mặc dù I2C có nhược điểm là tốc độ truyền thông chậm hơn so với giao thức SPI, nhưng sự đánh đổi này giúp đảm bảo tính đơn giản và hiệu quả cho hệ thống kết nối.
I2C có 2 đường là SCL và SDA SCL là đường xung Clock để truyền đồngibộ SDA là đường dữiliệu qua đóicác bit dữiliệu được gửi hoặcinhận
Thiết bị chính (Master) khởi động quá trình truyền dữ liệu trên Bus hệ thống và tạo tín hiệu Clock để kích hoạt các thiết bị được truyền Tất cả các thiết bị được chỉ định địa chỉ trong hệ thống đều được xem là thiết bị phụ (Slave).
Mối quanihệ giữa Master và Slave truyền vàinhận trên Bus không cố định
Nó phụithuộc vào hướngitruyền dữiliệu tại thờiiđiểm đó
Nếu Master muốn gửi dữ liệu đến Slave, trước tiên Master phải giải quyết Slave trước khi gửi bất kỳ dữ liệu nào
Master sau đó sẽ chấm dứt việc truyền dữ liệu Nếu Master muốn nhận dữ liệu từ Slave, Master phải gửi lại địa chỉ cho Slave trước
Master nhận dữ liệu từ Slave và kết thúc quá trình nhận Đồng thời, Master cũng chịu trách nhiệm tạo tín hiệu Clock để đồng bộ hóa và hoàn tất quá trình truyền dữ liệu.
Cũng cần phải kết nối nguồn điện thông qua một điện trở kéo lên Khi Bus không hoạt động, cả hai dòng hoạt động ở mức năng lượng cao
2.3.1.3 Quá trình truyền dữ liệu
Quá trình hoạt động truyền gói tin của I2C gồm các bước như sau:
Hình 2 22: Quá trình hoạt động truyền gói tin của I2C
Bước 1: Thiết lập điều kiện bắt đầu cho quá trình giao tiếp
Bước 2: Master gửi đến các Slave khác bao gồm 7bit hoặc 10bit địa mà Master muốn truyền nhận đính kèm với 1bit đọc hoặc 1bit ghi
Trong bước 3, Master sẽ kiểm tra địa chỉ gửi đến với từng Slave Nếu địa chỉ Slave trùng khớp với địa chỉ Master, Slave sẽ gửi phản hồi tín hiệu ACK “bit 0” cho Master Ngược lại, nếu địa chỉ không trùng, Slave sẽ gửi tín hiệu NACK “bit 1”.
Bước 4: Khi đúng địa chỉ muốn giao tiếp, Master sẽ truyền 8bit dữ liệu với Slave tương ứng
Bước 5: Sau khi truyền mỗi khung dữ liệu, thiết bị Slave sẽ kiểm tra phản hồi từ Master qua tín hiệu ACK/NACK để xác định xem quá trình giao tiếp có thành công hay không.
Bước 6: Để dừng quá trình truyền, Master gửi điều kiện dừng đến Slave Quá trình giao tiếp I2C này được lập trình và hỗ trợ bởi thư viện
2.3.1.4 Ưu nhược điểm của việc sử dụng I2C
− Có số lượng pin/tín hiệu thấp ngay cả với nhiều thiết bị trên bus
− Linh hoạt, vì nó hỗ trợ giao tiếp đa chủ và đa nô lệ
− Đơn giản vì nó chỉ sử dụng 2 dây hai chiều để thiết lập liên lạc giữa nhiều thiết bị
− Có thể thích ứng vì nó có thể thích ứng với nhu cầu của các thiết bị nô lệ khác nhau
− Tốc độ chậm hơn vì nó yêu cầu điện trở kéo lên thay vì điện trở kéo đẩy được sử dụng bởi SPI
− Yêu cầu nhiều không gian hơn vì các điện trở tiêu thụ bất động sản PCB có giá trị
− Có thể trở nên phức tạp khi số lượng thiết bị tăng lên
2.3.2.1 Giới thiệu về chuẩn truyền UART
UART viếtitắt của UniversaliAsynchronous Reception and Transmission Một giaoithức truyềnithông nối tiếpiđơn giản cho phép máy chủigiao tiếp với thiết bị phụ trợ
UART hỗ trợitruyền dữ liệu hai chiều, khôngiđồng bộ và nối tiếp
Nó cóihai đường dữiliệu, một để truyền (TX) và một đểinhận (RX), được sử dụng để giao tiếp thông quaichân kỹ thuật số 0, chân kỹithuật số 1
UART cũngicó thể xử lý cácivấn đề quản lý đồngibộ hóa giữa máyitính và thiết bịinối tiếp bêningoài
UART có thểihoạt động giữaicác thiết bị theoi3 cách:
− Simplex = truyền dữiliệu theo một hướng
− Bán song công = truyền dữ liệu theoimột trong hai hướng nhưng không đồng thời
− Full duplex = truyền dữ liệu đồng thời theo cả hai hướng
Sau khiiđược kết nối, dữ liệu sẽ truyền từ TX của UART truyền sang RX của UARTinhận
Truyền UART chuyển đổi dữ liệu song song từ thiết bị chính thành dạng nối tiếp, giúp truyền tải thông tin một cách hiệu quả Sau đó, dữ liệu nối tiếp sẽ được chuyển đổi trở lại thành dạng song song cho thiết bị nhận, đảm bảo quá trình giao tiếp diễn ra mượt mà.
Hình 2 23: Quá trình truyền – nhận UART 2.3.2.3 Giao thức làm việc UART
Một UART đang truyền dữiliệu trước tiên sẽ nhậnidữ liệu từ một bus dữiliệu được gửi bởi một thànhiphần khác
Sauikhi lấy dữ liệu từibus dữ liệu, nó sẽithêm bit bắtiđầu, bit chẵn lẻivà bit dừng để tạo gói dữiliệu
Gói dữiliệu sau đó đượcitruyền ở chân TX nơi UART nhậnisẽ đọc góiidữ liệu ở chân RX củainó Dữ liệu được gửi choiđến khi khôngicòn dữ liệu trong UART đangitruyền
Hình 2 24: Giao thức làm việc UART
Start-bit, hay còn gọi là bit đồng bộ, là một phần quan trọng trong giao thức UART, được sử dụng để đồng bộ hóa quá trình truyền thông Khi bắt đầu truyền dữ liệu, đường dữ liệu sẽ giảm từ mức điện áp cao (1) xuống mức điện áp thấp (0), cho phép UART nhận diện sự chuyển đổi này và bắt đầu tiếp nhận dữ liệu Thông thường, chỉ có một start-bit duy nhất trong mỗi lần truyền.
Bit dừng nằm ở cuối gói dữ liệu, thường có độ dài 2 bit nhưng thường chỉ sử dụng 1 bit Để kết thúc quá trình truyền dữ liệu, UART giữ đường dữ liệu ở mức điện áp cao.
Bit kiểm tra chẵn/lẻ giúp người nhận xác minh tính chính xác của dữ liệu đã nhận, với hai tùy chọn là chẵn lẻ (even parity) và lẻ lẻ (odd parity) Mặc dù nó có thể hỗ trợ trong việc kiểm tra lỗi, việc sử dụng bit kiểm tra này không bắt buộc và thường ít được áp dụng trong thực tế.
Các bit dữ liệu chứa thông tin thực được gửi từ người gửi đến người nhận, với độ dài khung dữ liệu dao động từ 5 đến 8 bit Nếu không áp dụng bit kiểm tra chẵn/lẻ, khung dữ liệu có thể mở rộng hơn 9 bit Thông thường, bit trọng số thấp nhất (Least Significant Bit - LSB) được truyền đầu tiên, sau đó các bit tiếp theo được gửi theo thứ tự tăng dần của trọng số.
2.3.2.4 Ưu nhược điểm của UART
− Thao tác đơn giản, được ghi chép đầy đủ vì đây là phương pháp được sử dụng rộng rãi với nhiều tài nguyên trực tuyến
− Bit chẵn lẻ để cho phép kiểm tra lỗi
− Kích thước của khung dữ liệu chỉ giới hạn ở 9 bit
− Không thể sử dụng nhiều hệ thống chủ và nô lệ
− Tốc độ truyền của mỗi UART phải nằm trong phạm vi 10% của nhau để tránh mất dữ liệu
− Tốc độ truyền dữ liệu thấp
2.3.3 Chuẩn giao tiếp tiếp không dây WIFI
Các tiêu chuẩn không dây là mộtitập hợp các dịchivụ và giao thức quy định cách mạng Wi-Fi hoạt động
IEEE 802.11: Tiêu chuẩn hiện không còn tồn tại này được tạo ra vào năm
Vào năm 1997, công nghệ mạng hỗ trợ tốc độ kết nối tối đa lên đến 54 megabit/giây (Mbps) Tuy nhiên, các thiết bị sử dụng công nghệ này đã không còn được sản xuất trong hơn một thập kỷ và hiện nay không tương thích với các thiết bị mới.
IEEE 802.11a, ra mắt vào năm 1999, hoạt động trên băng tần 5GHz nhằm giảm thiểu nhiễu từ các thiết bị khác sử dụng băng tần 2,4GHz Phiên bản Wi-Fi này có tốc độ dữ liệu tối đa lên tới 54Mbps, tuy nhiên, tần số 5GHz gặp khó khăn hơn trong việc truyền tín hiệu qua các vật cản, dẫn đến phạm vi hoạt động thường kém hơn.
GIỚI THIỆU VỀ FIREBASE
Firebase là nền tảng điện toán đám mây của Google, phổ biến trong phát triển ứng dụng di động và web Nó cung cấp nhiều dịch vụ như cơ sở dữ liệu thời gian thực, xác thực người dùng, lưu trữ và phân tích, giúp các nhà phát triển tiết kiệm thời gian và công sức trong quá trình xây dựng ứng dụng.
2.4.2 Những tính năng nổi bật của Firebase
Firebase cung cấp Firebase Realtime Database, một cơ sở dữ liệu JSON đồng bộ hóa thời gian thực Điều này cho phép người dùng và thiết bị đồng bộ hóa dữ liệu mà không cần cài đặt máy chủ.
Firebase cung cấp giải pháp xác thực người dùng đơn giản và hiệu quả với nhiều dịch vụ đa nền tảng, bao gồm xác thực qua email/password, mạng xã hội và xác thực đám mây, giúp nâng cao trải nghiệm người dùng.
Firebase Storage cho phép lưu trữ và quản lý các tệp như hình ảnh, video và tài liệu, cung cấp khả năng truy cập dễ dàng và an toàn từ các ứng dụng di động và web.
Firebase cung cấp các công cụ phân tích tích hợp giúp theo dõi và hiểu hành vi người dùng trên ứng dụng Điều này cho phép cải thiện trải nghiệm người dùng và tăng cường tính tương tác với ứng dụng.
Phátitriển ứng dụng di động: Firebase hỗitrợ việc phát triển
2.4.3 Các bước tạo và liên kết database trên firebase
B1: Tạo dự án mới trên website firebase
Hình 2 26: Tạo dự án trên Website Firebase
B2: Tiếp theo cần tạo Realtime Database bằng cáchinhấn vào “Realtime
Database” trên thanh công cụ ởiphía bên trái mànihình Sau đóichọn “Create Database”
Hình 2 27: Cách tạo Realtime Database B3: Tạo các biến giá trị trong “Realtime Database” vừa tạo
Hình 2 28: Tạo giá trị trên Realtime Database
B4: Chọn dự án firebase muốn liên kết và chọn liên kết với web trên thanh
Hình 2 29: Liên kết Firebase B5: Đặt tên cho liên kết
Hình 2 30: Đặt tên cho liên kết
B6: Sao chép đường link liên kết.
GIỚI THIỆU VỀ PHẦN MỀM LẬP TRÌNH CHO HỆ THỐNG
Arduino IDE là phần mềm mã nguồn mở, cho phép người dùng chỉnh sửa và phát triển mã nguồn Chức năng chính của nó là viết mã và tải lên bo mạch Arduino, giúp lập trình viên tạo ra các ứng dụng và dự án sử dụng tính năng của bo mạch Phần mềm này tương thích với nhiều hệ điều hành như Windows, Mac OS X và Linux, mang lại sự thuận tiện cho người dùng Arduino IDE hỗ trợ ngôn ngữ lập trình C và C++, hai ngôn ngữ phổ biến trong phát triển nhúng và IoT, giúp lập trình viên phát triển ứng dụng cho bo mạch Arduino một cách hiệu quả.
Hình 2 32: Giao diện phần mềm Arduino IDE
Chương trình viết trong Arduino IDE được gọi là phác thảo và được lưu với phần mở rộng '.ino' Để tải lên phác thảo, cần kết nối bảng Genuino hoặc Arduino với IDE.
Visual Studio Code (VS Code) là một trình soạn thảo mã nguồn mở mạnh mẽ, nhẹ nhàng và đa nền tảng, hỗ trợ Windows, Linux và macOS Được phát triển bởi Microsoft, VS Code mang lại hiệu suất cao và khả năng vận hành mạnh mẽ Nó hỗ trợ lập trình JavaScript, Node.js và TypeScript, đồng thời cung cấp một hệ sinh thái mở rộng cho nhiều ngôn ngữ lập trình khác.
Hình 2 33: Giao diện phần mềm Visual Studio Code
VS Code không chỉ là một trình soạn thảo mã nguồn thông thường, mà còn tích hợp nhiều công cụ phát triển mạnh mẽ như Git, Debug và Syntax Highlighter Sự kết hợp này mang lại nhiều lợi ích và tiện ích cho người dùng trong quá trình phát triển phần mềm.
THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG
YÊU CẦU SƠ ĐỒ KHỐI CỦA HỆ THỐNG
Mô hình đồ án THIẾT KẾ VÀ THI CÔNG HỆ THỐNG CĂN HỘ THÔNG MINH gồm có 3 phòng chính: Phòng khách, phòng bếp, phòng ngủ
Mô hình sử dụng FaceID và Password để làm hệ thống cửa cho căn hộ Có hệ thống báo động thông qua Buzzer
❖ Phòng Khách: Phòng khách có trang bị cảmibiến nhiệtiđộ - độ ẩm, quạt, đèn
Có hệ thống để thu thập cácigiá trị inhiệt độ - độ ẩmiđồng thời hiển thị các thôngisố đo đượcilên mànihình
❖ Phòng Bếp: Phòng bếp có trang bị cảm biến khói, đèn và quạt thông gió Có hệ thống báo động khi xảy ra cháy nổ
❖ Phòng Ngủ: Phòng ngủ thì trang bị đèn, quạt, cảm biến nhiệt độ Sử dụngihệ thống đóngimở cửa tự động thông qua tốc độ gió
Hệ thống có trang bị công tắt để bật tắt cácithiết bị
Dùng web để hiện thị giá trị thông số nhiệtiđộ, độ ẩm, khói và bật tắt đèn quạt của các phòng
3.1.2 Sơ đồ khối hệ thống và chức năng mỗi khối
Hình 3 1: Sơ đồ khối toàn bộ hệ thống
Khối bàn phím: Đọc dữiliệu từ các phím nhấn và gửi vềikhối xử lýitrung tâm
Khối cảmibiến: Đọc giá trị từ các cảm biến sau đó gữi tín hiệu đến khối xử lý trungitâm để thực hiện các yêuicầu của hệithống
Khối nút nhấn: Gửi thông tin yêu cầu thực hiện về khối xử lýitrung tâm
Khối động cơ: Nhận thông tin điềuikhiển từ khối xử lýitrung tâm và thực hiện quay động cơ
Khối chấp hành bao gồm hệ thống quạt tản nhiệt và đèn chiếu sáng, hoạt động theo tín hiệu từ khối xử lý trung tâm để thực hiện các yêu cầu cần thiết.
Khối hiểnithị: Hiển thị cácithông tin từ khối xử lý trung tâm như: giá trị cảm biến, bảo mật cửa
Khối báo động: Lấy thông tin từ khối xử lýitrung tâm để báo động
Khối FaceID: Nhận diện khuôn mặt sau đó gửi tín hiệu đến khốiixử lý trung tâmiđể mở cửa
Khối giao tiếp wifi: Nhận và truyền dữ liệu từ khối xử lý trung tâm chuyển đến khối cơ sở dữ liệu thôngiqua kết nối mạng internet
Khối cơ sở dữ liệu có chức năng nhận dữ liệu thông số môi trường và trạng thái hoạt động của các thiết bị từ khối xử lý trung tâm Dữ liệu này được lưu trữ trong cơ sở dữ liệu và đồng bộ hóa với web để đảm bảo thông tin luôn được cập nhật.
Khối xử lý trung tâm đảm nhận vai trò quan trọng trong việc xử lý các yêu cầu từ các khối FaceID, bàn phím và các thiết bị cảm biến Nó cũng quản lý các nút nhấn, gửi thông tin hiển thị lên khối hiển thị, và điều khiển các thiết bị cũng như động cơ.
Khốiinguồn: Cung cấpinguồn cho các khối trong hệithống
3.1.3 Hoạt động của toàn bộ hệ thống
Khiikhối nguồn cấp nguồn cho toàn bộ hệ thống thì các khối trong hệ thống sẽ hoạt động như sau:
Khối xử lý trung tâm nhận dữ liệu từ các cảm biến như cảm biến gió, nhiệt độ, độ ẩm, khí gas, và khói, cùng với các khối khác như FaceID, nút nhấn và bàn phím Sau khi tiếp nhận dữ liệu, khối xử lý trung tâm sẽ thực hiện các tác vụ cần thiết và gửi thông tin đến khối báo hiệu, khối hiển thị, khối chấp hành, và khối động cơ, đồng thời truyền dữ liệu lên Webserver (Firebase).
Khối FaceID, khối bàn phím và khối nút nhấn sẽ nhận tín hiệu từ ngườiidùng và sẽ gửi tínihiệu đến khốiixử ký trung tâm đểithực hiệnicác yêuicầu
Khối báo hiệu, khối hiển thị, khối chấp hành và khốiiđộng cơ sẽ nhận tín hiệuitừ khối xử lýitrung tâm và thực cáciyêu cầu.
THIẾT KẾ HỆ THỐNG PHẦN CỨNG
Ma trậniphím là tậpihợp các nútinhấn kết nốiivới nhau theoicác hàng vàicột
Số nút nhấn tương ứng là tích của số hàng và số cột, được sử dụng để nhập dữ liệu từ người dùng trong các ứng dụng như máy tính, điện thoại di động, hệ thống bảo mật, và hệ thống điều khiển và đo lường.
Trên thị trường hiện nay, có nhiều loại bàn phím như bàn phím ma trận mềm, bàn phím ma trận điện dung và bàn phím ma trận 4x3 Trong số đó, bàn phím 4x3 nổi bật với thiết kế nhỏ gọn, độ bền cao và độ chính xác tốt, rất phù hợp cho việc thiết kế mô hình nhỏ gọn.
Mô tả kết nối giữa khối bàn phím và khối xử lýitrung tâm (ArduinoiUno R3) được kếtinối như hìnhi3.2
Hình 3 2: Kết nối giữa khối bàn phím và khối xử lý trung tâm
Chân PD2, PD3, PD4, PD5, PD6, PB0 lần lượt kết nối với chân số 2, 3, 4, 5,
Trên thị trường hiện nay có nhiều loại cảm biến, trong đó cảm biến MQ2 là một trong những loại phổ biến nhất Cảm biến MQ2 thuộc dòng cảm biến MOS (Metal Oxide Semiconductor) và còn được gọi là cảm biến oxit kim loại Loại cảm biến này hoạt động dựa trên sự thay đổi điện trở của vật liệu khi tiếp xúc với khí, do đó nó cũng được xem là điện trở hóa học.
Cảm biến khí MQ2 là thiết bị hiệu quả trong việc phát hiện khói, gas và các loại khí tự nhiên cũng như hơi nước dễ cháy Với chi phí thấp, cảm biến này rất phù hợp cho nhiều ứng dụng khác nhau trong việc nhận diện các loại khí dễ cháy.
Hình 3.3 thể hiện kết nối giữa cảm biến khói và khối xử lý trung tâm (ESP32)
Hình 3 3: Kết nối giữa cảm biến khói và khối xử lý trung tâm
Chân output của module MQ2 kết nối với chân tín hiệu của ESP32, vì cảm biến này sử dụng tín hiệu tương tự để phát hiện khí Khi có khí, cảm biến tạo ra tín hiệu analog tỷ lệ với nồng độ khí, cho phép đo và theo dõi nồng độ khí trong môi trường Đầu đo ADC được sử dụng để chuyển đổi tín hiệu tương tự thành giá trị số, phục vụ cho việc xử lý và hiển thị thông tin.
Chân VCC nốiivới nguồn 5VDC và chân GNDinối đất
3.2.2.2 Khối cảm biến nhiệt độ, độ ẩm
Cảm biến nhiệt độ-độ ẩm DHT11 là lựa chọn phổ biến cho việc đo nhiệt độ và độ ẩm trong các ứng dụng nhà ở Với thiết kế tích hợp cảm biến nhiệt độ và độ ẩm trên cùng một mạch, DHT11 giúp tiết kiệm không gian và đơn giản hóa quá trình kết nối Độ chính xác của cảm biến này đối với nhiệt độ là ± 2°C và đối với độ ẩm là ± 5%, đảm bảo kết quả đo được đáng tin cậy.
Cảm biến nhiệt độ - độ ẩm DHT11 là lựa chọn lý tưởng để đo nhiệt độ và độ ẩm trong nhà nhờ vào tính đơn giản, độ chính xác cao và sai số thấp Để đảm bảo kết quả đo chính xác, cần chú ý đến các yếu tố ảnh hưởng từ môi trường xung quanh và thực hiện đúng các thao tác cài đặt cũng như sử dụng cảm biến.
Hình 3.4 mô tả kết nối cảm biến DHT11 với khối xử lý trung tâm:
Hình 3 4: Kết nối cảm biến DHT11 với khối xử lý trung tâm
Trong mô hình này, nhóm sử dụng hai cảm biến nhiệt độ - độ ẩm Cảm biến 1 được kết nối với chân D13 của ESP32, trong khi cảm biến 2 được kết nối với chân D14 Các chân VCC của cả hai cảm biến được nối với nguồn 5VDC, và chân GND được kết nối với đất.
3.2.2.3 Khối cảm biến tốc độ gió
Trong thị trường hiện nay, có nhiều loại cảm biến tốc độ gió như cảm biến với cánh quạt, cảm biến siêu âm, cảm biến ánh sáng và cảm biến nhiệt điện Trong mô hình căn hộ thông minh, nhóm nghiên cứu lựa chọn sử dụng cảm biến tốc độ gió với cánh quạt để tối ưu hóa hiệu suất.
46 vì đây làiloại cảm biến cóiđộ chính xác cao, đáp ứng nhanh, thiết kế đơn giản và giá thành thấp
Mô tả kết nối giữaicảm biến tốc độ gió và khối xửilý trung tâm (Arduino Uno R3) được kếtinối như hình 3.5:
Hình 3 5: Kết nối giữa cảm biến tốc độ gió và khối xử lý trung tâm
Chân Output của cảm biến gió nối với chân số 10 của Arduino Uno R3 Chân VCC nối với nguồn 5VDC và chân GND nối đất
Nút nhấn là một loại công tắc ấn được sử dụng phổ biến trong các mạch điện tử, với nhiều loại như nút nhấn 2 chân, 4 chân, vuông, tròn và nút nhấn dán Trong mô hình này, nhóm lựa chọn nút nhấn vuông 2 chân vì tính đơn giản trong thiết kế và dễ dàng lắp đặt, đồng thời vẫn đáp ứng yêu cầu của hệ thống.
Khối nút nhấn có chứcinăng khi điều khiểnicác thiết bị trực tiếp trên board mạch Trong mô hình sử dụng 8 nút nhấn được kết nốiinhư hình 3.6
Hình 3 6: Kết nối giữa khối nút nhấn và khối xử lý trung tâm
Một chân của nút nhấn kết nối với chân tín hiệu của Arduino và được nối với nguồn 5V qua một điện trở kéo lên, trong khi chân còn lại được nối đất Điện trở kéo lên giúp cách ly VCC với GND khi nút không được nhấn, cho phép Arduino xác định trạng thái chân tín hiệu là mức cao hay thấp, đồng thời đảm bảo dòng điện chạy qua đủ nhỏ để không gây hư hỏng cho vi điều khiển.
− Nút BT1 kết nốiivới chân 15 của Arduino dùng để mở cửa từ bên trong
− Nút BT2 kết nốiivới chân 14 của Arduino dùng để tắt báo động
− Nút BT3 kết nốiivới chân 11 của Arduino dùng để đóng cửa sổ
− Nút BT4 kết nốiivới chân D26 của ESP32 dùng để mở đèn phòng khách
− Nút BT5 kết nốiivới chân D25 của ESP32 dùng để mở đèn phòng ngủ
− Nút BT6 kết nốiivới chân D33 của ESP32 dùng để mở đèn nhà bếp
− Nút BT7 kết nốiivới chân D32 của ESP32 dùng để mở quạt phòng khách
− Nút BT8 kết nốiivới chân D35 của ESP32 dùng để mở quạt phòng ngủ
Servo là một loại động cơ điện đặc biệt, khác với động cơ thông thường chỉ quay liên tục khi có điện Động cơ servo chỉ quay khi được điều khiển bằng xung PWM, với góc quay từ 0° đến 180° Nó được thiết kế với hệ thống phản hồi vòng kín, cho phép tín hiệu ra của động cơ kết nối với mạch điều khiển, truyền ngược thông tin về vận tốc và vị trí của động cơ.
Sơ đồ kếtinối khốiiđộng cơ với khốiixử lý trung tâminhư hình 3.7:
Hình 3 7: Kết nối khối động cơ với khối xử lý trung tâm
Trong mô hình nhóm dùng 2 động cơ servoiđể điều khiểnicửa ra vào và sửa sổ
Chân PWM của servo 1 được kết nối vớiichân 16 của Arduino Châm PWM của servo 2 được kết nối với chân 17 của Arduino Cả 2 động cơ sử dụng nguồn 5VDC – 0.2A
Trong hình 3.8 bên dưới là sơ đồ kết nốiicủa khốiixử lýitrung tâm (ESP32) và khối chấp hànhibao gồm các hệ thốngisau: hệ thốngiquạt và hệithống đèn
Hình 3 8: Kết nối giữa khối chấp hành với khối xử lý trung tâm
Hệ thống này sử dụng ba quạt tản nhiệt kích thước 5x5cm, hoạt động với nguồn điện 12V Thiết kế của thiết bị bao gồm động cơ quay bằng nam châm vĩnh cửu, giúp tiết kiệm năng lượng và giảm thiểu tiếng ồn trong quá trình hoạt động.
Quạt tản nhiệt 12V 5x5CM là thiết bị thiết yếu trong hệ thống tản nhiệt cho các thiết bị điện tử như máy tính, viễn thông, thiết bị mạng và bộ lưu điện Chức năng chính của quạt là làm mát, đối lưu không khí và thông khói, giúp duy trì hiệu suất hoạt động ổn định cho các thiết bị này.
Mô hình hệ thống được kết nối như sau:
− Chân 24 (D18), chân 25 (D19) và chân 30 (D23) được kết nối lần với ngõ vào của 3 Relay D18, D19 và D23
− Chân NO (Normal Open) của 3 Relay kết nối lần lượt với chân GND của 3 quạt
− Chân VCC của Relay nối với nguồn 5VDC và chân GND với chân COM (Common) nối đất
− Chân VCCicủa quạt nối với nguồni12VDC của nguồn
Hệ thống này sử dụng 3 đèn LED 5mm nhỏ gọn, trong đó đèn LED màu trắng 5mm được sử dụng để chiếu sáng và thực hiện các chức năng chiếu sáng trong mạch điện tử Đèn LED màu trắng có kích thước tiêu chuẩn 5mm, thiết kế phù hợp để gắn vào bảng mạch hoặc các thiết bị điện tử.
LƯU ĐỒ HỆ THỐNG
3.3.1 Lưu đồ giải thuật chương trình điều khiển hệ thống chính
Giải thích lưu đồ hệ thống:
- Hệ thống được khởi động, tiến hành kiểm tra kết nối Wifi
- Nếu chưa được kết nối, tiến hành kết nối lại
- Thực hiện kiểm tra bảo mật của hệ thống
- Nếu hệ thống kiểm tra bảo mật không đúng thì sẽ tiến hành kiểm tra lại
- Nếu hệ thống kiểm tra bảo mật được thông qua thì sẽ tiến hành kiểm tra và thực hiện các chức năng bên trong hệ thống
- Ta sẽ tiến hành kiểm tra hoạt động của hệ thống nói chung xem có hoạt động hay không
- Nếu hệ thống không hoạt động thì sẽ tiến hành kiểm tra lại
- Nếu hệ thống hoạt động thì các chức năng của hệ thống sẽ được thực hiện theo yêu cầu
Hình 3 16: Lưu đồ giải thuật chương trình điều khiển hệ thống chính
3.3.2 Lưu đồ điều khiển hệ thống bảo mật bằng FaceID và Password
Hình 3 17: Lưu đồ điều khiển hệ thống bảo mật bằng FaceID và Password
Giải thích lưu đồ hệ thống:
Hệ thống bảo mật được khởi động và để mở khóa, người dùng có thể sử dụng hai phương pháp Đầu tiên, hệ thống FaceID sẽ nhận diện người dùng; nếu nhận dạng thành công, cửa sẽ tự động mở.
− Nếu không nhận dạng được ta sẽ mở khác qua cách thứ 2 là sử dụng Password Ta sẽ tiến hành nhập Password, nếu nhập đúng thì cửa sẽ mở
− Nếu nhập sai thì ta sẽ tiến hành nhập lai Password
− Nhập mật khẩu trong 3 lần nếu đúng thì cửa sẽ mở, nếu nhập sai trên 3 lần thì hệ thống cảnh báo tự động sẽ được bật
3.3.3 Lưu đồ điều khiển hệ thống tự động
Giải thích lưu đồ hệ thống:
- Hệ thống điều khiển tự động được khởi động, sau đó hệ thống sẽ đọc giá trị của môi trường thông qua cảm biến
- Đầu tiên là cảm biến gió, nếu có gió thì cửa sổ sẽ đóng mở theo mực độ gió mà cảm biến đo được
- Còn không có gió thì cửa sổ sẽ mở cửa theo trạng thái mặc định là mở toàn bộ
- Tiếp theo sẽ đọc giá trị thông qua cảm biến khói/gas
- Nếu phát hiện khói, gas thì hệ thống báo cháy sẽ bật và quạt thông khói sẽ mở
- Nếu cảm biến không phát hiện khói, gas thì hệ thống sẽ ở trạng thái mặc định báo động tắt và quạt thông khói tắt
- Tiếp theo là đọc giá trị cảm biến nhiệt độ, nếu nhiệt độ trên
33 độ thì tất cả quạt trong phòng sẽ bật để đối lưu không khí
Khi nhiệt độ dưới 33 độ, quạt sẽ tự động tắt Sau khi các cảm biến hoàn tất việc đọc và điều khiển nhiệt độ, chúng sẽ quay lại để cập nhật giá trị của từng cảm biến.
Hình 3 18: Lưu đồ điều khiển hệ thống tự động
3.3.4 Lưu đồ truyền nhận dữ liệu với Webserver
Giải thích lưu đồ của hệ thống:
- Đầu tiên ta sẽ tiến hành khởi động hệ thống Sau đó ta tiến hành khai báo các thư viện và biến cần thiết để giao tiếp với ESP32
- Tiến hành kết nối ESP32 tới Wifi, Webserver và Firebase Sau đó tiến hành đọc dữ liệu từ phần cứng ESP32 sau đó gửi lên Firebase
- Ta sẽ kiểm tra xem Firebase đã nhận được dữ liệu từ phần cứng ESP32 gửi lên hay chưa
- Nếu chưa nhận được sẽ tiến hành đọc lại Nếu đã nhận được dữ liệu thì sẽ tiến hành gửi lên Firebase và đồng bộ hóa với Webserver
- Dùng Webserver để điều khiển một số thiết bị
- Nếu dữ liệu trên Webserver không có gì thay đổi thì sẽ quay về đọc dữ liệu từ phần cứng
Khi có sự thay đổi trên Webserver, dữ liệu sẽ được đồng bộ hóa qua Firebase và gửi về ESP32 Ngược lại, nếu dữ liệu trên Firebase thay đổi, nó sẽ được truyền về phần cứng và sau đó đồng bộ hóa lên Webserver.
Hình 3 19: Lưu đồ truyền nhận dữ liệu với Webserver
3.3.5 Lập trình giao diện Web
Hình 3 20: Lưu đồ giao diện Web
Giải thích lưu đồ hệ thống:
− Hệ thống bảo mật được khởi động, sau đó hệ thống sẽ kết nối với internet với thiết bị điều khiển và hiển thị Webserver
Kiểm tra kết nối Webserver để xác định tính khả dụng Nếu kết nối không thành công, tiến hành kiểm tra lại Khi kết nối thành công, giao diện đăng nhập sẽ được hiển thị để người dùng có thể điều khiển và giám sát qua Webserver.
Để bắt đầu, người dùng cần đăng nhập vào tài khoản trên Webserver Nếu quá trình đăng nhập không thành công, người dùng sẽ thực hiện lại thao tác này Khi đăng nhập thành công, giao diện điều khiển và giám sát sẽ được hiển thị thông qua Webserver.
Tiếp theo, bạn sẽ chọn một trong ba giao diện phòng Nếu chọn phòng khác, giao diện điều khiển và giám sát của phòng đó sẽ hiển thị Nếu không chọn, hệ thống sẽ chuyển sang giao diện phòng bếp Nếu vẫn không chọn hai phòng trên, giao diện điều khiển và giám sát của phòng ngủ sẽ được hiển thị.
− Nếu không chọn 3 phòng trên thì giao diện vẫn hiển thịimàn hình chính điểu khiển và giám sát của Webserver.
SƠ ĐỒ NGUYÊN LÝ HỆ THỐNG
Sau khi nghiên cứu, tính toán và chọn lựa các kiện cho hệ thống, nhóm đã thiết kế sơ đồ nguyên lý toàn mạch
Hình 3 21: Sơ đồ nguyên lý toàn bộ hệ thống
KẾT QUẢ THI CÔNG HỆ THỐNG
GIỚI THIỆU
Sau khi hoàn tất các bước tính toán, thiết kế hệ thống và vẽ sơ đồ nguyên lý, nhóm thực hiện sẽ tiến hành giai đoạn thi công để tạo ra sản phẩm cuối cùng Quá trình này bao gồm việc vẽ mạch điện, lắp ráp linh kiện, lập trình hệ thống, kiểm tra và thi công mô hình Thi công đóng vai trò quan trọng, yêu cầu độ chính xác cao và cần tuân thủ trình tự hợp lý để đảm bảo sản phẩm hoàn chỉnh và hoạt động hiệu quả.
LẮP RÁP VÀ THI CÔNG MÔ HÌNH HỆ THỐNG
4.2.1 Thi công board mạch chính của hệ thống
Sau khi hoàn thiện sơ đồ nguyên lý toàn mạch trong chương 3, nhóm sẽ sử dụng phần mềm Altium, chuyên dụng cho việc thiết kế mạch điện tử và PCB, để tiến hành thiết kế mạch PCB cho hệ thống.
Hình 4 1: Sơ đồ mạch in của hệ thống
Hình 4 2: Sơ đồ bố trí linh kiện 3D mặt trên của hệ thống
Hình 4 3: Hình ảnh thực tế mặt trên của hệ thống sau khi lắp các linh kiện
Mô hình sử dụng nhựa mica để làm khung cho mô hình hệ thống Mô hình sau khi hoàn thành được chia thành các phần như sau:
Phía ngoài của hệ thống bảo mật bao gồm các vị trí như sau:
1 Động cơ Servo để mở cửa
2 Màn hình LCD để hiển thị trạng thái mở cửa
3 Camera để nhận diện khuôn mặt cho hệ thống bảo mật bằng FaceID
4 Bàn phím dùng để nhập mật khẩu
Hình 4 4: Mặt ngoài của hệ thống bảo mật
Bên trong của hệ thống bảo mật gồm các vị trí sau:
1 Nút nhấn để mở cửa từ bên trong
2 Nút nhấn để tắt báo động
3 Buzzer dùng để báo động khi nhập sai mật khẩu
Hình 4 5: Bên trong hệ thống bảo mật
Phòng khách gồm các thiết bị và cảm biến như sau:
1 Cảm biến dùng để đo thông số nhiệt độ, độ ẩm trong nhà
2 LCD dùng để hiển thị thông số nhiệt độ, độ ẩm trong phòng
3 Quạt dùng để đối lưu không khí trong phòng
5 Nút nhấn bật đèn phòng khách
6 Nút nhấn bật quạt phòng khách
Hình 4 6: Các thiết bị và cảm biến bên trong phòng khách
Bên trong phòng bếp gồm các thiết bị và cảm biến như sau:
1 Nút nhấn dùng để bật đèn phòng bếp
3.Quạt dùng để thông khói, gas tránh cháy nổ
4 Cảm biến dùng để phát hiện khí gas, khói trong phòng
5 Báo động khi cảm biến phát hiện khí gas, khói
Hình 4 7: Các thiết bị và cảm biến bên trong phòng bếp
Bên trong phòng ngủ gồm các thành phần như sau:
1 Nút nhấn dùng để bật tắt đèn trong phòng
3 Cảm biến gió dùng để đo tốc độ gió để thiết lập mở cửa phù hợp
4 Công tắc dùng để chọn chế độ mở cửa sổ auto hoặc manual
5 Cảm biến nhiệt độ và độ ẩm trong phòng ngủ
6 Động cơ servo dùng để mở cửa sổ
7 Quạt dùng để đối lưu không khí trong phòng
8 Nút nhấn dùng để bật tắt quạt trong phòng
Hình 4 8: Các thiết bị và cảm biến bên trong phòng ngủ
VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC
Bước 1: Cấp nguồn cho hệ thống, hệ thống sử dụng nguồn adapter 12V-3A
Sau khi được cấp nguồn, ESP và ESP32-Cam sẽ kết nối với Wifi đã được lập trình
Sau khi kết nối Wifi, hệ thống sẽ tiến hành cập nhật dữ liệu lên Firebase, sau đó hiển thị giá trị cảm biến trên màn hình LCD và Webserver.
Bước 3: Hệ thống bảo mật:
Hệ thống sử dụng ESP32-CAM kết hợp với mật khẩu để mở cửa khi người dùng nhập đúng thông tin hoặc nhận diện khuôn mặt đã được đăng ký Ngoài ra, người dùng có thể sử dụng các nút nhấn để mở cửa từ bên trong và tắt hệ thống báo động nếu nhập sai mật khẩu quá 3 lần.
Bước 4: Điều khiển hệ thống qua Webserver
− Truy cập trang đăng nhập của hệ thống bằng đường dẫn
− Sau khi đăng nhập hệ thống sẽ hiện thông báo “Đăng nhập thành công” hoặc
“Tên đăng nhập hoặc mật khẩu không chính xác”
− Nếu đănh nhập thành công nhấn OK để vào giao diện điều khiển Nếu đăng nhập thất bại nhấn OK để tiến hành đăng nhập lại
− Sau khi đăng nhập thành công sẽ hiển thị giao diện điều khiển
− Lịch sử đăng nhập sẽ được cập nhật lên Google Sheet để theo dõi hệ thống
Bước 5: Hệ thống điều khiển
Tại hệ thống giao diện chính, sẽ có 3 lựa chọn để giám sát và điều khiển:
− Sử dụng nút nhấn và Web để điều khiển đèn và quạt
− Cảm biến nhiệt độ và độ ẩm theo dõi nhiệt độ trong nhà và hiển thị lên màn hình LCD
− Sử dụng nút nhấn và Web để điều khiển đèn và quạt
− Cảm biến nhiệt độ và độ ẩm để theo dõi nhiệt độ và độ ẩm trong phòng ngủ và có thể theo dõi trên Web
− Hệ thống cửa sổ tự động hoạt động dựa trên tốc độ quay của cảm biến gió
− Trang bị công tắc thủ công để tắt tính năng tự động và đóng cửa sổ hoàn toàn
− Sử dụng nút nhấn và Web để điều khiển đèn
Cảm biến MQ2 được sử dụng để phát hiện khí gas và khói, đồng thời kích hoạt quạt tự động khi nồng độ khí vượt quá mức cho phép, giúp thông gió và bảo đảm an toàn cho không gian sống.
Các trạng thái của thiết bị và thông số của các bản biến nhiệt độ và độ ẩm có thể được quan sát thông qua Google Sheet.
KẾT QUẢ ĐẠT ĐƯỢC VỀ LÝ THUYẾT
Trong quá trình nghiên cứu và hoàn thành đề tài đồ án tốt nghiệp, nhóm đã tích lũy được nhiều kiến thức mới về các linh kiện.
Trong quá trình thực hiện, nhóm đã thu thập được 71 kinh nghiệm quý báu và hướng xử lý hiệu quả cho các vấn đề phát sinh Đồng thời, nhóm cũng nhận được nhiều chia sẻ kiến thức hữu ích từ giáo viên hướng dẫn, góp phần nâng cao kỹ năng và hiểu biết của từng thành viên.
Nhóm đã nắm vững cách giao tiếp giữa các module cảm biến và Arduino, cũng như quy trình hoạt động của các cảm biến như DHT11, cảm biến khói và cảm biến tốc độ gió Họ cũng hiểu rõ về các chuẩn truyền thông như I2C, UART và các giao thức giao tiếp Wifi để truyền nhận dữ liệu hiệu quả.
Biết cách thiết kế và lập trình giao diện Web với phần mềm Visual Studio Code, cũng như lập trình cho các module Vi điều khiển như Arduino, ESP32 và ESP32-Cam bằng Arduino IDE Hiểu và sử dụng các lệnh lập trình để tạo ra sản phẩm hoàn chỉnh.
KẾT QUẢ THỰC NGHIỆM
4.5.1 Kết quả giao diện Web Ở đề tài này, các dữ liệu của Web được lấy từ cơ sở dữ liệu Firebase và được cập nhật liên tục Để vào giao điện đăng nhập, ta truy cập vào đường dẫn sau: https://huudatute.github.io/doantotnghiep/ Thông tin đăng nhập cho hệ thống gồm Username và Password
Hình 4 10: Giao diện đăng nhập
Lịch sử đăng nhập sẽ được ghi lại và cập nhật trên Google Sheet, giúp theo dõi hoạt động đăng nhập của hệ thống Bạn có thể truy cập theo đường dẫn sau để xem thông tin chi tiết.
72 https://docs.google.com/spreadsheets/d/1rqibMevx32lisfczGGoLzTfRV40D31nasbl zBcqQgu8/edit?resourcekey&fbclid=IwAR3_T2eLm1MzjxooP5RWA3w2jgVee6i- XKaNFCP3wYfaU1Mh7MPeHbuqkTM#gide385524
Hình 4 11: Lịch sử đăng nhập vào hệ thống
Sau khi đăng nhập thành công, giao diện điều khiển và giám sát chung của hệ thống sẽ xuất hiện Tại đây, người dùng có thể lựa chọn các phòng để thực hiện việc điều khiển và giám sát.
Hình 4 12: Giao diện điều khiển và giám sát chung của hệ thống
Khi chọn mục "Phòng khách", giao diện điều khiển và giám sát sẽ hiển thị với các thành phần chính, bao gồm nút Dark Mode để chuyển đổi chế độ ánh sáng.
Đồng hồ thời gian thực với 73 màu tối hiển thị nhiệt độ và độ ẩm hiện tại của phòng, đi kèm với nút bật/tắt đèn và quạt, cùng nút Home để trở về giao diện điều khiển và giám sát tổng quát.
Hình 4 13: Giao diện điều khiển và giám sát phòng khách
Khi chọn mục "Nhà bếp", giao diện điều khiển và giám sát xuất hiện với các thành phần chính như nút Dark Mode để chuyển đổi sang chế độ màu tối, đồng hồ thời gian thực, khối hiển thị nồng độ khói/gas, nút bật/tắt đèn và quạt, cùng nút Home để trở về giao diện điều khiển chung.
Hình 4 14: Giao diện điều khiển và giám sát phòng bếp
Khi chọn mục "Phòng ngủ", giao diện điều khiển và giám sát sẽ hiển thị với các thành phần chính, bao gồm Nút Dark Mode để chuyển đổi giữa các chế độ ánh sáng.
Đồng hồ thời gian thực với 74 màu tối hiển thị nhiệt độ và độ ẩm hiện tại của phòng, đi kèm với nút bật/tắt đèn và quạt, cùng với nút Home để trở về giao diện điều khiển và giám sát chung.
Hình 4 15: Giao diện điều khiển và giám sát phòng ngủ
Các trạng thái của thiết bị và thông số của các bản biến nhiệt độ và độ ẩm có thể được quan sát thông qua Google Sheet
Hình 4 16: Trạng thái của thiết bị và cảm biến trên Google Sheet
4.5.2 Kết quả phần cứng a) Hệ thống bảo mật: Khi hệ thống được khởi động, sẽ có 2 cách để mở cửa:
Cách 1: Dùng Password, màn hình chính của LCD sẽ hiển thị như hình 4.17 bên dưới:
Hình 4 17: Màn hình LCD vừa được khởi động
Sau khi nhập mật khẩu Nếu mật khẩu đúng dòng 2 của LCD sẽ hiển thị dòng chữ “Mat khau dung” như hình 4.18 bên dưới và cửa sẽ mở:
Hình 4 18: Màn hình LCD khi nhập đúng mật khẩu
Khi nhập mật khẩu không đúng, màn hình LCD sẽ hiển thị thông báo “Mật khẩu sai” Nếu người dùng nhập sai 3 lần liên tiếp, hệ thống sẽ kích hoạt báo động và cần nhấn một nút bên trong để tắt báo động.
Hình 4 19: Màn hình LCD khi nhập mật khẩu sai
Hệ thống sẽ có 1 nút nhấn để mở cửa từ bên trong (nút bên trái) và 1 nút tắt báo động (nút bên phải) như hình 4.20 bên dưới:
Hình 4 20: Nút nhấn mở cửa từ bên trong
Khi camera của ESP32-CAM nhận diện được khuôn mặt của người dùng đã đăng kí thì cửa sẽ mở như hình 4.21 bên dưới
Hình 4 21: ESP32-CAM nhận diện được khuôn mặt người dùng đã đăng ký
Khi camera của ESP32-CAM không nhận diện được khuôn mặt của người dùng thì cửa sẽ đóng như hình 4.22 bên dưới
Hình 4 22: ESP32-CAM không nhận diện được khuôn mặt khi chưa đăng ký b) Phòng khách:
Khi hệ thống được khởi động, cảm biến thu thập thông số nhiệt độ và độ ẩm, hiển thị chúng trên màn hình LCD và đồng thời gửi dữ liệu lên Firebase Từ Firebase, dữ liệu này được truyền qua Web như mô tả trong hình 4.23.
Hình 4 23: Thông số nhiệt độ và độ ẩm của phòng khách
Các thiết bị như đèn và quạt có thể được điều khiển thông qua Web và nút nhấn Sau khi điều khiển, dữ liệu sẽ được truyền lên Firebase, từ đó được gửi đến phần cứng hoặc giao diện Web tương ứng.
Hình 4 24: Đèn và quạt phòng khách bật
Đèn và quạt trong phòng khách được tắt Đèn nhà bếp có thể được điều khiển qua Web và nút nhấn, với dữ liệu được gửi lên Firebase sau khi điều khiển Từ Firebase, thông tin sẽ được truyền đến phần cứng hoặc giao diện Web Hiện tại, trạng thái của đèn và quạt đang tắt, và nồng độ gas/khói nằm dưới mức cho phép, do đó quạt cũng không hoạt động.
Hình 4 26: Đèn và quạt nhà bếp đang tắt
Quạt thông khói nhà bếp tự động hoạt động khi nồng độ gas hoặc khói vượt mức cho phép, giúp thông gió hiệu quả Khi quạt hoạt động, hệ thống Buzzer sẽ phát tín hiệu cảnh báo, đảm bảo an toàn cho người sử dụng.
Hình 4 27: Đèn và quạt nhà bếp đang bật d) Phòng ngủ
Thông số nhiệt độ và độ ẩm trong phòng khách được thu thập từ cảm biến và gửi lên Firebase Dữ liệu này sau đó được truyền qua Web, cho phép người dùng điều khiển các thiết bị như đèn và quạt thông qua giao diện Web hoặc nút nhấn Khi thực hiện điều khiển, dữ liệu sẽ được cập nhật lên Firebase và tiếp tục được gửi đến phần cứng hoặc Web tương ứng, như minh họa trong hình 4.28 và 4.29.
Hình 4 28: Đèn và quạt phòng ngủ đang bật
Hình 4 29: Đèn và quạt phòng ngủ đang tắt e) Hệ thống cửa sổ phòng ngủ
Phòng ngủ được trang bị cửa sổ tự động với cảm biến tốc độ gió, cho phép người dùng điều khiển trạng thái cửa sổ thông qua công tắc Khi công tắc được đóng, cửa sổ sẽ tự động đóng hoàn toàn, đảm bảo an toàn và tiện lợi cho người sử dụng.
Hình 4 30: Cửa sổ đóng khi công tắc đóng
Khi công tắc được bật, cửa sổ sẽ mở theo tốc độ gió nhận được từ cảm biến
NHẬN XÉT VÀ ĐÁNH GIÁ HỆ THỐNG
Sau quá trình vận hành, nhóm nhận thấy hệ thống hoạt động đúng theo yêu cầu và mục tiêu đã đề ra trong đề tài Dưới đây là những điểm đáng chú ý.
❖ Về hoạt động phần cứng:
Hệ thống hoạt động ổn định, đảm bảo tính ổn định và đáng tin cậy trong suốt quá trình sử dụng
Các cảm biến hoạt động với độ nhạy cao, giúp đo lường các thông số với độ chính xác tương đối cao
Màn hình LCD hiển thị rõ ràng và sáng, đảm bảo việc hiển thị thông tin một cách dễ dàng và rõ ràng
Thiết bị đèn, quạt và động cơ hoạt động tốt, đảm bảo tính ổn định và hiệu suất của các thành phần này
❖ Về phần mềm, các hoạt động sau được nhóm nhận thấy:
Web đơn giản, dễ quan sát và sử dụng, tạo điều kiện thuận lợi cho người dùng tương tác với hệ thống
Các thông số được cập nhật liên tục vào cơ sở dữ liệu Firebase và Google Sheet, đảm bảo việc lưu trữ và theo dõi thông tin một cách chính xác và liên tục.
❖ Tuy nhiên, trong quá trình hoạt động, vẫn còn tồn tại một số hạn chế như sau:
Hệ thống không thể cập nhật dữ liệu lên Firebase và Google Sheet, cũng như không thể điều khiển qua ứng dụng và trang web nếu không có kết nối internet Do đó, để đảm bảo hoạt động ổn định, cần duy trì kết nối mạng internet liên tục.
Tốc độ phản ứng của phần cứng phụ thuộc vào tốc độ Internet
Module ESP32 cần được kết nối lại với địa chỉ và mật khẩu WiFi khi di chuyển hệ thống, yêu cầu người dùng thực hiện quy trình kết nối mỗi lần di chuyển Với cơ sở dữ liệu Firebase miễn phí, thông tin cập nhật có thể bị trễ và phụ thuộc vào tốc độ mạng Để cải thiện tốc độ và độ ổn định của dữ liệu, người dùng nên xem xét việc mua tài khoản Webserver Để hiểu rõ hơn về hoạt động của sản phẩm, nhóm đã cung cấp một video mô tả chi tiết, có thể xem tại đường dẫn: https://drive.google.com/file/d/12oeSDCP4H9rx8FAK7dL_LZxzebIuaBPD/view?usp=sharing.