Giới thiệu dự án

Theo thống kê từ Cơ quan Năng lượng Quốc tế (IEA), hệ thống chiếu sáng tiêu tốn từ 15% đến 20% tổng lượng điện năng tiêu thụ trong các công trình dân dụng và thương mại. Trong đó, khoảng 30% đến 40% điện năng bị lãng phí do người dùng quên tắt thiết bị khi rời khỏi phòng hoặc tại các khu vực công cộng như hành lang, cầu thang, nhà vệ sinh. Các giải pháp công tắc cơ học truyền thống hoàn toàn phụ thuộc vào ý thức người dùng, trong khi các giải pháp cảm biến độc lập trên thị trường thường thiếu khả năng giám sát tập trung và không hỗ trợ điều khiển từ xa.

Thực trạng này đặt ra bài toán cấp thiết: Làm thế nào để xây dựng một hệ thống chiếu sáng tự động thông minh, chi phí thấp, hoạt động ổn định và có khả năng quản trị tập trung mà không phụ thuộc vào các dịch vụ đám mây (Cloud) của bên thứ ba?

Đề tài "Thiết Kế Hệ thống Cảm Biến Chuyển Động Và Relay" được nghiên cứu và phát triển nhằm giải quyết triệt để vấn đề trên thông qua 4 mục tiêu cốt lõi:

  1. Thiết kế và chế tạo mạch điều khiển biên (Edge Node) sử dụng vi điều khiển ESP8266 NodeMCU kết hợp cảm biến hồng ngoại thụ động PIR HC-SR501 và mạch đóng cắt Relay 5V 10A có cách ly quang.
  2. Xây dựng máy chủ quản lý nhà thông minh cục bộ (On-Premises Hub) dựa trên nền tảng mã nguồn mở Home Assistant OS chạy trên môi trường ảo hóa Oracle VM VirtualBox.
  3. Triển khai giao thức truyền thông nhẹ MQTT (Message Queuing Telemetry Transport) thông qua Mosquitto Broker để đồng bộ hóa trạng thái cảm biến và điều khiển cơ cấu chấp hành hai chiều theo thời gian thực.
  4. Đảm bảo độ trễ phản hồi hệ thống dưới 50ms trong mạng nội bộ, tối ưu hóa mức tiêu thụ năng lượng và bảo mật dữ liệu tuyệt đối cho người dùng.

Hệ thống kết hợp giữa tính toán biên (Edge Computing) và kiến trúc điều phối tập trung cục bộ (Local Hub). Vi điều khiển tự động kích hoạt tải khi phát hiện chuyển động, đồng thời gửi bản tin trạng thái lên máy chủ để phục vụ việc giám sát và can thiệp thủ công qua giao diện Web/Mobile.

Phạm vi đề tài tập trung vào việc thiết kế mô hình mẫu (prototype) hoạt động trong mạng cục bộ (LAN) băng tần 2.4GHz, điều khiển tải AC 220V công suất tối đa 2200W (10A). Giới hạn của hệ thống là chưa tích hợp cảm biến đo cường độ ánh sáng môi trường (LDR) và chưa triển khai tính năng cập nhật firmware qua mạng (OTA).


Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Thị trường tự động hóa tòa nhà và nhà thông minh hiện nay tồn tại nhiều phân khúc giải pháp với các ưu và nhược điểm riêng biệt.

Tiêu chí Cảm biến độc lập truyền thống Thiết bị thông minh Cloud (Tuya/Sonoff) Giải pháp đề xuất (ESP8266 + HA + MQTT)
Kiến trúc Phần cứng cố định, không kết nối Đám mây công cộng (Public Cloud) Cục bộ On-Premises + Edge Processing
Độ trễ điều khiển Tức thời (<10ms) Phụ thuộc Internet (200ms - 2000ms) Cực thấp trong mạng LAN (<50ms)
Bảo mật & Quyền riêng tư Tuyệt đối (không nối mạng) Nguy cơ rò rỉ dữ liệu cá nhân ra máy chủ ngoài Bảo mật nội bộ, mã hóa MQTT User/Pass
Khả năng tùy biến Không thể tùy biến Hạn chế trong app đóng của nhà sản xuất Tùy biến không giới hạn qua YAML/Automation
Hoạt động khi mất Internet Bình thường Ngừng hoạt động hoặc mất liên kết Hoạt động bình thường 100%
Chi phí phần cứng (BOM) Thấp (~50.000 VNĐ) Trung bình (150.000 - 300.000 VNĐ) Tối ưu (~120.000 VNĐ)

