Giới thiệu dự án

Sự gia tăng nhanh chóng của các bệnh lý tim mạch mãn tính cùng tốc độ già hóa dân số toàn cầu đặt ra thách thức lớn cho hệ thống y tế công cộng. Theo thống kê từ Tổ chức Y tế Thế giới (WHO), các bệnh lý tim mạch là nguyên nhân gây tử vong hàng đầu, cướp đi sinh mạng của khoảng 17,9 triệu người mỗi năm. Tại Việt Nam, nhu cầu giám sát sức khỏe từ xa cho người cao tuổi và bệnh nhân hồi phục sau phẫu thuật ngày càng cấp thiết nhằm giảm thiểu tình trạng quá tải bệnh viện và hạn chế rủi ro khi di chuyển.

Vấn đề cốt lõi đặt ra là phần lớn các hộ gia đình thiếu thiết bị chuyên dụng có khả năng lưu trữ lịch sử chỉ số sinh tồn riêng biệt cho từng thành viên. Các thiết bị đo độc lập (standalone) hiện hành không tự động đồng bộ dữ liệu theo thời gian thực (real-time), dẫn đến việc người nhà hoặc bác sĩ điều trị không kịp thời phát hiện các dấu hiệu rối loạn nhịp tim hoặc thiếu oxy máu cục bộ.

Đề tài "Hệ thống theo dõi sức khỏe tại nhà" do sinh viên Nguyễn Văn Huy thực hiện (Chuyên ngành Công nghệ Kỹ thuật Máy tính, Trường Đại học Sư phạm Kỹ thuật TP.HCM, dưới sự hướng dẫn của PGS.TS. Phan Văn Ca) nghiên cứu và chế tạo giải pháp phần cứng kết hợp đám mây IoT nhằm giải quyết trọn vẹn bài toán trên.

Mục tiêu cụ thể của dự án:

  1. Thiết kế phần cứng nhúng tích hợp: Xây dựng mạch điều khiển trung tâm dựa trên vi điều khiển NodeMCU ESP8266 kết nối trực tiếp cảm biến quang học MAX30100 và đầu đọc thẻ RFID RC522.
  2. Định danh cá nhân hóa người dùng: Ứng dụng công nghệ RFID tần số 13.56 MHz để phân tách hồ sơ y tế riêng biệt cho từng thành viên gia đình trước khi đo.
  3. Đo đạc chính xác chỉ số sinh tồn: Thu thập và xử lý tín hiệu thể tích quang phổ (Photoplethysmography - PPG) để trích xuất nhịp tim (BPM) và nồng độ bão hòa oxy trong máu (SpO2).
  4. Đồng bộ hóa đám mây thời gian thực: Đẩy dữ liệu qua mạng không dây Wi-Fi lên Firebase Realtime Database với độ trễ dưới 500ms và hiển thị trực quan qua giao diện Web Server.

Hệ thống mang lại khả năng số hóa dữ liệu sinh trắc học cá nhân với chi phí phần cứng thấp, hoạt động ổn định trong môi trường gia đình với nguồn cấp DC 5V/1A tiêu chuẩn. Giới hạn đề tài tập trung vào việc giám sát các chỉ số cơ bản trong điều kiện tĩnh, chưa tích hợp thuật toán lọc nhiễu chuyển động động học nâng cao.


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

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

Các thiết bị đo nhịp tim và SpO2 thương mại trên thị trường hiện nay được chia thành ba nhóm công nghệ chính:

