Đồ Án HCMUTE: Xây Dựng Mô Hình Ngôi Nhà Thông Minh Với Home Assistant Và Xử Lý Ảnh

Đồ án nghiên cứu hcmute 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, áp dụng công nghệ tiên tiến, tối ưu giải pháp kỹ thuật cho bài toán kỹ

Người đăng

Ẩn danh

Thể loại

đồ án tốt nghiệp

2019

65
0
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

TÓM TẮT

MỤC LỤC

DANH MỤC CÁC TỪ VIẾT TẮT

DANH MỤC CÁC BẢNG BIỂU

DANH SÁCH CÁC HÌNH ẢNH, BIỂU ĐỒ

1. CHƯƠNG 1: TỔNG QUAN

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

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

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

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

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

1.6. Bố cục đồ án

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

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

2.2. Nền tảng tự động hóa cho nhà thông minh

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

2.3.1. Thư viện OpenCV

2.3.2. Thư viện Numpy

3. CHƯƠNG 3: THIẾT KẾ HỆ THỐNG

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

3.2. Yêu cầu hệ thống

3.3. Đặc tả hệ thống

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

3.5. Thiết kế phần cứng

3.5.1. Khối xử lý trung tâm

3.5.2. Khối cửa khóa

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

3.6. Thiết kế phần mềm

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

3.6.2. Thiết kế tự động hóa

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

4. CHƯƠNG 4: KẾT QUẢ THỰC HIỆN

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

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

5. CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

5.1. Hướng phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về ngôi nhà thông minh

Ngôi nhà thông minh là một hệ thống tự động hóa, cho phép người dùng điều khiển các thiết bị trong nhà thông qua các công nghệ hiện đại. Ngôi nhà thông minh không chỉ đơn thuần là việc sử dụng các thiết bị điện tử mà còn là sự kết hợp của nhiều công nghệ như Home Assistant, IoTAI. Hệ thống này giúp nâng cao chất lượng cuộc sống, mang lại sự tiện nghi và an toàn cho người sử dụng. Theo thống kê, nhu cầu về ngôi nhà thông minh đang gia tăng mạnh mẽ, đặc biệt là trong bối cảnh công nghệ 4.0 phát triển. Việc áp dụng các giải pháp tự động hóa nhà không chỉ giúp tiết kiệm năng lượng mà còn tạo ra một môi trường sống thông minh hơn.

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

Tình hình nghiên cứu về ngôi nhà thông minh tại Việt Nam và trên thế giới đang diễn ra sôi nổi. Nhiều nghiên cứu đã chỉ ra rằng, việc áp dụng công nghệ nhà thông minh không chỉ giúp cải thiện chất lượng cuộc sống mà còn mang lại nhiều lợi ích về an ninh và tiết kiệm năng lượng. Các hệ thống như Home Assistant đã trở thành nền tảng phổ biến cho việc phát triển ngôi nhà thông minh. Nghiên cứu cho thấy, việc tích hợp các thiết bị thông minh vào trong nhà có thể giúp người dùng dễ dàng quản lý và điều khiển từ xa, tạo ra một không gian sống tiện nghi và an toàn.

II. Cơ sở lý thuyết về hệ thống nhà thông minh

Hệ thống ngôi nhà thông minh được xây dựng dựa trên nền tảng Home Assistant, cho phép người dùng điều khiển các thiết bị thông qua giao diện thân thiện. Home Assistant hỗ trợ nhiều loại thiết bị và cảm biến, giúp người dùng dễ dàng tùy chỉnh và mở rộng hệ thống. Việc sử dụng các thư viện như OpenCVNumpy trong xử lý ảnh giúp nâng cao khả năng nhận diện và quản lý các thiết bị trong nhà. Hệ thống này không chỉ đơn thuần là điều khiển từ xa mà còn có khả năng tự động hóa các quy trình dựa trên dữ liệu thu thập từ cảm biến, tạo ra một môi trường sống thông minh và an toàn.

2.1. Nền tảng tự động hóa cho nhà thông minh

Nền tảng tự động hóa cho ngôi nhà thông minh bao gồm các thiết bị như cảm biến, camera và bộ điều khiển trung tâm. Home Assistant là một trong những nền tảng mã nguồn mở phổ biến nhất, cho phép người dùng kết nối và điều khiển các thiết bị thông minh. Hệ thống này hỗ trợ nhiều giao thức kết nối như Wi-Fi, Z-Wave và Zigbee, giúp người dùng dễ dàng tích hợp các thiết bị khác nhau. Việc sử dụng cảm biến thông minh giúp thu thập dữ liệu và tự động hóa các tác vụ, từ đó nâng cao hiệu quả sử dụng năng lượng và an ninh cho ngôi nhà.