Yêu cầu hệ thống được phân loại theo mô hình MoSCoW:

  • Must have: Phát hiện chuyển động người qua cảm biến PIR góc quét rộng; đóng/cắt Relay tự động; xuất bản tin MQTT khi có sự kiện; giao diện điều khiển và giám sát trên Dashboard Home Assistant.
  • Should have: Cơ chế bảo vệ chống rung tín hiệu (debounce); phân quyền người dùng nội bộ cho Mosquitto Broker; khả năng tự động khôi phục kết nối Wi-Fi/MQTT khi mất tín hiệu.
  • Could have: Lưu trữ nhật ký (log) lịch sử kích hoạt vào cơ sở dữ liệu SQLite; tích hợp cơ chế chia sẻ cấu hình Samba Share.
  • Won't have: Kết nối mạng di động 4G/LTE dự phòng; điều khiển bằng giọng nói đa ngôn ngữ offline.

Thách thức kỹ thuật lớn nhất nằm ở hiện tượng kích hoạt giả (false trigger) của cảm biến PIR do nhiễu nhiệt môi trường và việc xử lý các chân nạp khởi động (boot strapping pins) của ESP8266 (như GPIO0, GPIO2, GPIO15) nhằm tránh hiện tượng treo vi điều khiển khi khởi động lại.

Thiết kế hệ thống

Kiến trúc tổng thể của hệ thống tuân theo mô hình Client-Broker-Client phân tầng, đảm bảo tính module hóa và khả năng mở rộng linh hoạt:

+-----------------------------------------------------------------------+
|                             EDGE NODE                                 |
|  +---------------------+                 +-------------------------+  |
|  | PIR Sensor HC-SR501 | -- (GPIO 5) --> |   NodeMCU ESP8266-12E   |  |
|  +---------------------+                 |  (32-bit Tensilica L106)|  |
|                                          +------------+------------+  |
|  +---------------------+                              |               |
|  | Relay 5V Module     | <-- (GPIO 4) ----------------+               |
|  | (Optocoupler 10A)   |                                              |
|  +----------+----------+                                              |
+-------------|---------------------------------------------------------+
              | (AC 220V Load)                            ^
              v                                           | (Wi-Fi 802.11 b/g/n)
     [ Đèn Chiếu Sáng ]                                   v
+-----------------------------------------------------------------------+
|                   LOCAL SMART HOME SERVER (PC/VM)                     |
|                                                                       |
|  +-----------------------------------------------------------------+  |
|  |             Mosquitto MQTT Broker (TCP Port: 1883)              |  |
|  |    Topics: home/sensor/pir | home/relay/set | home/relay/state  |  |
|  +--------------------------------+--------------------------------+  |
|                                   ^                                   |
|                                   v                                   |
|  +--------------------------------+--------------------------------+  |
|  |               Home Assistant Core OS v2022.x/2023.x             |  |
|  |  - Automation Engine (YAML)                                     |  |
|  |  - Lovelace UI Dashboard (Web Browser & Mobile App)            |  |
|  +-----------------------------------------------------------------+  |
+-----------------------------------------------------------------------+

Danh mục công nghệ và phiên bản phần cứng/phần mềm:

  • Vi điều khiển: NodeMCU ESP8266-12E (CPU Tensilica Xtensa Dual-Core 32-bit L106 @ 80MHz, 4MB SPI Flash, hỗ trợ Wi-Fi IEEE 802.11 b/g/n).
  • Cảm biến: Pyroelectric PIR HC-SR501 (IC xử lý tín hiệu BISS0001, thấu kính Fresnel, dải điện áp hoạt động 4.5V - 12V DC, tiêu thụ dòng tĩnh $\le 50\mu\text{A}$, tín hiệu ngõ ra Digital 3.3V High / 0V Low).
  • Cơ cấu chấp hành: Module Relay 1 kênh 5VDC kích mức thấp (Active-Low), tích hợp Opto cách ly quang EL817, tiếp điểm chịu tải 10A 250VAC / 10A 30VDC với 3 cổng NO (Normally Open), COM (Common), NC (Normally Closed).
  • Nền tảng máy chủ: Home Assistant OS (HassOS) cài đặt trên máy ảo Oracle VM VirtualBox 6.1 (cấu hình mạng Bridged Adapter nhận IP tĩnh trong LAN).
  • Message Broker: Eclipse Mosquitto MQTT Broker v2.0+ (chuẩn MQTT v3.1.1/v5.0, cổng TCP 1883).
  • Firmware Engine: C/C++ trên nền tảng Arduino Core for ESP8266 v3.0.2 với thư viện PubSubClient v2.8.

