Đồ án giám sát và điều khiển thiết bị trong nhà bằng giọng nói qua internet

Đồ án giám sát và điều khiển thiết bị nhà thông minh bằng giọng nói qua internet. Tìm hiểu giải pháp IoT tiện lợi, dễ dàng quản lý thiết bị từ xa.

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2022

99
1
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CẢM ƠN

TÓM TẮT

CÁC TỪ VIẾT TẮT

LỜI MỞ ĐẦU

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

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

2.1. TỔNG QUAN VỀ ARDUINO

2.1.1. Phần cứng arduino

2.1.2. Phần mềm lập trình arduino IDE

2.2. MODULE CẢM BIẾN KHÍ GA MQ2

2.3. MODULE CẢM BIẾN CHUYỂN ĐỘNG PIR HC – SR501

2.4. MODULE WIFI ESP8266 NODEMCU

2.5. MODULE CẢM BIẾN NHIỆT ĐỘ - ĐỘ ẨM DHT11

2.6. BÀN PHÍM MA TRẬN 4X4

2.7. MÀN HÌNH LCD 1602

2.8. LÝ THUYẾT CHUẨN GIAO TIẾP UART

2.9. LÝ THUYẾT CHUẨN GIAO TIẾP ONE-WIRE

3. CHƯƠNG 3: TÍNH TOÁN THIẾT KẾ

3.1. TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG

3.1.1. Thiết kế sơ đồ khối hệ thống

3.1.2. Tính toán và thiết kế mạch

3.2. THIẾT KẾ KHỐI CẢM BIẾN

3.3. THIẾT KẾ KHỐI XỬ LÍ TRUNG TÂM

3.4. THIẾT KẾ KHỐI RELAY ĐIỀU KHIỂN THIẾT BỊ

3.5. KHỐI TRUYỀN DỮ LIỆU

3.6. THIẾT KẾ KHỐI HIỂN THỊ TRÊN LCD

3.7. THIẾT KẾ KHỐI NGUỒN

3.8. SƠ ĐỒ NGUYÊN LÝ CỦA TOÀN MẠCH

3.9. LẬP TRÌNH HỆ THỐNG

3.9.1. Lưu đồ giải thuật module NodeMCU

3.9.2. Lưu đồ giải thuật module Adruino mega 2560

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

4.1. Mô hình hệ thống

4.2. Giao diện phần mềm hệ thống

4.3. Hiển thị thông báo trên LCD

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

5.1. HƯỚNG PHÁT TRIỂN

Tóm tắt

I. Hướng dẫn toàn diện về điều khiển nhà thông minh bằng giọng nói

Công nghệ điều khiển nhà thông minh bằng giọng nói qua Internet đang định hình lại cách con người tương tác với không gian sống. Đây là một ứng dụng đột phá của Internet of Things (IoT), cho phép người dùng quản lý và vận hành các thiết bị điện tử trong nhà chỉ bằng các câu lệnh đơn giản. Thay vì phải thao tác thủ công qua công tắc hoặc ứng dụng di động, hệ thống cho phép bật/tắt đèn, quạt, điều hòa, và thậm chí giám sát an ninh một cách rảnh tay và hiệu quả. Nền tảng của hệ thống này là sự kết hợp giữa các vi điều khiển, cảm biến thông minh, và các nền tảng trợ lý ảo. Theo nghiên cứu của Phan Minh Phú tại Đại học Quản lý và Công nghệ Hải Phòng, một hệ thống điển hình bao gồm ba thành phần chính: khối thu thập dữ liệu (cảm biến), khối xử lý trung tâm (vi điều khiển như Arduino Mega 2560), và khối giao tiếp không dây (module WiFi như NodeMCU ESP8266). Dữ liệu từ các cảm biến như nhiệt độ, độ ẩm (DHT11), khí gas (MQ2), và chuyển động (PIR) được gửi đến bộ xử lý trung tâm. Tại đây, vi điều khiển phân tích thông tin và gửi tín hiệu điều khiển đến các thiết bị thực thi như relay. Đồng thời, toàn bộ dữ liệu trạng thái và thông số môi trường được đẩy lên Internet thông qua module WiFi, cho phép người dùng giám sát từ xa qua các ứng dụng như Blynk. Quá trình điều khiển bằng giọng nói được thực hiện nhờ sự tích hợp với các trợ lý ảo như Google Assistant. Khi người dùng ra lệnh, trợ lý ảo sẽ phân tích và gửi yêu cầu đến máy chủ của ứng dụng điều khiển, sau đó lệnh được chuyển tiếp đến hệ thống vi điều khiển tại nhà để thực thi. Mô hình này không chỉ mang lại sự tiện nghi mà còn nâng cao tính an toàn và giúp tiết kiệm năng lượng hiệu quả.

1.1. Internet of Things IoT và vai trò trong nhà thông minh