III. Ứng dụng xử lý ảnh trong ngôi nhà thông minh

Xử lý ảnh là một phần quan trọng trong việc phát triển ngôi nhà thông minh. Việc áp dụng các thuật toán như Haarcascade và LBPH trong nhận diện gương mặt giúp tăng cường an ninh cho ngôi nhà. Hệ thống có khả năng nhận diện và xác thực người dùng thông qua camera, từ đó mở khóa cửa hoặc thực hiện các tác vụ khác. Xử lý ảnh không chỉ giúp nhận diện mà còn có thể phân tích các tình huống trong nhà, như phát hiện chuyển động hoặc nhận diện các vật thể. Điều này không chỉ mang lại sự tiện lợi mà còn đảm bảo an toàn cho người sử dụng.

3.1. Công nghệ nhận diện gương mặt

Công nghệ nhận diện gương mặt sử dụng các đặc trưng Haar và thuật toán LBPH để xác định danh tính người dùng. Hệ thống này có thể được tích hợp vào ngôi nhà thông minh, cho phép người dùng mở khóa cửa chỉ bằng cách nhận diện gương mặt. Việc sử dụng cảm biến thông minh kết hợp với công nghệ nhận diện gương mặt không chỉ nâng cao tính bảo mật mà còn tạo ra trải nghiệm người dùng tốt hơn. Hệ thống có thể được tùy chỉnh để nhận diện nhiều người dùng khác nhau, từ đó tạo ra một môi trường sống an toàn và tiện nghi.

IV. Kết quả thực hiện và ứng dụng thực tiễn

Kết quả thực hiện mô hình ngôi nhà thông minh cho thấy tính khả thi và hiệu quả của hệ thống. Việc tích hợp Home Assistant với các cảm biến và thiết bị thông minh đã tạo ra một hệ thống tự động hóa hoàn chỉnh. Người dùng có thể dễ dàng điều khiển các thiết bị từ xa, theo dõi tình trạng ngôi nhà và thực hiện các tác vụ tự động. Hệ thống không chỉ mang lại sự tiện lợi mà còn giúp tiết kiệm năng lượng và nâng cao an ninh. Các ứng dụng thực tiễn của mô hình này có thể được mở rộng ra nhiều lĩnh vực khác nhau, từ quản lý nhà ở đến các giải pháp an ninh cho doanh nghiệp.

4.1. Giá trị và ứng dụng thực tiễn

Mô hình ngôi nhà thông minh không chỉ mang lại lợi ích cho người dùng mà còn có giá trị lớn trong việc nghiên cứu và phát triển công nghệ. Hệ thống có thể được áp dụng trong nhiều lĩnh vực khác nhau như quản lý năng lượng, an ninh và tự động hóa quy trình. Việc phát triển các giải pháp tự động hóa nhà giúp nâng cao chất lượng cuộc sống, đồng thời tạo ra một môi trường sống an toàn và tiện nghi hơn. Các nghiên cứu tiếp theo có thể tập trung vào việc cải thiện khả năng tương tác giữa người dùng và hệ thống, từ đó nâng cao trải nghiệm người dùng.

01/02/2025

Trích đoạn nội dung tài liệu

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.

4 do an 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. 5 do an CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2. 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 kết hợp từ mộ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.

