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

Trong bối cảnh cuộc cách mạng công nghiệp gắn liền với Internet of Things (IoT), việc kết nối các vật thể vật lý qua mạng Internet để thu thập dữ liệu, giám sát và điều khiển từ xa đã trở thành xu hướng kỹ thuật phổ biến. Trong đời sống sinh hoạt, phương thức quản lý thiết bị gia dụng truyền thống chủ yếu dựa vào các công tắc cơ học cố định. Cơ chế này bộc lộ nhược điểm khi người sử dụng rời khỏi nhà nhưng quên tắt các phụ tải điện như bóng đèn, quạt máy hay điều hòa không khí, buộc họ phải quay về tận nơi để xử lý thủ công.

Trước thời điểm thực hiện đề tài, nhiều công trình nghiên cứu của sinh viên đã giải quyết bài toán đóng cắt từ xa thông qua sóng vô tuyến (RF) hoặc kết nối Bluetooth. Tuy nhiên, các giải pháp này tồn tại giới hạn về phạm vi vật lý (chỉ hoạt động trong cự ly ngắn từ vài mét đến vài chục mét) và dễ bị suy hao, can nhiễu tín hiệu. Nhằm khắc phục hạn chế về khoảng cách và nâng cao tính linh hoạt, đề tài "Nghiên cứu thiết kế mạch và phát triển phần mềm điều khiển thiết bị điện từ xa bằng điện thoại" được thực hiện bởi hai sinh viên Nguyễn Hữu Hùng và Hoàng Văn Đức, dưới sự hướng dẫn của TS. Nguyễn Thị Diệu Linh tại Trường Đại học Kinh Bắc (2023). Đề tài tập trung vào việc cho phép người dùng giám sát và điều khiển thiết bị qua mạng Internet tại bất kỳ vị trí nào, đồng thời giải quyết bài toán cấu hình mạng linh hoạt khi thay đổi điểm truy cập Wi-Fi mà không cần nạp lại mã nguồn vào vi điều khiển.

Mục tiêu nghiên cứu tổng quát được xác định là: Nghiên cứu, thiết kế mạch phần cứng và phát triển ứng dụng trên hệ điều hành Android nhằm điều khiển, giám sát các thiết bị điện từ xa qua mạng Internet, kết hợp song song với hệ thống phím bấm vật lý trực tiếp trên bo mạch.

Văn bản khóa luận xác lập 11 nhiệm vụ và nội dung nghiên cứu cụ thể được đánh số như sau:

  1. Củng cố kiến thức về linh kiện điện tử và nghiên cứu lập trình vi điều khiển.
  2. Tìm hiểu tổng quan về một số mạch điều khiển thiết bị từ xa hiện có trên thị trường.
  3. Tìm hiểu một số phương thức điều khiển thiết bị từ xa bằng điện thoại.
  4. Lựa chọn các thiết bị trong việc thiết kế mạch điều khiển thiết bị từ xa bằng điện thoại (vi điều khiển module ESP8266, relay SSR,...).
  5. Tìm hiểu về Firebase, các khái niệm về cơ sở dữ liệu thời gian thực và cách sử dụng Firebase để tạo cơ sở dữ liệu và quản lý dữ liệu từ module điều khiển.
  6. Nghiên cứu và phát triển ứng dụng Android để điều khiển thiết bị thông qua Firebase.
  7. Thiết kế, thi công mạch mô phỏng.
  8. Viết chương trình cho ESP8266.
  9. Chỉnh sửa các lỗi xuất hiện.
  10. Đánh giá kết quả thực hiện.
  11. Báo cáo đề tài tốt nghiệp.

Đối tượng nghiên cứu của khóa luận là mô hình hệ thống điều khiển và giám sát thiết bị điện dân dụng, bao gồm phần cứng nhúng (vi điều khiển, mạch công suất, cảm biến/nút bấm) và phần mềm điều khiển (ứng dụng di động, cơ sở dữ liệu đám mây). Phạm vi nghiên cứu về không gian tập trung vào hệ thống thiết bị điện gia dụng cơ bản (đèn chiếu sáng, quạt điện, cửa ra vào gắn động cơ servo, ổ cắm) kết nối qua mạng Wi-Fi băng tần 2.4GHz tại phòng thí nghiệm Trường Đại học Kinh Bắc; phạm vi thời gian thực hiện và hoàn thành trong năm học 2023.


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

