1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Xây dựng mô hình ngôi nhà thông minh trên nền tảng home assistant kết hợp xử lý ảnh

65 23 0

Đ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

Định dạng
Số trang 65
Dung lượng 4,73 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • Page 1

Nội dung

Và sau quá trình nghiên cứu thực hiện đồ án, tác giả đã xây dựng được một hệ thống mô hình ngôi nhà thông minh, chạy nền tảng Home Assistant để đóng mở các thiết bị, bên cạnh đó sử dụng

TỔNG QUAN

Đặt vấn đề

Một ngôi nhà thông minh là không gian sống được trang bị các thiết bị tự động hóa nhằm vận hành các nhiệm vụ thường do con người thực hiện Chủ nhà có thể điều khiển chúng bằng khẩu lệnh hoặc bằng trí tuệ nhân tạo Với một số gia đình, việc biến một ngôi nhà bình thường thành nhà thông minh có thể đơn giản như mua một loa kết nối; với những người khác, nó đòi hỏi liên kết nhiều sản phẩm như loa thông minh, camera, máy tính, điện thoại thông minh, TV và hệ thống an ninh để tạo thành một trung tâm điều khiển tập trung cho toàn bộ thiết bị trong ngôi nhà.

Một hệ thống nhà thông minh thực chất là một hệ thống IoT – vạn vật kết nối, nơi mọi vật có thể được gán địa chỉ IP và truyền dữ liệu qua mạng, từ động vật gắn chip theo dõi đến xe ô tô tích hợp cảm biến và các đồ vật do con người sản xuất Hệ thống này là ứng dụng thành công của IoT khi mang lại cả giao tiếp máy–máy và người–máy, đáp ứng nhu cầu ngày càng cao của người dùng về tiện ích và trải nghiệm thông minh Điều này thúc đẩy sự phát triển của các hệ thống thông minh ngày càng tiên tiến, tích hợp máy học, xử lý ảnh và trí tuệ nhân tạo để nâng cao chức năng và sự tiện lợi Những ví dụ điển hình bao gồm hệ thống điều khiển thiết bị bằng cử chỉ và giọng nói chỉ với một thao tác, cùng hệ thống bảo mật ngôi nhà bằng nhận diện vân tay, mống mắt và khuôn mặt, giúp nâng cao chất lượng sống trong một ngôi nhà hiện đại.

Tình hình nghiên cứu hiện nay

1.2.1 Tình hình nghiên cứu trong nước

Ở Việt Nam, khái niệm nhà thông minh xuất hiện từ năm 2003 và ngày càng phổ biến hơn Nguyên nhân chính cho sự nở rộ gần đây là rào cản về giá được phá bỏ, giúp nhà thông minh không còn chỉ dành cho giới giàu có mà phù hợp với các căn hộ chung cư nhỏ hoặc biệt thự Hiện nay, với mức đầu tư từ khoảng 30 triệu đồng, người dùng có thể lắp đặt các hệ thống thông minh đầy đủ như chiếu sáng, hệ thống an ninh và điều khiển từ xa cho ngôi nhà của mình.

Theo số liệu từ Statista, thị trường nhà thông minh tại Việt Nam ước đạt 83 triệu USD doanh thu trong năm 2019 và được dự báo tăng trưởng 51,7% trong giai đoạn 2019-2023, cho thấy nhà thông minh sẽ còn bùng nổ trong tương lai Các con số này dựa trên các hạng mục chính như thiết bị kỹ thuật số kết nối và điều khiển trong nhà qua điều khiển từ xa, sự tham gia của cảm biến và thiết bị truyền động để vận hành hệ thống, vai trò của các hub điều khiển kết nối các thiết bị với nhau, cùng với phần cứng và phần mềm được phân phối bởi các nhà bán lẻ đến tay người dùng.

Ở Việt Nam, thị trường giải pháp nhà thông minh quy tụ nhiều thương hiệu danh tiếng từ nước ngoài như Schneider Electric (Pháp) và TIS Smart Home (Mỹ), bên cạnh các thương hiệu Việt Nam như BKAV, LUMI, ACIS, mang đến đa dạng hệ thống điều khiển và tích hợp công nghệ cho ngôi nhà thông minh.

Những hệ thống nhà thông minh được cung cấp từ những nhà cung cấp giải pháp, hệ thống cũng như các thiết bị sẽ phụ thuộc vào nhà cung cấp đó, bên cạnh đó chi phí tương đối cao Chính vì vậy việc thiết kế, phát triển một hệ thống có khả năng tùy biến dễ dàng, có thể dùng cho các thiết bị phổ biến trở nên hấp dẫn đối với những người đam mê nhà thông minh hay với những học sinh, sinh viên muốn nghiên cứu

Một số đề tài nghiên cứu về nhà thông minh trong nước như sau

Trong [3], người thực hiện đã xây dựng một hệ thống nhà thông minh có hệ thống cửa khóa bằng mật khẩu, hệ thống báo cháy, chống trộm , báo mưa và điều

Điều khiển thiết bị qua một trang web bằng cách dùng Arduino Mega 2560 làm bộ xử lý trung tâm, nhận dữ liệu từ cảm biến nhiệt độ và cảm biến PIR và điều khiển xử lý các tác vụ tương ứng Hệ thống cho phép giám sát nhiệt độ theo thời gian thực, phát hiện chuyển động và gửi lệnh điều khiển tới các thiết bị liên quan, từ đó tối ưu hóa quản lý môi trường và an ninh từ xa thông qua giao diện web.

Trong bài viết [4], tác giả trình bày hệ thống nhà thông minh có các chức năng bật/tắt đèn, điều chỉnh độ sáng, hệ thống chống trộm và rèm cửa tự động Hệ thống sử dụng Raspberry Pi 2 và ESP8266 làm bộ xử lý chính, thu nhận dữ liệu về nhiệt độ, độ ẩm, khí ga và cảm biến hồng ngoại để điều khiển các thiết bị Dữ liệu được truyền qua OpenHAB và điều khiển từ giao diện trên Android, giúp quản lý và giám sát hệ thống nhà thông minh một cách tiện dụng từ xa.

1.2.2 Tình hình nghiên cứu ngoài nước

Sự phát triển của các hệ thống nhà thông minh ở Việt Nam đang ở mức cao với nhiều tùy chọn dành cho người dùng Một hệ thống nhà thông minh có thể được cung cấp từ một thương hiệu uy tín, từ một nhà cung cấp giải pháp tích hợp, hoặc được tự phát triển bởi người dùng thông qua các nền tảng mã nguồn mở.

Đề tài nghiên cứu nước ngoài trình bày một hệ thống nhà thông minh cho phép người dùng bật/tắt các thiết bị như quạt và đèn qua ứng dụng di động và kiểm tra trạng thái thiết bị ngay cả khi ở nhà Hệ thống này còn có tính năng cảnh báo rò rỉ gas bằng cách gửi tin nhắn văn bản qua Wi‑Fi tới điện thoại người dùng; khi nhận thông báo từ máy chủ, người dùng có thể thực hiện hành động ngay lập tức, ví dụ tự động đóng van xi lanh và mở cửa sổ thông qua ứng dụng Android Ngoài ra, hệ thống còn tích hợp báo cháy khi nhiệt độ vượt ngưỡng và được điều khiển bởi vi điều khiển Atmel AT89S52 làm bộ xử lý trung tâm.

Trong nghiên cứu được trích dẫn [6], người thực hiện đã xây dựng một hệ thống điều khiển thiết bị bằng công tắc thông minh và tự động hóa các thiết bị đơn giản trên nền tảng Home Assistant, chạy trên Raspberry Pi 3B làm bộ xử lý trung tâm Hệ thống này cho phép người dùng dễ dàng thêm mới thiết bị và tự động hóa chúng.

Tính cấp thiết của đề tài

Ngày nay, khi mà cụm từ 'công nghệ 4.0' và 'Internet vạn vật kết nối' đã trở thành một xu hướng phổ biến, con người được hướng tới một cuộc sống tiện lợi và hiệu quả hơn Sự hiện diện ngày càng sâu của công nghệ số lan tỏa từ sản xuất, y tế và giáo dục đến dịch vụ, giúp tối ưu hóa quy trình, nâng cao trải nghiệm người dùng và kích hoạt tăng trưởng kinh tế Tuy nhiên, chuyển đổi số đòi hỏi đầu tư cho hạ tầng, an ninh thông tin và nguồn nhân lực có kỹ năng số; đồng thời cần chú trọng xử lý dữ liệu, bảo vệ quyền riêng tư và quản trị rủi ro công nghệ Bài viết này trình bày bức tranh tổng quan về lợi ích và thách thức của 4.0 và IoT, cùng những chiến lược để doanh nghiệp và cá nhân tận dụng tối đa tiềm năng của các công nghệ mới nhằm tối ưu hóa vận hành và sáng tạo giá trị.

4 nghi và thoải mái do công nghệ mang lại Và không gì mang lại sự tiện nghi thoải mái đó hơn một căn nhà thông minh

Nhà thông minh ngày càng phổ biến và đang tiến tới trở thành một tiêu chuẩn, vì vậy việc xây dựng hệ thống nhà thông minh đáp ứng đầy đủ nhu cầu người dùng ngày càng cấp thiết Hệ thống này phải tích hợp đồng bộ các thiết bị, đảm bảo an toàn và bảo mật thông tin, đồng thời mang lại trải nghiệm người dùng trực quan và linh hoạt Ngoài ra, hệ thống nên có khả năng mở rộng, quản lý từ xa và tự động hóa thông minh để tối ưu hóa tiện ích cho cả gia đình trong mọi hoàn cảnh.

Việc nghiên cứu và phát triển nhà thông minh mang lại cho cuộc sống hiện đại nhiều tiện nghi và sự thoải mái, đồng thời tôn lên phong cách và sự sang trọng cho nhịp sống bận rộn Bên cạnh đó, nhà thông minh còn là một giải pháp tiết kiệm năng lượng hiệu quả, giúp tối ưu hóa việc sử dụng nguồn năng lượng và giảm thiểu chi phí Vì vậy, việc đầu tư vào nghiên cứu, phát triển và ứng dụng nhà thông minh là cần thiết hiện nay để nâng cao chất lượng cuộc sống và thúc đẩy sự phát triển bền vững.

Mục đích của đề tài

Áp dụng các kiến thức đã học vào việc nghiên cứu, phát triển thêm các ứng dụng cho nhà thông minh