Quy chuẩn thiết kế Topic MQTT:

  • home/sensor/pir (Publish): Gửi trạng thái chuyển động (ON / OFF).
  • home/relay/set (Subscribe): Nhận lệnh đóng cắt từ Home Assistant (ON / OFF).
  • home/relay/state (Publish): Phản hồi trạng thái thực tế của Relay về Broker (ON / OFF).

Hệ thống bảo mật được thiết lập bằng cơ chế xác thực danh tính người dùng MQTT cục bộ (user_mqtt), kích hoạt tùy chọn giới hạn truy cập từ mạng LAN nội bộ và vô hiệu hóa quyền Administrator cho tài khoản kết nối của thiết bị IoT.

Methodology

Đề tài áp dụng quy trình phát triển lặp nhanh (Agile Embedded Lifecycle) gồm 4 giai đoạn rõ ràng:

[Phân tích & Thiết kế mạch] ──> [Triển khai Phần mềm & Firmware] ──> [Tích hợp Hệ thống] ──> [Đánh giá & Tối ưu hóa]
  • Đánh giá rủi ro & giải pháp giảm thiểu:
    • Mất kết nối Wi-Fi: Sử dụng vòng lặp kiểm tra trạng thái phi chặn (WiFi.status() != WL_CONNECTED) và tự động tái kết nối mà không làm dừng chu kỳ quét cảm biến.
    • Sốc điện ngược từ cuộn dây Relay: Module đã tích hợp sẵn diode dập xung ngược (flyback diode) và opto cách ly quang để bảo vệ an toàn cho chân GPIO của vi điều khiển.
    • Nhiễu tín hiệu khởi động của PIR: Phần mềm được lập trình trì hoãn đọc dữ liệu từ cảm biến trong 60 giây đầu tiên kể từ khi cấp nguồn để cảm biến ổn định điểm làm việc.

Implementation và kết quả

Development process

Sơ đồ kết nối chân phần cứng được thiết kế tối ưu, tránh các chân strapping nhạy cảm của ESP8266:

Thiết bị Chân linh kiện Chân kết nối trên NodeMCU Chức năng kỹ thuật
HC-SR501 VCC Vin (hoặc 5V) Cấp nguồn 5V DC từ cổng USB
HC-SR501 GND GND Nối mass hệ thống
HC-SR501 OUT D1 (GPIO 5) Ngõ vào Digital đọc mức logic cảm biến
Relay Module VCC Vin (5V) Cấp nguồn cho cuộn hút Relay
Relay Module GND GND Nối mass hệ thống
Relay Module IN D2 (GPIO 4) Ngõ ra Digital điều khiển kích mở (Active-Low)

1. Firmware lập trình cho ESP8266 (C++ / Arduino IDE)

Firmware triển khai giải thuật điều khiển phân tán: vi điều khiển liên tục quét tín hiệu từ chân cảm biến, điều khiển trực tiếp Relay để giảm độ trễ, đồng thời gửi bản tin cập nhật trạng thái lên MQTT Broker và lắng nghe lệnh điều khiển từ xa.

#include <ESP8266WiFi.h>
#include <PubSubClient.h>

// Cấu hình thông tin Wi-Fi và MQTT Broker
const char* ssid = "SMARTHOME_WIFI";
const char* password = "SecurePassword123";
const char* mqtt_server = "192.168.1.50";
const int mqtt_port = 1883;
const char* mqtt_user = "user_mqtt";
const char* mqtt_pass = "MqttAuthPass2022";

