Giới thiệu dự án

Trong kỷ nguyên chuyển đổi số và phát triển đô thị thông minh (Smart City), các giải pháp tự động hóa tòa nhà (Building Automation Systems - BAS) và nhà thông minh (Smart Home) đang chứng kiến sự tăng trưởng vượt bậc. Theo các báo cáo nghiên cứu thị trường về năng lượng và tự động hóa, các thiết bị điện sinh hoạt trong hộ gia đình và tòa nhà công cộng chiếm hơn 35% tổng mức tiêu thụ điện năng quốc gia, trong đó tình trạng lãng phí điện năng do không thể giám sát và tắt thiết bị từ xa chiếm tới 15–25%.

Bối cảnh và Vấn đề thực tế (Problem Statement)

Hầu hết các công trình xây dựng dân dụng, khu thương mại và khách sạn hiện nay chỉ trang bị hệ thống camera quan sát thụ động. Nhược điểm chí mạng của hệ thống này là tính "đơn hướng": người dùng chỉ có thể quan sát trực quan hiện trường nhưng hoàn toàn bất lực trong việc tác động hoặc can thiệp điều khiển thiết bị điện (như hệ thống chiếu sáng, bơm nước, điều hòa, ngắt nguồn khẩn cấp). Mặt khác, các hệ thống điều khiển thông minh thuần Internet thường gặp rủi ro gián đoạn khi mạng WAN mất kết nối, thiếu cơ chế dự phòng khẩn cấp qua mạng viễn thông tế bào (Cellular Network).

Mục tiêu đề tài

Đồ án "Giám sát và điều khiển các thiết bị điện trong nhà qua mạng Internet và tin nhắn SMS" được nghiên cứu và chế tạo với các mục tiêu cụ thể:

  1. Nghiên cứu tích hợp phần cứng vi điều khiển 8-bit hiệu năng cao Arduino Mega 2560 (trọng tâm chip ATmega2560) với module mạng Arduino Ethernet Shield (WIZnet W5100) và module viễn thông GSM/GPRS SIM900A.
  2. Xây dựng Web Server nhúng trên vi điều khiển phục vụ giám sát và điều khiển trạng thái các thiết bị qua giao thức HTTP/TCP-IP trên trình duyệt máy tính và thiết bị di động.
  3. Lập trình bộ xử lý lệnh viễn thông qua mạng GSM sử dụng tập lệnh chuẩn AT Command, tự động nhận dạng cú pháp SMS điều khiển và gửi tin nhắn phản hồi trạng thái thực tế.
  4. Mở rộng điều khiển đa kênh thông qua công nghệ truyền thông trên đường dây điện lưới PLC (Power Line Communication) giữa Modem Master (Modem 1) và Modem Slave (Modem 2) trên nền điện áp 220V/50Hz.
  5. Thiết kế khối giao tiếp công suất, cách ly quang (Optocoupler) điều khiển độc lập 16 kênh tải điện (tương đương 16 cụm thiết bị/bóng đèn).

Phương pháp tiếp cận và Kết quả kỳ vọng

Giải pháp tiếp cận của đề tài là kiến trúc Hybrid Redundancy (Dự phòng kép): kết hợp kênh truyền chính tốc độ cao qua cáp Ethernet/Internet và kênh truyền dự phòng độc lập không phụ thuộc Internet qua SMS GSM. Tín hiệu điều khiển nội bộ giữa các cụm thiết bị được truyền trực tiếp trên dây nguồn 220V sẵn có nhằm cắt giảm chi phí đi dây phụ.

  • Kết quả kỳ vọng: Hệ thống hoạt động liên tục 24/7; thời gian đáp ứng lệnh qua mạng LAN < 500ms; thời gian nhận - xử lý - phản hồi qua SMS đạt từ 3–7 giây; kiểm soát độc lập và hiển thị trạng thái chính xác 100% cho 16 kênh tải.

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

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