Khóa luận xây dựng hệ thống dựa trên nền tảng lý thuyết mạng Internet of Things (IoT) và kiến trúc truyền thông di động - vi điều khiển qua dịch vụ đám mây. Theo khung lý thuyết được tác giả trình bày, một mô hình IoT chuẩn bao gồm 7 thành phần cấu trúc:

  • Thành phần kết nối và đồng bộ hóa: Tích hợp các giao thức và định dạng dữ liệu vào giao diện phần mềm chung.
  • Quản lý thiết bị: Duy trì hoạt động, thực hiện vá lỗi và cập nhật phần mềm cho thiết bị ngoại biên (EDGE gateway).
  • Cơ sở dữ liệu: Hệ thống lưu trữ đám mây có khả năng mở rộng quy mô, đảm bảo tốc độ và độ tin cậy.
  • Quản lý và xử lý hoạt động: Điều phối hoạt động dựa trên cơ chế kích hoạt sự kiện (Event-Action Triggers).
  • Phân tích: Trích xuất thông tin, nhận diện xu hướng từ chuỗi dữ liệu thu thập.
  • Công cụ bổ sung: Môi trường mô phỏng để kiểm thử thiết bị trước khi triển khai.
  • Giao thức kết nối hệ thống ngoài: Hỗ trợ tích hợp mở rộng với các hệ sinh thái bên thứ ba.

Trong phần tổng quan công nghệ, tác giả tiến hành khảo sát và so sánh các module truyền thông không dây thương mại nhằm làm cơ sở lựa chọn linh kiện cho mạch điều khiển:

Tên Module / Công nghệ Tần số / Chuẩn giao tiếp Khoảng cách hoạt động Điện áp & Dòng tiêu thụ Đặc điểm kỹ thuật chính
Remote IR 1838 Ánh sáng hồng ngoại (IR) Vài mét Nguồn cấp 5V DC 3 chân (VCC, GND, OUT); truyền nhận một chiều, đòi hỏi đường ngắm thẳng (Line-of-Sight).
RF 433MHz Sóng vô tuyến 433MHz Vài chục đến vài trăm mét Tùy chỉnh công suất Giao tiếp 1 chiều qua cặp phát (Transmitter) - thu (Receiver); tốc độ truyền thấp (vài Kbps đến vài chục Kbps).
Bluetooth HC-05 Chuẩn Bluetooth 2.0+EDR 10 – 20 mét 3.6V – 6V DC; 40mA (hoạt động), 8mA (chờ) Sử dụng chip CSR BC417143; giao tiếp nối tiếp UART, phạm vi hẹp.
Module ESP32 Wi-Fi & Bluetooth kép Lên tới 400 mét Từ 2.6V DC; 80mA (hoạt động), 5µA (chờ) 2 nhân Tensilica LX6 (240MHz), 520KB RAM; hỗ trợ TCP/IP, UDP, HTTP, MQTT.
NodeMCU V3 ESP8266 Wi-Fi 802.11 b/g/n (2.4GHz) Phụ thuộc router Wi-Fi 3.3V / 5V DC qua cổng USB Vi điều khiển tích hợp Wi-Fi SoC, tích hợp bộ nhớ flash, chân GPIO linh hoạt, chi phí thấp.

Về nền tảng trung gian, khóa luận lựa chọn Firebase (nền tảng Backend-as-a-Service do Google phát triển từ năm 2011). Hệ thống sử dụng 2 dịch vụ trọng tâm của Firebase là:

  • Firebase Realtime Database: Cơ sở dữ liệu đám mây NoSQL cho phép đồng bộ hóa dữ liệu trực tiếp và tức thì dạng JSON giữa điện thoại Android và vi điều khiển ESP8266 theo cơ chế thời gian thực.
  • Firebase Authentication: Hệ thống quản lý xác thực người dùng thông qua tài khoản Email/Password, hỗ trợ cấp quyền truy cập bảo mật và gửi liên kết đặt lại mật khẩu.

Phương pháp nghiên cứu thực tế được nhóm tác giả triển khai bao gồm:

  • Phương pháp phân tích và tổng hợp lý thuyết: Nghiên cứu cấu trúc dữ liệu JSON, giao thức mạng TCP/IP, HTTP và tài liệu kỹ thuật của nhà sản xuất Espressif, Google Firebase.
  • Phương pháp thiết kế kỹ thuật: Tính toán phối ghép phần cứng giữa vi điều khiển NodeMCU V3, khối rơ le bán dẫn Solid State Relay (SSR), động cơ bước/servo SG90 và hệ thống nút nhấn KY-004.
  • Phương pháp lập trình nhúng và phát triển ứng dụng di động: Lập trình firmware điều khiển trên Arduino IDE (ngôn ngữ C/C++) và xây dựng ứng dụng điều khiển trên Android Studio (ngôn ngữ Java).
  • Phương pháp thực nghiệm: Lắp ráp mô hình thực tế, đo kiểm tín hiệu kích đóng ngắt tải điện 220V AC và kiểm tra độ trễ phản hồi qua mạng Internet.

