Giới thiệu dự án

Theo số liệu từ Tổng cục Thống kê, tuổi thọ trung bình của người dân Việt Nam năm 2023 đạt mức 73,8 tuổi, nhưng số năm sống khỏe mạnh chỉ đạt trung bình 68,8 tuổi. Điều này đồng nghĩa với việc người cao tuổi phải đối mặt với trung bình 5 năm sống chung với các bệnh lý mạn tính, đặc biệt là bệnh tim mạch, huyết áp và suy hô hấp. Trong bối cảnh cấu trúc gia đình hiện đại ngày càng bận rộn, việc giám sát liên tục các chỉ số sinh tồn của người cao tuổi hoặc bệnh nhân có tiền sử bệnh lý nền khi họ ở nhà một mình trở thành một thách thức y tế cộng đồng cấp thiết.

Thực trạng cho thấy phần lớn các tai biến tim mạch hoặc suy hô hấp đột ngột xảy ra khi không có người thân bên cạnh, dẫn đến việc cấp cứu chậm trễ và để lại di chứng nặng nề hoặc tử vong. Các thiết bị đo đạc y tế truyền thống thường cồng kềnh, thiếu tính di động, yêu cầu thao tác thủ công phức tạp và không có cơ chế phát tín hiệu khẩn cấp tự động. Mặt khác, các thiết bị đeo thương mại phổ biến (smartwatch) thường phụ thuộc hoàn toàn vào kết nối Bluetooth với smartphone tầm gần và hạ tầng mạng Internet (Wi-Fi), dễ mất liên lạc khi người già đi ra ngoài hoặc không biết thao tác với điện thoại thông minh.

Đồ án tốt nghiệp "Thiết kế và thi công thiết bị theo dõi sức khỏe di động" được nghiên cứu và thực hiện bởi sinh viê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 (HCMUTE) nhằm giải quyết triệt để bài toán trên.

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

  1. Thiết kế và chế tạo phần cứng thiết bị đeo tay nhỏ gọn, tích hợp cảm biến đo nhịp tim và nồng độ bão hòa oxy trong máu ($SpO_2$) không xâm lấn.
  2. Xây dựng cơ chế cảnh báo khẩn cấp độc lập qua mạng di động viễn thông (gọi điện thoại và gửi tin nhắn SMS tự động) đến trực tiếp số điện thoại của người thân khi phát hiện chỉ số sinh tồn rơi vào ngưỡng nguy hiểm.
  3. Tích hợp màn hình OLED cục bộ cho phép người dùng theo dõi chỉ số trực tiếp, tùy biến ngưỡng cảnh báo $SpO_2$ và cài đặt chuông báo thức/nhắc nhở uống thuốc định kỳ.
  4. Triển khai kiến trúc lưu trữ dữ liệu lai (Hybrid Storage): lưu nhật ký đo đạc vào bộ nhớ Flash nội bộ của vi điều khiển và tự động đồng bộ hóa lên nền tảng đám mây Firebase Realtime Database/Cloud Storage khi có kết nối Wi-Fi.

Giải pháp lựa chọn vi điều khiển ESP32-WROOM-32 làm bộ xử lý trung tâm kết hợp module truyền thông di động LTE Cat-1 SIMCOM A7680C. Cấu hình này đảm bảo thiết bị hoạt động độc lập không phụ thuộc vào điện thoại thông minh, duy trì cảnh báo theo thời gian thực (Real-time Alerting) ngay cả khi mất sóng Internet nhờ mạng viễn thông tế bào.

Kết quả kỳ vọng đạt được là một thiết bị nguyên mẫu hoạt động ổn định với thời gian phản hồi cảnh báo khẩn cấp dưới 5 giây, sai số đo nhịp tim và $SpO_2$ dưới 5% so với thiết bị y tế chuẩn, và thời lượng pin đảm bảo hoạt động liên tục trong suốt ngày dài. Phạm vi nghiên cứu tập trung vào nhóm đối tượng người cao tuổi, người có bệnh lý tim mạch, với giới hạn cấu hình sẵn 02 số điện thoại người thân và 01 điểm truy cập Wi-Fi mặc định.

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

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