Internet of Things (IoT) là mạng lưới kết nối các thiết bị vật lý, phương tiện, và đồ dùng gia đình được tích hợp cảm biến, phần mềm và công nghệ kết nối mạng. Trong bối cảnh nhà thông minh, IoT đóng vai trò xương sống, cho phép các thiết bị giao tiếp và trao đổi dữ liệu với nhau và với người dùng qua Internet. Vai trò của IoT thể hiện ở khả năng thu thập dữ liệu môi trường theo thời gian thực (nhiệt độ, ánh sáng, chuyển động), tự động hóa các tác vụ (tự bật đèn khi có người, tự tắt điều hòa khi không có ai), và cho phép điều khiển từ xa. Một hệ thống nhà thông minh hoàn chỉnh dựa trên IoT giúp tối ưu hóa việc sử dụng năng lượng, tăng cường an ninh và mang lại sự tiện lợi tối đa. Các nền tảng như Blynk cung cấp một giao diện đồ họa thân thiện để người dùng tương tác với các thiết bị IoT của mình một cách dễ dàng.

1.2. Nguyên lý hoạt động cơ bản của hệ thống điều khiển giọng nói

Hệ thống điều khiển bằng giọng nói hoạt động dựa trên một chuỗi các bước xử lý phức tạp nhưng liền mạch. Đầu tiên, một thiết bị đầu cuối (như điện thoại thông minh hoặc loa thông minh) ghi nhận câu lệnh của người dùng. Giọng nói này được chuyển thành dữ liệu số và gửi đến máy chủ của một trợ lý ảo (ví dụ: Google Assistant). Tại đây, công nghệ nhận dạng giọng nói (Speech-to-Text) sẽ chuyển đổi âm thanh thành văn bản. Tiếp theo, công nghệ xử lý ngôn ngữ tự nhiên (NLP) phân tích ý nghĩa của câu lệnh để xác định hành động cần thực hiện và thiết bị đích. Sau khi xác định, lệnh được gửi qua Internet đến nền tảng điều khiển (như IFTTT hoặc máy chủ Blynk). Cuối cùng, nền tảng này gửi tín hiệu đến module WiFi (như NodeMCU) tại nhà, và vi điều khiển trung tâm sẽ thực thi lệnh, chẳng hạn như bật một chiếc đèn. Toàn bộ quá trình diễn ra chỉ trong vài giây, tạo ra trải nghiệm tương tác mượt mà và tự nhiên.

II. Top 3 thách thức khi điều khiển nhà thông minh bằng giọng nói

Mặc dù công nghệ điều khiển nhà thông minh bằng giọng nói qua Internet mang lại nhiều lợi ích, việc triển khai và vận hành vẫn đối mặt với nhiều thách thức đáng kể. Thách thức lớn nhất là vấn đề bảo mật và quyền riêng tư. Các thiết bị IoT luôn kết nối Internet, tạo ra những lỗ hổng tiềm tàng cho các cuộc tấn công mạng. Dữ liệu giọng nói và thông tin về thói quen sinh hoạt của người dùng có thể bị thu thập và lạm dụng nếu hệ thống không được bảo vệ đúng cách. Một hacker có thể chiếm quyền điều khiển hệ thống, gây ra những phiền toái hoặc thậm chí là nguy hiểm cho gia chủ. Thách thức thứ hai là độ tin cậy và tính ổn định của kết nối mạng. Toàn bộ hệ thống phụ thuộc vào kết nối WiFi. Nếu mạng Internet bị gián đoạn hoặc không ổn định, việc điều khiển từ xa và các tính năng tự động hóa sẽ ngừng hoạt động. Điều này đòi hỏi một hạ tầng mạng mạnh mẽ và các giải pháp dự phòng khi mất kết nối. Đồ án của Phan Minh Phú cũng chỉ ra rằng hệ thống chỉ kết nối qua WiFi, đây là một giới hạn cần được cải thiện trong tương lai. Thách thức thứ ba liên quan đến tính tương thích và sự phức tạp trong tích hợp. Thị trường thiết bị thông minh hiện nay rất đa dạng với nhiều nhà sản xuất và giao thức khác nhau. Việc kết hợp các thiết bị từ các hãng khác nhau vào một hệ thống thống nhất thường rất phức tạp. Người dùng cần có kiến thức kỹ thuật nhất định để cấu hình các thành phần như Arduino, NodeMCU, và các nền tảng phần mềm như Blynk hay IFTTT. Vấn đề nhận diện giọng nói chính xác, đặc biệt với các ngôn ngữ và giọng địa phương khác nhau, cũng là một rào cản kỹ thuật cần được liên tục cải tiến để mang lại trải nghiệm người dùng tốt nhất.

2.1. Vấn đề bảo mật và quyền riêng tư trong các hệ thống IoT

An ninh mạng là mối quan tâm hàng đầu trong các hệ thống nhà thông minh. Mỗi thiết bị kết nối, từ cảm biến đến bộ điều khiển, đều là một điểm có thể bị tấn công. Các rủi ro bao gồm việc nghe lén các cuộc trò chuyện qua micro của trợ lý ảo, truy cập trái phép vào camera an ninh, hoặc chiếm quyền điều khiển các thiết bị điện. Để giảm thiểu rủi ro, cần áp dụng các biện pháp bảo mật nhiều lớp: mã hóa dữ liệu truyền tải, sử dụng mật khẩu mạnh và xác thực hai yếu tố, thường xuyên cập nhật firmware cho thiết bị để vá các lỗ hổng bảo mật. Nghiên cứu cũng nhấn mạnh rằng các mô hình thử nghiệm thường chưa tập trung sâu vào các giải pháp bảo mật nâng cao như nhận diện vân tay hay khuôn mặt, đây là một hướng phát triển quan trọng.

