Giới thiệu dự án
Sự bùng nổ của cuộc Cách mạng Công nghiệp 4.0 và xu hướng Internet vạn vật (IoT - Internet of Things) đã thúc đẩy mạnh mẽ quá trình tự động hóa nhà ở (Smart Home) và điều khiển công nghiệp. Theo thống kê từ Statista, thị trường thiết bị nhà thông minh toàn cầu duy trì tốc độ tăng trưởng kép hàng năm (CAGR) trên 12%, trong đó nhu cầu quản lý năng lượng từ xa và phòng ngừa sự cố chập cháy điện lưới gia dụng chiếm tỷ trọng quan trọng. Tuy nhiên, các giải pháp thương mại thường đòi hỏi chi phí đầu tư cao, phụ thuộc vào hạ tầng máy chủ trung gian (Cloud Hub) độc quyền và thiếu khả năng tùy biến theo hệ thống điện lưới dân dụng tại Việt Nam.
Đồ án tốt nghiệp "Điều khiển thiết bị điện qua Wifi trên điện thoại Android" được nghiên cứu và thực hiện tại Khoa Điện - Điện tử, Trường Đại học Sư phạm Kỹ thuật TP.HCM (HCMUTE) dưới sự hướng dẫn của ThS. Nguyễn Văn Hiệp. Đề tài tập trung giải quyết bài toán điều khiển, đóng cắt và giám sát trạng thái 5 ngõ ra công suất 220VAC/10A thông qua giao thức truyền thông không dây nội bộ (UDP/IP qua WiFi) kết hợp cơ chế lưu trữ nhật ký đám mây phi máy chủ (Serverless Telemetry) trên Google Spreadsheets.
[Android App (Java Socket Client)]
│ (UDP Datagram / Wi-Fi LAN)
▼
[ESP8266 SoC Module (Station / Soft-AP Mode)]
│ (Full-Duplex UART @ 9600 bps)
▼
[PIC18F4550 Microcontroller (Control Core)] ────► [Google Spreadsheets (HTTP POST Log)]
│ (GPIO Digital Signals)
▼
[MOC3020 Optocoupler Isolation Stage]
│ (Trigger Current I_GT)
▼
[BTA12 TRIAC Power Switching Stage] ────► [5x AC Loads (220VAC / 10A Total)]
Mục tiêu dự án
- Thiết kế phần cứng nguồn và đóng cắt công suất: Chế tạo khối nguồn xung Flyback (5VDC/700mA) tích hợp mạch giảm áp LM317 (3.3VDC), đi kèm khối điều khiển 5 ngõ ra tải AC sử dụng Triac cách ly quang, đáp ứng tổng dòng tải liên tục 10A ở điện áp 220VAC.
- Xây dựng firmware vi điều khiển trung tâm: Lập trình vi điều khiển 8-bit Microchip PIC18F4550 giao tiếp module ESP8266 qua tập lệnh chuẩn AT Command, tự động cấu hình Baudrate, xử lý logic chuyển mạch và tự động đẩy dữ liệu lên Google Cloud.
- Phát triển ứng dụng Android Client: Thiết kế ứng dụng chạy trên hệ điều hành Android bằng Java/Android Studio, ứng dụng mô hình lập trình mạng hướng Socket không kết nối (UDP Datagram) nhằm tối ưu độ trễ điều khiển và hiển thị phản hồi trạng thái tức thời.
Phạm vi và giới hạn
- Phạm vi hoạt động: Điều khiển trực tiếp trong mạng WiFi cục bộ (WLAN) với cơ chế tự tạo điểm phát sóng phụ trợ (Soft-AP fallback) khi mất kết nối mạng ngoài.
- Giới hạn kỹ thuật: Giới hạn công suất ngắt tức thời của cầu chì bảo vệ toàn mạch là 10A; việc thu thập dữ liệu thống kê điện áp/dòng điện theo thời gian thực (Real-time Power Metering) trên từng nhánh tải chưa được tích hợp cảm biến chuyên dụng (như ACS712).
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Trước khi tiến hành thiết kế hệ thống, các giải pháp điều khiển thiết bị điện hiện có trên thị trường được phân tích chi tiết nhằm xác định khoảng trống công nghệ và tối ưu hóa chi phí.
| Tiêu chí kỹ thuật |
Giải pháp Remote sóng RF (315/433 MHz) |
Giải pháp thương mại ZigBee / Z-Wave |
Giải pháp đề xuất (PIC18F4550 + ESP8266) |
| Phản hồi trạng thái (Feedback) |
Không có (Truyền 1 chiều) |
Có (2 chiều qua Gateway) |
Có (2 chiều qua UDP & LED chỉ thị) |
| Giao diện người dùng |
Nút bấm vật lý đơn giản |
App chuyên nghiệp, phụ thuộc Cloud |
Ứng dụng Android trực quan, tối ưu RAM |
| Chi phí triển khai |
Rất thấp (~5-10 USD) |
Rất cao (~80-150 USD cả Hub) |
Thấp (~15-20 USD) |
| Bảo mật & Mã hóa |
Kém (Dễ bị dò và sao chép mã) |
Tốt (Mã hóa AES-128) |
Trung bình - Tốt (WPA2-PSK WiFi & OAuth2) |
| Khả năng mở rộng Cloud |
Không khả thi |
Có (Máy chủ nhà sản xuất) |
Đẩy trực tiếp lên Google Form / Sheets API |
Ưu tiên yêu cầu theo mô hình MoSCoW
- Must have (Bắt buộc): Điều khiển độc lập 5 kênh tải 220VAC/10A; phản hồi trạng thái 2 chiều lên ứng dụng Android qua WiFi; cách ly quang an toàn giữa khối logic 5V và điện áp lưới 220V.
- Should have (Nên có): Tự động phát mạng WiFi riêng (Soft-AP) khi mất kết nối Router; lưu nhật ký thời gian bật/tắt lên Google Sheets; nút bấm cứng kèm đèn LED hiển thị tại chỗ.
- Could have (Có thể có): Cơ chế tự động dò tìm và khôi phục Baudrate UART khi vi điều khiển mất đồng bộ với module ESP8266.
- Won't have (Chưa thực hiện): Cập nhật Firmware qua mạng không dây (OTA - Over-The-Air); đo lường chi tiết công suất tiêu thụ kWh từng ngõ ra.
Thiết kế hệ thống
Hệ thống được thiết kế theo cấu trúc module hóa phân tầng, tách biệt hoàn toàn giữa mạch xử lý tín hiệu điện áp thấp và mạch công suất AC điện áp cao.
+-----------------------------------------------------------------------------------+
| NGUỒN VÀO 220VAC |
+------------------------------------------+----------------------------------------+
|
+-----------------------+-----------------------+
| |
▼ ▼
+---------------------------+ +---------------------------+
| Khối Nguồn Xung (Flyback) | | Khối 5 Kênh Tải AC |
| - TNY255 Switcher (5V/1A) | | - Cầu chì bảo vệ tổng 10A |
| - LM317 Reg (5V -> 3.3V) | | - 5x Triac BTA12 (600V/12A)|
+-------------+-------------+ +-------------▲-------------+
| (5VDC / 3.3VDC) | (Kích cực G)
▼ |
+---------------------------+ +-------------+-------------+
| Khối Vi Điều Khiển Trung | | Khối Cách Ly Quang |
| Tâm (Microchip PIC18F4550)| | - 5x Opto-Triac MOC3020 |
| - 32KB Flash, 2KB SRAM |───(GPIO OUT 1-5)─►| - 5x LED báo trạng thái |
| - Bộ tạo dao động thạch anh| | - 5x Nút nhấn Manual |
+-------------▲-------------+ +---------------------------+
| (UART: TX/RX @ 9600bps)
▼
+---------------------------+ +---------------------------+
| Khối Thu Phát WiFi | | Thiết Bị Đầu Cuối & Cloud |
| (Espressif ESP8266 SoC) |◄──(WiFi 802.11b)─►| - Android Client (App UDP)|
| - Mode: Dual (STA + AP) | (HTTP Webhook) | - Google Sheets Database |
+---------------------------+ +---------------------------+
Technology Stack và linh kiện chi tiết
- Vi điều khiển trung tâm: Microchip PIC18F4550 (8-bit Architecture, 32KB Flash Memory, 2048 Bytes SRAM, 256 Bytes High-Endurance EEPROM, tích hợp khối EUSART phần cứng).
- Module truyền thông không dây: Espressif ESP8266 SoC (Firmware tập lệnh AT, chuẩn IEEE 802.11 b/g/n, điện áp định mức 3.3V, dòng đỉnh truyền tải 250mA).
- Khối nguồn chuyển mạch: IC biến áp xung tích hợp Power Integrations TNY255P (Mạch nguồn Flyback ngõ ra 5VDC - 700mA/10W, có lọc gai cao tần) kết hợp IC ổn áp tuyến tính LM317 hạ áp xuống 3.3VDC cấp riêng cho ESP8266.
- Khối đóng cắt công suất: 05 Opto-Triac MOC3020 (điện áp cách ly quang $V_{ISO} = 7500\text{V}{pk}$, không có mạch Zero-Crossing nội, kích hoạt trực tiếp cực Gate) kết hợp 05 linh kiện bán dẫn Triac BTA12-600B ($V{DRM}/V_{RRM} = 600\text{V}$, dòng định mức $I_{T(RMS)} = 12\text{A}$, dòng kích $I_{GT} \le 50\text{mA}$).
- Nền tảng phần mềm: Android SDK (Java API level 19+), Android Studio IDE, trình biên dịch PIC C Compiler.
Bảng tính toán phụ tải nguồn DC toàn mạch
| Khối chức năng |
Điện áp danh định (V) |
Dòng tiêu thụ cực đại $I_{max}$ (mA) |
Công suất tiêu thụ $P$ (mW) |
| Mạch vi điều khiển PIC18F4550 & linh kiện phụ trợ |
5.0 V |
215 mA |
1075 mW |
| Module truyền nhận không dây ESP8266 |
3.3 V |
250 mA |
825 mW |
| 5 kênh LED hiển thị và diode phát quang Opto MOC3020 |
5.0 V |
125 mA |
625 mW |
| Tổng cộng toàn hệ thống |
-- |
590 mA |
2525 mW (~2.53W) |
Nhận xét: Module nguồn thiết kế cung cấp dòng danh định 700mA ngõ ra 5V, đảm bảo hệ số dự phòng an toàn ($Safety\ Margin$) đạt trên 18.6% so với dòng tiêu thụ đỉnh 590mA.
Methodology
Quy trình nghiên cứu và phát triển được tổ chức theo mô hình lặp từng giai đoạn (Phased Hardware-Software Co-design), kết hợp kiểm chứng thực nghiệm theo 16 tuần làm việc:
Tuần 01-02: Nghiên cứu Android SDK, Socket API & Thiết kế UI
Tuần 03-06: Thiết kế Schematic, Layout PCB Khối Nguồn & Vi điều khiển
Tuần 07-09: Tích hợp Module ESP8266 & Xây dựng Giao thức UART/UDP
Tuần 10-12: Mở rộng tính năng Google Telemetry & Kiểm thử hệ thống
Tuần 13-16: Đóng gói hộp bảo vệ, Đánh giá độ tin cậy & Viết báo cáo
Ma trận đánh giá rủi ro và giải pháp khắc phục
- Nhiễu chuyển mạch tải cảm (Inductive Noise): Tia lửa điện và xung điện áp ngược khi đóng cắt tải AC làm treo vi điều khiển $\rightarrow$ Giải pháp: Tách mass hoàn toàn, dùng Opto MOC3020 cách ly và bố trí mạch lọc dập xung RC Snubber song song cực $A_1-A_2$ của Triac BTA12.
- Sụt áp module WiFi khi phát công suất cao: Dòng đỉnh của ESP8266 đạt 250mA làm sụt áp đường 3.3V $\rightarrow$ Giải pháp: Thiết kế tầng ổn áp LM317 độc lập, bổ sung tụ hóa $100\mu\text{F}$ và tụ gốm $104$ lọc nhiễu sát chân $V_{CC}$ của ESP8266.
- Mất đồng bộ Baudrate UART: Khi khởi động lại module ESP8266 có thể trả về Baudrate mặc định 115200bps thay vì 9600bps của vi điều khiển $\rightarrow$ Giải pháp: Thiết kế thuật toán tự động quét thử và gán lại Baudrate (
configuration_ESP8266).
Implementation và kết quả
Development process
Trọng tâm triển khai hệ thống nằm ở hai thành phần: Firmware điều khiển truyền thông trên PIC18F4550 và Module truyền thông Socket UDP trên ứng dụng Android.
1. Firmware cấu hình và đồng bộ ESP8266 (PIC C)
Firmware vi điều khiển đảm bảo tính tự phục hồi khi module ESP8266 gặp sự cố, tự động hạ Baudrate từ 115200bps về 9600bps, mở đồng thời chế độ Dual Mode (Station + Soft-AP) và khởi tạo Socket UDP.
void configuration_ESP8266() {
LCD_cmd(1);
lcd_out(1, 1, "Connecting to ESP");
RST_ESP = 0; RST_ESP_dir = 0; // Kéo chân Reset module xuống Mass
LCD_cmd(1); lcd_out(1, 1, "Resetting ESP");
wait_1sec();
RST_ESP = 1; // Thả chân Reset để module khởi động lại
// Vòng lặp kiểm tra Baudrate và tự động sửa lỗi đồng bộ
while(1) {
uart1_init(9600);
delay_ms(200);
LCD_cmd(1); lcd_out(1, 1, "Sending AT");
esp8266_Send("AT");
new_line();
wait_1sec();
if (Get_response() == ESP_OK) break;
att++;
if(att > 3) {
att = 0;
uart1_init(115200); // Thử kết nối ở tốc độ 115200 bps
LCD_cmd(1); lcd_out(1, 1, "Fixing Baudrate");
delay_ms(500);
for(att = 0; att < 3; att++) {
esp8266_Send("AT+CIOBAUD=9600"); // Ép module về 9600 bps
new_line();
wait_1sec();
if (Get_response() == ESP_OK) {
uart1_init(9600);
break;
}
}
}
}
// Tắt chế độ Echo lệnh
esp8266_Send("ATE0"); new_line(); wait_1sec();
// Bật chế độ Dual Mode: Station + Soft-AP (Mode 3)
esp8266_Send("AT+CWMODE=3"); new_line(); wait_1sec();
// Bật chế độ đa kết nối (Multiple Connections)
esp8266_Send("AT+CIPMUX=1"); new_line(); wait_1sec();
// Mở cổng nhận dữ liệu không kết nối qua giao thức UDP
// Lệnh: AT+CIPSTART=<id>,"UDP","<remote_IP>",<remote_port>,<local_port>,2
esp8266_Send("AT+CIPSTART=0,\"UDP\",\"192.168.4.2\",8080,8080,2");
new_line(); wait_3sec();
LCD_cmd(_LCD_CLEAR);
lcd_out(1, 1, "Connecting OK!");
}
2. Lập trình truyền nhận mạng UDP trên Android Client (Java)
Ứng dụng sử dụng lớp DatagramSocket và DatagramPacket thuộc package java.net nhằm gửi bản tin chuỗi ký tự điều khiển ngõ ra tức thời mà không phải chịu overhead thiết lập bắt tay ba bước (3-way handshake) như TCP.
public void transfer(String s) {
byte[] sendData = s.getBytes();
byte[] receiveData = new byte[1024];
DatagramSocket socket = null;
try {
InetAddress serverIP = InetAddress.getByName("192.168.4.1"); // IP của ESP8266 AP
int udpPort = 8080;
socket = new DatagramSocket();
socket.setSoTimeout(100); // Timeout nhận phản hồi 100ms
// Đóng gói và truyền dữ liệu điều khiển
DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, serverIP, udpPort);
socket.send(sendPacket);
// Chờ nhận phản hồi trạng thái từ mạch
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
socket.receive(receivePacket);
String response = new String(receivePacket.getData(), 0, receivePacket.getLength());
txtStatus.setText("Trạng thái: " + response);
Toast.makeText(this, "Đã thực thi lệnh: " + s, Toast.LENGTH_SHORT).show();
} catch (Exception e) {
Log.e("UDP_Error", "Lỗi truyền thông mạng: " + e.getMessage());
} finally {
if (socket != null && !socket.isClosed()) {
socket.close();
}
}
}
3. Cấu hình Serverless Cloud Logging qua Google Forms API
Mỗi khi trạng thái tải thay đổi, PIC18F4550 điều khiển ESP8266 khởi tạo một kết nối TCP tạm thời tới máy chủ Google và gửi một yêu cầu HTTP POST/GET trực tiếp đến Google Form có Key định danh 1H_NVR4508Bg_jZeE2YHEvMn0XQOY0Da8fjzbIr7q1Wc:
POST /forms/d/1H_NVR4508Bg_jZeE2YHEvMn0XQOY0Da8fjzbIr7q1Wc/formResponse HTTP/1.1
Host: docs.google.com
Content-Type: application/x-www-form-urlencoded
entry.10293847=Relay_1&entry.56473829=ON&entry.99281726=2026-08-20_16:30:00
Dữ liệu tự động được định dạng và ghi vào các dòng của Google Spreadsheet, phục vụ giám sát và truy xuất nhật ký hoạt động mà không tốn chi phí thuê Cloud VPS.
Testing và validation
Hệ thống được đưa vào thử nghiệm thực tế liên tục trong 07 ngày, kích hoạt trung bình 25 chu kỳ đóng/ngắt mỗi ngày trên 02 dòng điện thoại thông minh Android khác nhau.
KẾT QUẢ THỰC NGHIỆM ĐỘ TIN CẬY KẾT NỐI (7 NGÀY)
┌─────────────────────────────────────────────────────────────┐
│ Tổng số lần yêu cầu kết nối: 35 │
│ Thành công: [██████████████████████████████░░] 32 lần (91.4%)│
│ Không thành công (Do nhiễu/Timeout): 3 lần (8.6%) │
└─────────────────────────────────────────────────────────────┘
HIỆU NĂNG ỨNG DỤNG ANDROID CLIENT
┌──────────────────────────────┬──────────────────────────────┐
│ Dung lượng RAM chiếm dụng │ 2.7 MB (Rất nhẹ) │
│ Mức tiêu hao năng lượng pin │ ~4.0% Pin / 24 giờ │
│ Độ trễ đóng cắt mạng nội bộ │ < 60 ms │
└──────────────────────────────┴──────────────────────────────┘
Đánh giá hoạt động phần cứng và nhiệt độ
- Thử nghiệm tải điện áp: Chạy thử nghiệm với 5 ngõ ra tải AC thuần trở và tải dung (bóng đèn sợi đốt, quạt điện). Toàn bộ 5 ngõ ra đóng ngắt dứt khoát, không sinh hiện tượng rung tiếp điểm như relay cơ học.
- Hiện tượng sinh nhiệt: Khi vận hành tổng tải đạt ngưỡng 8A - 10A, linh kiện Triac BTA12 bắt đầu phát nhiệt (tỏa nhiệt $\approx 1.2\text{W}$ trên mỗi Triac do sụt áp tiếp giáp $V_{TM} \approx 1.55\text{V}$). Giải pháp bổ sung cánh tản nhiệt nhôm độc lập đã duy trì nhiệt độ tiếp giáp dưới $65^\circ\text{C}$, đảm bảo an toàn phòng chống cháy nổ.
Kết quả đạt được
| Thông số / Chức năng |
Chỉ tiêu thiết kế ban đầu |
Kết quả thực nghiệm đạt được |
Đánh giá hoàn thành |
| Số lượng ngõ ra điều khiển |
05 Kênh AC độc lập |
05 Kênh AC độc lập |
100% Đạt |
| Công suất chịu tải tổng |
10A - 220VAC |
10A - 220VAC (Bảo vệ bằng cầu chì) |
100% Đạt |
| Giao diện điều khiển Android |
Đóng/bật trực quan, có Toast |
Phản hồi màu nút, Toast hiển thị tức thời |
100% Đạt |
| Độ ổn định truyền tin WiFi |
Tỷ lệ thành công > 85% |
Đạt 91.4% (32/35 lượt test) |
Vượt chỉ tiêu |
| Ghi nhật ký Cloud |
Lưu dữ liệu tự động |
Đẩy dữ liệu lên Google Sheets Form |
100% Đạt |
| Tài nguyên chiếm dụng di động |
RAM < 15MB, Pin < 10%/ngày |
RAM 2.7MB, Pin ~4%/ngày |
Vượt chỉ tiêu |
Đổi mới và đóng góp
- Cơ chế Dual-AP tự động phục hồi mạng: Việc cấu hình ESP8266 ở chế độ
AT+CWMODE=3 cho phép thiết bị vừa đóng vai trò Station kết nối Internet qua Router gia đình (để đẩy log lên Google Sheets), vừa phát một mạng Access Point riêng biệt (SSID_AP). Nhờ đó, người dùng vẫn có thể điều khiển trực tiếp hệ thống ngay cả khi mạng Internet diện rộng hoặc Router bị mất nguồn.
- Kiến trúc Serverless Telemetry tối ưu chi phí: Thay vì phải xây dựng, duy trì và trả phí thuê máy chủ Cloud (AWS/DigitalOcean) cùng hệ cơ sở dữ liệu MySQL, nhóm tác giả đã tích hợp thành công giao thức đẩy HTTP Form Response trực tiếp lên Google Spreadsheets. Đổi mới này mang lại giải pháp lưu trữ dữ liệu hoàn toàn miễn phí ($0) với độ tin cậy và bảo mật cấp doanh nghiệp của Google Infrastructure.
- Triệt tiêu hồ quang điện nhờ tầng công suất Solid-State Triac: So với các mạch đóng cắt truyền thống dùng Relay cơ học (dễ sinh hồ quang, dính tiếp điểm sau một số chu kỳ đóng ngắt nhất định), việc sử dụng bộ đôi MOC3020 + BTA12 giúp hệ thống chuyển mạch hoàn toàn ở trạng thái rắn (Solid-State Switching), nâng cao tuổi thọ linh kiện lên hơn $10^6$ chu kỳ hoạt động và triệt tiêu nguy cơ cháy nổ do tia lửa điện trong môi trường dân dụng.
Ứng dụng thực tế và triển khai
Kịch bản triển khai thực tế
[Lưới Điện 220VAC Gia Đình]
│
▼
+───────────────────────────+
| TỦ ĐIỀU KHIỂN TRUNG TÂM |
| (PIC18F4550 + ESP8266 + |
| BTA12 TRIAC Board) |
+───┬───┬───┬───┬───────────+
│ │ │ │ │
┌───────┘ │ │ │ └───────┐
▼ ▼ ▼ ▼ ▼
[Đèn Chiếu [Quạt [Máy [Bơm [Thiết Bị
Sáng 1-2] Trần] Pha Tưới Gia Dụng
Cafe] Sân Vườn] Khác]
- Hệ thống chiếu sáng và gia dụng thông minh: Lắp đặt tại tủ điện trung tâm để điều khiển toàn bộ 5 cụm thiết bị: Đèn phòng khách, quạt thông gió, máy pha cà phê, bình nước nóng và hệ thống tưới cây tự động.
- Ứng dụng an toàn nông nghiệp & môi trường nguy hại: Ứng dụng đóng cắt máy bơm hoặc quạt hút công nghiệp trong các môi trường ẩm ướt, kho hóa chất độc hại mà người vận hành không thể tiếp cận trực tiếp công tắc cơ khí.
Phân tích hiệu quả kinh tế (Cost-Benefit Analysis)
- Chi phí linh kiện sản xuất mẫu (BOM Cost): Tổng chi phí phần cứng (PIC18F4550, ESP8266, TNY255, LM317, 5x MOC3020, 5x BTA12, linh kiện thụ động và vỏ hộp) ước tính khoảng 350.000 VNĐ - 420.000 VNĐ (~17 USD).
- So sánh thị trường: Thấp hơn 65% - 75% so với việc mua một bộ công tắc thông minh 5 kênh nhập ngoại sử dụng giao thức thương mại (thường dao động từ 1.200.000 VNĐ đến 2.000.000 VNĐ).
- Thời gian hoàn vốn (ROI): Việc tự động ngắt thiết bị điện không sử dụng dựa trên nhật ký theo dõi từ Google Sheets giúp tiết kiệm ước tính 10% - 15% hóa đơn tiền điện hàng tháng cho hộ gia đình.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Bảo mật giao thức UDP: Gói tin UDP trong mạng nội bộ hiện được truyền tải dưới dạng chuỗi thô (Plaintext), chưa mã hóa theo chuẩn AES-128/256, tiềm ẩn nguy cơ bị bắt gói tin (Packet Sniffing) nếu mạng WiFi bị xâm nhập.
- Phụ thuộc cấu trúc Google Form: Nếu Google thay đổi mã thuộc tính biểu mẫu (
entry.id) hoặc chặn các yêu cầu từ User-Agent không phải trình duyệt, quá trình đẩy dữ liệu nhật ký có thể bị gián đoạn.
- Kích thước phần cứng: Mạch in (PCB) được thi công dạng cắm (Through-hole components) thủ công, kích thước hộp bảo vệ còn lớn và chưa tích hợp sẵn module đo dòng điện thời gian thực.
Hướng phát triển trong tương lai
- Nâng cấp vi điều khiển lên kiến trúc ESP32 SoC: Chuyển đổi toàn bộ mạch điều khiển sang vi điều khiển 32-bit lõi kép ESP32 để tích hợp sẵn cả WiFi, Bluetooth Low Energy (BLE), xử lý trực tiếp giao thức bảo mật TLS/HTTPS và MQTT mà không cần dùng đến vi điều khiển ngoại vi.
- Cập nhật Firmware qua sóng không dây (OTA): Tích hợp tính năng nạp chương trình từ xa giúp bảo trì và nâng cấp tính năng mà không cần can thiệp phần cứng.
- Tích hợp cảm biến đo lường công suất: Lắp đặt thêm biến dòng hoặc IC chuyên dụng (như ACS712, PZEM-004T) để đo đạc trực tiếp điện áp ($V$), dòng điện ($I$), hệ số công suất ($\cos\varphi$) và tính toán điện năng tiêu thụ (kWh) hiển thị theo thời gian thực trên đồ thị ứng dụng.
Đối tượng hưởng lợi
- Sinh viên & Học viên chuyên ngành Kỹ thuật: Cung cấp tài liệu tham khảo chi tiết về mô hình kết hợp giữa vi điều khiển nhúng 8-bit (PIC Architecture) với module truyền thông không dây (ESP8266) thông qua tập lệnh AT Command và cơ chế tự phục hồi Baudrate.
- Kỹ sư phát triển hệ thống nhúng & IoT: Cung cấp mẫu thiết kế tầng công suất chuyển mạch bán dẫn AC cách ly quang (MOC3020 + BTA12), sơ đồ mạch nguồn xung Flyback cách ly an toàn và mô hình truyền nhận Socket UDP hiệu năng cao trên Android.
- Doanh nghiệp & Hộ gia đình: Mô hình tham chiếu tin cậy để triển khai các hệ thống tự động hóa chi phí thấp, tận dụng cơ sở hạ tầng đám mây Google miễn phí mà không chịu gánh nặng chi phí vận hành máy chủ hàng tháng.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật tối thiểu để triển khai và cài đặt hệ thống là gì?
Hệ thống yêu cầu nguồn điện lưới dân dụng $220\text{VAC}\pm 10%$, tần số $50\text{Hz}$. Hạ tầng mạng cần một Router WiFi chuẩn $802.11\text{b/g/n}$ băng tần 2.4GHz (ESP8266 không hỗ trợ băng tần 5GHz). Về phía người dùng, điện thoại thông minh cần chạy hệ điều hành Android phiên bản 4.4 (KitKat) trở lên và có kết nối vào mạng WiFi tương ứng.
2. Nếu mạng WiFi nhà bị mất Internet, hệ thống có tiếp tục điều khiển được không?
Hoàn toàn được. Firmware trên PIC18F4550 đã cấu hình ESP8266 chạy ở chế độ Dual Mode (AT+CWMODE=3). Khi không có kết nối Internet từ Router, ESP8266 vẫn liên tục phát mạng WiFi Soft-AP nội bộ. Người dùng chỉ cần kết nối điện thoại vào mạng WiFi của module là có thể tiếp tục điều khiển bật/tắt 5 kênh tải bình thường qua giao thức UDP nội bộ.
3. Tại sao hệ thống lại sử dụng giao thức UDP thay vì TCP để điều khiển trên Android?
Giao thức UDP (User Datagram Protocol) là giao thức truyền thông không kết nối, không tốn thời gian thiết lập bắt tay ba bước (3-way handshake) và không có cơ chế truyền lại phức tạp như TCP. Trong mạng WiFi cục bộ cự ly gần, UDP giúp giảm độ trễ đóng cắt xuống dưới 60ms, mang lại trải nghiệm tương tác gần như tức thời cho người dùng.
4. Triac BTA12 có thể điều khiển trực tiếp các loại tải công suất lớn như động cơ, máy lạnh không?
Triac BTA12 chịu được dòng liên tục tối đa 12A ($I_{T(RMS)}$), tương đương tải thuần trở công suất khoảng 2200W - 2500W. Tuy nhiên, đối với tải cảm ứng mạnh như máy nén điều hòa hoặc động cơ lớn có dòng khởi động ($Inrush\ Current$) gấp 5-7 lần định mức, cần phải mắc thêm mạch dập xung RC Snubber (ví dụ: Điện trở $39\Omega/2\text{W}$ nối tiếp tụ điện $0.01\mu\text{F}/630\text{V}$) hoặc thay thế tầng công suất bằng Contactor để bảo vệ Triac không bị đánh thủng.
5. Dữ liệu đẩy lên Google Spreadsheet có bị giới hạn số lượng bản ghi không?
Google Spreadsheet hỗ trợ tới 5.000.000 ô dữ liệu (cells) cho mỗi bảng tính. Với tần suất ghi nhận trung bình 25-50 lần đóng ngắt/ngày (mỗi lần ghi 3-5 cột dữ liệu), hệ thống có thể lưu trữ liên tục nhật ký hoạt động trong nhiều năm mà không gặp phải giới hạn lưu trữ của Google Drive miễn phí.
Kết luận
Đồ án tốt nghiệp "Điều khiển thiết bị điện qua Wifi trên điện thoại Android" của nhóm tác giả Trần Hoàng Hà và Từ Hoàng Anh Tuấn đã hoàn thành toàn diện các mục tiêu đề ra về mặt lý thuyết cũng như thực nghiệm phần cứng:
- Xây dựng thành công hệ thống điều khiển đóng ngắt 5 kênh tải công suất 220VAC/10A sử dụng vi điều khiển PIC18F4550 và module ESP8266, đảm bảo an toàn cách ly quang tuyệt đối.
- Phát triển ứng dụng điều khiển trên nền tảng Android với giao diện tương tác trực quan, độ trễ phản hồi thấp (<60ms) nhờ giao thức UDP Socket, đồng thời ứng dụng thành công cơ chế lưu trữ nhật ký Serverless trên nền tảng đám mây Google Spreadsheets.
- Tỷ lệ thử nghiệm thành công đạt 91.4%, chứng minh tính khả thi, độ tin cậy cao và tiềm năng thương mại hóa lớn trong phân khúc nhà thông minh giá rẻ.
Đồ án là nền tảng kỹ thuật vững chắc để tiếp tục mở rộng nghiên cứu sang các kiến trúc IoT hiện đại hơn như ESP32, tích hợp cảm biến đo lường điện năng chuyên dụng và mã hóa dữ liệu đầu cuối, góp phần thúc đẩy ứng dụng công nghệ nhúng vào đời sống thực tiễn.