Thiết kế và triển khai hệ thống

Hệ thống được thiết kế nhằm đáp ứng 5 yêu cầu kỹ thuật: bảo mật tài khoản người dùng; điều khiển bật/tắt thiết bị gia dụng và điều khiển bằng giọng nói; cấu hình Wi-Fi linh hoạt qua ứng dụng; quản lý danh mục thiết bị (thêm, sửa, xóa); hỗ trợ điều khiển song song bằng phím cơ vật lý.

1. Kiến trúc phần cứng và sơ đồ khối

Hệ thống phần cứng vận hành theo mô hình phân tán gồm 7 khối chức năng chính:

  • Khối xử lý trung tâm (NodeMCU V3 ESP8266): Đóng vai trò làm bộ điều khiển trung tâm, kết nối Wi-Fi, tiếp nhận trạng thái từ Firebase Realtime Database để kích hoạt cơ cấu chấp hành, đồng thời nhận tín hiệu từ nút bấm vật lý để cập nhật ngược lên đám mây.
  • Khối ứng dụng điều khiển: Ứng dụng Android cung cấp giao diện tương tác cho người dùng, gửi lệnh điều khiển và hiển thị trạng thái thời gian thực.
  • Khối Database Firebase: Nền tảng trung gian lưu trữ trạng thái của hệ thống và đồng bộ dữ liệu giữa ứng dụng và phần cứng.
  • Khối điều khiển thiết bị (Solid State Relay - SSR): Tiếp nhận tín hiệu logic từ GPIO của ESP8266 để đóng/cắt tải điện xoay chiều 220V AC (bóng đèn chiếu sáng, quạt máy, ổ điện).
  • Khối động cơ Servo: Sử dụng động cơ Servo SG90 (nguồn nuôi 5V DC), nhận xung điều khiển từ NodeMCU để thực hiện thao tác kéo chốt đóng/mở cửa ra vào.
  • Khối nút ấn điều khiển: Cụm nút nhấn cơ học KY-004 kết nối với các chân ngõ vào của vi điều khiển, cho phép người dùng thao tác trực tiếp tại tủ điều khiển khi không dùng điện thoại.
  • Khối nguồn: Cung cấp nguồn 5V DC ổn định cho vi điều khiển NodeMCU, module relay và động cơ servo; đồng thời kết nối lưới điện 220V AC cấp qua tiếp điểm rơ le cho các thiết bị công suất.
Nhóm thiết bị Tên linh kiện cụ thể Thông số / Chức năng trong hệ thống
Thiết bị đầu vào Module nút nhấn KY-004 Bắt sự kiện bấm cơ học, tạo mức logic gửi về ESP8266.
Nguồn cấp Nguồn 5V DC và lưới điện 220V AC Nuôi mạch điều khiển và cung cấp năng lượng cho tải dân dụng.
Khối xử lý Bo mạch NodeMCU V3 ESP8266 Vi điều khiển 32-bit tích hợp Wi-Fi 2.4GHz, xử lý thuật toán và giao thức.
Cơ cấu chấp hành Solid State Relay (SSR) Đóng ngắt cách ly quang cho quạt máy, đèn chiếu sáng, ổ điện 220V.
Cơ cấu chấp hành Động cơ Servo SG90 Điện áp 5V DC, quay góc xác định để kéo/mở chốt cửa tự động.
Giao diện người dùng Điện thoại thông minh Android Cài đặt ứng dụng điều khiển, nhận diện giọng nói và truyền dữ liệu.

2. Thuật toán điều khiển hệ thống