Giải pháp Nguyên lý hoạt động Ưu điểm Nhược điểm Khả năng phân quyền IoT
Máy đo kẹp ngón truyền thống (e.g., Beurer PO 30) Cảm biến quang học bước sóng kép độc lập Độ chính xác cao, nhỏ gọn, sử dụng pin rời Không lưu trữ dài hạn, không có kết nối mạng, không chia sẻ đa người dùng Không hỗ trợ
Nhận diện quang học qua Camera (Panasonic Contactless) Phân tích phản xạ bề mặt da qua xử lý ảnh Không tiếp xúc vật lý, tiện lợi Phụ thuộc ánh sáng môi trường, thuật toán nặng, chi phí xử lý cao Hạn chế (yêu cầu server AI mạnh)
Cảm biến sóng siêu âm trên Smartphone (Qualcomm Sense ID) Quét 3D sóng siêu âm dải tần cao Bảo mật sinh trắc học cực cao Giá thành đắt đỏ, chỉ tích hợp trên dòng chip cao cấp Khép kín theo thiết bị
Hệ thống đề xuất (NodeMCU + MAX30100 + RFID) Cảm biến PPG tích hợp + Nhận dạng vô tuyến RFID + Cloud Chi phí thấp (~$15), định danh tức thì, đồng bộ Cloud NoSQL thời gian thực Cần đường truyền Wi-Fi ổn định Độc lập, phân quyền không giới hạn

Dựa trên phân tích yêu cầu người dùng, ma trận ưu tiên MoSCoW được xác lập:

  • Must have (Bắt buộc): Đo nhịp tim (30–240 BPM), đo SpO2 (70–100%), định danh UID thẻ RFID, hiển thị LCD 1602, đồng bộ Firebase.
  • Should have (Nên có): Giao diện Web responsive theo dõi lịch sử, cơ chế tự động kết nối lại Wi-Fi (Auto Reconnect).
  • Could have (Có thể có): Cảnh báo ngưỡng nguy hiểm qua còi Buzzer/LED, xuất file báo cáo CSV/PDF.
  • Won't have (Chưa thực hiện): Chẩn đoán tự động bằng AI, đo huyết áp không xâm lấn.

Thiết kế hệ thống

Kiến trúc hệ thống được thiết kế theo mô hình phân lớp chuẩn IoT (Perception - Network - Cloud/Application):

+-------------------------------------------------------------------+
|                        PERCEPTION LAYER                           |
|  [MAX30100 PPG Sensor] (I2C)  +  [RC522 RFID Reader] (SPI)        |
+---------------------------------+---------------------------------+
                                  |
                                  v
+-------------------------------------------------------------------+
|                        PROCESSING LAYER                           |
|       NodeMCU DEVKIT v1.0 (ESP8266 SoC, 80MHz, 3.3V Logic)        |
|       - FreeRTOS / Arduino Core Framework                         |
|       - I2C Driver: MAX30100 + LCD 1602 (PCF8574 Backpack)        |
|       - SPI Driver: MFRC522                                       |
+---------------------------------+---------------------------------+
                                  |
                                  v (Wi-Fi 802.11 b/g/n - 2.4 GHz)
+-------------------------------------------------------------------+
|                      CLOUD & WEB LAYER                            |
|  [Google Firebase Realtime Database] <---> [Web Dashboard Client] |
|  - RESTful API / WebSockets                - HTML5 / CSS3 / JS    |
+-------------------------------------------------------------------+

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

  • MCU: ESP8266 12-E Wi-Fi SoC (Tensilica L106 32-bit, Clock 80 MHz, Flash 4MB).
  • Cảm biến sinh học: MAX30100 (Maxim Integrated) tích hợp 16-bit Sigma-Delta ADC, bộ đệm 16-deep FIFO.
  • Đầu đọc thẻ: RFID RC522 (Philips MFRC522 IC, Tần số 13.56 MHz, Chuẩn ISO/IEC 14443 Type A).
  • Màn hình: LCD 1602 kèm mạch chuyển tiếp giao tiếp I2C PCF8574 (Địa chỉ: 0x27).
  • Nền tảng Cloud: Firebase Realtime Database (Google Cloud).
  • Môi trường lập trình & thiết kế: Arduino IDE v1.8.x (ESP8266 Core v2.4.2), Proteus Professional v8.6.

Thiết kế cấu trúc cơ sở dữ liệu NoSQL (Firebase JSON Schema):