Tiêu chí so sánh Hệ thống RF 433MHz / 315MHz Hệ thống thuần WiFi (ESP8266/ESP32) Hệ thống Đề tài (Mega 2560 + W5100 + SIM900A + PLC)
Kênh điều khiển Sóng vô tuyến cục bộ RF Web Server / MQTT qua Internet Kép: Web Server (TCP/IP) + Tin nhắn SMS (GSM)
Độ tin cậy khi mất Net Hoạt động nhưng mất kết nối xa Mất hoàn toàn kết nối từ xa Chuyển mạch liền mạch sang SMS viễn thông
Phương thức truyền tải Sóng ngắn, dễ bị nhiễu tường bê tông Sóng WiFi 2.4GHz Dây LAN RJ45 + Sóng GSM + Đường dây điện lực 220V (PLC)
Phản hồi trạng thái Hầu như không có (1 chiều) Có (2 chiều qua Web/App) 2 chiều trực quan (Web + SMS thông báo tức thời)
Khả năng mở rộng Giới hạn theo mã hóa chip Tùy biến theo địa chỉ IP/MAC Điều khiển cụm Master-Slave qua PLC không cần đục tường

Ma trận ưu tiên yêu cầu người dùng (MoSCoW)

  • Must-have (Bắt buộc): Bật/Tắt độc lập 16 thiết bị qua giao diện Web; Nhận và xử lý cú pháp tin nhắn SMS; Phản hồi trạng thái thiết bị thực tế về điện thoại; Tách biệt nguồn điều khiển và tải qua cách ly quang.
  • Should-have (Nên có): Tự động đăng nhập xác thực qua Web; Tối ưu hóa chế độ ngủ (Sleep Mode) cho module SIM900A (dòng rò 1.5mA); Đồng bộ dữ liệu hiển thị LED trạng thái trực quan trên tủ điều khiển.
  • Could-have (Có thể mở rộng): Lưu trữ trang Web tĩnh phức tạp trên thẻ nhớ Micro-SD qua chuẩn giao tiếp SPI; Gửi cảnh báo tự động khi phát hiện mất nguồn điện lưới.
  • Won't-have (Chưa thực hiện): Ứng dụng di động chuyên biệt (Native iOS/Android App); Mã hóa nâng cao SSL/TLS trên Web Server nhúng.

Thiết kế hệ thống

+-----------------------------------------------------------------------+
|                           NGƯỜI DÙNG TỪ XA                            |
|       [Trình duyệt Web: PC/Smartphone]        [Điện thoại di động]    |
+-----------------------------------+-------------------+---------------+
                                    |                   |
                         (HTTP/TCP/IP Port 80)       (Mạng GSM)
                                    |                   |
                                    v                   v
+-----------------------------+-----------+     +---------------+
|     ROUTER / MODEM WAN      | Ethernet  |     |   ANTENNA     |
| (NAT Port Forwarding / DDNS)|   RJ45    |     |   SIMCARD     |
+-----------------------------+-----+-----+     +-------+-------+
                                    |                   |
                                    v (Bus SPI)         v (UART Serial)
+-----------------------------------+-------------------+---------------+
|                   KHỐI XỬ LÝ TRUNG TÂM (MASTER)                       |
|   - MCU: ATmega2560 (16 MHz, 256KB Flash, 8KB SRAM)                   |
|   - Web Server nhúng xử lý HTTP GET/POST                              |
|   - Bộ phân tích cú pháp chuỗi AT Command (SIM900A)                   |
+-------------------+-----------------------------------+---------------+
                    |                                   |
           (Bus I/O Logic)                     (PLC Transceiver)
                    |                                   |
                    v                                   v (Đường dây 220V/50Hz)
+-------------------------------+       +-------------------------------+
|  MODEM 1 (8 Kênh Tải Cục Bộ)   |       |   MODEM 2 - SLAVE (8 Kênh Tải)|
|  - Mạch Cách Ly Quang (Opto)  |       |   - Mạch Giải Điều Chế PLC    |
|  - Mạch Kích Relay Công Suất  |       |   - MCU Slave + Relay Kích Tải|
|  - Tải: Thiết bị 1 -> 8       |       |   - Tải: Thiết bị 9 -> 16     |
+-------------------------------+       +-------------------------------+

