Bối cảnh và vấn đề nghiên cứu

Đồ án được thực hiện trong bối cảnh Internet of Things (IoT) phát triển mạnh mẽ, kéo theo nhu cầu ứng dụng công nghệ vào quản lý thiết bị điện trong nhà ở ngày càng tăng cao. Nhóm tác giả xác định xu hướng nhà thông minh (Smart Home) — điển hình là các hệ thống thương mại như Google Home, Samsung Things, Amazon Alexa — đang trở thành hướng phát triển tất yếu, trong khi mạng Internet băng thông rộng và công nghệ mạng di động ngày càng phổ cập tạo nền tảng hạ tầng thuận lợi. Từ bối cảnh đó, nhóm triển khai đề tài "Thiết kế hệ thống giám sát và điều khiển các thiết bị điện trong nhà" với mong muốn tiếp cận xu hướng điều khiển thông minh, đồng thời mang lại sự tiện lợi và an toàn cho người dùng trong thực tiễn.

Mục tiêu nghiên cứu: Thiết kế và thi công mô hình điều khiển các thiết bị điện trong nhà (đèn, quạt, cửa), giám sát các yếu tố môi trường (nhiệt độ, độ ẩm, khí gas) thông qua ứng dụng trên điện thoại có kết nối WiFi, với dữ liệu được gửi lên Firebase và giao tiếp với vi điều khiển ATmega 2560 cùng module ESP8266.

Nội dung nghiên cứu được chia thành bốn nhiệm vụ tuần tự:

  1. Nghiên cứu tổng quan về Arduino, các giao thức truyền dữ liệu, hệ điều hành Android và cơ sở dữ liệu Firebase.
  2. Tìm hiểu về Arduino Mega 2560, ESP8266 và các linh kiện cảm biến, thiết bị ngoại vi.
  3. Tính toán, thiết kế và thi công mạch, mô hình.
  4. Hoàn thiện, cân chỉnh hệ thống.

Phạm vi và giới hạn: Hệ thống sử dụng Arduino Mega 2560 làm bộ điều khiển ngoại vi trung tâm; mô hình nhà được xây dựng ở quy mô đơn giản; giao tiếp giữa Arduino Mega 2560, NodeMCU ESP8266, ứng dụng Android và Firebase. Đề tài được hoàn thành và nộp vào tháng 1 năm 2021, thuộc ngành Công nghệ Kỹ thuật Điện tử – Viễn thông, Khoa Đào tạo Chất lượng Cao, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh.


Cơ sở lý thuyết và phương pháp

Khung lý thuyết và công nghệ nền tảng

Đồ án xây dựng trên nền tảng lý thuyết IoT (Internet of Things) với mô hình gồm bốn thành phần: thiết bị tích hợp cảm biến, IoT Platform (nền tảng lưu trữ đám mây), kết nối Internet và ứng dụng điều khiển. Các khái niệm và công nghệ cốt lõi được hệ thống hóa bao gồm:

  • Chuẩn giao tiếp truyền dữ liệu: UART (bất đồng bộ, 1 dây truyền Tx và 1 dây nhận Rx, truyền theo khung gồm START bit – Data – Parity bit – STOP bit) và SPI (đồng bộ, Master–Slave, 4 dây: SCK, MOSI, MISO, SS; do Motorola đề xuất, hỗ trợ truyền song công).
  • Vi điều khiển trung tâm: Arduino Mega 2560 R3 (chip ATmega 2560, 54 chân số trong đó 15 chân PWM, 16 chân tương tự, Flash 256 KB, SRAM 8 KB, EEPROM 4 KB, xung clock 16 MHz, điện áp hoạt động 5V).
  • Module WiFi: NodeMCU ESP8266 tích hợp WiFi 2.4 GHz, giao thức TCP/IP, hỗ trợ lập trình C/C++ và Micropython.
  • Cơ sở dữ liệu: Google Firebase Realtime Database — cơ sở dữ liệu NoSQL lưu trữ đám mây, dữ liệu dạng JSON, đồng bộ thời gian thực đến mọi client kết nối, truyền qua kết nối SSL bảo mật 2048 bit, hỗ trợ ngoại tuyến (lưu cục bộ khi mất mạng và đồng bộ lại khi kết nối).
  • Nền tảng ứng dụng: Android (mã nguồn mở, nền tảng Linux); nhóm chọn phiên bản Android 5.0 Lollipop vì tương thích với phần lớn thiết bị Android hiện hành (hỗ trợ đến 94% thiết bị theo văn bản); lập trình bằng Android Studio với ngôn ngữ Java và Kotlin.
  • Công nghệ RFID: Module RFID RC522 sử dụng IC MFRC522 (NXP), tần số 13.56 MHz, dùng để nhận dạng và kiểm soát truy cập cửa trong mô hình.
  • Cảm biến: DHT11 (nhiệt độ, độ ẩm — giao tiếp 1 dây, trả về 5 byte dữ liệu gồm giá trị nguyên và thập phân của nhiệt độ, độ ẩm, và byte kiểm tra tổng); cảm biến quang trở (phát hiện ánh sáng dựa trên hiện tượng quang điện trong); cảm biến rung SW-1801P tích hợp IC LM393 (giám sát hoạt động quạt); cảm biến khí gas MQ2 (phát hiện khí gây cháy dựa trên chất bán dẫn SnO₂); cảm biến mưa (điện trở kết hợp IC LM393).