Mạch điều khiển hoạt động dựa trên 4 lưu đồ thuật toán chính:

  • Thuật toán lấy trạng thái thiết bị từ Firebase:

    1. Bước 1: Bắt đầu khởi động hệ thống.
    2. Bước 2: Khởi tạo giao tiếp nối tiếp Serial, thiết lập chế độ các chân I/O (pinMode), khởi tạo các biến lưu trạng thái thiết bị.
    3. Bước 3: Gửi yêu cầu kết nối mạng Wi-Fi. Nếu kết nối thất bại, tiến hành xóa dữ liệu bộ nhớ EEPROM, khởi tạo máy chủ WebSocket cục bộ để tiếp nhận SSID và Password từ người dùng gửi qua ứng dụng điện thoại, lưu thông tin vào EEPROM rồi thực hiện lại Bước 3.
    4. Bước 4: Gửi yêu cầu kết nối tới máy chủ Firebase. Nếu thất bại, lặp lại yêu cầu.
    5. Bước 5: Gửi yêu cầu truy vấn lên Realtime Database để đọc trạng thái của từng thiết bị. Nếu mất kết nối, quay lại Bước 4.
    6. Bước 6: Xử lý chuỗi dữ liệu trả về, cập nhật giá trị cho các biến trạng thái trong bộ nhớ vi điều khiển rồi quay lại vòng lặp ở Bước 4.
  • Thuật toán điều khiển thiết bị bằng rơ le:

    1. Bước 1: Bắt đầu tiến trình điều khiển.
    2. Bước 2: Đọc giá trị các biến trạng thái đã được đồng bộ từ Firebase.
    3. Bước 3: Xuất tín hiệu điều khiển ra các chân GPIO tương ứng để kích hoạt rơ le bật/tắt đèn chiếu sáng, đóng/cắt nguồn quạt máy hoặc điều chỉnh tốc độ quay của quạt.
  • Thuật toán điều khiển thiết bị bằng nút nhấn:

    1. Bước 1: Bắt đầu quét tín hiệu ngõ vào.
    2. Bước 2: Bắt sự kiện thay đổi trạng thái chân nút bấm KY-004.
    3. Bước 3: Nếu phát hiện nút nhấn được ấn, vi điều khiển trực tiếp đảo trạng thái logic của thiết bị ngoại vi tương ứng, đồng thời đóng gói dữ liệu và gửi tín hiệu trạng thái mới lên Firebase Realtime Database để đồng bộ hiển thị trên ứng dụng Android; nếu nút không được ấn thì kết thúc chu kỳ quét.
  • Thuật toán thiết lập kết nối Wi-Fi qua WebSocket:

    1. Bước 1: Bắt đầu tiến trình kiểm tra mạng.
    2. Bước 2: Bắt sự kiện bấm nút Reset trên mạch phần cứng. Nếu nút được kích hoạt, chuyển sang Bước 3; nếu không thì duy trì cấu hình hiện tại.
    3. Bước 3: Xóa thông tin Wi-Fi cũ trong bộ nhớ phi biến đổi (EEPROM) và khởi tạo cổng kết nối WebSocket.
    4. Bước 4: Người dùng nhập SSID và Password của mạng Wi-Fi mới trên ứng dụng Android, truyền gói tin tới module ESP8266 qua kết nối WebSocket nội bộ.
    5. Bước 5: ESP8266 tiếp nhận và ghi tham số SSID, Password vào bộ nhớ EEPROM.
    6. Bước 6: Đọc thông số vừa ghi trong EEPROM để thực hiện đăng nhập vào router Wi-Fi. Nếu thành công thì hoàn tất quá trình; nếu thất bại thì quay lại Bước 3 để cấu hình lại.

3. Quy trình phát triển phần mềm và tích hợp

  • Phần mềm nhúng (Firmware): Được biên dịch trên môi trường Arduino IDE sử dụng ngôn ngữ C/C++. Cấu trúc code gồm hai hàm cơ bản: setup() chạy một lần lúc khởi động để thiết lập chân và cấu hình tham số mạng; hàm loop() chạy tuần hoàn để duy trì lắng nghe sự kiện từ Firebase và nút bấm. Chương trình nhúng sử dụng thư viện <ESP8266WiFi.h>, khai báo hai hằng số xác thực cơ sở dữ liệu gồm #define FIREBASE_HOST (đường dẫn URL trỏ tới Realtime Database) và #define FIREBASE_AUTH (mã bí mật Database Secret trích xuất từ mục Project Settings -> Service Account trên Firebase Console).
  • Ứng dụng di động (Android App): Được lập trình trên môi trường Android Studio (nền tảng IntelliJ IDEA). Quy trình tích hợp dịch vụ Firebase vào dự án Android tuân thủ các bước: đăng ký tên gói (package name), lấy mã băm chứng chỉ SHA-1 thông qua lệnh gradle > Tasks > android > signingReport, tải tệp cấu hình google-services.json đặt vào thư mục gốc của ứng dụng. Trong mã nguồn Java, ứng dụng khởi tạo đối tượng DatabaseReference để thực hiện tác vụ đọc dữ liệu thời gian thực (addValueEventListener) và ghi trạng thái (setValue) lên đám mây.

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