2.2. Sự phụ thuộc vào kết nối Internet và độ trễ hệ thống

Hoạt động của hệ thống điều khiển bằng giọng nói qua Internet phụ thuộc hoàn toàn vào đường truyền mạng. Mọi sự cố về mạng, dù là từ nhà cung cấp dịch vụ hay do nhiễu sóng WiFi, đều có thể làm tê liệt hệ thống. Ngoài ra, độ trễ (latency) là một yếu tố ảnh hưởng trực tiếp đến trải nghiệm người dùng. Thời gian từ khi ra lệnh đến khi thiết bị phản hồi bao gồm nhiều bước: truyền giọng nói lên đám mây, xử lý, và gửi lệnh trở về. Độ trễ cao sẽ gây cảm giác khó chịu và làm giảm tính hữu dụng của hệ thống. Do đó, việc tối ưu hóa mạng nội bộ và lựa chọn các dịch vụ đám mây có máy chủ gần khu vực địa lý là rất cần thiết để đảm bảo hệ thống hoạt động ổn định và phản hồi nhanh chóng.

III. Cách thiết kế phần cứng cho nhà thông minh với Arduino NodeMCU

Để xây dựng một hệ thống điều khiển nhà thông minh bằng giọng nói qua Internet hiệu quả, việc lựa chọn và thiết kế phần cứng là bước nền tảng. Theo mô hình được trình bày trong đồ án tốt nghiệp, kiến trúc phần cứng được chia thành các khối chức năng rõ ràng để đảm bảo tính module và dễ dàng mở rộng. Khối xử lý trung tâm là trái tim của hệ thống, sử dụng Arduino Mega 2560. Bo mạch này được chọn vì có số lượng chân I/O (Input/Output) lớn (54 chân digital, 16 chân analog), bộ nhớ flash 256KB và 4 cổng giao tiếp nối tiếp (UART), đủ khả năng quản lý đồng thời nhiều cảm biến và thiết bị ngoại vi. Khối giao tiếp và kết nối Internet được đảm nhiệm bởi module WiFi ESP8266 NodeMCU. Module này hoạt động như một cầu nối, nhận lệnh từ Internet (thông qua ứng dụng Blynk hoặc Google Assistant) và truyền đến Arduino qua giao thức UART. Ngược lại, nó cũng gửi dữ liệu trạng thái từ Arduino lên máy chủ đám mây. Khối cảm biến có nhiệm vụ thu thập thông tin môi trường. Mô hình sử dụng các cảm biến phổ biến như DHT11 để đo nhiệt độ và độ ẩm, MQ2 để phát hiện rò rỉ khí gas, cảm biến chuyển động PIR HC-SR501 để nhận diện sự hiện diện của người, và quang trở để đo cường độ ánh sáng. Dữ liệu từ các cảm biến này là đầu vào quan trọng cho các kịch bản tự động hóa. Cuối cùng, khối chấp hành bao gồm các module relay 8 kênh để đóng/ngắt các thiết bị điện công suất lớn (đèn, quạt) và động cơ servo để điều khiển các cơ cấu cơ khí như đóng/mở cửa. Toàn bộ hệ thống được cấp nguồn bởi một bộ nguồn xung 12V-5A và được ổn áp xuống 5V bằng IC LM2596 để cung cấp cho các bo mạch và module.

3.1. Lựa chọn vi điều khiển trung tâm Arduino Mega 2560

Arduino Mega 2560 là lựa chọn lý tưởng cho các dự án nhà thông minh quy mô vừa và nhỏ. Ưu điểm lớn nhất của nó là số lượng chân I/O dồi dào, cho phép kết nối đồng thời với hàng chục cảm biến và cơ cấu chấp hành mà không cần các mạch mở rộng phức tạp. Với 4 cổng UART phần cứng, Arduino Mega có thể giao tiếp cùng lúc với nhiều thiết bị khác nhau như NodeMCU, module SIM, hoặc máy tính một cách ổn định. Bộ nhớ Flash 256KB cung cấp không gian đủ lớn cho các chương trình điều khiển phức tạp, bao gồm cả logic xử lý dữ liệu cảm biến và các giao thức giao tiếp. Cộng đồng hỗ trợ lớn và thư viện mã nguồn mở phong phú cũng giúp việc lập trình và gỡ lỗi trở nên dễ dàng hơn.

3.2. Module kết nối WiFi NodeMCU và vai trò cầu nối Internet

NodeMCU ESP8266 là một vi điều khiển tích hợp sẵn WiFi, đóng vai trò then chốt trong việc đưa hệ thống nhà thông minh lên mạng. Chức năng chính của nó là nhận dữ liệu điều khiển từ các nền tảng đám mây như Blynk và chuyển tiếp đến Arduino Mega 2560 qua giao tiếp nối tiếp (UART). Đồng thời, nó thu thập dữ liệu từ Arduino (thông số cảm biến, trạng thái thiết bị) và đẩy lên Internet để người dùng có thể giám sát từ xa. Với khả năng lập trình độc lập và chi phí thấp, NodeMCU là giải pháp cực kỳ hiệu quả cho các ứng dụng IoT, giúp đơn giản hóa việc kết nối và giảm tải xử lý mạng cho vi điều khiển chính.