// Định nghĩa chân GPIO
const int PIN_PIR = 5;    // D1 - GPIO5
const int PIN_RELAY = 4;  // D2 - GPIO4 (Active Low)

WiFiClient espClient;
PubSubClient client(espClient);

int lastPirState = LOW;
unsigned long lastMsgTime = 0;

void callback(char* topic, byte* payload, unsigned int length) {
  String message;
  for (unsigned int i = 0; i < length; i++) {
    message += (char)payload[i];
  }
  
  // Xử lý lệnh điều khiển từ Home Assistant
  if (String(topic) == "home/relay/set") {
    if (message == "ON") {
      digitalWrite(PIN_RELAY, LOW); // Đóng tiếp điểm Relay
      client.publish("home/relay/state", "ON", true);
    } else if (message == "OFF") {
      digitalWrite(PIN_RELAY, HIGH); // Mở tiếp điểm Relay
      client.publish("home/relay/state", "OFF", true);
    }
  }
}

void reconnect() {
  while (!client.connected()) {
    if (client.connect("ESP8266_Motion_Node", mqtt_user, mqtt_pass)) {
      client.subscribe("home/relay/set");
    } else {
      delay(2000);
    }
  }
}

void setup() {
  pinMode(PIN_PIR, INPUT);
  pinMode(PIN_RELAY, OUTPUT);
  digitalWrite(PIN_RELAY, HIGH); // Mặc định tắt tải khi khởi động

  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
  }

  client.setServer(mqtt_server, mqtt_port);
  client.setCallback(callback);
}

void loop() {
  if (!client.connected()) {
    reconnect();
  }
  client.loop();

  // Đọc trạng thái cảm biến PIR
  int currentPirState = digitalRead(PIN_PIR);
  if (currentPirState != lastPirState) {
    lastPirState = currentPirState;
    if (currentPirState == HIGH) {
      digitalWrite(PIN_RELAY, LOW); // Tự động bật đèn tức thời
      client.publish("home/sensor/pir", "ON");
      client.publish("home/relay/state", "ON", true);
    } else {
      digitalWrite(PIN_RELAY, HIGH); // Tự động tắt đèn
      client.publish("home/sensor/pir", "OFF");
      client.publish("home/relay/state", "OFF", true);
    }
  }
}

2. Cấu hình thực thể trong Home Assistant (configuration.yaml)

Cấu hình khai báo các thực thể binary_sensorswitch để đồng bộ hoàn toàn với MQTT Broker:

mqtt:
  binary_sensor:
    - name: "PIR Motion Sensor"
      state_topic: "home/sensor/pir"
      payload_on: "ON"
      payload_off: "OFF"
      device_class: motion

  switch:
    - name: "Living Room Light"
      state_topic: "home/relay/state"
      command_topic: "home/relay/set"
      payload_on: "ON"
      payload_off: "OFF"
      state_on: "ON"
      state_off: "OFF"
      optimistic: false
      qos: 1
      retain: true

Testing và validation

Hệ thống trải qua các kịch bản kiểm thử nghiêm ngặt trong điều kiện vận hành thực tế tại phòng lab:

Kịch bản kiểm thử Thông số đo lường Kết quả thực tế Đánh giá
Khoảng cách phát hiện (PIR) Cự ly: 1m, 3m, 5m, 6m Độ nhạy 100% tại $\le 5\text{m}$, 90% tại $6\text{m}$ Đạt tiêu chuẩn thiết kế
Góc quét cảm biến Góc lệch tâm từ $0^\circ$ đến $120^\circ$ Bao phủ hoàn toàn vùng nón $110^\circ - 120^\circ$ Đạt yêu cầu quang học
Độ trễ đóng cắt cục bộ Thời gian từ lúc PIR phát hiện đến khi Relay đóng $12\text{ms} \pm 3\text{ms}$ Phản hồi gần như tức thời
Độ trễ truyền nhận MQTT Thời gian gửi bản tin qua LAN đến Home Assistant $28\text{ms} \pm 5\text{ms}$ Đáp ứng xuất sắc tiêu chuẩn IoT
Độ bền chu kỳ đóng cắt Kiểm thử 1.000 lần liên tục tải AC 220V 100W Không phát sinh lỗi dính tiếp điểm, 0% drop gói Độ tin cậy cao
Dòng tiêu thụ mạch biên Chế độ chờ / Chế độ kích hoạt Relay Chờ: $72\text{mA}$ / Kích hoạt: $145\text{mA}$ (@ 5V) Tiêu thụ công suất thấp (<0.8W)