Xây dựng hệ thống mô phỏng ngôi nhà thông minh cho phép điều khiển các thiết bị trong nhà bằng giao diện thân thiện và thao tác dễ dàng Hệ thống tự động hóa trong nhà được thiết kế để tự động hóa các hoạt động hàng ngày, từ chiếu sáng và điều hòa đến quản lý an ninh, mang lại sự tiện lợi khi sử dụng thiết bị và nâng cao chất lượng sống cho căn nhà Mục tiêu của giải pháp là tối ưu hóa tiện ích, tiết kiệm năng lượng và mở rộng khả năng tích hợp với các thiết bị thông minh khác trong tương lai.

Bố cục đồ án

Bố cục cuốn luận văn chia thành 5 chương

Chương 1: Chương này giới thiệu sơ lược về tình hình nghiên cứu hiện nay cũng như tính cấp thiết của đề tài và giới thiệu một số sản phẩm, công trình nhà thông minh

Chương 2: Nội dung của chương này là trình bày các lý thuyết cần thiết để sử dụng trong đề tài

Chương 3: Chương này trình bày sơ đồ hệ thống và giải thích hoạt động của hệ thống, bên cạnh đó đưa ra các phương pháp lựa chọn phần cứng và xác định lựa chọn phù hợp với yêu cầu của đề tài

Chương 4: Chương này trình bày kết quả đã thực hiện về phần cứng và phần mềm

Chương 5: Nội dung của chương này là nêu các ưu điểm và các điểm cần cải thiện của đề tài Đưa ra đề xuất hướng khắc phục và hướng phát triển trong tương lai

CƠ SỞ LÝ THUYẾT

Giới thiệu về nhà thông minh và nền tảng tự động hóa

Một hệ thống nhà thông minh cơ bản được cấu thành từ bộ xử lý trung tâm và các thiết bị thông minh có thể kết nối với nhau để tương tác với người dùng Những thiết bị này ngày càng phổ biến trên thị trường và được tích hợp các chức năng điều khiển và tự động hóa, cho phép giao tiếp nhịp nhàng với bộ điều khiển và các thiết bị khác Trong danh mục thiết bị quen thuộc, tivi, máy lạnh và đèn đều có khả năng kết nối và điều khiển thông qua hệ thống nhà thông minh, giúp nâng cao trải nghiệm người dùng và tối ưu hóa quản lý năng lượng.

2.1.1 Nền tảng tự động hóa cho nhà thông minh Điều quan trọng nhất để có thể kết hợp và điều khiển các thiết bị Smart Home chính là bộ điều khiển trung tâm (Hub), mà phần lõi của nó chính là các bo mạch máy tính nhúng hoặc tương tự như Raspberry Pi, Nano Pi, … Các bo mạch máy tính nhúng này sử dụng hệ điều hành Linux và dùng các nền tảng, công cụ phần mềm nhà thông minh để kết nối và điều khiển các thiết bị nhà thông minh thông qua các kết nối như Wifi, Z-Wave hay Zigbee

Hình 2.1: Sơ đồ hoạt động của hệ thống nhà thông minh

Có rất nhiều nền tảng hỗ trợ nhà thông minh, ví dụ một số nền tảng mã nguồn mở phổ biến sau:

Home Assistant là nền tảng tự động hóa nhà thông minh mã nguồn mở, chạy trên Python 3, ngôn ngữ phổ biến trên Linux, được thiết kế để dễ triển khai trên mọi thiết bị từ Raspberry Pi tới NAS và thậm chí là một container Docker để triển khai trên các hệ thống khác một cách linh hoạt Nền tảng tích hợp với số lượng lớn sản phẩm mã nguồn mở và thương mại, cho phép liên kết thiết bị và dữ liệu với nhau, ví dụ như IFTTT (If This Then That) để tự động hóa thao tác, thông tin thời tiết và Amazon Echo để kiểm soát phần cứng trong nhà, từ khóa cửa cho đến đèn điện Dự án Home Assistant ra đời năm 2013, do Paulus Schoutsen khởi xướng, và cho đến nay đã trở nên rất phổ biến trong cộng đồng phát triển Smart Home nhờ khả năng thiết kế giao diện người dùng linh hoạt và khả năng kết nối hầu như mọi thiết bị thông minh có sẵn, đồng thời liên tục được cập nhật.

OpenHAB, viết tắt của Open Home Automation Bus, là một trong những công cụ nổi tiếng nhất trong cộng đồng nguồn mở toàn cầu, được hậu thuẫn bởi một cộng đồng người dùng lớn và tương thích với nhiều thiết bị Viết bằng Java, openHAB có thể cài đặt trên bất kỳ hệ điều hành nào và đặc biệt được tối ưu cho Raspberry Pi Với khả năng hỗ trợ hàng trăm thiết bị, openHAB được thiết kế như một hệ thống nhà thông minh mở, cho phép nhà phát triển dễ dàng thêm thiết bị hoặc plugin của riêng họ vào hệ thống OpenHAB còn có các ứng dụng iOS và Android để điều khiển thiết bị, thông qua kết nối đám mây trên myopenHAB Bên cạnh đó, openHAB cung cấp các công cụ thiết kế để bạn tự tay tạo giao diện người dùng tùy chỉnh cho hệ thống nhà của mình.

Domoticz là hệ thống nhà thông minh cho phép tích hợp và điều khiển nhiều thiết bị phổ biến, từ cảm biến báo khói cho đến điều khiển từ xa, giúp quản lý ngôi nhà một cách thống nhất và dễ dàng Đây là nền tảng có kho tài liệu tích hợp thiết bị 3rd party lớn nhất hiện nay, cho phép mở rộng chức năng một cách linh hoạt Domoticz được viết bằng C/C++, giao diện người dùng HTML5, tối ưu hiệu suất và tương thích tốt với các máy tính nhúng tiêu thụ điện ít như Orange Pi và Raspberry Pi Nhờ khả năng tương thích rộng và tiết kiệm năng lượng, Domoticz là lựa chọn phù hợp cho hệ thống nhà thông minh tại gia đình hay văn phòng.

OpenMotic là hệ thống nhà thông minh sử dụng cả phần cứng và phần mềm dưới bản quyền mã nguồn mở Không giống như các phần mềm chỉ cung cấp phần mềm điều khiển, OpenMotic cho phép người dùng tải về cả bản mạch và sơ đồ nguyên lý để tự thiết kế các bản mạch cho riêng mình OpenMotic còn tích hợp Home Assistant như một thành phần cấu thành, giúp tối ưu hóa tự động hóa và quản lý thiết bị trong gia đình.

Các thư viện Python cơ bản

OpenCV (Open Source Computer Vision) là thư viện mã nguồn mở hàng đầu dành cho thị giác máy tính, xử lý ảnh và học máy, được thiết kế để tận dụng khả năng tăng tốc GPU cho các tác vụ thời gian thực Nó cung cấp một tập hợp công cụ và thuật toán mạnh mẽ cho nhận diện, xử lý ảnh, theo dõi đối tượng và xử lý video, phù hợp với cả nghiên cứu lẫn triển khai sản phẩm AI Nhờ cộng đồng phát triển rộng và tính linh hoạt cao, OpenCV trở thành nền tảng phổ biến cho các dự án thị giác máy tính trên nhiều lĩnh vực.

OpenCV là thư viện hoàn toàn miễn phí cho cả mục đích học thuật và thương mại, có các giao diện lập trình C++, C, Python, Java và hỗ trợ trên Windows, Linux, macOS, iOS và Android OpenCV được thiết kế để tính toán hiệu quả và tập trung nhiều vào các ứng dụng thời gian thực, được viết chủ yếu bằng C/C++ và có thể tận dụng lợi thế của xử lý đa lõi Phạm vi sử dụng của nó rất rộng, từ nghệ thuật tương tác đến khai thác mỏ, bản đồ trên web và công nghệ robot.

OpenCV là một thư viện đa chức năng với các khả năng nổi bật cho xử lý ảnh và video, bao gồm xử lý và hiển thị ảnh/video, I/O hình ảnh, phát hiện vật thể, xử lý hình học và các chức năng liên quan đến thị giác máy tính Nó cũng hỗ trợ tính toán ảnh chụp và có thể tăng tốc hiệu năng thông qua kiến trúc CUDA, giúp tối ưu hiệu suất xử lý trong các ứng dụng thị giác máy tính và nhận diện đối tượng.

Numpy là một thư viện toán học rất phổ biến và mạnh mẽ dành cho Python, tương tự MATLAB, giúp xử lý và tính toán ma trận một cách nhanh chóng và hiệu quả Thư viện này cho phép làm việc với ma trận và các phép toán ma trận ở hiệu suất cao, phù hợp cho các ứng dụng khoa học dữ liệu và kỹ thuật Với Numpy, việc thao tác, biến đổi và tối ưu các toán tử ma trận trở nên dễ dàng và nhanh hơn rất nhiều.

Thư viện NumPy coi ma trận như một không gian nhiều chiều và thực hiện các phép tính trên các chiều của ma trận đó Khái niệm chiều ma trận là nền tảng trong NumPy và axis là tham số chỉ ra chiều của ma trận được xử lý Với một ma trận có n chiều, axis sẽ nhận giá trị từ 0 đến n-1, và nhiều hàm trong NumPy có tham số axis để cho biết ta tính toán theo chiều nào của ma trận Bên cạnh đó, với mỗi chiều của ma trận, NumPy làm việc và thực hiện các phép tính dựa trên kích thước của chính chiều đó, cho phép xử lý dữ liệu theo cấu trúc hình học của mảng.

Module os là một tập hợp các phương thức hữu ích dùng để làm việc với tập tin và đường dẫn trên hệ thống Module os.path hỗ trợ các hàm giúp thao tác với đường dẫn nhanh chóng và thuận tiện hơn, cho phép kiểm tra sự tồn tại của tập tin, ghép nối và phân tách đường dẫn, cũng như lấy phần mở rộng và chuẩn hóa định dạng Một số lệnh phổ biến của module os.path được sử dụng để xử lý đường dẫn trong các dự án Python một cách hiệu quả, từ đó tối ưu hóa quy trình làm việc với tập tin và đường dẫn.

Lệnh os.path.exists(path) kiếm tra một đường dẫn có tồn tại hay không

Lệnh os.path.getfile(path) lấy kích thước tập tin (byte)

Trong Python, hai hàm os.path.isfile(path) và os.path.isdir(path) dùng để kiểm tra kiểu của đường dẫn os.path.isfile(path) xác nhận xem đường dẫn có phải là một tập tin thông thường hay không, trong khi os.path.isdir(path) xác định xem đó có phải là một thư mục hay không Việc kiểm tra này rất hữu ích trước khi thực hiện các thao tác trên tập tin hoặc thư mục như đọc, ghi hoặc duyệt, giúp mã nguồn an toàn và tránh lỗi do nhầm lẫn giữa tập tin và thư mục.