Phương pháp thực hiện

Đồ án sử dụng phương pháp thiết kế kỹ thuật và thi công thực nghiệm: phân tích yêu cầu, xây dựng sơ đồ khối, tính toán thông số điện (dòng áp các linh kiện), lập trình firmware cho Arduino và ESP8266 bằng C/C++ trên Arduino IDE, phát triển ứng dụng Android trên Android Studio, tích hợp hệ thống và kiểm thử thực nghiệm theo hai trường hợp sử dụng. Ngôn ngữ lập trình Arduino IDE là C/C++; lập trình ứng dụng Android dùng Java/Kotlin.


Thiết kế và triển khai

Kiến trúc tổng thể

Hệ thống được tổ chức theo sơ đồ khối gồm năm khối chức năng:

Khối Thành phần chính Vai trò
Khối xử lý trung tâm Arduino Mega 2560 (ATmega 2560) Điều phối toàn bộ hoạt động hệ thống
Khối cảm biến DHT11, MQ2, quang trở, cảm biến rung, cảm biến mưa, cảm biến vật cản hồng ngoại Thu thập thông số môi trường
Khối truyền dữ liệu NodeMCU ESP8266 Gửi/nhận dữ liệu qua Firebase qua WiFi 2.4 GHz
Khối giao tiếp và tải Module Relay 5V, module RFID RC522, động cơ Servo SG90 Điều khiển thiết bị điện, kiểm soát cửa
Khối hiển thị Màn hình LCD 20×4 Hiển thị thông số tại chỗ

Giao tiếp giữa Arduino Mega 2560 và NodeMCU ESP8266 được thực hiện qua chuẩn UART; giao tiếp với module RFID RC522 dùng chuẩn SPI.

Thiết kế phần cứng

Tính toán thông số nguồn dòng và áp của các linh kiện được tổng hợp tại Bảng 3.1 trong đồ án. Các sơ đồ mạch nguyên lý của từng khối cảm biến (MQ2, DHT11, quang trở, cảm biến mưa, cảm biến rung, cảm biến vật cản hồng ngoại) đều được thiết kế và trình bày chi tiết tại Chương 3. Module Relay 5V được dùng để cách ly và điều khiển các tải AC (đèn, quạt); động cơ Servo SG90 điều khiển cơ cấu đóng/mở cửa.

Thiết kế phần mềm

Ba lưu đồ giải thuật được xây dựng độc lập:

  • Lưu đồ khối xử lý trung tâm (Arduino Mega 2560): Điều phối đọc cảm biến, xử lý logic và điều khiển tải.
  • Lưu đồ ESP8266: Xử lý kết nối WiFi, đồng bộ dữ liệu với Firebase Realtime Database theo thời gian thực.
  • Lưu đồ ứng dụng Android: Luồng xử lý giao diện người dùng, đọc/ghi trạng thái thiết bị lên Firebase và hiển thị thông số môi trường.

Ứng dụng Android được phát triển trên Android Studio, target Android 5.0 Lollipop, cho phép người dùng điều khiển thiết bị từ xa qua WiFi và theo dõi thông số nhiệt độ, độ ẩm, khí gas hiển thị trực tiếp trên giao diện ứng dụng.