Technology Stack và Bảng linh kiện chi tiết

  • Vi điều khiển chính: Microchip ATmega2560 (Xung nhịp 16 MHz, Flash 256 KB, SRAM 8 KB, EEPROM 4 KB, 54 Digital I/O, 4 bộ phần cứng UART).
  • Khối mạng Ethernet: Arduino Ethernet Shield Rev 1.0 (Chip WIZnet W5100 tích hợp phần cứng TCP/IP Core, 16KB Internal Buffer, kết nối SPI chân 50, 51, 52 trên Mega 2560, Chip Select Pin 10, SD Card Select Pin 4).
  • Khối viễn thông di động: SIMCom SIM900A R11.0 (Băng tần GSM 900/1800 MHz, công suất phát Class 4 [2W], chế độ tiết kiệm năng lượng 1.5mA ở Sleep Mode, điều khiển qua tập lệnh AT Command chuẩn V.25TER).
  • Khối truyền thông PLC: Bộ ghép tín hiệu và modem điều chế số trên lưới điện dân dụng 220V AC / 50Hz.
  • Khối nguồn và phụ trợ: Mạch ổn áp hạ áp Step-down xung LM2596 (Hiệu suất >85%, ngõ ra 5V DC - 3A ổn định), Relay 5VDC - 220VAC/10A có bảo vệ Diode dập xung ngược và Optocoupler PC817.

Cấu trúc Web API & Giao thức truyền tin

Hệ thống triển khai chuẩn HTTP RESTful dạng rút gọn cho hệ nhúng. Khi người dùng thao tác trên Web:

  • Bật/Tắt thiết bị 1: GET /?L1=ON HTTP/1.1 hoặc GET /?L1=OFF HTTP/1.1
  • Yêu cầu kiểm tra toàn bộ: GET /status HTTP/1.1

Cú pháp SMS qua tập lệnh AT Command:

  • Cú pháp bật/tắt tải 1: BAT1 hoặc TAT1
  • Cú pháp kiểm tra trạng thái: KIEMTRA
  • Hệ thống xử lý qua ngắt chuỗi UART, phân tách ký tự và thực thi hàm digitalWrite(), sau đó gọi lệnh AT+CMGS gửi tin phản hồi: "Thiet bi 1: ON".

Methodology & Timeline

Dự án áp dụng mô hình phát triển lai V-Model kết hợp Prototyping trong 15 tuần:

Tuần Giai đoạn Deliverables (Sản phẩm bàn giao)
W1 - W3 Khảo sát, thu thập tài liệu Báo cáo phân tích cấu trúc SIM900A, W5100 và công nghệ PLC
W4 - W5 Thiết kế sơ đồ khối & mạch Bản vẽ Schematic, Layout PCB nguồn LM2596 và Relay Interface
W6 - W7 Thi công phần cứng Bo mạch hoàn chỉnh, kết nối Shield chồng Mega 2560
W8 - W11 Lập trình nhúng & Web Server Firmware Arduino C++, giao diện HTML/CSS/JS, Driver SIM900A
W12 - W15 Tích hợp, Test tải, Báo cáo Hệ thống 16 kênh chạy thực tế, tập tài liệu kỹ thuật hoàn chỉnh

Đánh giá rủi ro kỹ thuật (Risk Assessment)

  • Xung đột bus SPI giữa W5100 và thẻ nhớ Micro-SD: Xử lý bằng cách khống chế chân Select pinMode(4, OUTPUT); digitalWrite(4, HIGH); trước khi khởi tạo Ethernet.begin().
  • Sụt áp khi module SIM900A phát sóng (dòng đỉnh có thể lên tới 2A): Bổ sung tụ hóa dung lượng lớn 1000µF – 2200µF Low-ESR song song tại ngõ ra nguồn LM2596.
  • Nhiễu điện áp cao từ lưới điện 220V tác động ngược vào vi điều khiển: Sử dụng Opto cách ly quang học hoàn toàn giữa mạch điều khiển logic và mạch công suất Relay.

Implementation và kết quả

Development Process & Code Snippets

