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

Trong xu thế phát triển của cuộc Cách mạng công nghiệp và quá trình công nghiệp hóa, hiện đại hóa, lĩnh vực điện tử dân dụng và tự động hóa tòa nhà đang có những bước phát triển mạnh mẽ. Nhu cầu nâng cao chất lượng cuộc sống, tiện nghi sinh hoạt và đảm bảo an toàn sức khỏe trong không gian sống ngày càng trở nên thiết yếu. Để đáp ứng nhu cầu này, việc ứng dụng các vi mạch điện tử đa năng có tốc độ xử lý cao kết hợp công nghệ truyền thông không dây đã mở ra nhiều hướng nghiên cứu về hệ sinh thái nhà thông minh (Smart Home).

Tại Việt Nam, các sản phẩm nhà thông minh thương mại trên thị trường hiện nay đã tích hợp nhiều tính năng như điều khiển thiết bị điện, chiếu sáng, điều hòa không khí qua Internet hoặc giọng nói. Tuy nhiên, phần lớn các giải pháp thương mại đều gặp phải các rào cản thực tế: giá thành thiết bị cao, quy trình cấu hình phức tạp và phụ thuộc chặt chẽ vào các nền tảng đóng của nhà sản xuất. Điều này gây khó khăn đáng kể cho việc tùy biến, mở rộng tính năng và tự bảo trì hệ thống theo điều kiện thực tế của người dùng trong nước.

Đề tài "Thiết kế và triển khai mô hình nhà thông minh sử dụng ESP 32" được thực hiện bởi nhóm sinh viên Khoa Điện - Điện tử, Trường Đại học Mở Hà Nội (khóa 2021–2025), dưới sự hướng dẫn của TS. Đặng Khánh Hòa, nhằm giải quyết các vấn đề trên.

Mục tiêu và nhiệm vụ nghiên cứu cụ thể bao gồm:

  1. Nghiên cứu cơ sở lý thuyết về phần cứng nhúng (các dòng vi điều khiển Arduino, ESP8266, ESP32), công nghệ mạng truyền dẫn không dây Wi-Fi và nền tảng kết nối IoT Blynk.
  2. Tìm hiểu nguyên lý hoạt động của các cảm biến đo lường chất lượng môi trường không khí (nhiệt độ, độ ẩm, khí gas, nồng độ $CO_2$ theo công nghệ NDIR và bụi mịn $PM2.5/PM10$ theo công nghệ tán xạ Laser Mie).
  3. Thiết kế và chế tạo phần cứng mô hình nhà thông minh, phân chia thành hai khối chức năng chuyên biệt: Khối IoT giám sát - tự động hóa (sử dụng vi điều khiển ESP32) và Khối kiểm soát cửa an ninh (sử dụng vi điều khiển Arduino Nano).
  4. Thiết kế kết cấu cơ khí mô hình trên phần mềm chuyên dụng SolidWorks và lắp đặt hoàn thiện mạch điện.
  5. Lập trình điều khiển nhúng trên môi trường Arduino IDE, tích hợp truyền nhận dữ liệu thời gian thực và điều khiển từ xa qua giao diện ứng dụng di động Blynk.
  6. Thử nghiệm thực tế các chức năng tự động hóa và đánh giá khả năng vận hành của toàn hệ thống.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Hệ thống phần cứng nhúng (ESP32, Arduino Nano), các module cảm biến môi trường (DHT11, MQ-2, cảm biến bụi, cảm biến $CO_2$, cảm biến mưa, cảm biến độ ẩm đất, cảm biến chuyển động PIR), các cơ cấu chấp hành (động cơ servo, module relay, còi báo, đèn LED, màn hình LCD1602 I2C) và nền tảng phần mềm Blynk.
  • Phạm vi nghiên cứu: Mô hình nhà thông minh thu nhỏ được thiết kế cơ khí và lắp đặt mạch điện thực tế, triển khai thử nghiệm tại phòng thí nghiệm Khoa Điện - Điện tử, Trường Đại học Mở Hà Nội, hoàn thành vào tháng 11 năm 2025.

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