{
  "Healthcare_System": {
    "Members": {
      "E2806899": {
        "Name": "Nguyen Van A",
        "Age": 68,
        "Gender": "Male",
        "Last_Update": "2026-09-03 10:15:30",
        "Current_Vitals": {
          "HeartRate": 74,
          "SpO2": 98
        }
      }
    },
    "Telemetry_Logs": {
      "E2806899": {
        "-NxF892kdsl92": {
          "Timestamp": 1788430530,
          "BPM": 74,
          "SpO2": 98,
          "Status": "Normal"
        }
      }
    }
  }
}

Bảo mật và chỉ tiêu hiệu năng:

  • Bảo mật: Firebase Database Rules phân quyền đọc/ghi dựa trên secret token hoặc xác thực định danh; kiểm tra tính hợp lệ của mã thẻ MIFARE UID trước khi kích hoạt quy trình lấy mẫu.
  • Hiệu năng: Tần số trích xuất tín hiệu cảm biến đặt ở 100 Hz; độ trễ cập nhật từ MCU lên Firebase đạt < 300 ms; mức tiêu thụ dòng trung bình của toàn mạch là 80 mA ở điện áp 5V.

Methodology

Quy trình phát triển áp dụng mô hình Agile Embedded cải tiến với 4 mốc tiến độ chính:

[Mốc 1: Khảo sát & Thiết kế phần cứng] 
[Mốc 2: Lập trình nhúng Firmware] 
[Mốc 3: Tích hợp Đám mây & Web Dashboard] 
[Mốc 4: Kiểm thử, Đánh giá sai số & Tối ưu] 

Ma trận đánh giá và giảm thiểu rủi ro:

Rủi ro kỹ thuật Mức độ Biện pháp giảm thiểu
Tranh chấp bus I2C giữa LCD và MAX30100 Trung bình Gán đúng địa chỉ cứng (0x27 cho LCD, 0x57 cho MAX30100), kéo trở pull-up 4.7kΩ
Mất kết nối Wi-Fi làm treo chương trình Cao Triển khai hàm non-blocking reconnect và cơ chế lưu trữ đệm tạm thời
Nhiễu tín hiệu quang do áp lực ngón tay Cao Bổ sung thuật toán kiểm tra ngưỡng tiếp xúc (threshold trigger) trước khi tính toán

Implementation và kết quả

Development process

Quá trình phát triển tập trung vào việc xây dựng firmware nhúng phi tuần tự trên ESP8266 bằng Arduino C++, kết hợp thư viện ESP8266WiFi.h, FirebaseArduino.h, MFRC522.hMAX30100_PulseOximeter.h.

Thuật toán đo nhịp tim và SpO2 dựa trên định luật Beer-Lambert:

  • Hemoglobin khử ($Hb$) hấp thụ mạnh ánh sáng đỏ (bước sóng $\lambda = 660\text{ nm}$).
  • Oxyhemoglobin ($HbO_2$) hấp thụ mạnh ánh sáng hồng ngoại (bước sóng $\lambda = 905\text{ nm}$).
  • Tỷ số biến thiên dòng quang điện $R$ được xác định: $$R = \frac{(AC_{660} / DC_{660})}{(AC_{905} / DC_{905})}$$
  • Tỷ lệ SpO2 tính theo công thức thực nghiệm: $\text{SpO2} = 110 - 25 \times R\ (%)$.

Đoạn mã thực thi tích hợp hệ thống (Firmware Core):

#include <ESP8266WiFi.h>
#include <FirebaseArduino.h>
#include <Wire.h>
#include <SPI.h>
#include <MFRC522.h>
#include "MAX30100_PulseOximeter.h"
#include <LiquidCrystal_I2C.h>

#define FIREBASE_HOST "healthcare-iot-default-rtdb.firebaseio.com"
#define FIREBASE_AUTH "YourFirebaseAuthSecretKey"
#define WIFI_SSID "Home_AP_2.4G"
#define WIFI_PASSWORD "SecurePass123"

#define SS_PIN D4
#define RST_PIN D3

MFRC522 rfid(SS_PIN, RST_PIN);
PulseOximeter pox;
LiquidCrystal_I2C lcd(0x27, 16, 2);