Thị trường và các công trình nghiên cứu trước đây đã đưa ra một số mô hình theo dõi sức khỏe cá nhân, tuy nhiên mỗi giải pháp đều bộc lộ những rào cản kỹ thuật nhất định khi áp dụng cho người cao tuổi:

Tiêu chí so sánh Hệ thống theo dõi qua App Mobile + BLE Thiết bị báo động khẩn cấp SIM908/SIM800L Thiết bị đề xuất (ESP32 + A7680C + MAX30100)
Công nghệ kết nối Bluetooth Low Energy (BLE) + Wi-Fi Mạng di động 2G (GSM/GPRS) Mạng 4G LTE Cat-1 + Wi-Fi 802.11 b/g/n
Độ độc lập Phụ thuộc vào smartphone đi kèm Hoạt động độc lập bằng nút bấm SOS Hoạt động độc lập, tự động đo và cảnh báo
Thu thập sinh hiệu Có (đo nhịp tim, $SpO_2$) Không (chỉ gửi tọa độ GPS khi bấm nút) Đo liên tục nhịp tim (BPM) và $SpO_2$ (%)
Khả năng cảnh báo Push Notification qua Internet Gọi điện / SMS qua trạm 2G BTS Gọi điện + SMS 4G + Còi buzzer tại chỗ
Tuổi thọ hạ tầng Phụ thuộc OS điện thoại Sắp bị khai tử do tắt sóng 2G Tương thích lâu dài với mạng 4G/LTE
Lưu trữ dữ liệu Cloud Server / Local App Giới hạn bộ nhớ vi điều khiển Flash nội bộ + Firebase Cloud Storage

Yêu cầu người dùng được phân loại theo mô hình MoSCoW:

  • Must have (Bắt buộc): Đo được nhịp tim và $SpO_2$; tự động gọi điện và gửi SMS khi $SpO_2$ giảm dưới ngưỡng an toàn; có còi báo buzzer tại chỗ; hiển thị thông số lên màn hình OLED; lưu trữ dữ liệu đo lường.
  • Should have (Nên có): Tùy chỉnh ngưỡng cảnh báo $SpO_2$ qua nút nhấn; tính năng báo thức/nhắc giờ uống thuốc bằng chip thời gian thực RTC DS3231; cơ chế tự động kết nối lại Wi-Fi sau mỗi 15 phút.
  • Could have (Có thể có): Đồng bộ hóa tệp dữ liệu nhật ký lên Google Firebase hàng ngày; hiển thị trạng thái kết nối Online/Offline.
  • Won't have (Chưa thực hiện ở phiên bản này): Cảnh báo mức pin yếu trên giao diện màn hình; định vị tọa độ GPS thời gian thực; hỗ trợ cấu hình đa mạng Wi-Fi động qua giao diện Web Captive Portal.

Thách thức kỹ thuật lớn nhất nằm ở việc cảm biến quang học MAX30100 có thời gian timeout phần cứng rất ngắn (xấp xỉ 180ms). Nếu các tác vụ kết nối mạng, xử lý hiển thị hoặc giao tiếp viễn thông chiếm dụng CPU quá thời gian này, đường truyền bus $I^2C$ của cảm biến sẽ bị treo, dẫn đến sai lệch chỉ số hoặc đứng hệ thống.

Thiết kế hệ thống

Kiến trúc phần cứng của hệ thống được chia thành 5 khối chức năng chính: Khối điều khiển trung tâm, Khối cảm biến sinh hiệu, Khối cảnh báo viễn thông, Khối hiển thị & giao tiếp người dùng, và Khối nguồn.