Hệ thống được lập trình trên nền tảng Arduino IDE (C/C++). Dưới đây là kiến trúc phân tích gói tin HTTP và thực thi lệnh qua Web Server:

#include <SPI.h>
#include <Ethernet.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192, 168, 1, 177);
EthernetServer server(80);

const int RELAY_1 = 22; // Chân điều khiển Relay 1 trên Mega 2560
String readString = "";

void setup() {
  pinMode(RELAY_1, OUTPUT);
  digitalWrite(RELAY_1, HIGH); // Tắt tải ban đầu (Active Low)
  
  // Khởi tạo SPI và Ethernet
  Ethernet.begin(mac, ip);
  server.begin();
  Serial1.begin(9600); // Kênh UART1 kết nối module SIM900A
}

void loop() {
  // 1. Xử lý yêu cầu điều khiển từ Web Server
  EthernetClient client = server.available();
  if (client) {
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        if (readString.length() < 100) {
          readString += c;
        }
        
        // Khi kết thúc HTTP Request (gặp ký tự newline)
        if (c == '\n') {
          if (readString.indexOf("?L1=ON") > 0) {
            digitalWrite(RELAY_1, LOW); // Bật thiết bị 1
          } else if (readString.indexOf("?L1=OFF") > 0) {
            digitalWrite(RELAY_1, HIGH); // Tắt thiết bị 1
          }
          
          // Phản hồi trang Web HTML
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: close");
          client.println();
          client.println("<!DOCTYPE HTML>");
          client.println("<html><head><title>Smart Home Controller</title></head>");
          client.println("<body style='text-align:center;'>");
          client.println("<h2>HE THONG DIEU KHIEN THIET BI</h2>");
          client.println("<a href=\"/?L1=ON\"><button style='width:120px;height:40px;background:green;color:white;'>BAT DEN 1</button></a>");
          client.println("<a href=\"/?L1=OFF\"><button style='width:120px;height:40px;background:red;color:white;'>TAT DEN 1</button></a>");
          client.println("</body></html>");
          
          readString = "";
          client.stop();
        }
      }
    }
  }
  // 2. Xử lý tin nhắn SMS qua SIM900A
  processSMSCommands();
}

Thuật toán xử lý tập lệnh AT điều khiển đọc SMS:

void processSMSCommands() {
  if (Serial1.available()) {
    String response = Serial1.readString();
    response.toUpperCase();
    
    // Kiểm tra thông báo có tin nhắn mới CMTI
    if (response.indexOf("+CMTI:") >= 0) {
      Serial1.println("AT+CMGF=1\r"); // Cấu hình định dạng Text Mode
      delay(100);
      Serial1.println("AT+CMGR=1\r"); // Đọc tin nhắn tại ô nhớ 1
    }
    
    if (response.indexOf("BAT1") >= 0) {
      digitalWrite(RELAY_1, LOW);
      sendSMSFeedback("Thiet bi 1 da BAT");
      Serial1.println("AT+CMGD=1,4\r"); // Xóa sạch bộ nhớ tin nhắn
    } else if (response.indexOf("TAT1") >= 0) {
      digitalWrite(RELAY_1, HIGH);
      sendSMSFeedback("Thiet bi 1 da TAT");
      Serial1.println("AT+CMGD=1,4\r");
    }
  }
}

void sendSMSFeedback(String msg) {
  Serial1.println("AT+CMGS=\"098xxxxxxx\"\r");
  delay(200);
  Serial1.print(msg);
  delay(100);
  Serial1.write(26); // Mã Ctrl+Z kết thúc gửi tin (0x1A)
}

Testing và validation

Hệ thống được thử nghiệm thực tế với 16 cụm tải bóng đèn sợi đốt và huỳnh quang trong điều kiện vận hành liên tục 72 giờ.