3.3. Tích hợp các module cảm biến và thiết bị chấp hành

Để hệ thống trở nên "thông minh", việc tích hợp các module cảm biến là không thể thiếu. Cảm biến nhiệt độ-độ ẩm DHT11 cung cấp dữ liệu để tự động điều khiển điều hòa. Cảm biến khí gas MQ2 gửi cảnh báo khi phát hiện rò rỉ gas, tăng cường an toàn. Cảm biến chuyển động PIR được dùng để tự động bật/tắt đèn trong các khu vực như hành lang, nhà vệ sinh, giúp tiết kiệm điện. Các tín hiệu từ cảm biến được Arduino xử lý. Dựa trên logic được lập trình sẵn, Arduino sẽ gửi tín hiệu kích hoạt đến khối chấp hành. Module Relay hoạt động như những công tắc điện tử, cho phép vi điều khiển 5V có thể đóng/ngắt an toàn các thiết bị dùng điện 220V. Sự kết hợp này tạo ra một vòng lặp hoàn chỉnh: thu thập dữ liệu, xử lý và hành động.

IV. Bí quyết tích hợp Google Assistant và Blynk để điều khiển giọng nói

Để hiện thực hóa tính năng điều khiển nhà thông minh bằng giọng nói qua Internet, việc tích hợp phần mềm và các nền tảng dịch vụ là bước quyết định. Giải pháp được đề xuất trong nghiên cứu sử dụng một chuỗi kết nối thông minh giữa Google Assistant, IFTTT, Webhooks và Blynk. Blynk là một nền tảng IoT cho phép người dùng nhanh chóng tạo ra giao diện điều khiển trên điện thoại thông minh. Người dùng có thể kéo-thả các widget như nút bấm, thanh trượt, biểu đồ để tương tác với phần cứng (NodeMCUArduino) mà không cần viết ứng dụng di động phức tạp. Mỗi widget trên Blynk được liên kết với một chân ảo (Virtual Pin). Khi người dùng nhấn nút trên app, Blynk sẽ gửi giá trị tương ứng đến phần cứng. Để kết nối Google Assistant với Blynk, cần một dịch vụ trung gian là IFTTT (If This Then That). IFTTT là một nền tảng tự động hóa cho phép tạo các "applet" liên kết các dịch vụ khác nhau. Trong trường hợp này, "This" là một câu lệnh giọng nói được nhận dạng bởi Google Assistant (ví dụ: "Hey Google, turn on the living room light"). "That" là một hành động được thực hiện bởi dịch vụ Webhooks. Webhooks sẽ gửi một yêu cầu HTTP (API call) đến máy chủ của Blynk. Yêu cầu này chứa thông tin về chân ảo cần thay đổi trạng thái và mã xác thực (Auth Token) của dự án. Khi máy chủ Blynk nhận được yêu cầu này, nó sẽ cập nhật giá trị của chân ảo tương ứng, và tín hiệu này ngay lập tức được gửi đến NodeMCU, từ đó kích hoạt relay để bật đèn. Quy trình này tạo ra một luồng dữ liệu liền mạch từ giọng nói của người dùng đến hành động vật lý của thiết bị, biến ngôi nhà trở thành một thực thể có khả năng lắng nghe và phản hồi.

4.1. Sử dụng ứng dụng Blynk để giám sát và điều khiển từ xa

Ứng dụng Blynk đóng vai trò là giao diện trung tâm để người dùng tương tác với hệ thống nhà thông minh. Điểm mạnh của Blynk là sự đơn giản và linh hoạt. Người dùng có thể thiết kế một bảng điều khiển tùy chỉnh trong vài phút, hiển thị dữ liệu từ các cảm biến (nhiệt độ, độ ẩm) dưới dạng biểu đồ hoặc đồng hồ đo, đồng thời tạo các nút bấm để điều khiển bật/tắt thiết bị. Blynk cung cấp thư viện cho các bo mạch phổ biến như ArduinoNodeMCU, giúp việc lập trình kết nối trở nên cực kỳ đơn giản. Chỉ cần kết nối thiết bị với mạng WiFi và cung cấp mã xác thực, hệ thống đã sẵn sàng để được giám sát và điều khiển từ bất kỳ đâu trên thế giới có Internet.

4.2. Cấu hình IFTTT và Webhooks làm cầu nối cho Google Assistant

Để Google Assistant có thể "nói chuyện" với Blynk, IFTTT và Webhooks là những công cụ không thể thiếu. Trên IFTTT, người dùng tạo một applet mới. Phần kích hoạt (If This) chọn dịch vụ Google Assistant và định nghĩa các câu lệnh giọng nói mong muốn. Phần hành động (Then That) chọn dịch vụ Webhooks. Trong cấu hình Webhooks, người dùng cần cung cấp URL của API Blynk, có dạng http://blynk-cloud.com/[AuthToken]/update/[VirtualPin]. Phương thức được chọn là PUT, và phần thân (Body) sẽ chứa giá trị cần gửi (ví dụ ["1"] để bật và ["0"] để tắt). Mỗi thiết bị cần điều khiển sẽ tương ứng với một applet trên IFTTT. Sự kết hợp này biến những câu lệnh tự nhiên thành các lệnh API chuẩn hóa, cho phép tích hợp liền mạch giữa hai nền tảng.