graph TD
    subgraph Power_Block["Khối Nguồn"]
        BAT["Pin Li-Po 3.7V"] --> BOOST["Mạch sạc/xả Type-C 5V-2A"]
        BOOST --> LDO["Ổn áp 3.3V / 3.8V"]
    end

    subgraph Sensor_RTC["Khối Cảm Biến & Thời Gian"]
        MAX["Cảm biến MAX30100 (I2C)"]
        RTC["Module RTC DS3231 (I2C)"]
    end

    subgraph MCU_Block["Khối Điều Khiển Trung Tâm (ESP32-WROOM-32)"]
        CORE["Xtensa Dual-Core 240MHz"]
        FLASH["Bộ nhớ SPI Flash (Storage)"]
        WIFI["Wi-Fi 802.11 b/g/n Engine"]
    end

    subgraph UI_Block["Khối Hiển Thị & Nút Nhấn"]
        OLED["OLED SSD1306 0.96 inch (I2C)"]
        BTNS["Nút điều hướng & SOS (GPIO)"]
    end

    subgraph Alert_Block["Khối Cảnh Báo"]
        SIM["Module SIMCOM A7680C 4G (UART)"]
        BUZZ["Còi Buzzer báo động (GPIO)"]
    end

    subgraph Cloud_Backend["Hạ Tầng Đám Mây & Viễn Thông"]
        FIREBASE[("Firebase Cloud Storage")]
        PHONE["Số điện thoại người thân (SMS/Voice)"]
    end

    BOOST --> MCU_Block
    BOOST --> Alert_Block
    BOOST --> Sensor_RTC
    BOOST --> UI_Block

    MAX -->|I2C: SDA/SCL| CORE
    RTC -->|I2C: SDA/SCL| CORE
    OLED <--|I2C: SDA/SCL| CORE
    BTNS -->|Digital In| CORE
    CORE -->|Digital Out| BUZZ
    CORE <-->|UART2: TX2/RX2| SIM

    WIFI -.->|HTTPS / REST API| FIREBASE
    SIM -.->|Mạng LTE 4G / Voice / SMS| PHONE

Chi tiết Technology Stack:

  • Vi điều khiển: ESP32-WROOM-32 (Xtensa Dual-Core 32-bit LX6, xung nhịp 240 MHz, 520 KB SRAM, 4 MB SPI Flash, tích hợp FreeRTOS).
  • Module viễn thông: SIMCOM A7680C (LTE Cat-1, hỗ trợ băng tần B1/B3/B5/B8/B34/B38/B39/B40/B41, giao tiếp UART, tập lệnh AT Command chuẩn Hayes).
  • Cảm biến sinh hiệu: Maxim Integrated GY-MAX30100 (Tích hợp LED Đỏ 660nm, LED Hồng ngoại 940nm, bộ thu quang Photodetector và mạch lọc tiền khuếch đại nhiễu thấp, giao tiếp $I^2C$).
  • Module thời gian thực: DS3231 RTC (Bù nhiệt độ TCXO, sai số cực thấp $\pm2\text{ ppm}$, tích hợp EEPROM AT24C32).
  • Màn hình hiển thị: OLED 0.96 inch SSD1306 (Độ phân giải $128 \times 64$ pixels, giao tiếp $I^2C$).
  • Hệ thống lưu trữ đám mây: Firebase Realtime Database và Cloud Storage (Google Cloud Platform), xác thực thông qua Firebase REST API.

Cấu trúc dữ liệu ghi nhận (Flash Log Format): Dữ liệu sinh hiệu được ghi tuần tự vào bộ nhớ Flash nội bộ theo định dạng chuỗi CSV chuẩn để tiết kiệm không gian và tối ưu tốc độ ghi I/O: Timestamp,HeartRate_BPM,SpO2_Percent,System_Status Ví dụ: 2024-06-20 14:30:00,75,98,NORMAL

Methodology

Dự án được triển khai theo mô hình kỹ thuật lặp (Iterative Prototyping) kết hợp phương pháp phát triển linh hoạt Agile. Quá trình thực hiện kéo dài trong 18 tuần (từ 19/02/2024 đến 20/06/2024) với các mốc tiến độ chính:

  1. Tuần 1 - 4 (Nghiên cứu & Khảo sát): Tìm hiểu nguyên lý đo xung quang thể tích (PPG - Photoplethysmography), tập lệnh AT Command của module SIMCOM A7680C, giao thức truyền thông $I^2C$/UART và nền tảng Firebase.
  2. Tuần 5 - 8 (Thiết kế phần cứng): Thiết kế sơ đồ nguyên lý (Schematic) trên phần mềm Altium Designer, phân bổ Layout PCB 2 lớp, đặt gia công mạch in và hàn ráp linh kiện mẫu.
  3. Tuần 9 - 14 (Lập trình Firmware): Xây dựng driver đọc cảm biến MAX30100, giải thuật lọc nhiễu, module điều khiển cuộc gọi/SMS qua A7680C, quản lý menu OLED và kết nối Wi-Fi/Firebase.
  4. Tuần 15 - 18 (Hiệu chuẩn, Thử nghiệm & Đóng gói): Đo đạc đối chứng với thiết bị y tế chuyên dụng, tối ưu dòng tiêu thụ và hoàn thiện vỏ hộp sản phẩm.