Chương 1: Tổng quan về IoT và phương thức điều khiển thiết bị từ xa

Chương 1 hệ thống hóa các khái niệm nền tảng về Internet of Things (IoT), phân tích cấu trúc 7 thành phần của một hệ sinh thái IoT và mô tả chi tiết quy trình 7 bước luân chuyển dữ liệu từ cảm biến qua mạng kết nối, xử lý lưu trữ đến phân tích học máy và tương tác điều khiển. Tác giả chỉ ra 5 ưu điểm nổi bật của IoT (tính kết nối, tự động hóa, giám sát từ xa, tiết kiệm tài nguyên, tạo ra dữ liệu giá trị) song hành cùng 5 thách thức kỹ thuật (bảo mật/quyền riêng tư, tiêu thụ năng lượng, thiếu chuẩn hóa tương thích, chi phí triển khai và độ phức tạp vận hành).

Văn bản điểm qua các ứng dụng tiêu biểu của IoT trong thực tế bao gồm nhà thông minh (Smart Home), thiết bị đeo (Smart Watch), thành phố thông minh (Smart City với thùng rác thông minh, quản lý năng lượng tự động), nông nghiệp thông minh và y tế (dẫn chứng thử nghiệm lâm sàng của Trung tâm Ung thư MSK phối hợp với Medidata sử dụng thiết bị theo dõi vận động của bệnh nhân). Phần tiếp theo khảo sát các công nghệ không dây phổ biến trên thị trường: module hồng ngoại Remote IR 1838, sóng vô tuyến RF 433MHz, Bluetooth HC-05 (sử dụng chip CSR BC417143) và vi điều khiển ESP32 (chip 2 nhân Tensilica LX6 tốc độ 240MHz, RAM 520KB). Tác giả so sánh 3 phương thức điều khiển thiết bị từ xa qua điện thoại: qua mạng Internet (IP, HTTP, TCP/IP), qua Bluetooth và qua cổng hồng ngoại (IR blaster). Cuối chương, tài liệu giới thiệu nền tảng Google Firebase, phân tích ưu nhược điểm của giải pháp Backend-as-a-Service và liệt kê các ứng dụng công nghiệp đang khai thác Firebase như Instagram, Shazam, Calm và Deliveroo.

Chương 2: Thiết kế hệ thống mạch

Chương 2 trình bày toàn bộ quá trình tính toán, thiết kế kỹ thuật từ yêu cầu bài toán đến sơ đồ nguyên lý phần cứng và lưu đồ giải thuật phần mềm. Nhóm tác giả phân chia hệ thống thành sơ đồ khối gồm 7 phân hệ: khối ứng dụng, cơ sở dữ liệu Firebase, khối nguồn, nút ấn điều khiển, khối xử lý trung tâm NodeMCU V3 ESP8266, động cơ Servo và khối công suất điều khiển thiết bị.

Tác giả đi sâu vào thiết kế chi tiết từng khối: khối động cơ sử dụng Servo SG90 nguồn 5V nối chân tín hiệu tới GPIO của ESP8266; khối nút ấn sử dụng module KY-004; khối công suất sử dụng module Solid State Relay (SSR) đóng cắt nguồn 220V cho quạt máy, đèn điện và ổ cắm gia dụng; khối xử lý trung tâm kết nối các linh kiện đầu vào/ra theo sơ đồ nguyên lý toàn mạch. Tiếp đó, tác giả xây dựng 4 lưu đồ thuật toán xử lý logic: thuật toán lấy trạng thái từ Firebase, thuật toán đóng ngắt qua rơ le, thuật toán bắt sự kiện nút bấm vật lý và thuật toán nạp thông số Wi-Fi mới qua WebSocket lưu vào bộ nhớ EEPROM. Trong phần phát triển phần mềm, chương 2 hướng dẫn chi tiết cách cấu hình Arduino IDE, cài đặt thư viện cho ESP8266, trích xuất mã bí mật FIREBASE_AUTH và URL FIREBASE_HOST, cũng như các bước khởi tạo dự án trên Android Studio, tích hợp tệp cấu hình google-services.json và thiết lập đối tượng DatabaseReference phục vụ đọc/ghi dữ liệu thời gian thực.

Chương 3: Hoàn thiện và thử nghiệm