Đồ án xây dựng trên nền tảng lý thuyết về kiến trúc mạng Internet vạn vật (IoT), lý thuyết truyền thông vô tuyến và các nguyên lý đo lường cảm biến quang học, hóa điện tử:

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

  • Kiến trúc hệ thống IoT: Cấu trúc hệ thống IoT cơ bản bao gồm 4 tầng chức năng:
    • Tầng thiết bị (Things): Thu thập dữ liệu từ môi trường qua cảm biến và thực thi điều khiển qua cơ cấu chấp hành.
    • Tầng trạm kết nối (Gateways): Chuyển đổi giao thức và định tuyến dữ liệu.
    • Tầng hạ tầng mạng và đám mây (Network and Cloud): Lưu trữ, kết nối qua hạ tầng mạng TCP/IP, Wi-Fi.
    • Tầng phân tích và xử lý dữ liệu (Services-creation and Solution Layers): Xử lý thông tin và cung cấp giao diện tương tác cho người dùng.
  • Công nghệ mạng không dây Wi-Fi: Chuẩn IEEE 802.11 (đặc biệt là 802.11b/g/n dải tần 2.4 GHz và 5 GHz) đóng vai trò là phương thức kết nối tốc độ cao giữa vi điều khiển ESP32 và máy chủ đám mây.
  • Nền tảng IoT Blynk: Hoạt động theo mô hình Client-Server qua giao thức TCP/IP. Thiết bị xác thực với máy chủ qua mã Auth Token. Dữ liệu cảm biến được truyền lên các chân ảo (Virtual Pins) thông qua hàm Blynk.virtualWrite(), hiển thị trên các widget di động (Gauge, LED, Button, Chart). Chiều điều khiển từ ứng dụng xuống thiết bị được xử lý thông qua các hàm callback sự kiện BLYNK_WRITE(Vx).
  • Nguyên lý đo lường chất lượng không khí:
    • Nhiệt độ và độ ẩm: Đo nhiệt độ dựa trên sự thay đổi giá trị điện trở của nhiệt điện trở (Thermistor); đo độ ẩm dựa trên sự thay đổi hằng số điện môi của lớp vật liệu hút ẩm trong cảm biến điện dung (Capacitive sensor).
    • Bụi mịn theo công nghệ tán xạ Laser: Dựa trên lý thuyết tán xạ Mie (Gustav Mie, 1906) mô tả tương tác giữa chùm sáng phẳng đơn sắc với các hạt hình cầu. Cường độ ánh sáng tán xạ $I_{sc}$ phụ thuộc vào bước sóng $\lambda$, góc tán xạ $\theta$, kích thước hạt $d$ và chỉ số khúc xạ tương đối $n$: $$I_{sc} = I_{sc}(\theta, \lambda, d, n)$$ Trong trường hợp kích thước hạt rất nhỏ so với bước sóng ($a \ll 1$), áp dụng mô hình tán xạ Rayleigh: $$I_{sc} = I_{inc} \left( \frac{1 + \cos^2\theta}{2R^2} \right) \left( \frac{2\pi}{\lambda} \right)^4 \left( \frac{n^2 - 1}{n^2 + 2} \right)^2 \left( \frac{d}{2} \right)^6$$ Hệ thống sử dụng chùm diode laser chiếu qua buồng đo (bước sóng từ 600–1100 nm) và photodetector để chuyển đổi tín hiệu tán xạ sang tín hiệu điện với tần số lấy mẫu 1 Hz.
    • Nồng độ $CO_2$ theo công nghệ hồng ngoại không phân tán (NDIR): Sử dụng nguồn phát bức xạ hồng ngoại qua buồng khí mẫu (Gas Sample Cell) với dải bước sóng hấp thụ đặc trưng của phân tử $CO_2$ là $4.26\ \mu\text{m}$. Hệ thống tích hợp bộ lọc quang học (Optical Filters), đầu dò (Detector) và kênh tham chiếu (Reference Channel) để bù trôi tín hiệu và loại bỏ ảnh hưởng từ môi trường.

2. Phương pháp nghiên cứu thực tế

  • Phương pháp phân tích - so sánh kỹ thuật: Khảo sát, lập bảng so sánh thông số phần cứng của các dòng vi điều khiển trên thị trường nhằm lựa chọn MCU tối ưu cho từng khối chức năng.
  • Phương pháp thiết kế và tích hợp hệ thống kỹ thuật:
    • Thiết kế mô hình 3D kết cấu ngôi nhà bằng phần mềm CAD SolidWorks.
    • Thiết kế sơ đồ nguyên lý và mạch điện phân khối (khối nguồn, khối xử lý trung tâm, khối cảm biến, khối hiển thị và chấp hành).
    • Lập trình nhúng trên môi trường Arduino IDE bằng ngôn ngữ C/C++ cải tiến.
  • Phương pháp thực nghiệm và kiểm thử chức năng: Vận hành thực tế mô hình phần cứng, kích hoạt các kịch bản cảm biến (thay đổi nhiệt độ, khói gas, nước mưa, độ ẩm đất, chuyển động người, quét thẻ RFID, nhập phím ma trận) để kiểm chứng độ chính xác và thời gian đáp ứng của cơ cấu chấp hành.