Đánh giá rủi ro và giải pháp khắc phục:

  • Rủi ro sụt áp khi module 4G phát sóng: SIMCOM A7680C yêu cầu dòng đỉnh (Peak current) lên tới 1.4A - 2.0A khi quay số. Giải pháp: Thiết kế mạch nguồn với đường mạch công suất lớn, bố trí cụm tụ hóa Low-ESR ($1000\mu\text{F}$) và tụ gốm lọc nhiễu ($100\text{nF}$) đặt sát chân nguồn VCC của module.
  • Rủi ro nghẽn bus $I^2C$ do cảm biến MAX30100: Giải pháp: Sử dụng kiến trúc non-blocking, liên tục gọi hàm quét lấy mẫu pox.update() trong vòng lặp chính và thiết lập cơ chế Software Reset pox.begin() tự động phục hồi khi phát hiện ngoại lệ timeout.

Implementation và kết quả

Development process

Quá trình phát triển tập trung vào việc xử lý tín hiệu cảm biến sinh hiệu và điều khiển modem viễn thông qua các luồng tác vụ độc lập.

1. Nguyên lý trích xuất chỉ số từ cảm biến MAX30100: Cảm biến hoạt động dựa trên định luật Beer-Lambert về độ hấp thụ ánh sáng của Hemoglobin qua mô ngón tay. Máu giàu oxy (Oxyhemoglobin - $HbO_2$) hấp thụ mạnh ánh sáng hồng ngoại (940nm), trong khi máu thiếu oxy (Deoxyhemoglobin - $Hb$) hấp thụ mạnh ánh sáng đỏ (660nm).

Tỷ lệ hấp thụ vi sai $R$ được tính toán qua công thức: $$R = \frac{(AC_{\text{red}} / DC_{\text{red}})}{(AC_{\text{ir}} / DC_{\text{ir}})}$$ Từ giá trị $R$, hàm xấp xỉ bậc hai thực nghiệm sẽ suy ra tỷ lệ $SpO_2$: $$SpO_2 = 110 - 25 \times R \quad (%)$$

Nhịp tim (BPM) được tính toán bằng cách xác định chu kỳ đỉnh xung $AC$ (Peak-to-Peak interval) của tín hiệu quang phổ hồng ngoại theo thời gian thực: $$\text{Heart Rate} = \frac{60 \times 1000}{\Delta t_{\text{peak}} \ (\text{ms})}$$

// Trích đoạn thuật toán khởi tạo và xử lý đọc dữ liệu MAX30100 không nghẽn bus
#include <Wire.h>
#include "MAX30100_PulseOximeter.h"

#define REPORTING_PERIOD_MS     1000
#define SPO2_THRESHOLD_DEFAULT  94

PulseOximeter pox;
uint32_t tsLastReport = 0;

void onBeatDetected() {
    // Kích hoạt animation nhịp tim trên màn hình OLED
}

void setupSensor() {
    Wire.begin(21, 22); // Khởi tạo I2C trên GPIO 21 (SDA) và GPIO 22 (SCL)
    if (!pox.begin()) {
        // Tự động khôi phục cấu hình I2C nếu cảm biến không phản hồi
        Wire.resetPins();
        pox.begin();
    }
    pox.setOnBeatDetectedCallback(onBeatDetected);
    pox.setIRLedCurrent(MAX30100_LED_CURR_50MA);
}