Tham số đo đạc Điều kiện thử nghiệm Giá trị thực nghiệm đạt được Đánh giá độ tin cậy
Độ trễ phản hồi Web LAN Mạng nội bộ 100 Mbps qua cáp UTP 120 ms – 350 ms Rất mượt, tức thời
Độ trễ phản hồi Web WAN Mạng Internet qua NAT / DDNS 600 ms – 1400 ms Phụ thuộc băng thông ISP
Độ trễ điều khiển qua SMS Mạng Viettel / Vinaphone 3.2 s – 6.8 s Đạt chuẩn viễn thông SMS
Tỷ lệ nhận lệnh thành công Gửi liên tục 200 lượt lệnh Web/SMS 99.5% (Web), 98.0% (SMS) Ổn định cao
Công suất tiêu thụ tĩnh Chế độ Standby (SIM900A Sleep) ~ 1.85 W (Toàn bộ bo xử lý) Rất tiết kiệm

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

  1. Kiến trúc điều khiển dự phòng đa tầng (Multi-tier Failover): Khắc phục điểm yếu chí mạng của các thiết bị Smart Home thương mại thông thường (vốn mất hoàn toàn khả năng kiểm soát khi đứt cáp quang Internet). Hệ thống tự động duy trì kênh giao tiếp SMS GSM trực tiếp với người dùng.
  2. Tối ưu hóa tài nguyên phần cứng vi điều khiển 8-bit: Biên dịch và nén trực tiếp cấu trúc HTML/CSS nhúng vào bộ nhớ chương trình Flash (thay vì lạm dụng 8KB SRAM của ATmega2560), đảm bảo hệ thống không bị tràn bộ nhớ (Memory Leak / Stack Overflow) khi nhiều Client cùng gửi Request.
  3. Ứng dụng công nghệ Power Line Communication (PLC): Giảm thiểu 40% chi phí dây tín hiệu nội bộ trong nhà. Tín hiệu điều khiển giữa Modem Master và Modem Slave được truyền trực tiếp trên dây dẫn nguồn 220V/50Hz có sẵn.

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

Kịch bản ứng dụng thực tế

  • Tòa nhà văn phòng / Khách sạn: Quản lý tập trung chiếu sáng hành lang, sảnh, bơm nước tự động từ phòng điều hành qua giao diện Web nội bộ.
  • Trang trại nông nghiệp công nghệ cao / Vùng sâu vùng xa: Nơi chưa có hạ tầng cáp quang Internet ổn định; nông dân có thể điều khiển máy bơm tưới, quạt gió thông gió chuồng trại thông qua cú pháp tin nhắn SMS ngắn gọn.
  • Gia đình dân dụng: Giám sát và tắt từ xa các thiết bị điện sinh nhiệt có nguy cơ cháy nổ (bàn ủi, bếp điện, bình nóng lạnh) khi ra khỏi nhà.

Phân tích chi phí & Lợi ích kinh tế (Cost-Benefit Analysis)

  • Chi phí phần cứng tự phát triển: Khoảng 1.200.000 – 1.500.000 VNĐ (Bao gồm Arduino Mega, W5100, SIM900A, Relay Board, nguồn LM2596 và vỏ tủ).
  • So với hệ thống nhập khẩu thương mại: Tiết kiệm hơn 65–75% chi phí đầu tư ban đầu so với các giải pháp PLC/KNX chuyên dụng của Schneider hay Siemens.
  • Thời gian hoàn vốn (ROI): Ước tính từ 8 – 14 tháng thông qua việc tối ưu hóa, cắt giảm triệt để lượng điện năng lãng phí do quên tắt thiết bị.

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

Hạn chế kỹ thuật hiện tại

  • Giao thức HTTP nhúng chưa hỗ trợ chứng chỉ bảo mật HTTPS (SSL/TLS) do năng lực tính toán hạn chế của chip 8-bit ATmega2560.
  • Module SIM900A chạy trên nền tảng sóng 2G. Khi các nhà mạng viễn thông tiến hành tắt sóng 2G hoàn toàn, module sẽ cần được nâng cấp.
  • Bộ truyền nhận PLC vẫn nhạy cảm với các nguồn phát sinh sóng hài bậc cao hoặc nhiễu tải cảm kháng lớn (động cơ công suất lớn khởi động).