Thiết kế và triển khai

Hệ thống được thiết kế theo cấu trúc module hóa gồm 2 khối vi điều khiển độc lập: Khối IoT và Khối khóa cửa RFID/Keypad.

1. Lựa chọn vi điều khiển

Dựa trên yêu cầu kỹ thuật về giá thành, hiệu năng xử lý, số lượng cổng giao tiếp I/O và khả năng kết nối mạng không dây, đồ án đã tổng hợp bảng so sánh các dòng vi điều khiển:

Tiêu chí ESP32 STM32 ESP8266 Arduino Uno ATmega16
CPU Xtensa Dual-Core 32-bit ARM Cortex-M Xtensa Single-Core 32-bit AVR 8-bit AVR 8-bit
Tần số xung nhịp 160 – 240 MHz Lên đến 480 MHz 80 – 160 MHz 16 MHz 16 MHz
Bộ nhớ Flash 448 KB – 4 MB Lên đến 2 MB 512 KB – 4 MB 32 KB 16 KB
Kết nối không dây Wi-Fi, Bluetooth (BLE & Classic) Không tích hợp Wi-Fi (802.11 b/g/n) Không tích hợp Không tích hợp
Giao thức giao tiếp UART, SPI, I2C, I2S, CAN, PWM, ADC (18 kênh), DAC UART, SPI, I2C, CAN, USB UART, SPI, I2C, ADC (1 kênh 10-bit) UART, SPI, I2C, PWM, ADC (6 kênh) UART, SPI, I2C
Điện áp hoạt động 2.5V – 3.6V (chuẩn 3.3V) 2.0V – 3.6V 3.0V – 3.6V 5V 5V
Công suất tiêu thụ Thấp (hỗ trợ Deep Sleep) Trung bình Tương đối cao (80 – 200 mA) Trung bình Tương đối cao
Giá thành Trung bình Cao Thấp Thấp Thấp
Ứng dụng chính IoT, Smart Home, thiết bị nhúng Hệ thống nhúng công nghiệp IoT, thiết bị thông minh Học tập, dự án DIY Học tập, dự án DIY

Kết luận lựa chọn: Đồ án quyết định sử dụng vi điều khiển ESP32 cho Khối IoT (đáp ứng xử lý đa cảm biến và kết nối Wi-Fi) và Arduino Nano (sử dụng chip ATmega328, nhỏ gọn, giao tiếp SPI/I2C ổn định) cho Khối khóa cửa an ninh độc lập.

2. Thiết kế kiến trúc phần cứng

  1. Khối IoT (Điều khiển bởi ESP32):

    • Khối nguồn: Biến đổi điện áp từ nguồn cấp 9VDC xuống 5VDC và 3.3VDC cấp cho ESP32 và các cảm biến.
    • Cảm biến nhiệt độ, độ ẩm DHT11: Dải đo nhiệt độ 0°C đến 50°C (sai số $\pm 2^\circ\text{C}$), dải đo độ ẩm 20% đến 90% RH (sai số $\pm 5%$), giao thức truyền thông số một dây (Single-bus digital), chu kỳ cập nhật dữ liệu 1 giây.
    • Cảm biến khí gas MQ-2: Phát hiện khói, khí gas dễ cháy rò rỉ trong nhà.
    • Cảm biến nồng độ $CO_2$ NDIR (MH-Z19B): Đo nồng độ khí $CO_2$ theo ppm.
    • Cảm biến bụi mịn Laser (PMS7003 / Sharp): Giám sát hạt bụi $PM2.5$ và $PM10$.
    • Cảm biến mưa: Phát hiện nước mưa trên bề mặt để kích hoạt động cơ servo kéo giá phơi đồ vào nhà, và tự động đẩy ra khi tạnh mưa.
    • Cảm biến độ ẩm đất: Đọc độ ẩm đất trồng cây; khi độ ẩm dưới ngưỡng cài đặt, kích hoạt module relay đóng điện cho máy bơm nước.
    • Cảm biến chuyển động hồng ngoại (PIR): Đặt tại khu vực cầu thang, tự động bật đèn chiếu sáng khi phát hiện có người di chuyển và tự tắt sau một khoảng thời gian trễ.
    • Khối cảnh báo và hiển thị: Còi Buzzer phát âm thanh báo động khi nồng độ gas/$CO_2$ vượt ngưỡng nguy hiểm; màn hình LCD1602 giao tiếp qua module I2C hiển thị thông số môi trường tại chỗ; các đèn LED chỉ thị trạng thái.
  2. Khối khóa cửa an ninh (Điều khiển bởi Arduino Nano):

    • Module đọc thẻ RFID RC522: Giao tiếp chuẩn SPI, tần số 13.56 MHz, đọc mã thẻ từ (UID) của người dùng.
    • Bàn phím ma trận (Keypad 3x4): Cho phép nhập mật mã mở cửa trực tiếp.
    • Màn hình LCD1602 I2C: Hiển thị trạng thái xác thực ("Thanh cong", "Sai mat khau", "Quet the").
    • Động cơ Servo: Đóng vai trò là chốt khóa cơ học, tự động quay góc mở cửa khi thẻ RFID hoặc mật khẩu hợp lệ.