void loopSensorTask() {
    // Bắt buộc gọi liên tục để duy trì bộ đệm FIFO tránh timeout 180ms
    pox.update();

    if (millis() - tsLastReport > REPORTING_PERIOD_MS) {
        float heartRate = pox.getHeartRate();
        float spO2 = pox.getSpO2();

        if (spO2 > 0 && spO2 < SPO2_THRESHOLD_DEFAULT) {
            triggerEmergencyAlert(heartRate, spO2);
        }
        tsLastReport = millis();
    }
}

2. Giao thức điều khiển module viễn thông SIMCOM A7680C qua UART: Vi điều khiển sử dụng cổng phần cứng HardwareSerial(2) (GPIO 16 - RX2, GPIO 17 - TX2) để truyền nhận chuỗi AT Command ở tốc độ Baudrate 115200 bps.

void triggerEmergencyAlert(float hr, float spo2) {
    // 1. Kích hoạt chuông cảnh báo tại chỗ
    digitalWrite(BUZZER_PIN, HIGH);

    // 2. Thiết lập chế độ văn bản SMS
    Serial2.println("AT+CMGF=1\r");
    delay(200);

    // 3. Gửi tin nhắn SMS cảnh báo chỉ số nguy hiểm
    Serial2.println("AT+CMGS=\"0989235843\"\r");
    delay(200);
    Serial2.print("CANH BAO KHAN CAP: Nguoi than co dau hieu bat thuong! SpO2: ");
    Serial2.print(spo2, 1);
    Serial2.print("%, Nhip tim: ");
    Serial2.print(hr, 1);
    Serial2.write(0x1A); // Ký tự Ctrl+Z kết thúc bản tin
    delay(3000);

    // 4. Thực hiện cuộc gọi khẩn cấp trực tiếp
    Serial2.println("ATD0989235843;\r");
}

Testing và validation

Hệ thống đã trải qua quá trình kiểm thử nghiêm ngặt bao gồm kiểm thử chức năng đơn thể (Unit Testing), kiểm thử tích hợp (Integration Testing) và đo kiểm đối chứng thực tế.

Bảng kết quả đo kiểm thực nghiệm đối chứng với máy đo y tế chuyên dụng OMRON & Contec CMS50D:

Lần đo Chỉ số thực tế (Máy chuẩn) Chỉ số đo được từ thiết bị Độ lệch tuyệt đối Trạng thái phát hiện & Cảnh báo
1 Nhịp tim: 76 BPM - $SpO_2$: 98% Nhịp tim: 75 BPM - $SpO_2$: 98% 1 BPM (1.3%) / 0% Bình thường (Ghi log Flash)
2 Nhịp tim: 88 BPM - $SpO_2$: 97% Nhịp tim: 86 BPM - $SpO_2$: 96% 2 BPM (2.2%) / 1% Bình thường (Ghi log Flash)
3 Nhịp tim: 105 BPM - $SpO_2$: 92% Nhịp tim: 102 BPM - $SpO_2$: 91% 3 BPM (2.8%) / 1% Cảnh báo: Kích hoạt Buzzer + SMS + Call
4 Nhịp tim: 68 BPM - $SpO_2$: 95% Nhịp tim: 69 BPM - $SpO_2$: 95% 1 BPM (1.4%) / 0% Bình thường (Ghi log Flash)
5 Nhịp tim: 94 BPM - $SpO_2$: 89% Nhịp tim: 92 BPM - $SpO_2$: 90% 2 BPM (2.1%) / 1% Cảnh báo: Kích hoạt Buzzer + SMS + Call

Đánh giá mức độ tiêu thụ điện năng:

  • Chế độ đo bình thường (OLED sáng, cảm biến quét liên tục): $110\text{ mA} - 135\text{ mA}$.
  • Chế độ truyền dữ liệu Wi-Fi lên Firebase: $180\text{ mA} - 220\text{ mA}$.
  • Chế độ kích hoạt cảnh báo (Buzzer kêu + SIMCOM A7680C quay số gọi điện): $450\text{ mA} - 850\text{ mA}$ (dòng đỉnh $1.2\text{A}$).
  • Với thỏi pin Li-Po dung lượng $2000\text{ mAh}$, thiết bị đáp ứng thời gian hoạt động liên tục từ 12 đến 16 giờ trong điều kiện giám sát thực tế.

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