V. Ứng dụng thực tiễn Mô hình nhà thông minh điều khiển bằng giọng nói

Kết quả thực tiễn từ đồ án "Giám sát và điều khiển thiết bị trong nhà bằng giọng nói qua Internet" đã chứng minh tính khả thi và hiệu quả của hệ thống. Mô hình được xây dựng không chỉ là một khái niệm lý thuyết mà đã được hiện thực hóa thành một sản phẩm vật lý, mô phỏng một ngôi nhà thu nhỏ với đầy đủ các chức năng. Hệ thống cho phép người dùng điều khiển 8 thiết bị điện độc lập, bao gồm đèn và quạt, thông qua ba phương thức: trực tiếp bằng công tắc, từ xa qua ứng dụng Blynk trên điện thoại, và tiện lợi nhất là bằng các câu lệnh giọng nói qua Google Assistant. Quá trình thử nghiệm cho thấy hệ thống hoạt động ổn định, các lệnh điều khiển được thực thi gần như tức thời với độ trễ thấp. Giao diện trên ứng dụng Blynk hiển thị trực quan và chính xác các thông số môi trường thu thập từ cảm biến DHT11MQ2. Đặc biệt, các kịch bản tự động hóa cũng hoạt động hiệu quả. Ví dụ, đèn hành lang tự động bật sáng khi cảm biến chuyển động PIR phát hiện có người và tự động tắt sau một khoảng thời gian cài đặt sẵn, giúp tiết kiệm năng lượng. Hệ thống cũng có khả năng gửi cảnh báo qua email và thông báo trên ứng dụng khi phát hiện nồng độ khí gas vượt ngưỡng an toàn hoặc nhiệt độ quá cao, góp phần nâng cao an ninh và an toàn cho ngôi nhà. Thành công của mô hình này cho thấy việc tự xây dựng một hệ thống nhà thông minh với chi phí hợp lý là hoàn toàn có thể, mở ra tiềm năng ứng dụng rộng rãi trong đời sống thực tế, từ các căn hộ gia đình đến các văn phòng nhỏ.

5.1. Đánh giá hiệu suất và độ ổn định của mô hình thực tế

Trong quá trình vận hành thử nghiệm, mô hình cho thấy hiệu suất đáng tin cậy. Tốc độ phản hồi của hệ thống khi điều khiển bằng giọng nói hoặc qua ứng dụng Blynk rất nhanh, gần như không có độ trễ cảm nhận được. Các cảm biến cung cấp dữ liệu ổn định và chính xác, cho phép các chức năng tự động hóa và cảnh báo hoạt động đúng như thiết kế. Module Relay đóng/ngắt thiết bị một cách dứt khoát. Sự kết hợp giữa Arduino MegaNodeMCU qua giao thức UART chứng tỏ được sự ổn định, không xảy ra hiện tượng mất dữ liệu trong quá trình truyền nhận. Hệ thống có thể hoạt động liên tục trong thời gian dài mà không gặp sự cố, chứng tỏ thiết kế phần cứng và phần mềm đã được tối ưu tốt.

5.2. Các kịch bản tự động hóa và tính năng cảnh báo thông minh

Điểm nổi bật của hệ thống không chỉ nằm ở khả năng điều khiển mà còn ở tính năng tự động và cảnh báo. Dựa trên dữ liệu từ quang trở, hệ thống có thể tự động bật đèn sân vườn khi trời tối. Dựa vào cảm biến PIR, đèn nhà kho hoặc nhà vệ sinh chỉ sáng khi cần thiết. Quan trọng hơn, tính năng an toàn được đề cao. Khi cảm biến MQ2 phát hiện nồng độ khí gas tăng đột ngột, hệ thống không chỉ hiển thị cảnh báo trên Blynk mà còn được lập trình để có thể tự động kích hoạt quạt thông gió và gửi thông báo khẩn cấp đến điện thoại người dùng. Những kịch bản này biến ngôi nhà từ bị động thành chủ động trong việc bảo vệ an toàn và tối ưu hóa tiện ích cho người sử dụng.

VI. Hướng phát triển cho hệ thống nhà thông minh điều khiển bằng giọng nói