Kiểm thử

Hệ thống được kiểm thử theo hai trường hợp thực nghiệm, kết quả ghi nhận tại Bảng 5.1 và Bảng 5.2:

  • Trường hợp 1: Điều khiển thông qua mạng Internet (qua Firebase và ứng dụng Android từ xa).
  • Trường hợp 2: Điều khiển trực tiếp không thông qua mạng (điều khiển cục bộ tại mô hình).

Nội dung chính theo từng chương

Chương 1: Tổng quan

Chương mở đầu trình bày lý do chọn đề tài xuất phát từ xu hướng IoT và Smart Home, xác định mục tiêu thiết kế mô hình điều khiển thiết bị điện qua ứng dụng Android có kết nối WiFi. Bốn nội dung nghiên cứu được đặt ra theo thứ tự từ khảo cứu lý thuyết đến thi công và hoàn thiện. Giới hạn đề tài được làm rõ: vi điều khiển Arduino Mega 2560, mô hình nhà đơn giản, giao tiếp bốn thành phần Arduino – ESP8266 – Android – Firebase.

Chương 2: Cơ sở lý thuyết

Chương dài nhất của đồ án, hệ thống hóa toàn bộ nền tảng lý thuyết và linh kiện được sử dụng. Cấu trúc chương bao gồm: tổng quan IoT và các ứng dụng trong đời sống (thiết bị đeo thông minh, IoT nông nghiệp, IIoT, Smart Home); hai chuẩn giao tiếp UART và SPI với khung truyền dữ liệu chi tiết; kiến trúc vi điều khiển; đặc điểm kỹ thuật Arduino Mega 2560 R3 (kèm Bảng 2.1 thông số kỹ thuật); các chuẩn WiFi từ 802.11b đến 802.11ac; module NodeMCU ESP8266 (kèm Bảng 2.2); Firebase Realtime Database và các dịch vụ Firebase; hệ điều hành Android và Android Studio; công nghệ RFID và module RC522; năm loại cảm biến và các linh kiện phụ trợ (buzzer 5VDC, LED, module Relay 5V, động cơ Servo SG90, LCD 20×4).

Một số thông số kỹ thuật đáng chú ý được trình bày trong chương:

Linh kiện Thông số nổi bật
Arduino Mega 2560 54 chân số, 16 chân tương tự, Flash 256 KB, SRAM 8 KB, Clock 16 MHz
Buzzer 5VDC Dòng tiêu thụ < 25 mA, tần số cộng hưởng 2300 Hz ± 500 Hz, biên độ âm thanh > 80 dB
LED Điện áp 3.X V, dòng tiêu thụ 10–20 mA, nhiệt độ màu 5000 K

Chương 3: Tính toán và thiết kế hệ thống

Chương trình bày đặc tả và yêu cầu hệ thống, sau đó xây dựng sơ đồ khối tổng thể và mô tả hoạt động của từng khối. Phần tính toán và thiết kế đi sâu vào năm khối: khối cảm biến (sơ đồ kết nối từng cảm biến với Arduino), khối giao tiếp và tải (Relay, RFID, Servo), khối truyền dữ liệu (ESP8266 – Firebase), khối hiển thị (LCD 20×4) và khối xử lý trung tâm. Bảng tổng hợp thông số nguồn dòng áp các linh kiện (Bảng 3.1) là cơ sở cho việc lựa chọn linh kiện và thiết kế nguồn cấp.

Chương 4: Thi công hệ thống

Chương mô tả quá trình lắp ráp phần cứng thành mô hình hoàn chỉnh và trình bày ba lưu đồ giải thuật chi tiết: lưu đồ khối xử lý trung tâm (Arduino Mega 2560), lưu đồ ESP8266 và lưu đồ ứng dụng Android điều khiển. Đây là chương tích hợp phần cứng và phần mềm thành sản phẩm hoạt động được.

Chương 5: Kết quả – Nhận xét – Đánh giá