Hệ thống đã hoàn thiện đầy đủ các chức năng thiết kế ban đầu:

  • Thiết kế phần cứng hoàn chỉnh: Bản mạch in PCB 2 lớp nhỏ gọn ($65\text{ mm} \times 45\text{ mm}$), tích hợp nguyên khối vi điều khiển, mạch sạc Type-C, cổng cắm module 4G và cụm cảm biến.
  • Thời gian đáp ứng cảnh báo khẩn cấp: Từ thời điểm phát hiện $SpO_2 < 94%$ đến khi số điện thoại người thân nhận được chuông gọi chỉ mất trung bình 3.8 giây trong điều kiện sóng di động tiêu chuẩn.
  • Khả năng đồng bộ hóa: Tệp tin nhật ký định dạng .csv được ghi nhận toàn vẹn vào bộ nhớ nội, tự động tải lên Google Firebase Cloud Storage khi thiết bị kết nối vào mạng Wi-Fi đã lưu mà không làm gián đoạn chu kỳ đo của cảm biến.

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

  1. Chuyển dịch đón đầu công nghệ viễn thông 4G LTE Cat-1: Trong khi phần lớn các nghiên cứu học thuật trước đây vẫn sử dụng module SIM800L hoặc SIM900 hoạt động trên nền tảng 2G (đang trong lộ trình tắt sóng hoàn toàn tại Việt Nam từ năm 2024), việc tích hợp thành công SIMCOM A7680C giúp thiết bị duy trì khả năng hoạt động lâu dài, băng thông ổn định và tốc độ thiết lập cuộc gọi nhanh hơn 40% so với thế hệ cũ.
  2. Kiến trúc giám sát độc lập không phụ thuộc Smartphone: Khác với các thiết bị đeo BLE thương mại đòi hỏi người cao tuổi phải luôn mang theo smartphone bên người và biết thao tác ứng dụng, thiết bị này vận hành hoàn toàn tự động theo cơ chế cắm-và-chạy (Plug-and-Play).
  3. Cơ chế dự phòng dữ liệu lai (Hybrid Offline-Online Architecture): Khắc phục nhược điểm mất dữ liệu khi mất kết nối Internet bằng cách tận dụng bộ nhớ Flash nội bộ của ESP32 để lưu vết dữ liệu liên tục và tự động đồng bộ bù (Auto-resync) khi vào vùng phủ sóng Wi-Fi.
  4. Giải thuật xử lý ngoại lệ Timeout cảm biến sinh hiệu: Tối ưu hóa chu kỳ quét bộ đệm $I^2C$ của MAX30100 giúp khắc phục triệt để hiện tượng treo cảm biến khi chạy đồng thời nhiều tác vụ nặng trên hệ điều hành nhúng.

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

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

  • Người cao tuổi sống một mình: Đeo thiết bị hàng ngày tại nhà. Khi xuất hiện cơn thiếu máu cơ tim hoặc khó thở khiến $SpO_2$ tụt đột ngột, thiết bị tự động hú còi để người xung quanh hỗ trợ, đồng thời tự quay số gọi trực tiếp cho con cái hoặc người giám hộ.
  • Bệnh nhân sau phẫu thuật / Điều trị tại nhà: Bác sĩ điều trị có thể truy cập vào Firebase Cloud Storage để tải về tệp nhật ký nhịp tim và $SpO_2$ theo từng ngày, phục vụ công tác chẩn đoán tiến trình hồi phục mà bệnh nhân không cần đến bệnh viện thường xuyên.
  • Trường hợp khẩn cấp chủ động: Người dùng chỉ cần nhấn nút SOS tích hợp trên thân máy để kích hoạt chuỗi hành động gọi điện khẩn cấp ngay lập tức khi cảm thấy chóng mặt hoặc ngã quỵ.

Phân tích chi phí và tính khả thi kinh tế