Mô hình điều khiển nhà thông minh bằng giọng nói qua Internet được trình bày trong nghiên cứu là một nền tảng vững chắc nhưng vẫn còn nhiều tiềm năng để phát triển và hoàn thiện. Một trong những hướng đi quan trọng nhất là cải thiện vấn đề bảo mật. Các phiên bản tương lai cần tích hợp các phương thức xác thực mạnh hơn như nhận diện khuôn mặt hoặc vân tay để cấp quyền truy cập hệ thống, thay vì chỉ dựa vào mật khẩu trên ứng dụng. Việc mã hóa toàn diện dữ liệu từ cảm biến đến máy chủ và ngược lại cũng cần được chú trọng để chống lại các cuộc tấn công nghe lén. Hướng phát triển thứ hai là mở rộng khả năng kết nối và tăng tính dự phòng. Thay vì chỉ phụ thuộc vào WiFi, hệ thống có thể được trang bị thêm các module kết nối khác như 4G/5G hoặc các giao thức sóng radio tầm gần như Zigbee, Z-Wave. Điều này đảm bảo hệ thống vẫn có thể hoạt động ngay cả khi mạng Internet chính bị gián đoạn. Hơn nữa, việc xây dựng một hệ thống điều khiển cục bộ (local control) cho phép các thiết bị vẫn giao tiếp với nhau trong mạng LAN mà không cần kết nối Internet, giúp giảm độ trễ và tăng độ tin cậy. Cuối cùng, việc tích hợp trí tuệ nhân tạo (AI) và học máy (Machine Learning) sẽ đưa hệ thống lên một tầm cao mới. Hệ thống có thể học hỏi thói quen sinh hoạt của người dùng để tự động điều chỉnh ánh sáng, nhiệt độ theo thời gian trong ngày, hoặc đề xuất các kịch bản tiết kiệm năng lượng. Thay vì chỉ phản ứng với các lệnh trực tiếp, ngôi nhà thông minh trong tương lai sẽ có khả năng dự đoán và chủ động đáp ứng nhu cầu của gia chủ, tạo ra một không gian sống thực sự thông minh và cá nhân hóa.

6.1. Tích hợp trí tuệ nhân tạo AI để học hỏi thói quen người dùng

Tương lai của nhà thông minh nằm ở khả năng tự học và thích ứng. Bằng cách tích hợp các thuật toán học máy, hệ thống có thể phân tích dữ liệu lịch sử về việc sử dụng thiết bị, thời gian có mặt ở nhà, và các điều kiện môi trường. Từ đó, nó có thể tự động tạo ra các kịch bản tối ưu. Ví dụ, hệ thống có thể biết rằng vào 7 giờ tối ngày thường, người dùng hay xem TV trong phòng khách và tự động điều chỉnh ánh sáng và nhiệt độ phù hợp. Việc này không chỉ tăng cường sự tiện nghi mà còn giúp tiết kiệm năng lượng một cách thông minh mà không cần sự can thiệp của con người.

6.2. Mở rộng hệ thống với các giao thức kết nối mới như Zigbee Z Wave

Để xây dựng một hệ sinh thái nhà thông minh toàn diện và ổn định hơn, việc chỉ dựa vào WiFi là chưa đủ. Các giao thức như ZigbeeZ-Wave được thiết kế chuyên dụng cho các mạng lưới thiết bị IoT công suất thấp. Chúng tạo ra một mạng lưới riêng (mesh network) giúp các thiết bị có thể giao tiếp với nhau mà không cần kết nối trực tiếp đến router WiFi. Điều này giúp giảm tải cho mạng WiFi chính, tăng độ tin cậy và mở rộng phạm vi phủ sóng. Việc tích hợp một bộ trung tâm (hub) hỗ trợ đa giao thức sẽ cho phép hệ thống kết nối và điều khiển một cách thống nhất hàng trăm thiết bị từ nhiều nhà sản xuất khác nhau.

22/09/2025

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

Đặt vấn đề, dẫn nhập lý do chọn đề tài, trình bày mục tiêu, nội dung nghiên cứu, các giới hạn thông số và bố cục đồ án. • Chương 2: Cơ sở lý thuyết Trình bày về các lý thuyết có liên quan về việc lập trình cho hệ thống, các linh kiện, phần cứng sử dụng để thực hiện đề tài. • Chương 3: Tính toán và thiết kế Trình bày về thiết kế và các tính toán xây dựng hệ thống như thiết kế sơ đồ khối hệ thống, sơ đồ nguyên lý toàn mạch, tính toán thiết kế mạch, tiến hành xây dựng hệ thống thực tế, kiểm tra và tinh chỉnh. • Chương 4: Kết quả thực hiện Trình bày về những kết quả mà em đã đạt được sau khi thực hiện đề tài, về hệ thống mà em thực hiện, đánh giá mức độ hoàn thiện, sự vận hành của hệ thống.

• Chương 5: Kết luận và hướng phát triển Trình bày về những kết quả mà em đã đạt được sau khi thực hiện đề tài, những hạn chế, từ đó rút ra kết luận và hướng phát triển để giải quyết các vấn đề còn tồn đọng để đồ án hoàn thiện hơn GVHD TS: Đoàn Hữu Chức SVTH: Phan Minh Phú DC2201 CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 TỔNG QUAN VỀ ARDUINO Hình 2. Các loại Board Arduino 2. Giới thiệu Arduino là một bo mạch vi xử lý được dùng để lập trình, tương tác với các thiết bị phần cứng như: cảm biến, động cơ, đèn hoặc các thiết bị khác. Đặc điểm nổi bật của arduino là môi trường phát triển ứng dụng rất dễ sử dụng, với ngôn ngữ lập trình có thể học một cách nhanh chóng ngay cả với người ít am hiểu về điện tử và lập trình cũng có thể sử dụng một cách dễ dàng.

Arduino có mức giá thấp, phù hợp với nhu cầu người dùng, có tính chất nguồn mở và cộng đồng người dùng đông đảo. Với lợi thế đến từ giá thành cũng như lợi thế về cộng đồng người dùng, arduino đang ngày càng trở nên phổ biến hơn, người dùng arduino trải rộng từ học sinh phổ thông đến sinh viên đại học. Board mạch arduino được sử dụng để thực hiện nhiều ứng dụng như: điều khiển robot, điều khiển và giám sát nhiệt độ độ ẩm phòng thí nghiệm, điều khiển xe mô hình. GVHD TS: Đoàn Hữu Chức SVTH: Phan Minh Phú DC2201 2.