Lệnh os.path.dirname(path) trả về tên thư mục của đường dẫn

Lệnh os.path.getatime(path) trả về thời gian chỉnh sửa cuối cùng

2.2.4 Thư viện pillow Đôi lúc bạn sẽ gặp phải các vấn đề về xử lý hình ảnh trong công việc của mình Python cho phép bạn thực hiện điều đó dễ dàng thông qua thư viện Imaging (PIL) Thư viện này hỗ trợ nhiều định dạng tập tin, và cung cấp khả năng xử lý hình ảnh và đồ họa mạnh mẽ

Các chức năng cơ bản của thư viện [10]

Tạo ảnh, Imaging cho phép bạn tạo được một hình ảnh trong python với đầy đủ kích thước , màu sắc với lệnh image.new()

Mở ảnh là bước đầu quan trọng khi làm việc với thư viện xử lý ảnh trong Python, đặc biệt là Pillow (PIL) Với lệnh image.open(), bạn có thể tải một tệp ảnh có sẵn lên bộ nhớ để thực hiện các thao tác tiếp theo như sao chép, chỉnh sửa, cắt xén, thay đổi kích thước, áp dụng bộ lọc và lưu lại dưới định dạng mong muốn.

Hiển thị ảnh là thao tác chủ yếu được dùng để gỡ lỗi trong quá trình làm việc với các tấm ảnh Trên hệ điều hành Windows, khi thực thi lệnh này, nó lưu hình ảnh vào một tập tin tạm thời và sử dụng các tiện ích tiêu chuẩn để hiển thị hình ảnh lên màn hình, thông qua lệnh img.show().

Lưu ảnh, thao tác này cho phép bạn lưu lại tấm ảnh dưới tên tập tin nhất định, dùng lệnhimg.save()

Haarcascade và phát hiện gương mặt

OpenCV có hỗ trợ các tập dữ liêu đã được huấn luyện sẵn cho các lớp như

Bộ dữ liệu gồm 10 gương mặt, cùng với các đặc trưng như mắt và nụ cười, được lưu trữ dưới dạng các tập tin XML để dễ quản lý và sử dụng cho mục đích nhận diện khuôn mặt Người dùng có thể tự tạo thêm các file XML tùy chỉnh để mở rộng khả năng nhận diện sang các vật thể khác như xe cộ hoặc điện thoại, từ đó xây dựng một hệ thống nhận diện đa lớp phù hợp với nhu cầu của mình.

Phát hiện đối tượng bằng đặc trưng Haar dựa trên phân loại Cascade là một phương pháp phát hiện đối tượng hiệu quả do Paul Viola và Michael Jones đề xuất, cho phép nhận diện nhanh các đối tượng trong ảnh Đây là một kỹ thuật dựa trên máy học được huấn luyện từ một tập dữ liệu lớn bao gồm hình ảnh tích cực và tiêu cực, sau đó được áp dụng để phát hiện đối tượng trong các ảnh khác.

Để huấn luyện một bộ phân loại nhận diện khuôn mặt hiệu quả, thuật toán cần một tập hợp lớn ảnh tích cực (ảnh có khuôn mặt) và ảnh tiêu cực (ảnh không có khuôn mặt) Sau khi có dữ liệu, bước tiếp theo là trích xuất các đặc trưng từ tập ảnh để biểu diễn thông tin hình ảnh một cách tối ưu Trong quá trình này, các đặc trưng Haar được sử dụng để mô tả và mã hóa đặc điểm hình ảnh, như được minh họa trong Hình 2.2.

Hình 2.2: Các dạng đặc trưng Haar [11]