Tổng chi phí linh kiện phần cứng để sản xuất một thiết bị nguyên mẫu (BOM - Bill of Materials) chỉ dao động trong khoảng 450.000 - 550.000 VNĐ:

  • Module ESP32-WROOM-32: ~75.000 VNĐ
  • Module SIMCOM A7680C LTE: ~160.000 VNĐ
  • Cảm biến GY-MAX30100: ~65.000 VNĐ
  • Màn hình OLED SSD1306 + RTC DS3231: ~70.000 VNĐ
  • Mạch sạc xả Type-C, Pin Li-Po, Buzzer, vỏ hộp & PCB: ~120.000 VNĐ

Mức giá này chỉ bằng 15-20% so với một chiếc smartwatch phổ thông có tính năng đo sinh hiệu tương đương, tạo cơ hội tiếp cận rộng rãi cho các gia đình có thu nhập trung bình và thấp tại Việt Nam.

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

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

  • Cảm biến quang học MAX30100 rất nhạy cảm với chuyển động cơ học (Motion Artifacts). Khi người dùng cử động ngón tay mạnh hoặc đi lại nhanh, chỉ số đo có thể xuất hiện độ lệch tạm thời.
  • Thiết bị chưa tích hợp module định vị toàn cầu GPS, do đó tin nhắn khẩn cấp chỉ gửi được thông tin chỉ số sinh thái mà chưa cung cấp vị trí địa lý chính xác của người đeo khi họ đi lạc ngoài đường.
  • Cấu hình mạng Wi-Fi và danh bạ 02 số điện thoại người thân hiện đang phải nạp trực tiếp qua mã nguồn chương trình (Hardcoded), chưa có giao diện cấu hình nhanh qua Bluetooth hoặc Web Server nội bộ.

Hướng phát triển trong tương lai

  1. Nâng cấp cảm biến lên dòng chuyên dụng y tế MAX30102 kết hợp cảm biến gia tốc MPU6050 để áp dụng giải pháp lọc thích nghi (Adaptive Filtering - LMS/Kalman Filter), loại bỏ nhiễu do cử động tay và bổ sung tính năng phát hiện té ngã tự động (Fall Detection).
  2. Tích hợp anten định vị GPS/GNSS để tự động đính kèm đường dẫn Google Maps tọa độ người gặp nạn vào nội dung tin nhắn SMS khẩn cấp.
  3. Phát triển ứng dụng di động (Mobile App trên Flutter/React Native) cho phép người thân theo dõi biểu đồ sinh hiệu trực quan theo thời gian thực và cấu hình số điện thoại nhận tin từ xa qua Firebase Cloud Messaging (FCM).

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

  • Sinh viên ngành Kỹ thuật Máy tính, Điện tử & IoT: Đồ án là tài liệu tham khảo thực tiễn chất lượng cao về phương pháp thiết kế mạch nhúng hỗn hợp, lập trình giao tiếp vi điều khiển với module viễn thông 4G qua tập lệnh AT Command và kỹ thuật lập trình FreeRTOS non-blocking trên nền ESP32.
  • Kỹ sư và Lập trình viên nhúng: Tiếp cận giải pháp khắc phục lỗi phần cứng bus $I^2C$ thực tế, giải pháp quản lý năng lượng cho thiết bị đeo di động (Wearable Devices) và mô hình kiến trúc dữ liệu lai Offline-First.
  • Doanh nghiệp & Startup Y tế công nghệ (MedTech): Nền tảng tham khảo khả thi để thương mại hóa thành các dòng sản phẩm máy đo sinh hiệu cá nhân giá rẻ phục vụ các trung tâm dưỡng lão, viện điều dưỡng hoặc dịch vụ chăm sóc sức khỏe từ xa (Telemedicine).
  • Cộng đồng và Xã hội: Cung cấp công cụ bảo vệ an toàn cho hàng triệu người cao tuổi, giảm thiểu gánh nặng chăm sóc cho gia đình và nâng cao hiệu quả phản ứng nhanh của hệ thống y tế khẩn cấp.

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

1. Thiết bị yêu cầu hạ tầng mạng viễn thông như thế nào để gửi cảnh báo khẩn cấp?