Chương trình bày kết quả lý thuyết (thiết kế đáp ứng yêu cầu đặt ra) và kết quả thực nghiệm theo hai bảng số liệu (Bảng 5.1 và Bảng 5.2) tương ứng với điều khiển qua mạng và điều khiển trực tiếp. Hình ảnh mô hình thực tế (Hình 5.1) và màn hình Firebase hiển thị các thông số (Hình 5.2) được đưa vào làm minh chứng kết quả. Phần đánh giá nhận xét tổng kết mức độ hoàn thành so với mục tiêu ban đầu.

Chương 6: Kết luận và hướng phát triển

Chương kết luận đánh giá kết quả đạt được sau khi hoàn thiện sản phẩm và đề xuất các hướng phát triển trong tương lai.


Kết quả và đóng góp

Sản phẩm hoàn chỉnh gồm hai phần:

  1. Mô hình phần cứng — mô hình nhà thông minh tích hợp vi điều khiển Arduino Mega 2560, module WiFi NodeMCU ESP8266, module RFID RC522, các cảm biến DHT11/MQ2/quang trở/cảm biến rung/cảm biến mưa/cảm biến vật cản hồng ngoại, module Relay 5V, động cơ Servo SG90 và màn hình LCD 20×4.
  2. Ứng dụng Android — cho phép điều khiển thiết bị điện (đèn, quạt, cửa) và giám sát thông số môi trường (nhiệt độ, độ ẩm, khí gas) từ xa qua Internet.

Kết quả thực nghiệm được ghi nhận theo hai kịch bản: điều khiển thông qua mạng (Firebase + ứng dụng Android) và điều khiển trực tiếp không qua mạng, với số liệu cụ thể tại Bảng 5.1 và Bảng 5.2. Các thông số giám sát được hiển thị đồng thời trên Firebase (Hình 5.2) và trên màn hình LCD 20×4 tại chỗ.

Chức năng đã triển khai được:

  • Giám sát nhiệt độ, độ ẩm (DHT11), nồng độ khí gas (MQ2) trong thời gian thực.
  • Điều khiển thiết bị điện qua ứng dụng Android có kết nối WiFi.
  • Kiểm soát truy cập cửa bằng thẻ RFID (module RC522, tần số 13.56 MHz).
  • Lưu trữ trạng thái thiết bị lên Firebase Realtime Database, đồng bộ thời gian thực.
  • Cảnh báo bằng còi buzzer khi phát hiện khí gas hoặc rung động bất thường.

Hạn chế và hướng nghiên cứu tiếp

Đồ án xác định phạm vi thực hiện ở quy mô mô hình nhà đơn giản, chưa triển khai trên hệ thống nhà thực tế với số lượng thiết bị lớn hoặc nhiều phòng. Kết nối phụ thuộc vào WiFi 2.4 GHz, chưa tích hợp các chuẩn kết nối khác (Zigbee, Z-Wave, Bluetooth) phù hợp với các kịch bản không có WiFi. Ứng dụng được phát triển riêng cho hệ điều hành Android (từ phiên bản 5.0 Lollipop), chưa có phiên bản iOS.

Hướng phát triển tiếp theo được đồ án đề cập gồm: mở rộng số lượng thiết bị và tính năng giám sát, tích hợp thêm các chuẩn kết nối không dây khác, cải tiến giao diện ứng dụng và có thể bổ sung tính năng nhận diện giọng nói hoặc điều khiển tự động theo lịch trình.


Giá trị tham khảo

Đồ án có giá trị tham khảo cho các đối tượng sau:

  • Sinh viên ngành Công nghệ Kỹ thuật Điện tử – Viễn thông, Kỹ thuật Điện, Tự động hóa đang tìm hiểu về hệ thống nhúng kết hợp IoT: phần trình bày về kiến trúc giao tiếp Arduino Mega 2560 – ESP8266 – Firebase cung cấp một mô hình tham chiếu hoàn chỉnh và có thể nhân rộng.
  • Sinh viên ngành Công nghệ Thông tin quan tâm đến phát triển ứng dụng Android kết nối Firebase: Chương 2 và Chương 4 trình bày chi tiết luồng dữ liệu từ Android Studio đến Firebase Realtime Database.
  • Người thực hiện đề tài tương tự về Smart Home ở quy mô sinh viên: Cấu trúc năm khối chức năng và hai bảng kết quả thực nghiệm cung cấp cơ sở để so sánh và đánh giá phương án thiết kế.