Các thiết bị này đang rất phổ biến trên thị trường, từ những thiết bị hoàn toàn quen thuộc như tivi, máy lạnh, đèn,. đều được tích hợp chức năng để có thể tương tác với các bộ điều khiển, với các thiết bị khác. 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.1: Sơ đồ hoạt động của hệ thống nhà thông minh 6 do an 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à một nền tảng tự động hóa ngôi nhà mã nguồn mở chạy trên Python 3, ngôn ngữ phổ biến và mạnh trên Linux, được thiết kế để dễ dàng triển khai trên bất kỳ máy tính nào từ Raspberry Pi đến các thiết bị lưu trữ trên mạng 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 dễ dàng. Home Assistant tích hợp với một số lượng lớn các sản phẩm mã nguồn mở cũng như thương mại, cho phép bạn liên kết các thiết bị, dữ liệu với nhau, ví dụ như IFTTT (if this then that - công cụ để tự động hóa các thao tác), thông tin thời tiết hay 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 đối với cộng đồng người phát triển Smart Home với khả năng thiết kế giao diện, hỗ trợ kết nối hầu hết các thiết bị thông minh đã có và liên tục được cập nhật. OpenHAB là 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 những người đam mê nguồn mở trên thế giới, nó được hỗ trợ bởi một cộng đồng người dùng lớn và hỗ trợ khá nhiều thiết bị. Được viết bằng Java, openHAB có thể cài trên bất cứ hệ điều hành nào, và đương nhiên đang hỗ trợ tốt cho Raspberry. Hỗ trợ hàng trăm thiết bị, openHAB được thiết kế để trở thành hệ thống thông minh mở giúp các 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ũng có ứng dụng iOS và Android để điều khiển thiết bị, bằng cách kết nối qua cloud trên myopenHAB. Ngoài ra, openHAB cũng như các công cụ thiết kế để bạn có thể tạo giao diện người dùng của riêng mình cho hệ thống nhà riêng của mình. Domoticz là hệ thống nhà thông minh hỗ trợ rất nhiều các thiết bị thông dụng từ báo khói cho đến điều khiển từ xa. Đây là hệ thống có số tài liệu tích hợp các thiết bị bên ngoài (3rd party) lớn nhất hiện nay.

Domoticz được viết bằng C/C++, giao diện làm bằng HTML5 và đương nhiên tương thích với các máy tính nhúng tiêu thụ ít điện như Orange Pi, Raspberry Pi. 7 do an 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 trên chỉ cung cấp các phần mềm điều khiển, OpenMotic cho phép bạn tải về cả cá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 sử dụng chính Home Assistant như một thành phần cấu thành của nó.

Các thư viện Python cơ bản 2. Thư viện OpenCV OpenCV (Open source Computer Vision) là một thư viện mã nguồn mở hàng đầu cho thị giác máy tính, xử lý ảnh, Machine learning và các tính năng tăng tốc GPU trong hoạt động thời gian thực. OpenCV hoàn toàn miễn phí cho cả học thuật và thương mại. Nó có các giao diện C++, C, Python, Java và hỗ trợ Windows, Linux, Mac OS, iOS và Android.

OpenCV được thiết kế để tính toán hiệu quả và với sự tập trinh nhiều vào các ứng dụng thời gian thực. Được viết bằng tối ứu C/C++, thư viện có thể tận dụng lợi thế của xử lý đa lõi. Phạm vi sử dụng từ nghệ thuật tương tác, cho đến lĩnh vực khai thác mỏ, bản đồ trên web hoặc công nghệ robot. Có thể kể đến một số chức năng của OpenCV như xử lý, hiển thị Image/video I/O, phát hiện các vật thể, xử lý hình học hay các chức năng thị giác máy tính, tính toán ảnh chụp, tăng tốc kiến trúc tính toán CUDA [7].

Thư viện Numpy Numpy là một thư viện toán học rất phổ biến và đầy quyền năng của Python, nó giống với Mathlab. Nó cho phép làm việc hiệu quả với ma trận, tính toán các phép toán của ma trận nhanh chóng và hiệu quả. Thư viện Numpy coi ma trận như một không gian nhiều chiều và làm việc trên những chiều của ma trận đó. Khái niệm chiều ma trận là khái niêm rất quan trọng trong thư viện Numpy và axis là thông số ám chỉ chiều của ma trận đó, một ma trận có số chiều là n thì sẽ có axis chạy từ 0 đến n-1, sẽ có rất nhiều hàm có tham số axis và nó ám chỉ ta tính toán theo chiều nào của ma trận.

Bên cạnh đó, với từng chiều ma trận, Numpy làm việc và tính toán với kích thước của chiều ma trận đó [8]. Module os Module os là một module có nhiều phương thức hữu ích trong việc làm việc với các tập tin và đường dẫn của chúng.path hỗ trợ các phương thức giúp thao tác nhanh chóng và thuận tiện hơn trên đường dẫn. Một số lệnh phổ biến của module os.path [9] Lệnh os.exists(path) kiếm tra một đường dẫn có tồn tại hay không Lệnh os.getfile(path) lấy kích thước tập tin (byte) Lệnh os.isfile(path) kiểm tra xem có phải là tập tin thông thường không Lệnh os.isdir(path) kiểm tra xem có phải là một thư mục Lệnh os.dirname(path) trả về tên thư mục của đường dẫn Lệnh os.getatime(path) trả về thời gian chỉnh sửa cuối cùng 2. 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, thư viện cho phép bạn mở một tấm ảnh đã có sẵn lên để thực hiện các thao tác khác như sao chép, chỉnh sửa,. với lệnh image.