Hệ thống sử dụng module SIMCOM A7680C hỗ trợ băng tần 4G LTE Cat-1 và tương thích ngược với các hạ tầng mạng di động phổ biến tại Việt Nam (Viettel, Vinaphone, Mobifone). Thiết bị chỉ cần lắp 01 Micro-SIM có đăng ký gói cước thoại/SMS cơ bản và duy trì số dư tài khoản là có thể thực hiện cuộc gọi và gửi tin nhắn cảnh báo độc lập mà không cần kết nối Wi-Fi hay điện thoại thông minh đi kèm.

2. Khi thiết bị đi vào vùng không có sóng Wi-Fi, dữ liệu sức khỏe có bị mất không?

Dữ liệu sinh hiệu đo đạc liên tục sẽ không bị mất. ESP32 sẽ tự động chuyển sang chế độ lưu trữ ngoại tuyến (Offline Storage), tuần tự ghi các bản ghi vào bộ nhớ Flash nội bộ. Đồng thời, hệ thống chạy một tác vụ ngầm định kỳ 15 phút một lần để quét tìm mạng Wi-Fi đã cấu hình; ngay khi bắt được sóng Internet, toàn bộ dữ liệu tồn đọng sẽ được đẩy đồng bộ lên Firebase Cloud Storage.

3. Làm thế nào để điều chỉnh ngưỡng cảnh báo SpO2 cho phù hợp với từng bệnh nhân?

Thiết bị tích hợp sẵn hệ thống nút bấm vật lý và menu điều khiển trên màn hình OLED SSD1306. Người dùng hoặc nhân viên y tế có thể trực tiếp tăng/giảm ngưỡng $SpO_2$ cảnh báo (mặc định là 94%) trực tiếp trên thiết bị để phù hợp với phác đồ điều trị của từng thể trạng bệnh nhân mà không cần kết nối máy tính để nạp lại phần mềm.

4. Tại sao hệ thống lại chọn module 4G A7680C thay vì các module SIM800L giá rẻ hơn?

Việt Nam và nhiều quốc gia trên thế giới đã hoàn tất lộ trình tắt sóng mạng 2G từ cuối năm 2024. Module SIM800L thuần 2G sẽ hoàn toàn mất sóng và không thể hoạt động. Việc lựa chọn SIMCOM A7680C 4G LTE Cat-1 đảm bảo vòng đời thiết bị kéo dài trong nhiều năm tới, tốc độ kết nối mạng tế bào nhanh hơn và chất lượng cuộc gọi thoại rõ ràng hơn.

5. Cảm biến MAX30100 có thể đo chính xác khi người dùng đang chạy bộ hoặc vận động mạnh không?

Cảm biến quang học MAX30100 sử dụng phương pháp đo quang thể tích (PPG) nên dễ bị ảnh hưởng bởi nhiễu chuyển động cơ học (Motion Artifacts) nếu ngón tay bị xê dịch khỏi bề mặt thấu kính quang học. Khuyến nghị người dùng nên giữ yên vị trí tay trong khoảng 5 - 10 giây khi thiết bị thực hiện chu kỳ đo để đảm bảo độ chính xác cao nhất ($\pm 1\text{ BPM}$ và $\pm 1%\ SpO_2$).

Kết luận

Đồ án tốt nghiệp "Thiết kế và thi công thiết bị theo dõi sức khỏe di động" đã giải quyết thành công bài toán giám sát sức khỏe từ xa cho các đối tượng có nguy cơ cao về tim mạch và hô hấp. Với sự kết hợp tối ưu giữa vi điều khiển ESP32, cảm biến quang học MAX30100 và module viễn thông 4G LTE SIMCOM A7680C, hệ thống đã chứng minh được tính khả thi vượt trội: khả năng đo lường chính xác, tốc độ phát tín hiệu cấp cứu tức thời dưới 4 giây, hoạt động độc lập và chi phí sản xuất cực kỳ tối ưu.

Công trình không chỉ mang giá trị học thuật xuất sắc trong việc ứng dụng kỹ thuật máy tính vào lĩnh vực y tế thông minh (Smart Healthcare), mà còn mở ra tiềm năng thương mại hóa to lớn nhằm nâng cao chất lượng cuộc sống và bảo vệ sức khỏe cho cộng đồng người cao tuổi trong kỷ nguyên số.