Chương 3 tập trung vào công tác hiện thực hóa mô hình phần cứng, thiết kế giao diện phần mềm và tiến hành đo kiểm thực nghiệm hệ thống. Tác giả trình bày kết quả lắp ráp mạch điều khiển thực tế hoàn chỉnh với cách bố trí gọn gàng giữa bo mạch NodeMCU, các module rơ le bán dẫn, động cơ servo và hệ thống đèn, quạt phụ tải.

Về phần mềm, chương 3 mô tả chi tiết hệ thống giao diện người dùng trên ứng dụng Android gồm:

  • Màn hình đăng ký và đăng nhập tài khoản người dùng đảm bảo an toàn truy cập.
  • Chức năng đặt lại mật khẩu thông qua liên kết bảo mật gửi về email.
  • Giao diện quản lý thông tin tài khoản (thay đổi mật khẩu và đổi địa chỉ email liên kết).
  • Màn hình điều khiển trung tâm với các nút bật/tắt thiết bị, điều chỉnh thanh trượt tốc độ quạt và danh mục thêm mới thiết bị.
  • Giao diện chỉnh sửa thông tin hoặc xóa bỏ thiết bị đã kết nối khỏi danh sách quản lý.
  • Màn hình điều khiển bằng giọng nói tiếng Việt, chuyển đổi khẩu lệnh thành tín hiệu điều khiển trên Firebase.
  • Giao diện thiết lập và kiểm tra kết nối mạng Wi-Fi cho module ESP8266.

Tài liệu cung cấp quy trình hướng dẫn vận hành chi tiết và ghi nhận kết quả thử nghiệm trên 3 kịch bản vận hành độc lập:

  1. Thử nghiệm chức năng điều khiển thiết bị từ xa thông qua ứng dụng di động qua mạng Internet.
  2. Thử nghiệm chức năng điều khiển trực tiếp bằng hệ thống nút nhấn cứng trên bo mạch khi có hoặc không có kết nối ứng dụng.
  3. Thử nghiệm chức năng thiết lập thông số kết nối mạng Wi-Fi mới cho module NodeMCU mà không cần kết nối cáp nạp phần mềm vào máy tính.

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

1. Kết quả thực nghiệm chính

  • Xây dựng thành công mạch điều khiển phần cứng hoàn chỉnh tích hợp vi điều khiển NodeMCU V3 ESP8266, mạch công suất rơ le bán dẫn SSR điều khiển an toàn các phụ tải điện 220V AC (đèn chiếu sáng, quạt máy, ổ điện) và điều khiển góc quay của động cơ Servo SG90 (nguồn 5V DC) phục vụ kéo mở cửa.
  • Hoàn thiện ứng dụng di động trên nền tảng Android Studio với đầy đủ các phân hệ chức năng: xác thực đăng nhập tài khoản qua Firebase Authentication; quản lý vòng đời thiết bị (thêm, sửa tên, xóa thiết bị kết nối); giao diện điều khiển bật/tắt, điều tốc quạt và tích hợp giao diện điều khiển bằng giọng nói.
  • Hệ thống duy trì tính đồng bộ hai chiều thời gian thực thông qua Firebase Realtime Database: khi người dùng tác động nút nhấn cơ học KY-004 trên mạch, thiết bị thay đổi trạng thái đồng thời tín hiệu được cập nhật tức thì lên cơ sở dữ liệu và hiển thị đồng bộ trên màn hình ứng dụng điện thoại.
  • Kiểm thử thành công cơ chế thiết lập Wi-Fi động bằng cách kết hợp máy chủ WebSocket cục bộ và bộ nhớ EEPROM của ESP8266, cho phép người dùng thay đổi mạng Wi-Fi gia đình trực tiếp trên ứng dụng mà không cần nạp lại mã nguồn qua cổng Serial của máy tính.

2. Giải pháp và kiến nghị của tác giả

  • Ứng dụng giải pháp điện toán đám mây trung gian (Google Firebase) để giải quyết triệt để bài toán truyền thông liên mạng mà không đòi hỏi người dùng phải cấu hình mở cổng router (Port Forwarding) hoặc đăng ký dịch vụ tên miền động (DDNS/IP tĩnh) phức tạp tại gia đình.
  • Kiến nghị sử dụng rơ le bán dẫn (SSR) thay thế cho các dòng rơ le cơ khí thông thường nhằm hạn chế tia lửa điện khi đóng cắt các phụ tải điện xoay chiều 220V, nâng cao độ bền linh kiện và tăng cường an toàn phòng chống cháy nổ.