Hiển thị ảnh, thao tác này chủ yếu được dùng cho mục đích 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, sử dụng 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ệnh img. 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ư 9 do an gương mặt, mắt, nụ cười, … Các tập này được lưu dưới dạng các file xml, người dùng có thể tự tạo các file này nếu muốn nhận diện các vật khác như xe cộ, điện thoại. Phát hiện đối tượng bằng cách sử dụ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ả được đề xuất bởi Paul Viola và Michael Jones.

Phương pháp này phát hiện đối tượng nhanh. Đây là một cách tiếp cận dựa trên máy học, được huấn luyện từ rất nhiều hình ảnh tích cực và tiêu cực. Sau đó, nó được sử dụng để phát hiện các đối tượng trong các hình ảnh khác. Ban đầu, thuật toán cần rất nhiều hình ảnh tích cực (hình ảnh khuôn mặt) và hình ảnh tiêu cực (hình ảnh không có khuôn mặt) để huấn luyện bộ phân loại.

Sau đó, chúng ta cần trích xuất các đặc trưng từ nó. Với việc này, các đặc trưng Haar hiển thị trong hình 2.2 dưới đây được sử dụng.2: Các dạng đặc trưng Haar [11] Mỗi tính năng là một giá trị duy nhất thu được bằng cách trừ tổng số pixel dưới hình chữ nhật màu đen với tổng số pixel dưới hình chữ nhật màu trắng, và chỉ với một cửa sổ 24x24 cũng cho kết quả hơn 160000 tính năng. Đối với mỗi tính toán đặc trưng, cần tìm tổng số pixel dưới hình chữ nhật trắng và đen. Để giải quyết điều này, họ đã giới thiệu hình ảnh tích hợp, cho dù hình ảnh của bạn lớn thế nào, việc tính toán cho một pixel nhất định trở thành một thao tác chỉ liên quan đến 4 pixel, phương thức mới này làm cho mọi thứ trở nên siêu nhanh.

10 do an Hình 2.3: Ví dụ trích xuất đặc trưng Haar [11] Nhưng trong số tất cả các đặc trưng được tính toán, hầu hết chúng không liên quan.3 thể hiện kết quả việc trích xuất đặc trưng và hàng trên cùng cho thấy hai đặc trưng tốt. Đặc điểm đầu tiên được chọn dường như tập trung vào đặc tính là vùng mắt thường tối hơn vùng mũi và má. Đặc điểm thứ hai được lựa chọn dựa vào đặc tính là mắt tối hơn sống mũi.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Bài viết "Mô Hình Ngôi Nhà Thông Minh Trên Home Assistant Kết Hợp Xử Lý Ảnh" giới thiệu về việc xây dựng một ngôi nhà thông minh sử dụng nền tảng Home Assistant, kết hợp với công nghệ xử lý ảnh để nâng cao khả năng tự động hóa và giám sát. Các điểm chính của bài viết bao gồm cách thức tích hợp các thiết bị thông minh, ứng dụng của xử lý ảnh trong việc nhận diện và phản hồi với môi trường xung quanh, cũng như lợi ích của việc tối ưu hóa trải nghiệm người dùng thông qua các tính năng thông minh.

Độc giả sẽ tìm thấy nhiều thông tin hữu ích từ bài viết này, giúp họ hiểu rõ hơn về cách thức hoạt động của ngôi nhà thông minh và những công nghệ tiên tiến có thể áp dụng. Để mở rộng kiến thức, bạn có thể tham khảo thêm các tài liệu liên quan như Đồ án hcmute thiết kế và chế tạo thiết bị trung tâm điều khiển nhà thông minh, nơi cung cấp cái nhìn sâu sắc về thiết kế hệ thống điều khiển. Ngoài ra, bài viết Luận văn thạc sĩ nghiên cứu xây dựng ứng dụng trên nền tảng node red phục vụ nhà thông minh sẽ giúp bạn hiểu rõ hơn về ứng dụng Node-RED trong ngôi nhà thông minh. Cuối cùng, bạn có thể tìm hiểu thêm về Đồ án hcmute giám sát và diều khiển nhà thông minh bằng giọng nói, một phương pháp thú vị để tương tác với ngôi nhà thông minh của bạn. Những tài liệu này sẽ giúp bạn có cái nhìn toàn diện hơn về lĩnh vực nhà thông minh và các công nghệ liên quan.