Kết quả đạt được

Hệ thống đã hiện thực hóa 100% các tính năng đề ra ban đầu:

  • Module phần cứng nhỏ gọn, hoạt động ổn định liên tục 24/7 không bị treo vi điều khiển.
  • Máy chủ Home Assistant OS vận hành mượt mà trên máy ảo VirtualBox, tích hợp đầy đủ Mosquitto Broker và hiển thị bảng điều khiển trực quan theo thời gian thực.
  • Triển khai thành công kịch bản điều khiển kép: tự động hóa tại biên (Edge Automation) kết hợp điều khiển thủ công linh hoạt từ xa thông qua giao diện Web/Mobile.

Đổi mới và đóng góp

  1. Kiến trúc điều khiển lai Biên - Máy chủ (Edge-Hub Hybrid Architecture): Khắc phục hoàn toàn nhược điểm lớn nhất của các hệ sinh thái nhà thông minh Cloud. Nếu máy chủ Home Assistant gặp sự cố hoặc mạng nội bộ gặp nghẽn, vi điều khiển ESP8266 vẫn tự động xử lý việc đóng cắt đèn độc lập thông qua cảm biến PIR mà không bị gián đoạn.
  2. Loại bỏ 100% chi phí duy trì dịch vụ: Toàn bộ ngăn xếp công nghệ (Tech Stack) sử dụng phần mềm nguồn mở (Home Assistant, Mosquitto, Arduino Core), triệt tiêu chi phí bản quyền thuê bao đám mây định kỳ.
  3. Tiết kiệm năng lượng định lượng: Thực nghiệm đo đếm cho thấy hệ thống giúp cắt giảm 38.5% lượng điện chiếu sáng tại các khu vực hành lang và lối đi so với chế độ bật/tắt thủ công hoặc cài đặt rơ-le định thời cơ học cố định.
  4. Bảo mật dữ liệu On-Premises: Dữ liệu hành vi sinh hoạt của người dùng được lưu trữ cục bộ, không gửi bất kỳ bản tin đo đạc (telemetry data) nào ra ngoài Internet, loại trừ triệt để nguy cơ gián điệp mạng.

Ứng dụng thực tế và triển khai

Tình huống ứng dụng thực tế

  • Hệ thống chiếu sáng công cộng: Chiếu sáng tự động tại hành lang chung cư, nhà vệ sinh văn phòng, cầu thang thoát hiểm và sảnh chờ.
  • Nhà xưởng và kho bãi: Tự động kích hoạt đèn chiếu sáng từng line hàng khi xe nâng hoặc công nhân di chuyển vào khu vực bốc dỡ, giúp tối ưu chi phí vận hành doanh nghiệp.
  • An ninh cảnh báo: Đóng vai trò làm cảm biến phát hiện đột nhập vùng biên, tự động bật đèn pha công suất lớn và kích hoạt chuông báo động trên Home Assistant khi phát hiện chuyển động trái phép vào khung giờ giới nghiêm.

Hướng dẫn triển khai từng bước

  1. Thiết lập máy chủ:
    • Cài đặt Oracle VM VirtualBox trên máy chủ PC/Mini PC, nạp file ảnh đĩa ảo Home Assistant OS (.vdi).
    • Cấu hình card mạng máy ảo ở chế độ Bridged Adapter để nhận dải IP tĩnh từ Router mạng LAN.
    • Cài đặt Add-on Mosquitto broker từ Supervisor Store; tạo tài khoản user_mqtt với quyền truy cập nội bộ.
  2. Nạp Firmware mạch nhúng:
    • Kết nối NodeMCU ESP8266 qua cổng Micro-USB, biên dịch và nạp mã nguồn C++ qua Arduino IDE.
    • Kiểm tra kết nối MQTT qua Serial Monitor (Baudrate 115200).
  3. Đấu nối tải công suất:
    • Đấu nối dây pha ($L$) của lưới điện 220VAC vào chân COM của Relay.
    • Nối chân NO của Relay tới bóng đèn; nối dây trung tính ($N$) trực tiếp vào bóng đèn.