Phần đáng tham khảo nhất là Chương 2 (cơ sở lý thuyết tổng hợp đầy đủ về UART, SPI, Firebase, Android, RFID và các cảm biến), Chương 3 (quy trình tính toán, lựa chọn linh kiện và thiết kế sơ đồ nguyên lý) và Chương 4 (lưu đồ giải thuật cho cả ba thành phần phần mềm: Arduino, ESP8266 và Android).


Câu hỏi thường gặp

1. Tại sao nhóm chọn NodeMCU ESP8266 thay vì tích hợp WiFi trực tiếp vào vi điều khiển chính? Arduino Mega 2560 (ATmega 2560) không có chức năng WiFi tích hợp. Nhóm sử dụng NodeMCU ESP8266 như một module truyền dữ liệu riêng biệt, kết nối với Arduino Mega qua chuẩn UART, đảm nhiệm việc gửi và nhận dữ liệu từ Firebase, trong khi Arduino Mega tập trung xử lý cảm biến và điều khiển tải.

2. Firebase Realtime Database đồng bộ dữ liệu như thế nào khi thiết bị mất kết nối mạng? Theo văn bản đồ án, Firebase SDK lưu dữ liệu vào bộ nhớ cục bộ (local) khi mất mạng. Sau khi kết nối được thiết lập lại, thiết bị client tự động nhận các thay đổi bị bỏ lỡ và đồng bộ với trạng thái máy chủ hiện tại. Mọi dữ liệu được truyền qua kết nối SSL bảo mật 2048 bit.

3. Cảm biến DHT11 gửi dữ liệu về Arduino theo định dạng nào? DHT11 gửi liên tiếp 40 bit (tương ứng 5 byte) về MCU qua giao tiếp 1 dây: Byte 1 là phần nguyên độ ẩm, Byte 2 là phần thập phân độ ẩm, Byte 3 là phần nguyên nhiệt độ, Byte 4 là phần thập phân nhiệt độ, Byte 5 là byte kiểm tra tổng (checksum). Dữ liệu chỉ hợp lệ khi Byte 5 bằng tổng 8 bit thấp của bốn byte trước.

4. Module RFID RC522 sử dụng chuẩn giao tiếp nào và hoạt động ở tần số bao nhiêu? Module RFID RC522 sử dụng IC MFRC522 của hãng NXP, hoạt động ở tần số 13.56 MHz và giao tiếp với Arduino Mega 2560 qua chuẩn SPI (4 dây: SCK, MOSI, MISO, SS). Mỗi thẻ RFID chứa mã định danh duy nhất, bộ nhớ chip từ 96 đến 512 bits dữ liệu, được dùng trong đồ án để kiểm soát truy cập cửa.

5. Ứng dụng Android trong đề tài được phát triển cho phiên bản hệ điều hành nào và lý do? Nhóm chọn Android 5.0 Lollipop làm phiên bản target vì đây là phiên bản đáp ứng và tương thích được với phần lớn thiết bị Android hiện hành, hỗ trợ lên tới 94% thiết bị chạy Android theo số liệu được nêu trong đồ án. Ứng dụng được lập trình bằng Java và Kotlin trên Android Studio — IDE chính thức của Google để phát triển ứng dụng Android.


Kết luận

Đồ án tốt nghiệp "Thiết kế hệ thống giám sát và điều khiển các thiết bị điện trong nhà" triển khai thành công một mô hình Smart Home hoàn chỉnh bao gồm phần cứng (Arduino Mega 2560, NodeMCU ESP8266, các cảm biến và module điều khiển) và phần mềm (ứng dụng Android kết nối Firebase Realtime Database). Hệ thống đáp ứng được hai kịch bản sử dụng thực nghiệm là điều khiển từ xa qua mạng và điều khiển trực tiếp không qua mạng, với dữ liệu môi trường (nhiệt độ, độ ẩm, khí gas) được giám sát và lưu trữ theo thời gian thực. Đồ án cung cấp tài liệu kỹ thuật chi tiết từ cơ sở lý thuyết, sơ đồ thiết kế đến lưu đồ giải thuật, tạo nền tảng cho các nghiên cứu tiếp theo về mở rộng quy mô hệ thống hoặc tích hợp thêm giao thức kết nối và tính năng tự động hóa.