uint32_t tsLastReport = 0;
String currentUID = "";
bool isAuthorized = false;

void onBeatDetected() {
    // Callback khi phat hien nhip đap
}

void setup() {
    Serial.begin(115200);
    Wire.begin(D2, D1); // SDA=D2 (GPIO4), SCL=D1 (GPIO5)
    SPI.begin();
    rfid.PCD_Init();
    
    lcd.init();
    lcd.backlight();
    lcd.setCursor(0, 0);
    lcd.print("System Starting");

    WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
    while (WiFi.status() != WL_CONNECTED) {
        delay(250);
        lcd.print(".");
    }
    Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);

    if (!pox.begin(PULSEOXIMETER_DEBUGGINGMODE_NONE)) {
        lcd.clear();
        lcd.print("MAX30100 ERROR");
        while(1);
    }
    pox.setOnBeatDetectedCallback(onBeatDetected);
    lcd.clear();
    lcd.print("Scan RFID Card..");
}

void loop() {
    // 1. Quet the xac thuc thanh vien
    if (rfid.PICC_IsNewCardPresent() && rfid.PICC_ReadCardSerial()) {
        currentUID = "";
        for (byte i = 0; i < rfid.uid.size; i++) {
            currentUID += String(rfid.uid.uidByte[i] < 0x10 ? "0" : "");
            currentUID += String(rfid.uid.uidByte[i], HEX);
        }
        currentUID.toUpperCase();
        
        // Kiem tra hop le tren Firebase
        if (Firebase.getBool("/Healthcare_System/Authorized/" + currentUID)) {
            isAuthorized = true;
            lcd.clear();
            lcd.setCursor(0, 0);
            lcd.print("ID: " + currentUID);
            lcd.setCursor(0, 1);
            lcd.print("Place Finger...");
        } else {
            isAuthorized = false;
            lcd.clear();
            lcd.print("Invalid Card!");
        }
        rfid.PICC_HaltA();
    }

    // 2. Doc va xu ly cam bien sinh hoc khi da duoc xac thuc
    if (isAuthorized) {
        pox.update();
        if (millis() - tsLastReport > 2000) {
            float bpm = pox.getHeartRate();
            uint8_t spo2 = pox.getSpO2();

            if (bpm > 40.0 && bpm < 220.0 && spo2 > 70) {
                lcd.clear();
                lcd.setCursor(0, 0);
                lcd.print("BPM: " + String((int)bpm));
                lcd.setCursor(0, 1);
                lcd.print("SpO2: " + String(spo2) + "%");

                // Dong bo len Cloud Firebase
                String basePath = "/Healthcare_System/Telemetry_Logs/" + currentUID;
                Firebase.pushFloat(basePath + "/BPM", bpm);
                Firebase.pushInt(basePath + "/SpO2", spo2);
                Firebase.setString(basePath + "/Timestamp", String(millis()));
            }
            tsLastReport = millis();
        }
    }
}

Testing và validation

Hệ thống đã trải qua quá trình kiểm thử thực nghiệm đối chứng với thiết bị y tế chuẩn (Máy đo nồng độ oxy Beurer PO 30) trên 5 đối tượng người dùng ở các độ tuổi khác nhau với tổng cộng 30 lần đo thử nghiệm.

                    BIỂU ĐỒ SO SÁNH ĐỘ CHÍNH XÁC ĐO
100 +-----------------------------------------------------------------+
    |                                   *   *   *  (SpO2 Chuan: 98%)  |
 95 |   *   *   *   *   *   *   *   *  -------------------------------|
    |                                   #   #   #  (MAX30100: 97.2%)  |
 75 |=================================================================|
    |   o   o   o   o   o   o   o   o   o   o   o  (BPM Chuan: 76)    |
 70 |   +   +   +   +   +   +   +   +   +   +   +  (MAX30100: 74.8)   |
 65 +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+--+
    Mau 1   Mau 2   Mau 3   Mau 4   Mau 5   Mau 6   Mau 7   Mau 8