3. Đóng góp khoa học và kỹ thuật

  • So với các đề tài khóa trước tại trường vốn chỉ ứng dụng sóng radio (RF 433MHz) hoặc sóng ngắn (Bluetooth HC-05) với phạm vi truyền dẫn bị giới hạn trong khoảng 10m đến 20m, công trình đã mở rộng không gian điều khiển ra phạm vi toàn cầu tại mọi vị trí có kết nối mạng Internet.
  • Khắc phục nhược điểm "hard-code" (gán cứng SSID và mật khẩu Wi-Fi trong mã nguồn C++) thường gặp ở các đồ án vi điều khiển trước đây bằng giải pháp lưu trữ tham số mạng vào EEPROM và truyền nhận qua giao thức WebSocket nội bộ.
  • Bổ sung cơ chế bảo mật và phân quyền tài khoản người dùng, ngăn chặn việc truy cập trái phép vào hệ thống điện sinh hoạt trong gia đình.

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

Dựa trên các nội dung được nhóm tác giả ghi nhận và phạm vi kỹ thuật của khóa luận, công trình tồn tại các hạn chế và định hướng phát triển sau:

  • Hạn chế của hệ thống:

    • Hệ thống phụ thuộc hoàn toàn vào dịch vụ Firebase của bên thứ ba; gói dịch vụ miễn phí (Spark Plan) quy định giới hạn số lượng kết nối đồng thời và băng thông lưu trữ, có thể gây gián đoạn nếu mở rộng quy mô thiết bị lớn.
    • Hoạt động điều khiển từ xa đòi hỏi kết nối mạng Internet liên tục và ổn định; khi mất kết nối mạng bên ngoài, hệ thống chỉ có thể vận hành cục bộ thông qua nút nhấn cơ học trên mạch.
    • Phần cứng mới dừng lại ở mức độ mạch mô hình thử nghiệm trong phòng thí nghiệm; chưa tích hợp các cảm biến đo đếm dòng điện, điện áp để giám sát điện năng tiêu thụ thực tế hoặc cảnh báo sự cố quá tải.
  • Hướng nghiên cứu tiếp:

    • Nâng cấp khối vi điều khiển trung tâm từ NodeMCU ESP8266 lên dòng vi điều khiển thế hệ mới ESP32 (đã được tác giả khảo sát lý thuyết ở Chương 1 với tốc độ 240MHz, RAM 520KB và hỗ trợ Bluetooth song song) nhằm tăng tốc độ tính toán và khả năng xử lý đa luồng.
    • Tích hợp thêm các module cảm biến an toàn như cảm biến nhiệt độ - độ ẩm, cảm biến khói và cảm biến phát hiện khí gas để kích hoạt kịch bản ngắt điện tự động khi xảy ra sự cố khẩn cấp.
    • Nghiên cứu phát triển phiên bản ứng dụng trên nền tảng hệ điều hành iOS và tối ưu hóa giải thuật điều khiển giọng nói tiếng Việt khi hoạt động trong môi trường có nhiều tạp âm.

Giá trị tham khảo

Bản khóa luận tốt nghiệp là tài liệu tham khảo kỹ thuật hữu ích đối với:

  • Đối tượng thụ hưởng: Sinh viên thuộc các chuyên ngành Công nghệ thông tin, Điện tử truyền thông, Kỹ thuật phần mềm hoặc Mạng máy tính đang thực hiện đồ án môn học Hệ thống nhúng, Lập trình ứng dụng di động hoặc Khóa luận tốt nghiệp về đề tài Nhà thông minh (Smart Home) và IoT.
  • Nội dung có giá trị tham khảo cao:
    • Quy trình thiết kế mạch nguyên lý phối hợp giữa vi điều khiển ESP8266, rơ le công suất SSR và động cơ Servo SG90.
    • Lưu đồ thuật toán và giải pháp cấu hình Wi-Fi linh hoạt qua WebSocket và bộ nhớ EEPROM, giúp giải quyết triệt để bài toán thay đổi mạng cho thiết bị IoT thương mại.
    • Tài liệu kỹ thuật chi tiết về các bước đăng ký chứng chỉ SHA-1, tích hợp tệp google-services.json giữa dự án Android Studio và Firebase Realtime Database.

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