3. Triển khai phần mềm và kết nối mạng

  • Cấu hình môi trường: Tích hợp gói bo mạch ESP32 vào Arduino IDE thông qua Additional Boards Manager URL (https://espressif.io/arduino-esp32/package_esp32_index.json).
  • Mã nguồn ESP32:
    • Khởi tạo kết nối Wi-Fi chuẩn 802.11 b/g/n ở chế độ Station (STA).
    • Thiết lập kênh truyền với máy chủ Blynk qua mã token xác thực.
    • Sử dụng Timer định kỳ đọc dữ liệu từ các cảm biến (DHT11, MQ-2, bụi, độ ẩm đất, mưa, PIR) và đẩy lên các Virtual Pins tương ứng.
    • Lắng nghe sự kiện từ giao diện Blynk để bật/tắt thiết bị thủ công qua Relay.
  • Mã nguồn Arduino Nano:
    • Quét liên tục trạng thái thẻ từ qua thư viện MFRC522 và nhận diện phím bấm từ bàn phím ma trận qua thư viện Keypad.
    • Thực hiện thuật toán so khớp chuỗi mật khẩu và mã UID đã lưu trong bộ nhớ; xuất xung PWM điều khiển servo mở khóa khi xác thực thành công.

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

Chương 1. Giới thiệu cơ sở lý thuyết

Chương 1 hệ thống hóa toàn bộ các nền tảng lý thuyết và công nghệ được áp dụng trong đề tài:

  • Khái quát lịch sử ra đời, đặc điểm và thông số kỹ thuật của các dòng board mạch phần cứng mã nguồn mở Arduino (Uno, Nano, Mega2560, Leonardo, Lilypad, Micro). Phân tích cấu trúc phần cứng của chip vi điều khiển họ AVR như ATmega328 (32KB Flash, 2KB SRAM, 1KB EEPROM, 14 chân I/O số, 6 chân PWM, xung nhịp 16 MHz) và ATmega2560 (256KB Flash, 8KB SRAM, 54 chân I/O số, 4 bộ UART phần cứng).
  • Nghiên cứu chi tiết dòng vi điều khiển kết nối không dây của hãng Espressif Systems: từ ESP8266 (vi xử lý Tensilica Xtensa LX106 đơn nhân 80–160 MHz, tích hợp Wi-Fi) đến dòng ESP32 (vi xử lý Tensilica Xtensa Dual-Core 32-bit LX6 160–240 MHz, SRAM 520 KB, Flash 4 MB, tích hợp cả Wi-Fi và Bluetooth Low Energy/Classic, 18 kênh ADC, các bộ tăng tốc bảo mật phần cứng AES, SSL/TLS). So sánh chi tiết sự khác biệt về cấu trúc và hiệu năng giữa ESP32 và ESP8266, đồng thời điểm qua các biến thể như ESP32-WROOM-32, ESP32-WROVER (bổ sung 4MB PSRAM), ESP32-CAM (tích hợp camera OV2640), ESP32-S2 và ESP32-S3 (hỗ trợ tập lệnh tăng tốc AI).
  • Giới thiệu môi trường phát triển tích hợp Arduino IDE và quy trình nạp cấu hình Board Manager URL cho dòng chip ESP.
  • Tổng quan về kiến trúc 4 tầng của hệ thống IoT, vai trò của công nghệ truyền dẫn Wi-Fi 802.11b/g/n trong truyền thông thời gian thực.
  • Kiến trúc nền tảng Blynk, cơ chế trao đổi dữ liệu qua giao thức TCP/IP, định danh bằng Auth Token và phương thức tương tác Virtual Pins.
  • Cơ sở lý thuyết về giám sát chất lượng không khí: Phân tích ảnh hưởng của nồng độ khí $CO_2$ trong nhà theo các ngưỡng chuẩn:
Nồng độ $CO_2$ (ppm) Đánh giá chất lượng không khí
250 – 350 ppm Mức nồng độ thông thường ngoài trời
350 – 1000 ppm Mức điển hình trong không gian kín có thông gió tốt
1000 – 5000 ppm Không khí không lành mạnh, gây mệt mỏi, thiếu tập trung
> 5000 ppm Mức độ nguy hiểm cho sức khỏe
  • Phân tích nguy cơ sức khỏe của bụi mịn $PM2.5$ và $PM10$ khi xâm nhập vào phế nang phổi và hệ tuần hoàn; bảng phân loại mức độ nguy hiểm của bụi $PM2.5$ (chu kỳ tiếp xúc 24 giờ):
Nồng độ $PM2.5$ ($\mu\text{g/m}^3$) Mức độ ảnh hưởng sức khỏe Biện pháp phòng ngừa
0 – 12.0 Ít hoặc không có rủi ro Không cần thiết
12.1 – 35.4 Có thể xuất hiện triệu chứng hô hấp nhẹ Đeo khẩu trang, sử dụng phương pháp lọc bụi
35.5 – 55.4 Dễ xuất hiện triệu chứng hô hấp ở nhóm nhạy cảm Trẻ em, người già, người bệnh nên hạn chế tiếp xúc
55.5 – 150.4 Dễ mắc bệnh tim/phổi, tăng nguy cơ tử vong sớm Tránh hoạt động ngoài trời tại khu vực này
150.5 – 250.4 Khả năng cao mắc bệnh tim phổi ở tất cả mọi người Tránh tiếp xúc trong thời gian dài
> 250.4 Cực kỳ nguy hiểm cho sức khỏe con người Tránh tất cả các khu vực có chỉ số này
  • Nguyên lý quang học: Trình bày chi tiết lý thuyết tán xạ Mie/Rayleigh ứng dụng trong cảm biến bụi laser và lý thuyết quang phổ hấp thụ hồng ngoại bước sóng $4.26\ \mu\text{m}$ trong cảm biến $CO_2$ NDIR.

Chương 2. Thiết kế sản phẩm

Chương 2 trình bày toàn bộ quy trình tính toán, thiết kế và chế tạo sản phẩm:

  • Khảo sát các yêu cầu thực tế của mô hình Smart Home, định hướng phát triển hệ thống mã nguồn mở, tối ưu chi phí và dễ mở rộng.
  • Đặc tả chi tiết các yêu cầu chức năng: Đo lường chất lượng không khí đa chỉ số; tự động kéo/đẩy giá phơi quần áo khi có mưa; tự động bơm tưới cây theo độ ẩm đất; tự động bật/tắt đèn cầu thang theo cảm biến chuyển động PIR; kiểm soát mở cửa bằng thẻ RFID RC522 hoặc bàn phím Keypad 3x4; truyền dữ liệu và điều khiển từ xa qua Wi-Fi và ứng dụng Blynk; phát cảnh báo còi buzzer khi phát hiện khí gas rò rỉ hoặc $CO_2$ vượt ngưỡng.
  • Xây dựng sơ đồ khối chi tiết cho Khối IoT (ESP32) và Khối khóa cửa an ninh (Arduino Nano).
  • Lập bảng so sánh thông số kỹ thuật để lựa chọn vi điều khiển ESP32 và Arduino Nano.
  • Trình bày thông số kỹ thuật chi tiết của các cảm biến và linh kiện: DHT11 (nhiệt độ 0–50°C, độ ẩm 20–90%), MQ-2, PMS7003/Sharp, MH-Z19B, cảm biến mưa, cảm biến độ ẩm đất, module RFID RC522, Keypad 3x4, LCD1602 I2C, module Relay, còi Buzzer, Servo.
  • Thiết kế mô hình kết cấu cơ khí 3D của ngôi nhà bằng phần mềm SolidWorks và tiến hành lắp đặt mạch điện thực tế.
  • Xây dựng thuật toán và mã nguồn lập trình cho vi điều khiển ESP32 và Arduino Nano trên nền tảng Arduino IDE.

Chương 3. Thử nghiệm, đánh giá

Chương 3 ghi nhận quá trình thử nghiệm và đánh giá hoạt động của mô hình thực tế (trang 65 của tài liệu):

  • Hoàn thiện lắp ráp mô hình vật lý và đấu nối hệ thống mạch điện.
  • Kiểm thử các kịch bản vận hành thực tế:
    • Khả năng đọc và hiển thị các thông số nhiệt độ, độ ẩm, nồng độ khí gas lên màn hình LCD và ứng dụng Blynk.
    • Độ nhạy và tính chính xác của cảm biến mưa trong việc điều khiển động cơ servo kéo giá phơi.
    • Phản hồi của cảm biến độ ẩm đất và kích hoạt rơ-le điều khiển máy bơm tưới cây.
    • Hoạt động của cảm biến PIR trong việc bật đèn chiếu sáng tự động khi có chuyển động.
    • Tính chính xác của hệ thống mở khóa cửa khi quét thẻ RFID và nhập mật mã trên Keypad.
    • Độ ổn định của kết nối Wi-Fi và độ trễ truyền nhận tín hiệu giữa ESP32 và máy chủ Blynk.

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

1. Kết quả chính đạt được

  • Chế tạo thành công mô hình phần cứng: Hoàn thiện mô hình nhà thông minh vật lý thu nhỏ, kết cấu cơ khí được thiết kế trên SolidWorks và lắp đặt hoàn chỉnh hệ thống dây dẫn, mạch nguồn và các module ngoại vi.
  • Hệ thống giám sát môi trường thời gian thực: Thu thập chính xác các chỉ số nhiệt độ, độ ẩm (qua DHT11), phát hiện khí gas (qua MQ-2), hiển thị trực tiếp lên màn hình LCD1602 và truyền dữ liệu liên tục lên ứng dụng di động qua Wi-Fi.
  • Tự động hóa hoàn toàn các chức năng tiện ích:
    • Tự động kéo giá phơi đồ vào nhà khi phát hiện trời mưa và đưa ra ngoài khi tạnh ráo.
    • Tự động kích hoạt bơm tưới cây khi độ ẩm đất xuống thấp và ngắt bơm khi đạt độ ẩm tiêu chuẩn.
    • Tự động bật đèn cầu thang khi cảm biến PIR phát hiện có người di chuyển và tự tắt khi không còn chuyển động.
    • Kích hoạt còi báo động tại chỗ khi nồng độ khí gas hoặc $CO_2$ vượt ngưỡng an toàn.
  • Hệ thống an ninh cửa độc lập: Triển khai cơ chế xác thực kép (quét thẻ từ RFID RC522 hoặc nhập mật khẩu trên bàn phím ma trận Keypad 3x4), điều khiển mở chốt cửa bằng động cơ servo với độ phản hồi nhanh chóng và chính xác.
  • Giám sát và điều khiển từ xa qua Internet: Tích hợp thành công nền tảng Blynk, cho phép người dùng theo dõi dữ liệu cảm biến dạng số/biểu đồ thời gian thực và trực tiếp điều khiển các thiết bị điện từ xa thông qua điện thoại thông minh.

2. Đóng góp của đề tài

  • Đề xuất một giải pháp thiết kế hệ thống nhà thông minh toàn diện với chi phí linh kiện thấp, sử dụng hoàn toàn phần cứng và phần mềm mã nguồn mở (ESP32, Arduino Nano, Arduino IDE, Blynk), dễ dàng tiếp cận và triển khai cho các mô hình nghiên cứu, học tập và ứng dụng thực tiễn.
  • Cung cấp tài liệu tổng hợp chuyên sâu về cơ sở lý thuyết đo lường chất lượng không khí, đặc biệt là việc làm rõ bản chất toán lý của lý thuyết tán xạ Mie trong đo bụi mịn quang học và nguyên lý quang phổ hấp thụ NDIR trong đo khí $CO_2$.

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

1. Hạn chế của hệ thống

  • Hệ thống giám sát và điều khiển từ xa phụ thuộc hoàn toàn vào kết nối mạng Wi-Fi và đường truyền Internet tới máy chủ Blynk Cloud; khi mất mạng Internet, tính năng theo dõi qua ứng dụng di động bị gián đoạn.
  • Hai khối xử lý (Khối IoT dùng ESP32 và Khối khóa cửa an ninh dùng Arduino Nano) vận hành hoàn toàn độc lập, chưa thiết lập kênh truyền thông nội bộ (như UART, I2C hoặc CAN) để trao đổi trạng thái mở cửa hoặc lịch sử truy cập lên giao diện ứng dụng trung tâm.
  • Cảm biến nhiệt độ - độ ẩm DHT11 có dải đo và độ chính xác ở mức cơ bản (nhiệt độ 0–50°C với sai số $\pm 2^\circ\text{C}$; độ ẩm 20–90% với sai số $\pm 5%$), tốc độ lấy mẫu đạt chu kỳ 1 giây.

2. Hướng nghiên cứu tiếp

  • Nâng cấp các module cảm biến môi trường lên các dòng có độ nhạy và dải đo cao hơn, tích hợp thuật toán bù sai số theo nhiệt độ và áp suất môi trường.
  • Thiết lập giao tiếp liên vi điều khiển giữa Arduino Nano và ESP32 hoặc hợp nhất hệ thống về một vi điều khiển đa nhân công suất lớn để đồng bộ toàn bộ dữ liệu an ninh (log mở cửa) lên máy chủ đám mây.
  • Tích hợp thêm các giao thức mạng Mesh không dây cục bộ (ESP-NOW, Zigbee) để duy trì khả năng tự động hóa nội bộ trong nhà ngay cả khi mất kết nối Internet.
  • Mở rộng các tính năng thông minh nâng cao như nhận diện khuôn mặt mở cửa thông qua module ESP32-CAM hoặc xử lý giọng nói ngoại tuyến với vi điều khiển ESP32-S3.

Giá trị tham khảo

Đồ án tốt nghiệp là tài liệu tham khảo có giá trị kỹ thuật và thực tiễn đối với:

  • Đối tượng học thuật: Sinh viên, giảng viên và học viên thuộc các chuyên ngành Kỹ thuật Điện - Điện tử, Kỹ thuật Điện tử - Viễn thông, Công nghệ Kỹ thuật Điều khiển & Tự động hóa, Công nghệ thông tin và Kỹ thuật IoT.
  • Cộng đồng phát triển phần cứng (Makers / DIY): Các kỹ sư, lập trình viên nhúng cần tài liệu hướng dẫn thực tế về quy trình thiết kế, ghép nối cảm biến và lập trình vi điều khiển ESP32 kết nối nền tảng Blynk.
  • Các nội dung nổi bật đáng tham khảo:
    • Bảng so sánh thông số kỹ thuật chi tiết giữa các dòng vi điều khiển (ESP32, STM32, ESP8266, Arduino Uno, ATmega16).
    • Khung lý thuyết vật lý về công nghệ tán xạ Laser Mie và nguyên lý cảm biến hồng ngoại không phân tán NDIR.
    • Thiết kế sơ đồ nguyên lý mạch điện phân khối và giải pháp kết nối cảm biến ngoại vi trong các bài toán tự động hóa gia đình.
    • Quy trình cấu hình và lập trình giao tiếp hai chiều thời gian thực trên nền tảng Blynk sử dụng Virtual Pins.

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

1. Vì sao đề tài lại lựa chọn vi điều khiển ESP32 làm bộ xử lý trung tâm cho Khối IoT thay vì Arduino Uno hay ESP8266?
Dựa trên bảng so sánh kỹ thuật ở Chương 2, ESP32 sở hữu vi xử lý lõi kép 32-bit (tần số 160–240 MHz), bộ nhớ Flash lớn (lên đến 4 MB) và SRAM 520 KB, tích hợp sẵn cả Wi-Fi và Bluetooth. Đặc biệt, ESP32 có tới 18 kênh ADC (so với 1 kênh 10-bit của ESP8266 và 6 kênh của Uno) cùng số lượng chân GPIO đa dạng, cho phép kết nối đồng thời nhiều cảm biến và cơ cấu chấp hành mà vẫn duy trì tốc độ truyền dữ liệu cao với chi phí hợp lý.

2. Khối khóa cửa an ninh trong mô hình hoạt động như thế nào và sử dụng các linh kiện gì?
Khối khóa cửa hoạt động độc lập dưới sự điều khiển của vi điều khiển Arduino Nano. Khối bao gồm module đọc thẻ RFID RC522 (quét mã thẻ từ qua giao tiếp SPI), bàn phím ma trận Keypad 3x4 (để nhập mật mã), màn hình LCD1602 giao tiếp I2C để hiển thị phản hồi trạng thái xác thực, và một động cơ servo làm chốt mở cửa cơ học. Khi người dùng quét đúng thẻ RFID hoặc nhập đúng mật mã, Arduino Nano sẽ xuất tín hiệu điều khiển servo quay góc mở chốt cửa.

3. Công nghệ tán xạ Laser đo nồng độ bụi mịn $PM2.5$ hoạt động theo nguyên lý vật lý nào?
Cảm biến bụi sử dụng một diode phát chùm tia laser chiếu qua buồng lấy mẫu không khí. Khi các hạt bụi di chuyển qua, ánh sáng sẽ bị tán xạ theo mọi hướng theo lý thuyết tán xạ Mie. Một cảm biến quang (photodetector) đặt ở góc phù hợp sẽ thu nhận ánh sáng tán xạ và chuyển đổi thành tín hiệu điện. Bộ xử lý vi mạch dựa trên biên độ và tần số xung điện để tính toán kích thước tương đương và số lượng hạt bụi, từ đó xuất ra nồng độ $PM2.5/PM10$ qua giao tiếp UART hoặc GPIO với tần số lấy mẫu 1 Hz.

4. Nền tảng Blynk thực hiện việc truyền nhận dữ liệu hai chiều với vi điều khiển ESP32 như thế nào?
ESP32 kết nối với máy chủ Blynk qua giao thức TCP/IP bằng mã xác thực Auth Token. Để gửi dữ liệu từ cảm biến lên ứng dụng, chương trình sử dụng hàm Blynk.virtualWrite(Vx, value) để ghi giá trị vào các chân ảo (Virtual Pins), các widget trên app (như Gauge, Chart) sẽ tự động cập nhật. Ngược lại, khi người dùng thao tác trên nút bấm hoặc thanh trượt của app, máy chủ Blynk sẽ gửi lệnh xuống ESP32, kích hoạt các hàm callback sự kiện BLYNK_WRITE(Vx) để thực thi lệnh điều khiển relay hoặc servo.

5. Các ngưỡng an toàn đối với nồng độ khí $CO_2$ và bụi mịn $PM2.5$ được tài liệu quy định cụ thể ra sao?
Tài liệu xác định nồng độ $CO_2$ ngoài trời thông thường từ 250–350 ppm, trong nhà thông gió tốt từ 350–1000 ppm; nồng độ từ 1000–5000 ppm là không lành mạnh và trên 5000 ppm gây nguy hiểm. Đối với bụi mịn $PM2.5$ (chu kỳ tiếp xúc 24 giờ), mức 0–12.0 $\mu\text{g/m}^3$ là an toàn; 12.1–35.4 $\mu\text{g/m}^3$ có thể gây triệu chứng hô hấp nhẹ; 35.5–55.4 $\mu\text{g/m}^3$ ảnh hưởng đến nhóm người nhạy cảm; 55.5–150.4 $\mu\text{g/m}^3$ làm tăng nguy cơ bệnh tim phổi; và trên 250.4 $\mu\text{g/m}^3$ là mức cực kỳ nguy hiểm cần tránh tiếp xúc.


Kết luận

Đồ án tốt nghiệp "Thiết kế và triển khai mô hình nhà thông minh sử dụng ESP 32" của nhóm sinh viên Trường Đại học Mở Hà Nội đã giải quyết thành công bài toán xây dựng một hệ sinh thái Smart Home thu nhỏ với chi phí tối ưu và tính năng toàn diện. Bằng việc kết hợp vi điều khiển hiệu năng cao ESP32 cho khối IoT và Arduino Nano cho khối kiểm soát an ninh cửa, hệ thống đã thực thi ổn định các chức năng giám sát môi trường không khí, tự động hóa thiết bị gia dụng và bảo mật truy cập. Kết quả thực nghiệm khẳng định tính khả thi của giải pháp phần cứng mã nguồn mở kết hợp nền tảng Blynk trong việc ứng dụng công nghệ IoT vào đời sống thực tiễn.