Phần cứng arduino Phần cứng arduino bao gồm một board mạch nguồn mở được thiết kế trên nền tảng là vi xử lý AVR Atmel 8-bit, hoặc ARM Atmel 32-bit. Board arduino sẽ đưa ra hầu hết các chân I/O của vi điều khiển để sử dụng cho những mạch ngoài. Những mẫu hiện tại thường được trang bị gồm 1 cổng giao tiếp USB, nhiều chân đầu vào analog và chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác nhau. Điều này giúp người dùng dễ dàng lập trình và có thể mở rộng với các mạch khác, các module thêm vào có thể dễ dàng chuyển đổi, được gọi là shield.

Một số shield kết nối với board arduino trực tiếp thông qua các chân khác nhau, ngoài ra còn một số shield được định địa chỉ thông qua serial bus I2C, người dùng có thể kết nối nhiều shield với arduino dưới dạng song song. Arduino thường sử dụng các dòng chip MegaAVR, đặc biệt là ATMega8, ATMega168, ATMega328, ATMega1280, và ATMega2560. Theo nguyên tắc, khi sử dụng phần mềm arduino, tất cả các board được lập trình thông qua một kết nối RS-232, nhưng cách thức thực hiện lại tùy thuộc vào đời phần cứng. Các board serial arduino có chứa một mạch chuyển đổi giữa RS-232 sang TTL.

Các board arduino hiện tại được lập trình thông qua cổng USB, thực hiện thông qua chip chuyển đổi USB-to-serial như là FTDI FT232. Arduino mega 2560 Arduino mega 2560 sử dụng chip ATmega2560, có 54 chân digital I/O (trong đó có 15 chân điều chế độ rộng xung PWM), 16 chân đầu vào tương tự (Analog Inputs), 4 cổng UARTs (cổng nối tiếp phần cứng), một thạch anh dao động 16 MHz, kết nối USB, một jack cắm điện để cấp nguồn, một đầu ICSP và một nút reset. Arduino mega 2560 chứa tất cả mọi thứ cần thiết để hỗ trợ các vi điều khiển, người dùng chỉ đơn giản là kết nối nó với một máy tính bằng cáp USB hoặc với một bộ chuyển đổi điện AC-DC hoặc có thể sử dụng pin. Board có khả năng tự động reset nhờ phần mềm thay vì đòi hỏi phải ấn nút reset trước khi tải lên.

Phần mềm arduino sử dụng khả năng này để cho phép nạp code lên chỉ GVHD TS: Đoàn Hữu Chức SVTH: Phan Minh Phú DC2201 cần nhấn vào nút Upload trong Arduino IDE. Điều này có nghĩa rằng bộ nạp khởi động có thể có một thời gian chờ ngắn hơn. Arduino mega 2560 có thể bảo vệ cổng USB của máy tính khi xảy ra hiện tượng quá dòng. Mặc dù hầu hết các máy tính đều có khả năng bảo vệ nội bộ, các cầu chì còn giúp tạo ra thêm một lớp bảo vệ.

Nếu dòng cao hơn 500mA được áp dụng cho các cổng USB, cầu chì sẽ tự động phá vỡ các kết nối cho đến khi ngắt hoặc hiện tượng quá tải được khắc phục. Thông số kỹ thuật arduino mega 2560 [1]: − Chip vi điều khiển: ATmega2560. − Điện áp cấp nguồn: 5V. − Điện áp đầu vào (kiến nghị): 7-12V.

− Điện áp đầu vào (giới hạn): 6-20V. − Số chân Digital I/O: 54 (có 15 chân điều chế độ rộng xung PWM). − Số chân Analog (Input): 16. − Dòng DC trên chân I/O: 40 mA.

− Dòng DC cho chân 3. − Flash Memory: 256KB trong đó có 8KB được sử dụng bởi bộ nạp khởi động (bootloader). − Xung nhịp: 16 MH. − Chiều dài: 101,52 mm.

− Chiều rộng: 53,3 mm. − Sơ đồ các khối kết nối của arduino mega 2560 Trong hình 2.2 Bên dưới là hình ảnh sơ đồ các khối kết nối trên Arduino mega 2560: GVHD TS: Đoàn Hữu Chức SVTH: Phan Minh Phú DC2201 Hình 2. Vị trí các khối kết nối trên arduino mega 2560 USB (1): Arduino mega 2560 sử dụng cáp USB để giao tiếp với máy tính. Bằng việc sử dụng cáp USB, người dùng có thể upload chương trình cho arduino hoạt động, ngoài ra USB còn có thể dùng làm nguồn cho arduino.