Bảng thông số kiểm chuẩn thực nghiệm:

Chỉ số kiểm thử Thiết bị tham chiếu chuẩn Kết quả hệ thống đề tài Sai số tuyệt đối trung bình Tỷ lệ chính xác
Nhịp tim (BPM) 76.4 bpm (Máy đo điện tim y tế) 74.8 bpm $\pm 1.6\text{ bpm}$ 97.9%
Độ bão hòa Oxy (SpO2) 98.2% (Beurer PO 30) 97.1% $\pm 1.1%$ 98.8%
Khoảng cách quét RFID Thẻ chuẩn Mifare 1k 0 – 38 mm N/A 100% (trong cự ly)
Thời gian đồng bộ Cloud Firebase Console 240 – 380 ms N/A 100% khi có Wi-Fi

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

  1. Khả năng đáp ứng chức năng: Đạt 100% mục tiêu đề ra về thu thập dữ liệu nhịp tim, oxy trong máu, định danh thẻ thành viên và hiển thị song song trên LCD 1602 lẫn Cloud Web Server.
  2. Khả năng chịu tải và độ ổn định: Mạch hoạt động liên tục trong 72 giờ thử nghiệm không xảy ra hiện tượng tràn bộ nhớ (memory leak) hoặc treo vi điều khiển nhờ tối ưu bộ nhớ heap của ESP8266.
  3. Phản hồi từ người dùng: Thử nghiệm trên 10 cá nhân ghi nhận 95% mức độ hài lòng về tính tiện lợi khi chỉ cần quẹt thẻ là hệ thống tự động ghi nhận dữ liệu vào đúng tài khoản cá nhân.

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

  1. Cơ chế ràng buộc định danh phần cứng (Hardware-enforced Multi-tenancy): Điểm cải tiến nổi bật của đồ án là việc tích hợp module RFID RC522 để phân tách dòng dữ liệu y tế ngay tại tầng biên (Edge). Thay vì phải đăng nhập phức tạp trên màn hình cảm ứng hoặc ứng dụng điện thoại, người cao tuổi chỉ cần một thao tác quẹt thẻ vật lý là hệ thống tự động kích hoạt phiên đo cá nhân hóa.
  2. Kiến trúc Serverless IoT tối ưu chi phí: Loại bỏ việc duy trì các máy chủ truyền thống đắt đỏ bằng cách kết nối trực tiếp ESP8266 tới Firebase Realtime Database qua giao thức REST/WebSockets, giúp giảm 100% chi phí vận hành máy chủ hàng tháng cho hộ gia đình.
  3. Nâng cao hiệu suất quản lý sức khỏe gia đình:
    • Cắt giảm 90% thời gian ghi chép nhật ký chỉ số sinh tồn thủ công bằng sổ tay.
    • Giúp người thân ở xa có thể theo dõi biến thiên nhịp tim của cha mẹ theo thời gian thực qua Web Dashboard.

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

Kịch bản ứng dụng

  • Giám sát sức khỏe người cao tuổi tại nhà: Đặt máy cố định tại phòng khách hoặc đầu giường, người cao tuổi quẹt thẻ mỗi sáng để đo chỉ số sinh tồn. Dữ liệu tự động gửi về điện thoại của con cái đang đi làm xa.
  • Phòng y tế trường học và viện dưỡng lão: Ứng dụng quản lý hồ sơ sức khỏe hàng loạt cho học sinh/viên chức thông qua thẻ học sinh/thẻ từ nhân viên tích hợp sẵn mã RFID Mifare.

Phân tích chi phí và danh mục linh kiện (Bill of Materials - BOM)