Mỗi tính năng là hiệu giữa tổng số pixel bên trong hình chữ nhật màu trắng và tổng số pixel bên trong hình chữ nhật màu đen; với một cửa sổ 24x24, số lượng tính năng có thể vượt quá 160.000 Đối với mỗi phép tính đặc trưng, cần xác định tổng số pixel dưới hình chữ nhật trắng và dưới hình chữ nhật đen Để giải quyết, họ giới thiệu hình ảnh tích hợp, cho dù kích thước ảnh lớn đến đâu, việc tính toán cho một pixel cụ thể chỉ còn liên quan đến 4 pixel, nhờ phương pháp mới này mọi thao tác trở nên siêu nhanh. -**Support Pollinations.AI:** -🌸 **Ad** 🌸Powered by Pollinations.AI free text APIs [Support our mission](https://pollinations.ai/redirect/kofi) to keep AI accessible for everyone.

Hình 2.3: Ví dụ trích xuất đặc trưng Haar [11]

Trong tổng số các đặc trưng được tính toán, hầu hết chúng không liên quan với nhau Hình 2.3 thể hiện kết quả trích xuất đặc trưng, và ở hàng trên cho thấy hai đặc trưng tốt nổi bật Đặc điểm đầu tiên tập trung vào vùng mắt, cho thấy vùng này thường tối hơn so với sống mũi và má Đặc điểm thứ hai dựa trên đặc tính là mắt tối hơn sống mũi Tuy nhiên, các cửa sổ tương tự áp dụng cho má hoặc bất kỳ vị trí nào khác lại không liên quan Việc chọn những đặc trưng tốt nhất trong số hơn 160.000 đặc trưng sẽ được thực hiện bằng thuật toán Adaboost.

AdaBoost áp dụng lần lượt từng đặc trưng trên toàn bộ tập ảnh huấn luyện, tìm ngưỡng tối ưu cho mỗi đặc trưng để phân loại đúng mặt và không phải mặt Ban đầu mỗi ảnh được gán trọng số bằng nhau Sau mỗi vòng phân loại, trọng số của những ảnh bị phân loại sai sẽ được tăng lên để nhấn mạnh các ví dụ khó và quy trình tương tự được lặp lại Tỷ lệ lỗi của vòng hiện tại được tính và các đặc trưng tiếp theo được chọn dựa trên mức độ lỗi tối thiểu, tức là các tính năng phân loại chính xác nhất Quá trình này tiếp tục cho đến khi đạt được độ chính xác hoặc tỷ lệ lỗi mong muốn hoặc cho đến khi số lượng đặc trưng cần thiết được tìm thấy.

Phân loại cuối cùng được xác định là tổng trọng số của các phân loại yếu; mỗi phân loại yếu không thể phân loại hình ảnh một mình, nhưng khi kết hợp với các phân loại khác chúng có thể tạo thành một phân loại mạnh có hiệu quả cao Bài báo cho biết thậm chí có thể sử dụng lên tới 200 đặc trưng để xây dựng một mô hình phân loại mạnh.

Phiên bản 12 của hệ thống cũng có khả năng phát hiện với độ chính xác lên tới 95% Thiết lập cuối cùng của hệ thống này chỉ còn khoảng 6.000 đặc trưng, giảm mạnh so với con số 160.000 trước đó nhờ tối ưu hóa và lựa chọn đặc trưng hiệu quả, giúp duy trì hiệu suất phát hiện cao trong khi giảm độ phức tạp của mô hình.

Tuy nhiên nếu bây giờ bạn có một hình ảnh, lấy mỗi cửa sổ 24x24, áp dụng

6000 đặc trưng cho nó và kiểm tra xem nó có phải là khuôn mặt hay không, việc này hơi kém hiệu quả và tốn thời gian Trong một hình ảnh, hầu hết các hình ảnh là khu vực không phải mặt Đối với điều này cách giải quyết là phân loại Cascade Thay vì áp dụng tất cả 6000 đặc trưng trên một cửa sổ, các đặc trưng được nhóm thành các nhóm khác nhau và chia thành các giai đoạn khác nhau của phân loại và được áp dụng từng cái một Thông thường một vài giai đoạn đầu tiên sẽ chứa ít đặc trưng hơn Nếu một cửa sổ thất bại giai đoạn đầu tiên, loại bỏ nó, không xem xét các đặc trưng còn lại trên đó Nếu nó vượt qua, áp dụng giai đoạn thứ hai của các đặc trưng và tiếp tục quá trình Cửa sổ vượt qua tất cả các giai đoạn là một khu vực khuôn mặt Và như vậy bài toán phát hiện gương mặt sẽ hiệu quả và nhanh chóng hơn [11].

Thuật toán Local Binary Pattern Histogram (LBPH)

LBPH là một trong những thuật toán nhận dạng khuôn mặt có thể thực hiện dễ dàng và hiệu quả được cung cấp bởi OpenCV Kết quả của thuật toán có thể được cải thiện để cho ra kết quả tốt hơn (chủ yếu trong một môi trường được kiểm soát) [12]

Thuật toán nhận diện khuôn mặt được xây dựng dựa trên tập dữ liệu hình ảnh khuôn mặt đã được gắn nhãn ID cho mỗi ảnh (tên hoặc số) Những ID này cho phép liên kết khuôn mặt với nhãn tương ứng và được sử dụng làm dữ liệu huấn luyện, từ đó thuật toán sẽ tận dụng thông tin này để tính toán đầu ra mong muốn của hệ thống.

Hình 2.4: Quy trình chuyển đổi từ ảnh gốc [12]

LBPH tạo ra một hình ảnh trung gian mô tả hình ảnh gốc theo cách tốt hơn, bằng cách làm nổi bật các đặc điểm khuôn mặt

Giả sử chúng ta có một hình ảnh khuôn mặt ở dạng ảnh xám

Chúng ta có thể lấy một phần của hình ảnh này dưới dạng cửa sổ 3x3 pixel

Nó cũng có thể được biểu diễn dưới dạng ma trận 3x3 chứa cường độ của từng pixel (0 ~ 255)

Quá trình diễn ra như sau: lấy giá trị trung tâm của ma trận làm ngưỡng Giá trị này được dùng để xác định các giá trị mới từ 8 ô lân cận Với mỗi ô lân cận của giá trị trung tâm, tạo một giá trị nhị phân mới: 1 khi giá trị bằng hoặc cao hơn ngưỡng và 0 khi giá trị thấp hơn ngưỡng.

Hiện tại, ma trận chỉ chứa các giá trị nhị phân và bỏ qua giá trị ở tâm Các giá trị nhị phân được lấy lần lượt theo từng dòng của ma trận để tạo thành chuỗi nhị phân từ trên xuống dưới Ví dụ, như trong hình 2.4, chuỗi nhị phân xuất hiện là 10001101.

Chuyển đổi giá trị nhị phân sang giá trị thập phân và gán kết quả này làm giá trị ở giữa của ma trận, tức là giá trị trung tâm của ma trận Đây thực chất là một pixel từ ảnh gốc.

Và cuối cùng đầu ra sẽ là một hình ảnh mới thể hiện rõ hơn các đặc trưng của hình ảnh gốc

Hình ảnh này tiếp theo được chia thành dạng lưới

Hình 2.5: Quy trình trích xuất biểu đồ từ hình ảnh đã xử lý [12]

Dựa vào hình 2.5, quá trình trích xuất biểu đồ cho từng vùng trên hình ảnh xám được thực hiện như sau: mỗi lưới sẽ sinh ra một biểu đồ với tối đa 256 vị trí (0–255), đại diện cho số lần xuất hiện của từng mức cường độ pixel Các biểu đồ từ các lưới được ghép nối với nhau để tạo thành một biểu đồ lớn hơn, chứa thông tin đặc trưng của ảnh gốc Với lưới 8×8, tổng số vị trí của biểu đồ cuối cùng là 8×8×256 = 16.384, và biểu đồ này đại diện cho các đặc trưng quan trọng của hình ảnh gốc.

Cuối cùng, với một hình ảnh đầu vào mới, ta lặp lại toàn bộ quy trình xử lý cho hình ảnh này, từ tiền xử lý đến trích xuất đặc trưng, để tạo ra một biểu đồ đại diện cho các đặc điểm của ảnh Biểu đồ này được so sánh với biểu đồ đã được huấn luyện của thuật toán nhằm đánh giá mức độ khớp và sự khác biệt giữa hai biểu đồ Kết quả của phép so sánh cho phép đánh giá hiệu suất của mô hình và cung cấp cơ sở cho việc điều chỉnh hoặc xác nhận kết quả phân loại.

Nhận diện gương mặt

2.5.1 Tổng quan về nhận diện gương mặt Đã có rất nhiều công trình nghiên cứu về bài toán xác định khuôn mặt người từ ảnh đen trắng, xám đến ảnh màu như ngày hôm nay Các nghiên cứu đi từ bài toán đơn giản, mỗi ảnh chỉ có một khuôn mặt người nhìn thẳng vào thiết bị thu hình và đầu ở tư thế thẳng đứng trong ảnh đen trắng Cho đến ngày hôm nay bài toán mở rộng cho ảnh màu, có nhiều khuôn mặt trong cùng một ảnh, có nhiều tư thế thay đổi trong ảnh Không những vậy mà còn mở rộng cả phạm vi từ môi trường xung quanh khá đơn giản (trong phòng thí nghiệm) cho đến môi trường xung quanh rất phức tạp (như trong tự nhiên) nhằm đáp ứng nhu cầu thật sự của con người

Dẫu vậy, bài toán nhận diện gương mặt vẫn luôn có những khó khăn như sau

Tư thế chụp và góc chụp ảnh khuôn mặt ảnh hưởng đáng kể đến cách các đặc điểm như mắt, mũi và miệng được hiển thị, bởi vì sự giao thoa giữa camera và khuôn mặt quyết định mức độ hiện rõ của từng chi tiết Các ví dụ phổ biến gồm chụp thẳng, chụp chéo bên trái 45°, chụp chéo bên phải 45°, chụp từ trên xuống và chụp từ dưới lên; mỗi góc độ sẽ làm nổi bật hoặc làm khuất một phần khuôn mặt Với các tư thế khác nhau, các phần trên khuôn mặt có thể bị che khuất hoặc thậm chí hoàn toàn khuất, dẫn đến hiệu ứng hình ảnh khác nhau và ảnh hưởng đến cảm nhận tổng thể về khuôn mặt trong ảnh.

Việc nhận diện khuôn mặt phụ thuộc vào các đặc điểm như râu, mắt kính và kiểu tóc, nhưng sự xuất hiện hoặc thiếu vắng của những yếu tố này có thể xảy ra hoặc biến đổi theo từng người và theo thời gian Điều này khiến bài toán nhận diện khuôn mặt trở nên khó khăn hơn rất nhiều, bởi các đặc trưng khuôn mặt không còn cố định và có thể thay đổi theo ngoại hình hoặc điều kiện ảnh Vì vậy, để tăng độ chính xác và tính tổng quát cho các hệ thống nhận diện, cần thiết kế các phương pháp nhúng sự biến đổi của ngoại hình, xử lý ảnh linh hoạt và huấn luyện trên tập dữ liệu đa dạng.

Cảm xúc biểu hiện trên khuôn mặt và có thể tác động đáng kể đến các thông số của khuôn mặt, từ nét mặt đến cấu trúc biểu lộ qua mắt, miệng và nếp nhăn Ví dụ, cùng một người có thể xuất hiện khác hẳn khi họ cười, sợ hãi hoặc ngạc nhiên, cho thấy trạng thái cảm xúc làm biến đổi rõ rệt nét mặt.

Trong quá trình nhận diện khuôn mặt, khuôn mặt có thể bị che khuất bởi các vật thể khác hoặc bởi những khuôn mặt khác Điều kiện của ảnh, như độ sáng, chất lượng và độ tương phản, ảnh hưởng đáng kể đến khả năng nhận diện và có thể làm giảm hiệu suất khi ảnh bị che khuất hoặc nhiễu Do đó, các yếu tố ánh sáng và chất lượng ảnh ảnh hưởng tới độ chính xác của hệ thống nhận diện khuôn mặt.

Ảnh hưởng của môi trường như sự biến đổi của cảnh vật và vị trí đang tác động đến hiệu suất của các hệ thống nhận diện khuôn mặt Nghiên cứu hiện tại dần giải quyết những thách thức này bằng các công nghệ và phương pháp mới được phát triển hàng ngày, dựa trên mục tiêu sử dụng của người dùng Ví dụ điển hình là hệ thống bảo mật gương mặt trên smartphone áp dụng nhận diện khuôn mặt 3D và lưu trữ hình ảnh 3D của khuôn mặt với các điểm đặc trưng như độ cong của cằm, mũi và hốc mắt; các thuật toán phân tích đường cong và các đặc trưng khuôn mặt để tạo thành chuỗi lệnh nhận diện duy nhất và so sánh với cơ sở dữ liệu Nhờ ưu điểm này, hệ thống có thể nhận diện khuôn mặt ở nhiều góc độ khác nhau và không bị ảnh hưởng bởi ánh sáng.

2.5.2 Bài toán nhận diện gương mặt

Một bài toán nhận diện khuôn mặt cơ bản gồm các bước thiết yếu: phát hiện khuôn mặt và thu thập dữ liệu Giai đoạn đầu tập trung vào phát hiện khuôn mặt trong hình ảnh bất kể quy mô hay vị trí, thường sử dụng các kỹ thuật lọc nâng cao để nhận diện và xác định chính xác các vị trí khuôn mặt Sau đó, các vị trí này được phân loại bằng các bộ phân loại chính xác nhằm xây dựng dữ liệu nhận diện chất lượng cho các bước xử lý tiếp theo.

Tiền xử lý dữ liệu là quá trình chuyển đổi dữ liệu sang định dạng nguyên khối và được chuẩn hóa, nhằm đảm bảo tính nhất quán cho các bước xử lý tiếp theo Đối với ảnh, quá trình tiền xử lý đòi hỏi hình ảnh được chuẩn hóa về cùng độ phân giải, cùng mức phóng to, độ sáng và hướng, từ đó đồng bộ dữ liệu và tối ưu hóa hiệu suất phân tích cũng như tăng độ chính xác của mô hình.

Trích xuất đặc trưng khuôn mặt là quá trình hệ thống trích xuất các dữ liệu có nghĩa từ hình ảnh khuôn mặt, xác định các bit dữ liệu liên quan nhất và loại bỏ nhiễu Quá trình này thu thập các đặc điểm nổi bật như hình dạng, tỷ lệ và cấu trúc khuôn mặt để tạo ra các vector đặc trưng phục vụ cho nhận diện khuôn mặt Bằng cách lọc bỏ dữ liệu không liên quan và nhiễu, hệ thống nhận diện khuôn mặt có thể hoạt động hiệu quả và chính xác hơn dưới nhiều điều kiện ánh sáng, góc chụp và độ nhiễu khác nhau Các phương pháp trích xuất đặc trưng phổ biến hiện nay bao gồm cả các kỹ thuật học sâu như CNN và các phương pháp truyền thống giúp tối ưu hóa quá trình so sánh và phân loại khuôn mặt.

Nhận dạng khuôn mặt là quá trình phân tích và ghép nối các đặc trưng dữ liệu duy nhất của từng cá nhân để nhận diện khuôn mặt, một khái niệm cơ bản được coi là phân loại đối tượng dựa trên những đặc điểm nhận diện duy nhất của mỗi người.

2.5.3 Ứng dụng nhận diện gương mặt trong nhà thông minh

Công nghệ nhận diện khuôn mặt, một nhánh của công nghệ sinh trắc học, được xem là có tác động tối thiểu lên người dùng và có tốc độ nhận diện nhanh nhất Nhà quản trị có thể chủ động kiểm soát an ninh bằng cách hệ thống nhận diện khuôn mặt một cách kín đáo từ ảnh chụp của những người bước vào khu vực được xác định bởi camera giám sát; công nghệ này không cần sự tương tác từ phía người được nhận diện và không có độ trễ Trong nhiều trường hợp đối tượng có thể được nhận diện hoàn toàn tự động mà không cần sự can thiệp của con người.

Nhiều người cảm thấy không bị giám sát hay xâm phạm sự riêng tư khi công nghệ nhận diện khuôn mặt được triển khai, nên công nghệ này được áp dụng rộng rãi trong lĩnh vực an ninh và bảo mật Đặc biệt trong nhà thông minh, các hệ thống như cửa khóa nhận diện khuôn mặt và hệ thống nhận diện người trong nhà để xem ai đang ở nhà là những ứng dụng rất cần thiết và tiện lợi cho người dùng.

Máy tính nhúng Raspberry Pi

Raspberry Pi là một máy tính rất nhỏ gọn, được tích hợp đầy đủ các thành phần cần thiết để có thể hoạt động như một máy tính độc lập Trên bo mạch Raspberry Pi có CPU và GPU tích hợp, RAM, khe cắm thẻ microSD để lưu trữ hệ điều hành và dữ liệu, cùng Wi‑Fi, Bluetooth và cổng USB 2.0 để kết nối với các thiết bị và phụ kiện.

Raspberry Pi là một máy tính mini giá rẻ có mức tiêu thụ điện năng thấp, nhưng vẫn đảm bảo nhiều chức năng thiết yếu cho giải trí và công việc tại gia, và có thể biến thành một đầu phát phim HD tiện lợi giống như Android Box để xem nội dung ở chất lượng cao ngay tại nhà.

Máy chơi game cầm tay, giả lập được nhiều hệ máy

Dùng làm VPN cá nhân

Biến ổ cứng bình thường thành ổ cứng mạng (NAS)

Làm camera an ninh, quan sát từ xa

Hiển thị thời tiết, hiển thị thông tin mạng nội bộ

Máy nghe nhạc, máy đọc sách

Biến nó thành một máy tính di động có màn hình, bàn phím và pin dự phòng; đồng thời là thiết bị điều khiển Smart Home để điều khiển mọi thiết bị điện tử trong gia đình Nó cũng có thể điều khiển robot và máy in không dây từ xa.

Hình 2.7: Raspberry Pi’s system-on-chip (SoC) [14]

Bảng 2.1: Bảng thông số kĩ thuật Raspberry Pi 3B+ [15]

CPU CPU 64bit, với Broadcom BCM2837B0 chipset,

Quad-Core ARM Cortex-A53 Xung nhịp 1.4GHz

Kết nối mạng Gigabit Ethernet (via USB channel), 2.4GHz and

5GHz 802.11b/g/n/ac Wi-Fi Bluetooth Bluetooth 4.2, Bluetooth Low Energy (BLE)

HDMI, 3.5mm audio-video jack, 4x USB 2.0, Ethernet, Camera Serial Interface (CSI), Display Serial Interface (DSI)

MicroUSB Cung cấp nguồn 5V cho bo mạch

Hình 2.8: Sơ đồ ra chân của Raspberry Pi 3B+ [15]

Bo mạch phát triển Node MCU ESP8266

Node MCU ESP8266 là nền tảng phát triển dựa trên SoC WiFi ESP8266EX, tích hợp vi xử lý 32 bit mạnh mẽ, bộ nhớ SRAM và các ngoại vi mở rộng cùng khả năng kết nối WiFi tối ưu và quản lý năng lượng hiệu quả Bo mạch phát triển này có thiết kế mở, tích hợp mạch chuyển đổi tín hiệu USB và giao tiếp UART, giúp nạp chương trình, gỡ lỗi và phát triển các ứng dụng nhúng kết nối Internet và IoT một cách dễ dàng và nhanh chóng.

Hình 2.9: Module Node MCU ESP8266 [16]

Bảng 2.2: Thông số kỹ thuật Soc EspressIf WiFi ESP8266EX [17]

802.11 b: +20 dBm 802.11 g: +17 dBm 802.11 n: +14 dBm Độ nhạy thu

802.11 b: -91 dBm (11 Mbps) 802.11 g: -75 dBm (54 Mbps) 802.11 n: -72 dBm (MCS7)

Anten Đường mạch in, Anten ngoài, kết nối

Giao tiếp ngoại vi UART/SDIO/SPI/I2C/IR

GPIO/ADC/PWM/LED/Nút nhấn Điện áp hoạt động 2.5 – 3.6V

Thiết bị có dòng điện hoạt động trung bình 80 mA, dải nhiệt độ vận hành từ -40°C đến 125°C Được đóng gói ở chuẩn QFN32-pin với kích thước 5mm x 5mm, thiết kế gọn nhẹ phù hợp cho các ứng dụng IoT Phần mềm hỗ trợ chế độ WiFi đa dạng bao gồm Trạm phát, Điểm truy cập và cả chế độ Trạm + Điểm truy cập, giúp dễ dàng tích hợp và triển khai mạng không dây.

Mã hóa WEP/TKIP/AES

Nâng cấp Firmware Qua UART/OTA

Hỗ trợ phát triển máy chủ Cloud/ Firmware và SDK dành cho lập trình nhanh trên chip

Giao thức mạng Ipv4, TCP/UDP/HTTP

Thiết lập người dùng Tập lệnh AT, Máy chủ Cloud, Ứng dụng

Hình 2.10: Sơ đồ chân Module NodeMCU ESP8266 [16]

Cảm biến trong hệ thống Smart Home

2.8.1 Cảm biến nhiệt độ, độ ẩm DHT11

Hình 2.11: Cảm biến nhiệt độ, độ ẩm DHT11 [18]

DHT11 là cảm biến nhiệt độ và độ ẩm rất phổ biến hiện nay nhờ chi phí rẻ và khả năng lấy dữ liệu dễ dàng qua giao tiếp 1-Wire, giao tiếp số truyền dữ liệu duy nhất Cảm biến được tích hợp bộ tiền xử lý tín hiệu giúp dữ liệu thu về có độ chính xác cao, ổn định và tin cậy cho các dự án IoT, điều khiển thiết bị nhà thông minh và các ứng dụng công nghiệp.

Bảng 2.3: Thông số của DHT11 [18]

Thông số Điều kiện Min Typical Max Độ ẩm Độ chính xác 1%RH 1%RH 1%RH

Thời gian đáp ứng 6s 10s 15s Độ bền theo thời gian Bình thường ±1%RH /year

Nhiệt độ Độ chính xác 1°C

2.8.2 Cảm biến cường độ ánh sáng BH1750

Cảm biến cường độ ánh sáng BH1750 được sử dụng để đo cường độ ánh sáng theo đơn vị lux Thiết bị sở hữu ADC nội và bộ tiền xử lý nên giá trị trả ra là giá trị lux trực tiếp, không qua bất kỳ xử lý hay tính toán nào, và được truyền qua giao tiếp I2C.

Bảng 2.4: Chức năng các chân Module GY-302 [19]

ADDR Chọn địa chỉ I2C Mặc định 0x23, là 0x5C nếu kết nối với 3.3V SDA Chân giao tiếp I2C SCL Chân giao tiếp I2C VCC Nối nguồn 3.3V

Hình 2.13: Module cảm biến khí GAS MQ-4 [20]

Thông số của cảm biến [20]:

23 Độ nhạy tốt với những khí dễ cháy trong phạm vi rộng Độ nhạy cao với methane CH4, khí gas thiên nhiên

Nhạy cảm với cồn, khói

Phản ứng nhanh, ổn định lâu dài

Nhiệt độ hoạt động: 14 đến 122 ° F (-10 đến 50 ° C) Độ ẩm hoạt động dưới 95% Rh

Nồng độ oxy là 21% (điều kiện tiêu chuẩn) - Nồng độ oxy có thể ảnh hưởng đến độ nhạy Điện trở tải: 20KΩ

Cảm biến điện trở R: 10KΩ- 60KΩ (1000ppm CH4)

Bảng 2.5: Chức năng chân ra cảm biến khí ga MQ-4 [20]

A0 Đầu ra dữ liệu tương tự (0.1 – 0.3V) D0 Đầu ra dữ liệu số 0/1 (0.1 và 5V) VCC Kết nối nguồn 5V

Module Relay

Rơ-le, còn gọi là relay, được lắp đặt và tích hợp trong hầu hết bảng mạch điện tử dùng để điều khiển thiết bị, đóng vai trò cầu nối tín hiệu giữa mô-đun điều khiển và các thiết bị đầu cuối Bên cạnh đó, rơ-le có khả năng cách ly điện áp giữa phần điều khiển và phần tải, bảo vệ mạch điều khiển và giảm nhiễu cho hệ thống Việc ứng dụng rơ-le cho phép điều khiển các tải có điện áp khác nhau bằng tín hiệu từ mạch điều khiển mà không yêu cầu kết nối trực tiếp giữa hai phần, từ đó tăng độ an toàn và tin cậy Do đó, rơ-le là thành phần quan trọng trong thiết kế bảng mạch điện tử và hệ thống điều khiển tự động, giúp truyền tín hiệu điều khiển một cách ổn định và an toàn.

Trong hệ thống 24 hành, nguồn điện xoay chiều có điện áp lớn (thông thường 220V) được dùng cho phần điều khiển, trong khi phần điều khiển lại hoạt động ở điện áp một chiều, điện áp thấp Sự phân tách này giúp bảo vệ thiết bị của bạn khi nguồn bị đóng hoặc cắt, giảm nguy cơ hỏng hóc và tăng độ an toàn cho toàn bộ hệ thống.

Logic kích hoạt có thể định mức Cao hoặc Thấp, thông qua jumper mini Dòng điện tải tối đa: 10A Điện áp tải tối đa: AC 250V

Có bộ cách ly Opto để cách ly và bảo vệ cho bộ điều khiển

Bảng 2.6: Chức năng các chân ra của module Relay [21]

DC+ Điện áp dương nguồn

IN Đầu vào dữ liệu điều khiển

NO Chân thường mở của Relay

NC Chân chung của Relay COM Chân thường đóng của Relay

Động cơ Servo

Hình 2.15 minh họa động cơ Servo SG92R, một loại servo có kích thước nhỏ được sử dụng phổ biến để chế tạo các mô hình nhỏ hoặc các cơ cấu kéo nhẹ Động cơ có tốc độ phản ứng nhanh, và các bánh răng được làm bằng nhựa nên cần lưu ý khi nâng tải để tránh quá tải và bảo vệ tuổi thọ của hệ thống.

Động cơ có mô-men xoắn 25 Nm và được tích hợp sẵn driver điều khiển bên trong, cho phép dễ dàng điều chỉnh góc quay bằng phương pháp điều khiển PWM (điều độ rộng xung).

Bảng 2.7: Thông số Servo SG92R

Mô-men xoắn đầu ra 2.5kg/ cm tại 4.8V Tốc độ đầu ra 0.1s / 60° 4.8V Điện áp đầu vào 4.2-6VDC Nhiệt độ hoạt động 0-55 ° C Độ trễ 10 às

THIẾT KẾ HỆ THỐNG

Giới thiệu và tóm tắt

Thiết kế hệ thống nhà thông minh cho phép người dùng điều khiển mọi thiết bị trong gia đình và giám sát các điều kiện như nhiệt độ, độ ẩm, an ninh từ xa một cách nhanh chóng và tiện lợi thông qua máy tính hoặc điện thoại Hệ thống tích hợp giao diện người dùng thân thiện, kết nối internet và cảm biến nhạy bén để cung cấp dữ liệu theo thời gian thực, tối ưu hóa hiệu quả năng lượng, tăng cường an toàn và nâng cao tiện nghi cho gia đình.

Hệ thống có khả năng tự động xử lý, kiểm soát thiết bị theo các kịch bản được người phát triển hoặc người dùng thiết lập

Có hệ thống khóa cửa bằng gương mặt, đảm bảo tốc độ xử lý cũng như độ chính xác

Từ yêu cầu hệ thống sẽ đưa ra các đặc tả của hệ thống trong việc thiết kế như sau

Với máy tính nhúng Raspberry Pi 3B+ và nền tảng Home Assistant, người dùng có thể dễ dàng điều khiển và giám sát các thiết bị trong gia đình từ máy tính hoặc điện thoại Raspberry Pi 3B+ cung cấp hiệu suất ổn định cho hệ thống tự động hóa nhà ở, trong khi Home Assistant tích hợp đa dạng thiết bị và cảm biến để quản lý tập trung Hệ thống này nâng cao tiện nghi và an toàn bằng cách theo dõi trạng thái thiết bị, gửi thông báo và tự động hóa các tác vụ hàng ngày Để triển khai, người dùng chỉ cần kết nối Raspberry Pi 3B+ với mạng nội bộ, cài đặt Home Assistant và cấu hình các thiết bị thông minh để trải nghiệm điều khiển từ xa trên máy tính hoặc điện thoại.

ESP8266 được sử dụng để cập nhật các điều kiện trong nhà lên Home Assistant từ các cảm biến như DHT11 (nhiệt độ và độ ẩm), BH1750 (ánh sáng) và cảm biến khí gas Dữ liệu từ các cảm biến được gửi về Home Assistant thông qua giao thức MQTT hoặc HTTP, cho phép theo dõi thời gian thực, thiết lập cảnh báo khi giá trị vượt ngưỡng và tự động kích hoạt các hành động như chiếu sáng, điều hòa hoặc báo động Việc tích hợp này tối ưu hóa nguồn lực và ổn định nhờ ESP8266 đóng vai trò cầu nối giữa các thiết bị IoT và giao diện người dùng Home Assistant Các bước triển khai cơ bản gồm cấu hình ESP8266 kết nối Wi-Fi, thiết lập broker MQTT hoặc endpoint HTTP, lập trình đọc dữ liệu từ DHT11 và BH1750, và gửi payload đến Home Assistant để hiển thị trên dashboard và xây dựng automation dựa trên các giá trị cảm biến.

Thiết kế tự động hóa cho ngôi nhà cho phép hệ thống tự động kiểm soát các thiết bị trong nhà dựa trên điều kiện từ cảm biến và các ngữ cảnh cụ thể Bằng cách thu thập dữ liệu từ cảm biến như nhiệt độ, độ sáng, cảm biến cửa và cảm biến chuyển động, hệ thống sẽ điều khiển đèn chiếu sáng, điều hòa, máy lạnh, thiết bị gia dụng và cửa ra vào theo trạng thái hiện tại hoặc theo dự báo để tối ưu tiện ích và tiết kiệm năng lượng Mỗi quy trình tự động được xác định bằng các ngưỡng điều kiện và logic điều khiển (ví dụ: IFTTT hoặc các thuật toán rời rạc) và có thể được truy cập, giám sát từ xa qua giao diện người dùng thân thiện Thiết kế tự động hóa còn tăng cường an toàn và tiện nghi bằng cách cảnh báo, tự động đóng mở cửa hoặc điều chỉnh hệ thống khi phát hiện sự cố từ cảm biến, đồng thời hỗ trợ mở rộng để tích hợp nhiều thiết bị mới và cải thiện hiệu quả vận hành cho ngôi nhà thông minh.

Sử dụng mạng Internet, Wifi trong nhà cho các thiết bị điều khiển trung tâm, đảm bảo tốc độ xử lý.

Sơ đồ khối của hệ thống

Khối nguồn sẽ cung cấp nguồn điện hoạt động cho các khối khác

Khối xử lý trung tâm là bộ xử lý chính chạy nền tảng Home Assistant để kiểm soát các thiết bị cũng như nhận tín hiệu hình ảnh từ khối Camera, sau đó xử lý hình ảnh và phân tích nhận dạng gương mặt Khối xử lý còn có nhiệm vụ nhận dữ liệu từ khối cảm biến và xử lý

Khối Camera có chức năng thu thập hình ảnh chuyển về cho Khối xử lý trung tâm

Khối dữ liệu cảm biến là hệ thống thu thập dữ liệu từ các cảm biến và cập nhật lên Home Assistant

Khối thiết bị là hệ thống các thiết bị trong nhà như đèn và quạt nhận tín hiệu điều khiển từ khối xử lý trung tâm

Khối cửa khóa có chức năng khóa và mở khóa cửa, nhận tín hiệu điều khiển từ khối xử lý trung tâm

KHỐI XỬ LÝ TRUNG TÂM HOME ASSISTANT

KHỐI DỮ LIỆU CẢM BIẾN KHỐI THIẾT BỊ

Thiết kế phần cứng

Yêu cầu thiết kế: Ở khối xử lý trung tâm, Raspberry Pi 3B+ được cung cấp riêng nguồn mạch 5V/2.5A Các thiết bị ở đây là quạt sử dụng nguồn 5V, quạt tản nhiệt cho khối xử lý sử dụng nguồn 12V, vì vậy cần một mạch nguồn có khả năng cung cấp các ngõ ra tương ứng Còn ở khối dữ liệu cảm biến Node MCU ESP8266 sử dụng nguồn 5V, các cảm biến sẽ dùng nguồn từ ESP8266, dòng điện tiêu thụ của

Node MCU trung bình 320mA, cảm biến khí ga MQ-4 là 200mA, DHT11 với dòng tiêu thụ là 2.5mA, module GY-302 BH1750 tiêu thụ khoảng 7 mA

Lựa chọn phần cứng cho hệ thống dựa trên module AMS1117, mạch ổn áp 3 ngõ ra 3.3V/5V/12V có thể cấp nguồn cho Node MCU và các thiết bị có dòng tiêu thụ khoảng 500mA, với dòng ra tối đa khoảng 800mA; đồng thời cho phép mở rộng thêm một số cảm biến để gia tăng chức năng của hệ thống.

Yêu cầu thiết kế: Khối Camera sẽ là bộ phận thu thập dữ liệu hình ảnh cho khối xử lý trung tâm là Raspberry Pi 3B+ Camera phải chụp ảnh và quay video với chất lượng đủ tốt để Raspberry Pi 3B+ có thể xử lý hình ảnh nhận diện khuôn mặt.

Trong quá trình thiết kế, lựa chọn phần cứng là yếu tố quyết định để đảm bảo hiệu suất và chất lượng đồ án Người thực hiện chọn Module Raspberry Pi Camera có độ phân giải 5MP, hỗ trợ video chất lượng 1080p 30fps, 720p 60fps và 640x480p60/90, đồng thời hoàn toàn tương thích với Raspberry Pi 3B+, bộ xử lý trung tâm của hệ thống, giúp tối ưu hóa hiệu suất và tích hợp dễ dàng với nền tảng Raspberry Pi.

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

Khối trung tâm xử lý đóng vai trò là lõi vận hành của hệ thống: nhận dữ liệu từ các khối cảm biến và điều khiển các thiết bị liên quan Đồng thời, khối này còn chạy nền tảng Home Assistant và xử lý nhận diện khuôn mặt cho cửa khóa, nhằm tăng cường an ninh và tiện ích cho người dùng.

Hình 3.3: Sơ đồ nguyên lý khối xử lý trung tâm

Hình 3.4: Sơ đồ nguyên lý khối cửa khóa

Trong quá trình lựa chọn phần cứng cho yêu cầu xử lý cao, dự án sẽ sử dụng Raspberry Pi 3B+ làm bộ xử lý chính, nhờ hiệu suất đủ để đảm nhận các tác vụ và sự hỗ trợ mạnh mẽ cho nền tảng Home Assistant được viết bằng Python Raspberry Pi 3B+ không chỉ đảm bảo vận hành Home Assistant một cách ổn định mà còn có khả năng xử lý nhận diện khuôn mặt với các mô-đun phù hợp Để điều khiển các thiết bị, dự án dùng Module Relay, trong đó quạt là thiết bị được kiểm soát, đồng thời thiết kế cũng nhằm bảo vệ mạch điều khiển và thiết bị khỏi sự cố Trong tương lai, hệ thống có thể thay thế quạt bằng các thiết bị trong nhà thực tế hơn, mở rộng khả năng tự động hóa và tích hợp với các thiết bị thông minh khác.

Yêu cầu thiết kế cho khối cửa khóa là khả năng nhận tín hiệu điều khiển từ khối xử lý trung tâm và đóng/mở khóa cửa một cách nhanh chóng Hệ thống cần đảm bảo phản hồi kịp thời và đáng tin cậy khi nhận tín hiệu từ khối xử lý trung tâm, đồng thời tối ưu hóa quá trình đóng mở để tăng hiệu quả và an toàn cho người dùng.

Trong quá trình thiết kế, việc lựa chọn phần cứng phù hợp là yếu tố quyết định để đảm bảo hiệu suất hệ thống Với yêu cầu đã nêu, người thực hiện đã chọn servo SG92R, loại servo có khả năng điều khiển góc quay linh hoạt và độ trễ thấp, giúp đáp ứng nhanh với tín hiệu điều khiển và tối ưu hóa hiệu suất tổng thể.

Hình 3.4 mô tả sơ đồ nguyên lý của khối cửa khóa

3.3.5 Khối dữ liệu cảm biến

Yêu cầu thiết kế cho khối cảm biến tập trung vào việc gửi dữ liệu cảm biến như nhiệt độ, độ ẩm, cường độ ánh sáng và dữ liệu khí gas lên Home Assistant, nền tảng tự động hóa nhà ở để được tích hợp, giám sát và điều khiển các thiết bị trong ngôi nhà Việc đảm bảo tính liên tục, độ tin cậy và thời gian phản hồi của dữ liệu truyền sẽ tối ưu hóa khả năng tự động hóa và phản ứng theo thời gian thực của hệ thống Home Assistant.

Bộ xử lý trung tâm một cách nhanh chóng

Để đáp ứng yêu cầu thiết kế, phần cứng được chọn gồm Node MCU ESP8266 – một module vi điều khiển tích hợp WiFi cho phép kết nối và gửi dữ liệu qua WiFi nhanh chóng và thuận tiện; cảm biến DHT11 cho dữ liệu nhiệt độ và độ ẩm phòng, phù hợp môi trường trong nhà, chi phí hợp lý và độ chính xác không quá cao, có thể lấy dữ liệu dễ dàng qua giao tiếp one-wire mà không cần tính toán phức tạp; cảm biến cường độ ánh sáng BH1750 (mô-đun GY-302 BH1750) cho đầu ra ở đơn vị lux trực tiếp và tốc độ phản hồi nhanh; và cảm biến khí gas MQ-4 đáp ứng tốt yêu cầu về độ nhạy và khả năng phát hiện khí gas trong phạm vi tương đối, đồng thời có thể phát hiện các chất đốt metan tự nhiên.

Thiết kế phần mềm

3.4.1 Thiết kế hoạt động và giao diện Home Assistant

Home Assistant là nền tảng mã nguồn mở cho phép người dùng tương tác và phát triển giao diện cùng chức năng thông qua các file YAML, cho phép lập trình Home Assistant bằng cách cấu hình các thành phần trong tập tin YAML mà không đòi hỏi nhiều kiến thức về lập trình web Việc quản lý cấu hình được tổ chức thành nhiều tập tin, giúp người dùng dễ dàng kiểm soát và mở rộng hệ thống Tệp cấu hình đảm nhiệm việc cấu hình các thành phần và khởi tạo các tệp liên quan, trong khi tệp giao diện chịu trách nhiệm cấu hình giao diện người dùng và tương tác với người dùng Tệp tự động hóa sẽ xử lý việc so sánh dữ liệu nhận được và thực hiện các hành động tự động, mang lại sự linh hoạt và tiết kiệm thời gian cho người dùng.

Người dùng có thể tùy biến giao diện cho trang Home Assistant của mình bằng Lovelace UI, với các đơn vị chính là Cards (thẻ) được Home Assistant hỗ trợ để xây dựng bố cục và chức năng theo nhu cầu.

Trong hệ thống có 32 thẻ sẵn, đóng vai trò là các đối tượng chính trên giao diện tương tác với người dùng Người dùng cấu hình và tùy chỉnh các thẻ này bằng file YAML, cho phép quản lý cấu hình linh hoạt, nhất quán và dễ tích hợp với các thành phần khác của hệ thống Việc sử dụng YAML cho cấu hình thẻ giúp tối ưu hóa trải nghiệm người dùng và hỗ trợ quá trình phát triển giao diện một cách hiệu quả.

Hình 3.6: Lưu đồ hoạt động Lovelace UI

Khi hệ thống khởi động, các thẻ (cards) được khởi tạo và các hình ảnh như ảnh nền hay ảnh của thẻ được tải lên Sau đó các thiết lập của thẻ do người dùng nhập sẽ được áp dụng cho thẻ đó Một số thẻ có chức năng hiển thị như thẻ glance và thẻ picture-elements sẽ đọc dữ liệu được cấu hình và hiển thị lên giao diện, trong khi thẻ mini-graph thể hiện dữ liệu dưới dạng biểu đồ Thẻ picture-entity là đối tượng tương tác chính, đi kèm với các hành vi như người dùng nhấn vào ảnh; action được cấu hình cho hành vi đó sẽ thực hiện như việc thay đổi trạng thái của một switch, các switch này chính là các thiết bị đầu ra của hệ thống được cấu hình trong tập tin cấu hình.

Hình 3.7: Lưu đồ hoạt động cấu hình Home Assistant

Home Assistant có hỗ trợ các add-on và tiện ích từ cả hệ sinh thái của Home Assistant lẫn các nguồn bên thứ ba, giúp người dùng kết nối với các dịch vụ và thiết bị từ bên ngoài một cách linh hoạt Trong đồ án này, người thực hiện đã sử dụng add-on Mosquitto broker để trao đổi dữ liệu qua giao thức MQTT Broker MQTT được cấp từ khối xử lý của hệ thống, vì vậy đây là một tiện ích trao đổi dữ liệu nội bộ mang tính bảo mật cao.

Trong một hệ thống dùng giao thức MQTT, các client kết nối tới một MQTT broker; trong đồ án này sử dụng Mosquitto broker Các client đăng ký (subscribe) một số topic để nhận dữ liệu, và khi một thiết bị khác gửi dữ liệu vào một topic thì các client đã đăng ký sẽ nhận được dữ liệu đó Quá trình gửi dữ liệu vào topic được gọi là publish Hình 3.8 mô tả toàn bộ chu trình của giao thức MQTT.

Hình 3.8: Hoạt động của MQTT Broker

Hình 3.7 mô tả hoạt động của tập tin cấu hình trong Home Assistant: khi khởi động, các tập tin cấu hình khác như giao diện và tập tin tự động hóa được nạp; sau đó hệ thống cấp phát MQTT broker để nhận dữ liệu cảm biến từ khối cảm biến; tiếp theo, Home Assistant áp dụng cấu hình cho các thành phần do người dùng thiết lập, như switch gắn với các thiết bị ngõ ra của hệ thống và các tiện ích như thời tiết hay speedtest.

3.4.2 Thiết kế tự động hóa

Hình 3.9: Lưu đồ tự động hóa hệ thống Home Assistant

Hình 3.9 trình bày quá trình tự động hóa của hệ thống Home Assistant, nổi bật với các tác vụ như bật đèn tự động khi có người ở trong nhà và điều kiện ánh sáng phù hợp, tắt hết các thiết bị khi không có ai ở nhà để tiết kiệm năng lượng, gửi thông báo chào đón khi chủ nhà về, và hệ thống sẽ cảnh báo khi khí gas ở mức cao nhằm phòng chống cháy nổ.

Thiết kế hoạt động cập nhật dữ liệu cảm biến

Hình 3.10 mô tả luồng hoạt động của khối dữ liệu cảm biến Node MCU ESP8266 sẽ khởi tạo các thư viện liên quan và biến cần thiết cho các cảm biến, sau đó bắt đầu quá trình kết nối Wi-Fi cho tới khi thành công Khi đã có kết nối mạng, hệ thống sẽ thiết lập kết nối với MQTT broker của khối xử lý trung tâm Tiếp theo, Sensor task sẽ đọc và chuyển đổi dữ liệu từ các cảm biến và gửi dữ liệu này lên một topic trên MQTT broker.

Hình 3.10: Lưu đồ hoạt động hệ thống dữ liệu cảm biến

Sensor Task được mô tả như lưu đồ hình 3.11: đợi 2 giây để ổn định các cảm biến, sau đó bắt đầu đọc dữ liệu từ cảm biến Tiếp theo, hệ thống kiểm tra cảm biến nào không nhận được dữ liệu và báo cho người dùng, giúp quá trình sửa lỗi cảm biến dễ dàng hơn.

Sau khi dữ liệu các cảm biến đã được đọc, ESP8266 sẽ chuyển đổi dữ liệu này thành một chuỗi dữ liệu phù hợp để gửi lên MQTT broker

Hình 3.11: Lưu đồ giải thuật Sensor Task 3.5.1 Thiết kế khóa cửa nhận diện gương mặt

Hệ thống bắt đầu bằng việc thu thập dữ liệu ảnh nhận diện để huấn luyện thuật toán nhận diện khuôn mặt Quá trình khởi tạo các thư viện và Camera Pi, sau đó khởi tạo phân loại Haar để phát hiện khuôn mặt và chụp ảnh khuôn mặt Số lượng ảnh huấn luyện là 500 ảnh nhằm tăng độ chính xác cho bài toán Sau khi chụp, ảnh sẽ được chuyển đổi thành ảnh xám với định dạng nhất định và lưu vào thư mục đã tạo sẵn Hình 3.12 thể hiện lưu đồ thực hiện của quá trình thu thập dữ liệu.

Hình 3.12: Lưu đồ thu thập tập dữ liệu

Sau khi thu thập dữ liệu ảnh, hệ thống sẽ tiến hành huấn luyện tập dữ liệu này Lưu đồ của quá trình huấn luyện được mô tả trong Hình 3.13 Đầu tiên, khởi tạo các thư viện, thuật toán LBPH, truy xuất dữ liệu ảnh và gán nhãn cho từng ảnh Thực hiện lại bước phát hiện khuôn mặt để chắc chắn vùng được xác định có phải là khuôn mặt hay không, sau đó chuyển đổi các ảnh này thành mảng dữ liệu NumPy Cuối cùng, hệ thống sẽ tiến hành huấn luyện dữ liệu và lưu kết quả vào một tập tin huấn luyện và một tập tin nhãn dữ liệu.

Sau khi hệ thống đã hoàn tất huấn luyện dữ liệu và tiếp nhận các tập tin huấn luyện, nó bắt đầu quá trình so sánh và nhận diện khuôn mặt Hình 3.14 trình bày lưu đồ quy trình nhận diện và mở khóa bằng khuôn mặt Đầu tiên, hệ thống khởi tạo các thư viện hỗ trợ, thiết lập phân loại HaarCascade và thuật toán LBPH để dự đoán và nhận diện khuôn mặt một cách hiệu quả.

Trong hệ thống nhận diện khuôn mặt được mô tả, camera được khởi tạo và frame ảnh được biến đổi thành ảnh xám, sau đó bộ nhận diện khuôn mặt xác định vùng gương mặt và trả về nhãn (label) Nhãn này được dùng để so sánh với tập dữ liệu đã có và cho ra độ tự tin (confidence) của nhận diện Nếu độ tự tin nhỏ hơn hoặc bằng ngưỡng đã đặt, cửa sẽ mở khóa; ngược lại, nếu độ tự tin lớn hơn ngưỡng, cửa sẽ không mở khóa Việc thiết lập tham số độ tự tin càng thấp sẽ tăng độ chính xác của hệ thống nhận diện khuôn mặt nhưng giảm độ nhạy, do đó tham số này được tùy biến để cân bằng giữa độ nhạy và sự chính xác theo yêu cầu thực tế.

Hình 3.13: Lưu đồ huấn luyện dữ liệu

Hình 3.14: Lưu đồ hệ thống nhận diện gương mặt và mở khóa

KẾT QUẢ THỰC HIỆN

Kết quả thi công phần cứng

Hình 4.1: Mô hình ngôi nhà thông minh

Người thực hiện đã tiến hành thi công và lắp đặt mô hình ngôi nhà thông minh phù hợp với đề tài, với mô hình được chia thành ba phòng chức năng: phòng khách, phòng ngủ và phòng bếp, đồng thời có khu vực riêng chứa khối xử lý trung tâm, khối nguồn và khối camera Hình 4.1 là ảnh chụp tổng thể toàn bộ mô hình ngôi nhà thông minh sau khi hoàn thành, thể hiện sự phối hợp giữa các thành phần điện, điều khiển và giám sát của hệ thống.

Trong hình 4.2, động cơ servo SG92R đảm nhiệm vai trò đóng/mở cửa tự động, được đặt ở cửa vào cạnh bên các cảm biến từ phòng khách Động cơ nhận tín hiệu điều khiển từ bộ xử lý trung tâm, cho phép đóng/mở cửa nhanh chóng và an toàn Dữ liệu từ cảm biến nhiệt độ và độ ẩm DHT11 cùng cảm biến cường độ ánh sáng GY-302 BH1750 được gửi từ phòng khách lên trang Home Assistant để theo dõi và điều khiển hệ thống.

Hình 4.2: Khu vực cửa khóa và cảm biến trong nhà

Các thiết bị như đèn, quạt ở cả phòng khách, phòng bếp và phòng ngủ đều có thể điều khiển từ Home Asistant Đèn led

Hình 4.3: Khu vực phòng khách

Trong hình 4.4, cảm biến khí gas MQ-4 được bổ sung để phát hiện khí gas rò rỉ trong phòng bếp Dữ liệu từ cảm biến được gửi về bộ xử lý trung tâm, từ đó hệ thống thông báo cho người dùng và hỗ trợ các biện pháp phòng chống kịp thời nhằm giảm thiểu nguy cơ cháy nổ và ngộ độc khí.

42 cháy nổ Bên cạnh đó, Node MCU ESP8266 được đặt cạnh phòng bếp gửi dữ liệu đọc từ cảm biến lên Home Assistant nhanh chóng và ổn định

Hình 4.4: Khu vực phòng bếp Đèn led

Hình 4.5: Khu vực phòng ngủ

Trong hình 4.5, phòng ngủ được gắn thêm cảm biến DHT11 Dữ liệu từ cảm biến sẽ được gửi lên Home Assistant để người dùng có thể theo dõi nhiệt độ trong phòng trên giao diện giám sát, từ đó cải thiện khả năng giám sát điều kiện môi trường và quản lý nhiệt độ gia đình.

Hình 4.6: Khu vực nguồn và bộ xử lý trung tâm của hệ thống

Hình 4.7: Khối Camera của hệ thống

Trong hình 4.6, khối nguồn và khối xử lý trung tâm là Raspberry Pi 3B+ được đặt chung trong một khối tích hợp với quạt tản nhiệt 12V cho cả hai nhằm làm mát khi hoạt động liên tục và giảm thiểu các vấn đề về hiệu suất do quá nhiệt Bên cạnh đó, khối Camera là Raspberry Pi Camera cũng được gắn vào khối chung này như trong hình 4.7.

Kết quả thi công phần mềm

Sau quá trình phát triển và hoàn thiện, đã hoàn thành giao diện Home Assistant để tương tác với người dùng

Hình 4.8: Trang chủ giao diện Home Assistant

Trang chủ của giao diện sẽ bố trí các thẻ chức năng nổi bật, bao gồm thẻ hiển thị dự báo thời tiết, thẻ hiển thị đồng hồ số, thẻ hiển thị trạng thái chủ nhà và thẻ hiển thị thông số kiểm tra tốc độ mạng bằng Speedtest, mang lại cập nhật thời tiết nhanh chóng, thời gian chính xác, giám sát trạng thái thiết bị trong nhà và đo lường tốc độ kết nối Internet một cách trực quan.

Các ảnh nền và chủ đề sẽ thay đổi tùy vào thiết lập của người dùng

Hình 4.9: Trang quản lý phòng khách

Trang hiển thị tích hợp thẻ hiển thị nhiệt độ và độ ẩm từ cảm biến DHT11, giúp người dùng nắm bắt điều kiện môi trường trong phòng khách Hình 4.9 minh họa giao diện cho phép người dùng tương tác với các thiết bị đèn và quạt ở phòng khách, cho phép bật hoặc tắt các thiết bị này bằng các thẻ tương tác Giao diện còn có thẻ hiển thị cường độ ánh sáng nhận được từ cảm biến tại phòng khách để người dùng theo dõi mức sáng trong không gian sống.

Hình 4.10: Trang quản lý phòng bếp

Hình 4.11: Trang quản lý phòng ngủ

Hình 4.10 mô tả giao diện người dùng cho việc bật tắt đèn và quạt ở phòng bếp thông qua các thẻ tương tác, đồng thời theo dõi nồng độ khí gas trong phòng bằng dữ liệu được gửi từ cảm biến khí gas MQ-4 gắn tại khu vực bếp Giao diện cho phép xem giá trị nồng độ khí gas theo thời gian và kích hoạt các thiết bị khi cần thiết để tăng tiện nghi và đảm bảo an toàn khi nấu nướng Dữ liệu từ cảm biến MQ-4 được đọc liên tục và cập nhật trên màn hình, giúp người dùng nhận biết tình trạng khí gas và phản ứng kịp thời khi có sự cố.

Hình 4.11 mô tả giao diện cho người dùng bật/tắt các thiết bị trong phòng ngủ và theo dõi nhiệt độ phòng thông qua thẻ hiển thị dữ liệu từ cảm biến DHT11 ở phòng ngủ Đối với hệ thống mở khóa cửa nhận diện khuôn mặt, tín hiệu điều khiển và mở khóa được xử lý tương đối nhanh, đáp ứng yêu cầu của hệ thống Hình 4.12 thể hiện kết quả so sánh nhận diện khuôn mặt giữa ảnh chụp từ camera và tập dữ liệu đã được huấn luyện, với chỉ số nhận diện càng nhỏ cho thấy khuôn mặt khớp với dữ liệu huấn luyện; giá trị dao động từ 46 đến 59, phụ thuộc góc chụp và trạng thái khuôn mặt Trong Hình 4.13, ảnh chụp từ camera cho chất lượng khá rõ và đáp ứng yêu cầu hệ thống Hệ thống khóa cửa sẽ tự động chạy khi khởi động Raspberry Pi 3B+.

Hình 4.12: Các kết quả so sánh nhận diện gương mặt

Hình 4.13: Frame ảnh chụp nhận diện từ Camera

Ngày đăng: 28/11/2021, 15:35

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] P. Vân, “Cuộc sống thông minh sẽ trở thành xu hướng ở Việt Nam,” January 2019. [Trư ̣c tuyến]. Available: https://vnexpress.net/so-hoa/cuoc-song-thong-minh-se-tro-thanh-xu-huong-o-viet-nam-3863854.html. [Đa ̃ truy câ ̣p Tháng 6 2019] Sách, tạp chí
Tiêu đề: Cuộc sống thông minh sẽ trở thành xu hướng ở Việt Nam
[3] H. V. Duy, “Thiết kế và thi công mô hình ngôi nhà thông minh,” Tp.Hồ Chí Minh, 2015 Sách, tạp chí
Tiêu đề: Thiết kế và thi công mô hình ngôi nhà thông minh
[4] T. V. Tiệp, “Thiết kế mô hình Smart Home đơn giản sử dụng Module Wifi ESP8266,” Tp.Hà Nội, 2013 Sách, tạp chí
Tiêu đề: Thiết kế mô hình Smart Home đơn giản sử dụng Module Wifi ESP8266
[7] H. S. Hùng, “OpenCV và các ứng dụng của nó hiện nay,” TechMaster, Tháng 7 2016. [Trư ̣c tuyến]. Available: https://techmaster.vn/posts/33943/opencv-va-cac-ung-dung-cua-no-hien-nay. [Đa ̃ truy câ ̣p Tháng 6 2019] Sách, tạp chí
Tiêu đề: OpenCV và các ứng dụng của nó hiện nay
[8] T. D. Sach, “Tìm hiểu thư viện Numpy của Python,” Tháng 7 2017. [Trư ̣c tuyê ́n]. Available: https://tuhocblog.wordpress.com/2017/07/13/first-blog-post/. [Đã truy câ ̣p Tháng 6 2019] Sách, tạp chí
Tiêu đề: Tìm hiểu thư viện Numpy của Python
[5] J. Era, B. Pradnya and T. Vidhi, "Remote Controlled Home Automation Using Android Application via WiFi Connectivity," Mumbai, 2015 Sách, tạp chí
Tiêu đề: Remote Controlled Home Automation Using Android Application via WiFi Connectivity
[6] Harshavardhan and M. Kumar, "Automation Using Home Assistant," hackster.io, 26 April 2019. [Online]. Available:https://www.hackster.io/idifro/automation-using-home-assistant-b86904.[Accessed June 2019] Sách, tạp chí
Tiêu đề: Automation Using Home Assistant
[9] P. S. Foundation, "os.path-Common pathname manipulations," Python Software Foundation, 2019. [Online]. Available:https://docs.python.org/3.7/library/os.path.html. [Accessed June 2019] Sách, tạp chí
Tiêu đề: os.path-Common pathname manipulations
[12] K. Salton, "Face Recognition: Understanding LBPH Algorithm," towardsdatascience, November 2017. [Online]. Available:https://towardsdatascience.com/face-recognition-how-lbph-works-90ec258c3d6b. [Accessed June 2019] Sách, tạp chí
Tiêu đề: Face Recognition: Understanding LBPH Algorithm
[13] 4tronix, "Raspberry Pi 3B+ - Model B Plus," 4Tronix, 2019. [Online]. Available: https://shop.4tronix.co.uk/products/raspberry-pi-3b-model-b-plus.[Accessed June 2019] Sách, tạp chí
Tiêu đề: Raspberry Pi 3B+ - Model B Plus
[15] S. Z. Nasir, "Introduction to Raspberry Pi 3 B+," The engineering projects, July 2018. [Online]. Available:https://www.theengineeringprojects.com/2018/07/introduction-to-raspberry-pi-3-b-plus.html. [Accessed June 2019] Sách, tạp chí
Tiêu đề: Introduction to Raspberry Pi 3 B+
[16] A. Garrets, "Tutorial: Intro to the NodeMCU," The kurks, 2018. [Online]. Available: https://thekurks.net/blog/2018/3/14/intro-to-nodemcu. [Accessed June 2019] Sách, tạp chí
Tiêu đề: Tutorial: Intro to the NodeMCU
[19] C. Laws, "BH1750 (GY-302) measure the lighting quality of your home," DIY Projects, 2018. [Online]. Available: https://diyprojects.io/bh1750-gy-302-measure-lighting-quality-home-arduino-esp8266-esp32/#.XRoTdOgzbDc. [Accessed June 2019] Sách, tạp chí
Tiêu đề: BH1750 (GY-302) measure the lighting quality of your home
[20] Engineers, "MQ-4 Methane Gas Sensor," Component101, October 2018. [Online]. Available: https://components101.com/sensors/mq-4-methane-gas-sensor-pinout-datasheet. [Accessed June 2019] Sách, tạp chí
Tiêu đề: MQ-4 Methane Gas Sensor
[21] Cytron, "1CH Active H/L 5V OptoCoupler Relay Module," Cytron Marketplace, 2018. [Online]. Available: https://www.cytron.io/p-1ch-active-h-l-5v-optocoupler-relay-module. [Accessed June 2019] Sách, tạp chí
Tiêu đề: 1CH Active H/L 5V OptoCoupler Relay Module
[14] G. Halfacree, Raspberry Pi Beginner’s Guide, Cambridge: Raspberry Pi Trading Ltd, 2018 Khác

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w