Nguồn (2 và 3): Khi không sử dụng USB làm nguồn thì người dùng có thể sử dụng nguồn ngoài thông qua jack cắm 2.1mm (cực dương ở giữa) hoặc có thể sử dụng 2 chân Vin và GND để cấp nguồn cho arduino. Bo mạch hoạt động với nguồn ngoài ở điện áp từ 5 – 20 Volt. Người dùng có thể cấp một áp lớn hơn tuy nhiên chân 5V sẽ có mức điện áp lớn hơn 5 Volt. Và nếu sử dụng nguồn lớn hơn 12 Volt thì sẽ có hiện tượng nóng và dễ dẫn đến làm hỏng bo mạch.

Chân 5V và chân 3.3V (Output voltage): các chân này dùng để lấy nguồn ra từ nguồn mà chúng ta đã cung cấp cho arduino để cấp cho các thiết bị giao tiếp khác. Lưu ý: không được cấp nguồn vào các chân này vì sẽ làm hỏng arduino. Ngõ vào tương tự (4): Arduino mega 2560 có 16 ngõ vào tương tự (các chân từ A0 đến A15), mỗi ngõ vào này đều có độ phân giải 10 bit (1024 giá trị). Mặc định đo từ 0 đến 5V, có thể thiết GVHD TS: Đoàn Hữu Chức SVTH: Phan Minh Phú DC2201 lập giá trị bằng cách điều chỉnh chân AREF và sử dụng hàm Analog Referency() để chuyển đổi.

Ngõ vào số (5 và 6): Mỗi một chân trong 54 chân số của board đều có thể sử dụng như một ngõ vào hoặc ngõ ra. Mỗi chân có thể cung cấp hoặc nhận được tối đa 40 mA và có một điện trở kéo lên bên trong 20-50 kOhms. Ngoài ra, một số chân có chức năng đặc biệt: − Serial: để truyền và nhận dữ liệu nối tiếp. Gồm các chân: Serial 0: 0 (RX) và 1 (TX); Serial 1: 19 (RX) và 18 (TX); Serial 2: 17 (RX) và 16 (TX); Serial 3: 15 (RX) và 14 (TX).

− External Interrupt: Các chân này có thể được cấu hình để kích hoạt ngắt mức thấp, ngắt cạnh lên hoặc xuống. − PWM: Cung cấp ngõ ra PWM 8 bit. Gồm các chân từ chân 2 đến 13 và 44 đến 46. − SPI: Các chân này hỗ trợ giao tiếp SPI bằng cách sử dụng thư viện SPI.

− TWI: Hỗ trợ giao tiếp TWI bằng việc sử dụng thư viện WIRE. − Nút Retset (7): Đây là nút nhấn để người dùng có thể thiết lập lại vi điều khiển. Arduino uno r3 Arduino uno r3 là dòng mạch arduino phổ biến, với thiết kế tiêu chuẩn sử dụng vi điều khiển ATmega328 hoặc ATmega168 (bộ nhớ flash 16KB) đối với loại có giá thành thấp hơn. Arduino uno r3 sử dụng thạch anh có chu kì dao động là 16 MHz, có 14 pin (ngõ) ra/vào được đánh số từ 0 tới 13 trong đó có 6 pin PWM, ngoài ra còn có thêm 6 pin nhận tín hiệu analog được đánh kí hiệu từ A0 - A5, 6 pin này cũng có thể sử dụng được như các pin ra/vào bình thường.

GVHD TS: Đoàn Hữu Chức SVTH: Phan Minh Phú DC2201 Trên board arduino uno r3 còn có 1 nút reset, 1 ngõ kết nối với máy tính qua cổng USB và 1 ngõ cấp nguồn sử dụng jack 2.1mm lấy năng lượng trực tiếp từ ACDC adapter hay thông qua ắc-quy nguồn. Thông số kỹ thuật của arduino uno r3 [2]: − Vi điều khiển: ATmega328P. − Điện áp hoạt động: 5V. − Điện áp vào khuyên dùng: 7-12V.

− Điện áp vào giới hạn: 6-20V. − Chân PWM Ddigital I/O: 6. − Cường độ dòng điện trên mỗi chân I/O: 20 mA. − Cường độ dòng điện trên mỗi chân 3.

− Flash Memory: 32 KB (đối với ATmega328P). − SRAM: 2 KB (ATmega328P) − EEPROM: 1 KB (ATmega328P) − Tốc độ: 16 MHz Sơ đồ các khối kết nối của arduino uno r3: GVHD TS: Đoàn Hữu Chức SVTH: Phan Minh Phú DC2201 Hình 2.3 Vị trí các khối kết nối trên arduino uno r3 Các khối kết nối trên arduino uno r3 cũng có chức năng tương tự như trên arduino mega 2560 đã trình bày ở trên, bao gồm: 1. Ngõ vào số 2. Ngõ vào tương tự 4.

Nguồn vào và ra 5. Phần mềm lập trình arduino IDE Giao diện phần mềm lập trình arduino IDE bao gồm 3 phần chính như hình dưới đây: GVHD TS: Đoàn Hữu Chức SVTH: Phan Minh Phú DC2201 Hình 2.4 Giao diện phần mềm lập trình arduino IDE 1. Vùng lệnh: Bao gồm các nút lệnh (File, Edit, Sketch, Tools, Help). Phía dưới là các biểu tượng cho phép sử dụng nhanh các chức năng thường dùng.

Chức năng lần lượt của các biểu tượng được trình bày trong hình dưới đây: Hình 2.5 Chức năng các biểu tượng trong arduino IDE 2.

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