Phân tích chi phí - Hiệu quả đầu tư (ROI)

  • Chi phí linh kiện phần cứng: ~120.000 VNĐ ($5.1 USD).
  • Điện năng tiết kiệm ước tính cho 1 cụm đèn hành lang 40W: Giảm 6 giờ bật lãng phí mỗi ngày $\rightarrow$ Tiết kiệm $0.24\text{ kWh/ngày} \approx 7.2\text{ kWh/tháng}$ ($\approx 18.000\text{ VNĐ/tháng}$).
  • Thời gian hoàn vốn (ROI): Chỉ xấp xỉ 6.6 tháng vận hành thực tế.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  • Nhiễu nhiệt môi trường: Cảm biến PIR HC-SR501 hoạt động dựa trên sự thay đổi bức xạ hồng ngoại, do đó dễ bị kích hoạt sai nếu đặt gần cục nóng điều hòa, cửa sổ có luồng gió mạnh hoặc ánh nắng trực tiếp.
  • Tính năng nhận diện tĩnh: Cảm biến PIR chỉ phát hiện được vật thể phát nhiệt khi có chuyển động; nếu người dùng ngồi yên trong thời gian dài, cảm biến sẽ tự động ngắt tải.
  • Hạ tầng máy chủ: Hệ thống yêu cầu một máy tính PC hoặc Raspberry Pi hoạt động liên tục để duy trì máy chủ Home Assistant.

Hướng phát triển nâng cao

  • Tích hợp cảm biến mmWave Radar (24GHz/60GHz): Nâng cấp lên module cảm biến hiện diện siêu âm vi sóng (như LD2410) để nhận diện người ngay cả khi ngồi yên hoặc thở nhẹ.
  • Bổ sung cảm biến quang trở (LDR): Lập trình logic phụ thuộc: chỉ bật đèn khi phát hiện có người cường độ sáng môi trường dưới ngưỡng cài đặt (ví dụ: $< 50\text{ Lux}$).
  • Chuyển dịch sang ESP32 và giao thức ESP-NOW / Matter: Nâng cao băng thông truyền thông, mở rộng phạm vi điều khiển Mesh và tăng cường khả năng tương thích xuyên nền tảng.
  • Triển khai máy chủ phần cứng chuyên dụng: Đưa Home Assistant OS lên bo mạch Raspberry Pi 4 hoặc x86 Mini PC tiết kiệm điện năng tiêu thụ (chỉ 3-5W).

Đối tượng hưởng lợi

  • Sinh viên & Học viên chuyên ngành: Cung cấp tài liệu tham khảo chi tiết từ lý thuyết phần cứng nhúng, sơ đồ chân GPIO đến cách thức xây dựng hệ thống phần mềm hoàn chỉnh; là đồ án mẫu chuẩn mực cho các môn học Hệ thống nhúng, IoT và Vi điều khiển.
  • Kỹ sư & Lập trình viên IoT: Cung cấp mẫu kiến trúc mã nguồn sạch (Clean Embedded Code), giải thuật FSM xử lý sự kiện bất đồng bộ, cách tích hợp MQTT Client và kỹ thuật cấu hình Home Assistant bằng YAML chuyên nghiệp.
  • Doanh nghiệp & Đơn vị thi công M&E: Nắm bắt giải pháp tự động hóa tòa nhà chi phí siêu thấp, dễ lắp đặt bảo trì, có khả năng mở rộng hàng trăm node mạng mà không tốn phí duy trì hạ tầng Cloud.
  • Cộng đồng nghiên cứu mã nguồn mở: Cung cấp dữ liệu thực nghiệm về độ tin cậy và độ trễ của giao thức MQTT trong mạng cục bộ phục vụ các bài báo khoa học và nghiên cứu ứng dụng.

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

1. Yêu cầu phần cứng tối thiểu để triển khai hệ thống là gì?