1. Đề tài giải quyết vấn đề cấu hình lại mạng Wi-Fi cho module ESP8266 khi người dùng thay đổi tên hoặc mật khẩu mạng như thế nào?
Hệ thống sử dụng cơ chế kết hợp giữa nút bấm Reset phần cứng, máy chủ WebSocket cục bộ và bộ nhớ phi biến đổi (EEPROM). Khi cần đổi mạng, người dùng nhấn nút Reset trên mạch để dọn dẹp dữ liệu Wi-Fi cũ trong EEPROM và khởi tạo WebSocket. Sau đó, người dùng nhập SSID và Password mới trên ứng dụng Android để gửi sang ESP8266 qua kết nối WebSocket này. Vi điều khiển ghi nhận thông số vào EEPROM và dùng dữ liệu mới để kết nối mạng tự động cho các lần hoạt động sau mà không cần cắm cáp nạp lại code.

2. Vì sao nhóm tác giả lại lựa chọn kết nối qua Internet và Firebase thay vì tiếp tục sử dụng các module RF 433MHz hoặc Bluetooth HC-05 như các khóa trước?
Theo khảo sát của tác giả, module Bluetooth HC-05 chỉ có khoảng cách kết nối trong phạm vi 10–20m và module RF 433MHz hoạt động truyền thông một chiều với tốc độ dữ liệu thấp, dễ bị can nhiễu vật lý. Việc sử dụng ESP8266 kết nối với Firebase Realtime Database giúp khắc phục triệt để rào cản cự ly, cho phép người dùng giám sát và điều khiển thiết bị hai chiều từ bất kỳ đâu có mạng Internet, đồng thời tối ưu hóa khả năng đồng bộ dữ liệu trạng thái thời gian thực.

3. Khối điều khiển công suất trong mạch sử dụng loại linh kiện nào để đóng ngắt các thiết bị điện 220V AC và tải gồm những gì?
Hệ thống sử dụng module rơ le bán dẫn Solid State Relay (SSR) nhận mức logic điều khiển 5V từ NodeMCU ESP8266 để đóng ngắt an toàn nguồn điện xoay chiều 220V AC. Các thiết bị tải thực tế được kết nối và điều khiển trong mô hình thử nghiệm bao gồm: bóng đèn chiếu sáng, quạt điện dân dụng (hỗ trợ bật/tắt và thay đổi tốc độ) và các ổ cắm điện.

4. Ứng dụng Android điều khiển giao tiếp với cơ sở dữ liệu Firebase Realtime Database thông qua các cơ chế kỹ thuật nào?
Ứng dụng được xây dựng trên Android Studio, tích hợp thông qua tệp cấu hình google-services.json cùng mã băm SHA-1 tạo từ tác vụ signingReport. Trong code ứng dụng, các tác giả khởi tạo đối tượng DatabaseReference liên kết với đường dẫn cơ sở dữ liệu trên Firebase để ghi dữ liệu trạng thái điều khiển (bằng nút chạm hoặc nhận diện giọng nói) và thiết lập lắng nghe sự kiện để cập nhật trạng thái hiển thị tức thì khi có biến động từ mạch vật lý.

5. Nếu người dùng không có điện thoại hoặc hệ thống bị mất kết nối mạng Internet, thiết bị điện có thể điều khiển được không?
Người dùng hoàn toàn có thể điều khiển thiết bị trực tiếp tại chỗ nhờ khối nút ấn vật lý KY-004 lắp ráp trên bo mạch. Khi nhấn nút, vi điều khiển ESP8266 trực tiếp đọc tín hiệu logic tại chân ngõ vào và lập tức chuyển trạng thái rơ le tương ứng để bật/tắt đèn hoặc quạt mà không phụ thuộc vào trạng thái kết nối mạng của ứng dụng di động. Khi có kết nối mạng trở lại, trạng thái mới sẽ tự động đồng bộ lên Firebase.


Kết luận

Khóa luận tốt nghiệp của sinh viên Nguyễn Hữu Hùng và Hoàng Văn Đức đã hoàn thành trọn vẹn mục tiêu nghiên cứu, thiết kế phần cứng và lập trình phần mềm cho hệ thống điều khiển thiết bị điện gia dụng từ xa qua mạng Internet. Bằng việc kết hợp vi điều khiển NodeMCU V3 ESP8266, nền tảng cơ sở dữ liệu thời gian thực Firebase và ứng dụng di động Android, hệ thống cho phép giám sát và đóng ngắt tải điện an toàn, không bị giới hạn bởi khoảng cách địa lý. Giải pháp cấu hình mạng Wi-Fi động thông qua giao thức WebSocket và lưu trữ EEPROM cùng cơ chế điều khiển song song bằng phím cơ vật lý là những điểm nhấn kỹ thuật quan trọng, mang lại giá trị thực tiễn và tính ứng dụng cao cho mô hình nhà thông minh.