STT Linh kiện / Thiết bị Đơn giá ước tính (VND) Tác vụ chính
1 Kit NodeMCU ESP8266 V1.0 75.000 Vi điều khiển trung tâm, thu phát Wi-Fi
2 Cảm biến MAX30100 80.000 Thu thập tín hiệu nhịp tim & SpO2 qua I2C
3 Module RFID RC522 + Thẻ từ 45.000 Xác thực người dùng qua sóng 13.56 MHz
4 Màn hình LCD 1602 + I2C Backpack 40.000 Hiển thị thông số trực tiếp tại chỗ
5 Nguồn Adapter DC 5V/1A + Vỏ hộp 45.000 Cấp nguồn và bảo vệ hệ thống
Tổng cộng Toàn bộ hệ thống ~ 285.000 VND (~$12) Tiết kiệm 75% so với thiết bị nhập ngoại

Lộ trình triển khai (Deployment Roadmap)

  • Giai đoạn 1 (Tuần 1–2): Triển khai lắp ráp phần cứng trên bo mạch in PCB chuẩn công nghiệp, cố định trong khung vỏ in 3D chống va đập.
  • Giai đoạn 2 (Tuần 3–4): Cấu hình hạ tầng Firebase, thiết lập mạng Wi-Fi gia đình và phân phát thẻ RFID đã mã hóa UID cho từng thành viên.
  • Giai đoạn 3 (Tuần 5 trở đi): Đưa vào vận hành thực tế, bảo trì định kỳ và theo dõi nhật ký dữ liệu qua giao diện Web.

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

Hạn chế kỹ thuật

  • Nhiễu chuyển động (Motion Artifacts): Cảm biến MAX30100 rất nhạy cảm với sự dịch chuyển của đầu ngón tay trong quá trình đo, đòi hỏi người dùng phải giữ yên vị trí trong khoảng 5–10 giây để kết quả ổn định.
  • Phụ thuộc kết nối Internet: Thiết bị chưa tích hợp thẻ nhớ SD hoặc bộ nhớ EEPROM ngoài để lưu trữ ngoại tuyến khi mạng Wi-Fi gặp sự cố mất kết nối dài hạn.

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

  1. Thuật toán xử lý tín hiệu nâng cao: Tích hợp bộ lọc số Kalman hoặc thuật toán biến đổi Fourier nhanh (FFT) trực tiếp trên chip để loại bỏ hoàn toàn nhiễu quang phổ do chuyển động.
  2. Nâng cấp phần cứng: Chuyển đổi sang vi điều khiển ESP32 lõi kép (Dual-core) và cảm biến MAX30102/MAX30105 thế hệ mới có độ nhạy quang học cao hơn; bổ sung module đo nhiệt độ không tiếp xúc MLX90614.
  3. Phát triển ứng dụng di động chuyên sâu: Xây dựng App di động trên nền tảng Flutter (hỗ trợ cả iOS và Android) tích hợp thông báo đẩy (Push Notification) cảnh báo khẩn cấp khi nhịp tim hoặc SpO2 vượt quá ngưỡng an toàn.

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

+--------------------------------------------------------------------------+
|                        GIÁ TRỊ MANG LẠI                                 |
+------------------------------------+-------------------------------------+
| [Sinh viên & Người học]            | [Kỹ sư nhúng & Lập trình viên IoT]  |
| - Tài liệu tham khảo toàn diện     | - Kiến trúc mẫu giao tiếp ngoại vi  |
|   về thiết kế mạch nhúng & IoT     |   I2C/SPI trên SoC ESP8266          |
| - Phương pháp tích hợp Firebase C++| - Kỹ thuật tối ưu hóa bộ đệm FIFO   |
+------------------------------------+-------------------------------------+
| [Hộ gia đình & Bệnh nhân]          | [Nhà nghiên cứu Y sinh]             |
| - Tiết kiệm chi phí y tế định kỳ   | - Cơ sở dữ liệu mẫu về biến thiên   |
| - Tự chủ theo dõi chỉ số sinh tồn  |   tín hiệu PPG trên người Việt Nam  |
+------------------------------------+-------------------------------------+
  • Sinh viên ngành Kỹ thuật Máy tính / Điện tử: Cung cấp tài liệu mẫu về quy trình thiết kế từ sơ đồ nguyên lý mạch, layout mạch in, đến kỹ thuật lập trình giao tiếp cảm biến quang sinh học.
  • Kỹ sư và cộng đồng Maker: Cung cấp source code mẫu sạch, chuẩn hóa quy trình giao tiếp đồng thời cả hai chuẩn SPI (RFID) và I2C (Cảm biến + LCD) mà không gây xung đột tài nguyên vi điều khiển.
  • Hộ gia đình: Giải pháp chăm sóc sức khỏe chủ động, lưu trữ lịch sử y tế trọn đời với kinh phí đầu tư dưới 300.000 VND.

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

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