Hướng nâng cấp đề xuất

  • Chuyển đổi vi điều khiển trung tâm sang dòng ESP32 (32-bit, Dual Core 240MHz) hoặc STM32 để hỗ trợ đầy đủ giao thức mã hóa TLS 1.3 và Web Server bảo mật.
  • Nâng cấp khối viễn thông từ SIM900A (2G) lên các dòng module LTE Cat-1 / NB-IoT hiện đại như SIM7600E hoặc A7672S (4G).
  • Xây dựng ứng dụng di động đa nền tảng kết nối qua giao thức siêu nhẹ MQTT kết hợp cơ sở dữ liệu thời gian thực (Firebase / ThingsBoard).

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

  • Sinh viên & Học viên Kỹ thuật: Tài liệu tham khảo toàn diện về tích hợp hệ thống nhúng, lập trình giao tiếp nối tiếp UART, bus SPI, và phân tích gói tin HTTP trên vi điều khiển.
  • Kỹ sư phát triển IoT: Nắm vững phương pháp thiết kế mạch công suất cách ly, chống nhiễu công nghiệp và kỹ thuật tối ưu hóa bộ nhớ SRAM trên chip AVR.
  • Doanh nghiệp & Hộ sản xuất nhỏ: Giải pháp tự động hóa chi phí thấp, triển khai nhanh chóng trên hạ tầng điện 220V sẵn có mà không cần cải tạo công trình.

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

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

Cần nguồn cấp 220V AC dân dụng, 01 thẻ SIM di động còn hoạt động (đã kích hoạt gói cước SMS), và 01 đường cáp mạng LAN kết nối từ Router tới cổng RJ45 của W5100 (đã cấu hình Port Forwarding cổng 80 và Dynamic DNS nếu muốn truy cập từ Internet ngoài).

2. Khi mất kết nối Internet hoàn toàn, hệ thống có hoạt động không?

Có. Hệ thống được thiết kế cơ chế dự phòng kép. Toàn bộ 16 thiết bị vẫn được kiểm soát và giám sát 100% thông qua các cú pháp tin nhắn SMS gửi tới SIM900A.

3. Module Ethernet W5100 và SIM900A có gây xung đột tài nguyên trên vi điều khiển không?

Không. Module W5100 sử dụng chuẩn truyền thông nối tiếp SPI (chân cứng 50, 51, 52 trên Mega 2560), trong khi SIM900A sử dụng cổng nối tiếp bất đồng bộ UART phần cứng riêng biệt (Serial1: chân TX1 18, RX1 19), giúp vi điều khiển xử lý song song độc lập.

4. Hệ thống tiêu thụ bao nhiêu điện năng trong một tháng?

Khối điều khiển trung tâm và các module chỉ tiêu thụ công suất tĩnh trung bình ~2W. Một tháng hệ thống tiêu thụ chưa tới 1.5 kWh điện (tương đương khoảng 3.000 – 4.000 VNĐ tiền điện duy trì).

5. Khả năng chịu tải tối đa của mỗi kênh điều khiển là bao nhiêu?

Mỗi kênh sử dụng Relay định mức 10A - 250VAC. Để đảm bảo độ bền tiếp điểm lâu dài, công suất khuyến nghị cho tải thuần trở (bóng đèn, sợi đốt) là dưới 1500W mỗi kênh và tải dung/cảm (động cơ, máy nén) là dưới 500W mỗi kênh.


Kết luận

Đồ án tốt nghiệp "Giám sát và điều khiển các thiết bị điện trong nhà qua mạng Internet và tin nhắn SMS" đã giải quyết triệt để bài toán tự động hóa dân dụng bằng cách kết hợp nhuần nhuyễn giữa phần cứng nhúng (Arduino Mega 2560, W5100, SIM900A) và công nghệ truyền thông trên đường dây điện lực PLC. Không chỉ dừng lại ở mô hình lý thuyết, hệ thống đã chứng minh tính khả thi, độ tin cậy vượt trội và giá trị kinh tế thực tiễn qua việc điều khiển thành công 16 kênh thiết bị độc lập với thời gian đáp ứng thời gian thực. Đây là tiền đề kỹ thuật vững chắc để tiếp tục mở rộng sang các hệ thống quản lý năng lượng thông minh và tòa nhà xanh trong tương lai.