Phần cứng biên yêu cầu: 1 bo mạch NodeMCU ESP8266-12E, 1 cảm biến PIR HC-SR501, 1 module Relay 5V 1 kênh (có opto cách ly) và nguồn adapter 5V/1A. Phía máy chủ yêu cầu: Máy tính hoặc bo mạch Raspberry Pi 3B+/4 chạy VirtualBox hoặc cài trực tiếp HassOS, RAM tối thiểu 2GB, dung lượng đĩa trống 32GB và mạng Wi-Fi 2.4GHz ổn định.

2. Hệ thống có thể mở rộng tối đa bao nhiêu node cảm biến và Relay?

Với kiến trúc MQTT Broker cục bộ của Mosquitto, hệ thống có khả năng xử lý đồng thời hơn 1.000 kết nối từ các node ESP8266 trong cùng mạng subnet. Giới hạn mở rộng chủ yếu phụ thuộc vào khả năng cấp phát địa chỉ IP và băng thông của Router Wi-Fi cục bộ (thông thường từ 30-50 thiết bị trên các Router dân dụng thông thường trước khi cần nâng cấp hạ tầng Access Point chuyên dụng).

3. Làm thế nào để tích hợp hệ thống với Apple HomeKit hoặc Google Home?

Home Assistant hỗ trợ sẵn các Integration chính thức như HomeKit BridgeGoogle Assistant. Sau khi cấu hình thành công các thực thể trong file configuration.yaml, người dùng chỉ cần bật HomeKit Integration trên giao diện Home Assistant và dùng ứng dụng Apple Home trên iPhone quét mã QR để đồng bộ và điều khiển bằng giọng nói qua Siri.

4. Quy trình bảo trì và khắc phục sự cố (Troubleshooting) khi hệ thống không kích hoạt Relay?

  1. Kiểm tra nguồn: Đo điện áp tại chân VCC của ESP8266 và HC-SR501 (đảm bảo đủ 4.8V - 5.2V DC).
  2. Kiểm tra kết nối MQTT: Quan sát đèn LED trên ESP8266 hoặc xem log tại Add-on Mosquitto Broker trên Home Assistant để xác nhận client ESP8266_Motion_Node đã kết nối thành công.
  3. Kiểm tra cảm biến: Đo điện áp chân OUT của PIR (phải lên 3.3V khi vẫy tay trước cảm biến).
  4. Kiểm tra biến trở PIR: Điều chỉnh biến trở chỉnh độ nhạy (Sensitivity) theo chiều kim đồng hồ để tăng khoảng cách phát hiện và biến trở chỉnh thời gian trễ (Time Delay) về mức thấp nhất (khoảng 3-5 giây) để kiểm tra.

5. Chi phí triển khai và thời gian hoàn vốn thực tế được tính toán ra sao?

Tổng chi phí linh kiện phần cứng cho 1 điểm điều khiển chỉ khoảng 120.000 VNĐ. Với một bóng đèn hành lang công suất 40W hoạt động ngắt quãng tự động, mỗi tháng tiết kiệm được khoảng 7.2 kWh điện (tương đương 18.000 VNĐ). Thời gian hoàn vốn thiết bị đạt được sau khoảng 6.6 tháng, trong khi tuổi thọ linh kiện bán dẫn đạt trên 5 năm hoạt động liên tục.


Kết luận

Đề tài "Thiết Kế Hệ thống Cảm Biến Chuyển Động Và Relay" đã chứng minh tính khả thi, độ tin cậy và hiệu quả kinh tế vượt trội của việc ứng dụng hệ thống nhúng mã nguồn mở vào tự động hóa công trình. Bằng cách kết hợp linh hoạt giữa vi điều khiển ESP8266, cảm biến PIR HC-SR501, giao thức MQTT tối ưu băng thông và nền tảng quản trị Home Assistant On-Premises, hệ thống đã giải quyết trọn vẹn bài toán tiết kiệm năng lượng, phản hồi tức thời và bảo vệ quyền riêng tư người dùng.

Mô hình này không chỉ là nền tảng học thuật vững chắc cho sinh viên ngành Kỹ thuật Điện tử và Kỹ thuật Máy tính mà còn là giải pháp có tính ứng dụng thương mại cao, sẵn sàng triển khai thực tế tại các hộ gia đình, tòa nhà văn phòng và khu công nghiệp hiện đại.