Hệ thống yêu cầu nguồn cấp DC 5V/1A qua cổng Micro-USB hoặc Adapter ngoài, vùng phủ sóng Wi-Fi băng tần 2.4 GHz (chuẩn 802.11 b/g/n) có kết nối Internet để đồng bộ Firebase.

2. Thiết bị xử lý thế nào khi có nhiều người đo liên tiếp?

Nhờ tích hợp đầu đọc thẻ RFID RC522, mỗi phiên đo bắt buộc phải quẹt thẻ để lấy UID. Hệ thống sẽ tự động chuyển đổi nhánh lưu trữ dữ liệu sang hồ sơ của người đó trên Firebase, đảm bảo không bao giờ bị ghi đè hoặc nhầm lẫn dữ liệu giữa các thành viên.

3. Cảm biến MAX30100 có thể đo qua găng tay hoặc móng tay sơn màu không?

Không. Cảm biến MAX30100 sử dụng công nghệ quang phổ phản xạ ánh sáng đỏ và hồng ngoại qua mao mạch máu đầu ngón tay. Sơn móng tay màu tối hoặc găng tay sẽ cản trở hoàn toàn sự xuyên thấu của bước sóng ánh sáng, làm sai lệch kết quả đo.

4. Chi phí duy trì cơ sở dữ liệu Firebase hàng tháng là bao nhiêu?

Với quy mô một hộ gia đình (4–6 thành viên), lưu lượng dữ liệu đọc/ghi chỉ chiếm vài Megabyte mỗi tháng, hoàn toàn nằm trong gói miễn phí (Spark Plan) của Google Firebase với chi phí vận hành 0 VND.

5. Làm thế nào để khắc phục khi màn hình LCD báo lỗi "MAX30100 ERROR"?

Kiểm tra lại tiếp xúc chân giao tiếp I2C giữa chân SDA (D2) và SCL (D1) của ESP8266 với cảm biến; đảm bảo trở kéo pull-up 4.7kΩ đã được kết nối đúng cách vào đường nguồn 3.3V và nguồn cấp cho module cảm biến không bị sụt áp.


Kết luận

Đồ án tốt nghiệp "Hệ thống theo dõi sức khỏe tại nhà" của tác giả Nguyễn Văn Huy đã chứng minh tính khả thi và hiệu quả vượt trội trong việc ứng dụng công nghệ IoT và vi điều khiển nhúng vào lĩnh vực y tế dự phòng gia đình. Bằng sự kết hợp khéo léo giữa chip vi điều khiển NodeMCU ESP8266, cảm biến sinh học MAX30100, module RFID RC522 và cơ sở dữ liệu đám mây Firebase Realtime Database, sản phẩm tạo ra một chu trình khép kín: Định danh $\rightarrow$ Thu thập $\rightarrow$ Xử lý $\rightarrow$ Hiển thị tại chỗ $\rightarrow$ Đồng bộ hóa đám mây.

Hệ thống không chỉ đạt độ chính xác cao (sai số dưới $\pm 2$ bpm đối với nhịp tim và $\pm 1.5%$ đối với SpO2) mà còn mở ra hướng tiếp cận mới trong việc xây dựng các thiết bị y tế cá nhân giá rẻ, dễ sử dụng cho đại chúng. Đề tài đóng góp một nền tảng vững chắc để các nhà phát triển và sinh viên tiếp tục nghiên cứu, tích hợp thêm các thuật toán AI cảnh báo sớm bệnh lý tim mạch trong tương lai.