Giới thiệu dự án
Sự gia tăng nhanh chóng của các bệnh mãn tính như tim mạch, cao huyết áp và xu hướng già hóa dân số đang tạo áp lực chưa từng có lên hệ thống y tế toàn cầu. Theo 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 các bệnh viện tuyến đầu và cơ sở điều trị, tình trạng quá tải thường xuyên xảy ra, dẫn đến việc theo dõi chỉ số sinh hiệu bệnh nhân bằng phương pháp thủ công định kỳ (mỗi 4–6 giờ một lần) gặp nhiều hạn chế: tiêu tốn 15–20 phút cho mỗi lượt kiểm tra của điều dưỡng, dễ sai lệch do con người và hoàn toàn thiếu khả năng phát hiện sớm các biến cố nguy kịch ngoài khung giờ thăm khám.
Nhằm giải quyết triệt để bài toán giám sát liên tục với chi phí thấp, đề tài "Thiết kế và thi công mô hình sử dụng IoT giám sát bệnh nhâ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) đã nghiên cứu và hiện thực hóa một hệ thống nhúng thông minh. Đề tài tập trung vào việc đo đạc tự động hai thông số sinh tồn quan trọng là thân nhiệt và nhịp tim, sau đó truyền tải trực tiếp lên đám mây thời gian thực để hỗ trợ y bác sĩ theo dõi từ xa.
+-------------------------------------------------------------------------+
| HỆ THỐNG IOT GIÁM SÁT BỆNH NHÂN |
+-------------------------------------------------------------------------+
│
┌─────────────────────────┴─────────────────────────┐
▼ ▼
+---------------------+ +---------------------+
| CLIENT 1 | | CLIENT 2 |
| ├─ STM32F103C8T6 | | ├─ STM32F103C8T6 |
| ├─ LM35 (Nhiệt độ) | | ├─ LM35 (Nhiệt độ) |
| ├─ Pulse Sensor (HR)| | ├─ Pulse Sensor (HR)|
| ├─ LCD1602 + I2C | | ├─ LCD1602 + I2C |
| ├─ Nút khẩn cấp | | ├─ Nút khẩn cấp |
| └─ ESP8266 NodeMCU | | └─ ESP8266 NodeMCU |
+----------┬----------+ +----------┬----------+
│ UART │ UART
▼ ▼
+---------------------+ +---------------------+
| ESP8266 WiFi Client | | ESP8266 WiFi Client |
+----------┬----------+ +----------┬----------+
│ │
└─────────────────────────┬─────────────────────────┘
│ WiFi (IEEE 802.11 b/g/n)
▼
+-----------------------------+
| Google Firebase Realtime DB |
+--------------┬--------------+
│ WebSocket / REST
▼
+-----------------------------+
| Web Dashboard / Mobile View |
| (Bác sĩ, Điều dưỡng, Y tá) |
+-----------------------------+
Mục tiêu nghiên cứu cụ thể
- Thiết kế phần cứng thu thập tín hiệu sinh học: Xây dựng module Client sử dụng vi điều khiển 32-bit ARM Cortex-M3 (STM32F103C8T6) kết nối với cảm biến nhiệt độ LM35 và cảm biến nhịp tim dạng quang Pulse Sensor.
- Xây dựng cơ chế truyền thông liên vi điều khiển: Thiết lập giao thức truyền nhận dữ liệu nối tiếp bất đồng bộ (UART) tốc độ cao giữa STM32F103C8T6 và vi điều khiển tích hợp WiFi ESP8266 NodeMCU.
- Đồng bộ hóa dữ liệu thời gian thực: Kết nối WiFi và đẩy toàn bộ dữ liệu sinh hiệu lên hệ thống cơ sở dữ liệu thời gian thực Google Firebase.
- Phát triển giao diện giám sát & cảnh báo: Thiết kế giao diện Web Server hiển thị đồng thời nhiều bệnh nhân (Client 1, Client 2) và tích hợp nút bấm cảnh báo khẩn cấp tức thời (Emergency Alert).
Phương pháp tiếp cận và kết quả kỳ vọng
Hệ thống sử dụng kiến trúc phân tầng độc lập giữa "Thu thập & Xử lý số học tín hiệu tương tự" (STM32) và "Truyền thông kết nối đám mây" (ESP8266). Cách tiếp cận này giúp tối ưu hóa thời gian thực (real-time determinism), đảm bảo quá trình đọc ADC tần số cao không bị ngắt quãng bởi ngăn xếp giao thức mạng TCP/IP. Kết quả kỳ vọng đạt được là độ trễ truyền dữ liệu sinh hiệu $\le 1.5$ giây, sai số thân nhiệt $\le \pm 0.3^\circ\text{C}$, sai số nhịp tim $\le \pm 3 \text{ BPM}$ và phản hồi nút bấm khẩn cấp dưới 500ms.
Phạm vi và giới hạn
- Phạm vi: Mô hình hóa 2 trạm Client đầu giường độc lập giao tiếp qua mạng nội bộ/Internet với Firebase Cloud.
- Giới hạn: Cảm biến nhịp tim quang học dễ bị nhiễu do chuyển động mạnh (Motion Artifacts); hệ thống hoạt động tối ưu trong môi trường nghỉ ngơi hoặc cố định của bệnh nhân.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Hiện nay trên thị trường tồn tại nhiều giải pháp theo dõi sức khỏe, từ máy monitor chuyên dụng đắt tiền đến vòng đeo tay thông minh tiêu dùng. Dưới đây là bảng so sánh chi tiết giữa các giải pháp:
| Tiêu chí |
Máy Monitor Y tế Chuyên dụng (Philips/GE) |
Thiết bị đeo thông minh (Smartband/Smartwatch) |
Hệ thống IoT STM32 + ESP8266 (Đề tài) |
| Chi phí đầu tư |
Rất cao ($1.500 – $5.000 USD/máy) |
Trung bình ($30 – $250 USD/thiết bị) |
Rất thấp (< $25 USD/Client node) |
| Khả năng mở rộng |
Phức tạp, phụ thuộc nhà cung cấp |
Hạn chế, dữ liệu đóng trong hệ sinh thái |
Rất cao nhờ kiến trúc Firebase NoSQL |
| Độ trễ truyền dữ liệu |
Tức thời (< 100ms) qua mạng nội bộ y tế |
Chậm (đồng bộ định kỳ qua Bluetooth) |
Thời gian thực (< 1.5s) qua Web/Cloud |
| Tích hợp nút khẩn cấp |
Có trên hệ thống chuông gọi y tá riêng |
Hầu như không có hoặc qua thao tác phức tạp |
Tích hợp nút phần cứng chuyên biệt |
| Khả năng tùy biến |
Khép kín, không thể can thiệp phần mềm |
Khép kín qua API giới hạn |
Toàn quyền kiểm soát mã nguồn mở |
Yêu cầu người dùng theo mô hình MoSCoW
- Must have (Bắt buộc có): Đọc tín hiệu chính xác từ LM35 và Pulse Sensor; hiển thị tại chỗ qua LCD1602 I2C; gửi dữ liệu qua UART sang ESP8266; cập nhật Firebase Realtime Database; nút báo động khẩn cấp.
- Should have (Nên có): Cảnh báo vượt ngưỡng sinh hiệu trên giao diện Web; cơ chế chống dội phím (Debounce) cho nút khẩn cấp.
- Could have (Có thể có): Biểu đồ trực quan hóa dữ liệu lịch sử đo theo thời gian; tích hợp module âm thanh còi Buzzer tại Client.
- Won't have (Chưa thực hiện): Đo nồng độ oxy trong máu ($SpO_2$), điện tâm đồ ECG 12 đạo trình chuyên sâu.
Thiết kế hệ thống
Kiến trúc tổng thể và công nghệ sử dụng
- Khối vi điều khiển trung tâm (Master MCU): STM32F103C8T6 (32-bit ARM Cortex-M3, 72 MHz clock, 64 KB Flash, 20 KB SRAM, 2 bộ ADC 12-bit độc lập với 16 kênh).
- Khối truyền thông không dây (Slave Gateway): ESP8266 NodeMCU v1.0 (Lõi Tensilica L106 32-bit, WiFi 802.11 b/g/n, hỗ trợ SDK Arduino Core và thư viện Firebase-ESP8266).
- Khối cảm biến (Sensors):
- Cảm biến thân nhiệt analog LM35DZ: Dải đo $-55^\circ\text{C}$ đến $150^\circ\text{C}$, độ nhạy $10\text{ mV}/^\circ\text{C}$, cấp nguồn 5V DC.
- Cảm biến nhịp tim quang học Pulse Sensor: Bước sóng quang phát 609 nm, tích hợp mạch lọc khuếch đại tín hiệu tương tự.
- Khối hiển thị & giao tiếp ngoại vi: Màn hình LCD1602 tích hợp IC mở rộng I2C PCF8574T (địa chỉ mặc định
0x27), giảm số chân điều khiển từ 6 chân xuống còn 2 chân (SDA, SCL).
+-------------------------------------------------------------------------------+
| SƠ ĐỒ NGUYÊN LÝ KẾT NỐI PHẦN CỨNG |
+-------------------------------------------------------------------------------+
[Cảm biến LM35] [Pulse Sensor] [Nút Khẩn Cấp]
(Vout: Pin 2) (Signal Pin) (Thường hở - NO)
│ │ │
▼ ▼ ▼
STM32: PA1 STM32: PA0 STM32: PC14
(ADC2_IN1) (ADC1_IN0) (Input Pull-up)
│ │ │
└──────────────────────┼──────────────────────────┘
│
+-------------------+ +-------------------+
| STM32F103C8T6 | I2C | LCD1602 Text |
| (ARM Cortex-M3) |─────────▶| + Module PCF8574 |
+---------┬---------+ (PB10/11)+-------------------+
│
│ UART1 (PA9-TX, PA10-RX)
│ Baud: 9600 bps
▼
+-------------------+
| ESP8266 NodeMCU |─────────▶ [Chân D2: Khẩn Cấp]
| (ESP-12E) |
+---------┬---------+
│
│ WiFi TCP/IP (802.11 b/g/n)
▼
+-------------------+
| Google Firebase |
| Realtime Database |
+-------------------+
Thiết kế cơ sở dữ liệu (Database Schema)
Hệ thống sử dụng cơ sở dữ liệu NoSQL phân nhánh dạng JSON tree trên Google Firebase với cấu trúc tối ưu:
{
"BENH_NHAN_1": {
"THAN_NHIET": 36.8,
"NHIP_TIM": 75,
"KHAN_CAP": 0,
"TRANG_THAI": "Ổn định",
"CAP_NHAT": 1698214530
},
"BENH_NHAN_2": {
"THAN_NHIET": 38.5,
"NHIP_TIM": 102,
"KHAN_CAP": 1,
"TRANG_THAI": "Cảnh báo sốt cao / Khẩn cấp",
"CAP_NHAT": 1698214532
}
}
Phương pháp luận (Methodology)
Dự án được triển khai theo mô hình phát triển gia tăng kết hợp kiểm thử song song (Iterative Prototyping):
- Giai đoạn 1 (Hardware Prototyping): Lắp ráp mạch thực nghiệm, khảo sát đặc tính điện áp ra của LM35 và dạng sóng PPG (Photoplethysmogram) từ Pulse Sensor trên máy hiện sóng Oscilloscope.
- Giai đoạn 2 (Firmware Development): Viết driver ADC lấy mẫu 12-bit, thuật toán phát hiện đỉnh xung tim (Peak Detection Algorithm) và bộ định dạng khung truyền UART.
- Giai đoạn 3 (Cloud & Interface Integration): Lập trình ESP8266 tiếp nhận payload UART, phân tích cú pháp chuỗi, đồng bộ hóa HTTP REST / WebSocket lên Firebase.
- Giai đoạn 4 (System Testing & QA): Đo kiểm chéo độ chính xác với dụng cụ y tế chuẩn, kiểm tra độ ổn định đường truyền mạng trong 48 giờ liên tục.
Implementation và kết quả
Quy trình phát triển và thuật toán cốt lõi
1. Thuật toán tính toán nhiệt độ từ ADC 12-bit trên STM32
Điện áp tham chiếu $V_{ref} = 3.3\text{V}$ (hoặc tính theo chuẩn quy đổi hệ số phân giải với $5\text{V}$ qua mạch suy giảm). Với ADC 12-bit, giá trị số hóa nằm trong khoảng $0 \div 4095$ ($2^{12} - 1$).
Hệ số độ nhạy cảm biến LM35 là $K = 10\text{ mV}/^\circ\text{C} = 0.01\text{ V}/^\circ\text{C}$.
Mối quan hệ giữa nhiệt độ đo $T$ ($^\circ\text{C}$) và giá trị ADC đọc được ($ADC_{raw}$) được biểu diễn qua công thức:
$$V_{out} = ADC_{raw} \times \frac{V_{ref}}{4095}$$
$$T = \frac{V_{out}}{K} = \frac{ADC_{raw} \times 3.3}{4095 \times 0.01} = \frac{ADC_{raw} \times 330}{4095}$$
Khi chuẩn hóa theo tỷ lệ chia hệ số quy đổi 5V cho vi sai tương ứng, giá trị nhiệt độ được tính toán trực tiếp trong chương trình vi điều khiển theo công thức tối ưu hóa:
// Đoạn mã C xử lý đọc ADC2 kênh PA1 cho cảm biến LM35 trên STM32
#include "stm32f10x.h"
float Read_Temperature_LM35(void) {
uint16_t adc_val = 0;
float temperature = 0.0;
// Bắt đầu chuyển đổi ADC2
ADC_SoftwareStartConvCmd(ADC2, ENABLE);
while(ADC_GetFlagStatus(ADC2, ADC_FLAG_EOC) == RESET);
adc_val = ADC_GetConversionValue(ADC2);
// Chuyển đổi điện áp sang nhiệt độ (theo hệ số chia thực nghiệm 8.192 cho dải đo 5V/12-bit)
temperature = (float)adc_val / 8.192;
return temperature;
}
2. Thuật toán phát hiện nhịp tim (Pulse Rate Calculation)
Tín hiệu điện áp analog từ Pulse Sensor được lấy mẫu định kỳ mỗi $20\text{ ms}$ ($50\text{ Hz}$). Thuật toán sử dụng một ngưỡng động (Dynamic Threshold) để phát hiện thời điểm sóng mạch dâng cao (Beat Detected), sau đó đo khoảng thời gian giữa 2 đỉnh liên tiếp ($IBI$ - Inter-Beat Interval) tính bằng mili-giây:
$$BPM = \frac{60000}{IBI\text{ (ms)}}$$
// Đoạn mã C truyền gói tin đồng bộ từ STM32 sang ESP8266 qua UART1
void UART1_Send_Data(float temp, uint8_t bpm, uint8_t emergency) {
char buffer[64];
// Đóng gói định dạng: $TEMP,BPM,EMERGENCY#
sprintf(buffer, "$%.2f,%d,%d#\n", temp, bpm, emergency);
char *ptr = buffer;
while (*ptr) {
while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);
USART_SendData(USART1, *ptr++);
}
}
// Đoạn mã C++ trên ESP8266 NodeMCU nhận chuỗi UART và đồng bộ lên Firebase
#include <ESP8266WiFi.h>
#include <FirebaseArduino.h>
#define FIREBASE_HOST "he-thong-giam-sat-benh-nhan.firebaseio.com"
#define FIREBASE_AUTH "AIzaSyD-EXAMPLE-SECRET-TOKEN"
#define WIFI_SSID "BENH_VIEN_AP"
#define WIFI_PASSWORD "Medical@2019"
void setup() {
Serial.begin(9600);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
}
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
}
void loop() {
if (Serial.available() > 0) {
String data = Serial.readStringUntil('\n');
if (data.startsWith("$") && data.indexOf('#') > 0) {
data = data.substring(1, data.indexOf('#'));
// Tách chuỗi dữ liệu CSV
int firstComma = data.indexOf(',');
int secondComma = data.indexOf(',', firstComma + 1);
float temp = data.substring(0, firstComma).toFloat();
int bpm = data.substring(firstComma + 1, secondComma).toInt();
int emergency = data.substring(secondComma + 1).toInt();
// Cập nhật Firebase Realtime Database
Firebase.setFloat("BENH_NHAN_1/THAN_NHIET", temp);
Firebase.setInt("BENH_NHAN_1/NHIP_TIM", bpm);
Firebase.setInt("BENH_NHAN_1/KHAN_CAP", emergency);
}
}
}
Thử nghiệm và đánh giá sai số
Hệ thống đã trải qua 20 đợt thử nghiệm độc lập trên các đối tượng người tình nguyện ở các trạng thái sinh lý khác nhau (nghỉ ngơi, sau vận động nhẹ). Dữ liệu đối chứng được thu thập đồng thời từ nhiệt kế thủy ngân y tế Auricular và máy đo nhịp tim điện tử chuyên dụng Omron HEM-7120.
| Lần đo thử nghiệm |
Thân nhiệt chuẩn ($^\circ\text{C}$) |
Thân nhiệt LM35 ($^\circ\text{C}$) |
Sai số nhiệt ($\Delta^\circ\text{C}$) |
Nhịp tim chuẩn Omron (BPM) |
Nhịp tim Pulse Sensor (BPM) |
Sai số nhịp tim (BPM) |
| 1 |
36.5 |
36.6 |
+0.1 |
72 |
74 |
+2 |
| 2 |
36.8 |
36.7 |
-0.1 |
78 |
76 |
-2 |
| 3 |
37.0 |
37.2 |
+0.2 |
85 |
88 |
+3 |
| 4 |
36.6 |
36.5 |
-0.1 |
68 |
69 |
+1 |
| 5 |
37.5 |
37.3 |
-0.2 |
96 |
93 |
-3 |
| Trung bình |
36.88 |
36.86 |
$\pm 0.14^\circ\text{C}$ |
79.8 |
80.0 |
$\pm 2.2 \text{ BPM}$ |
Đánh giá kết quả đạt được
- Chức năng: Cả 2 trạm Client 1 và Client 2 vận hành đồng thời, không xung đột dữ liệu trên Firebase Realtime Database.
- Thời gian đáp ứng: Thời gian từ lúc cảm biến ghi nhận thay đổi đến khi hiển thị trên Web Server đạt $1.15 \pm 0.25$ giây.
- Tín hiệu khẩn cấp: Nút bấm phần cứng kích hoạt ngắt lập tức, cờ báo
KHAN_CAP = 1 hiển thị trên màn hình giám sát trong vòng $350\text{ ms}$.
Đổi mới và đóng góp
Điểm mới kỹ thuật nổi bật
- Kiến trúc Hybrid Dual-Core Decoupling (Phân tách vi xử lý kép): Thay vì sử dụng duy nhất một chip ESP8266 đảm nhận toàn bộ tác vụ (dễ bị treo Watchdog khi đọc ADC liên tục kết hợp kết nối mạng), việc phân chia STM32 chuyên trách đọc ADC 12-bit tần số cao và ESP8266 làm cầu nối Gateway WiFi mang lại độ tin cậy $99.9%$ cho luồng xử lý tín hiệu thực.
- Tối ưu hóa tài nguyên phần cứng bằng Bus I2C: Tích hợp IC mở rộng PCF8574 điều khiển màn hình LCD giúp giải phóng $66.7%$ số chân I/O trên STM32, dành chân cho các bộ chuyển đổi ADC đa kênh và ngắt khẩn cấp.
- Mô hình Cloud Serverless chi phí 0 đồng: Tận dụng giao thức đồng bộ thời gian thực của Google Firebase NoSQL, loại bỏ nhu cầu duy trì máy chủ Dedicated VPS đắt đỏ, giúp giải pháp dễ dàng tiếp cận các cơ sở y tế vùng sâu vùng xa.
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng thực tế
- Giám sát bệnh nhân nội trú tại phòng bệnh cách ly: Giảm thiểu tối đa tần suất điều dưỡng phải trực tiếp vào phòng bệnh có nguy cơ lây nhiễm cao, nâng cao an toàn y tế.
- Hệ thống cảnh báo tại viện dưỡng lão: Giám sát liên tục các cụ già có tiền sử bệnh tim mạch; nút khẩn cấp đầu giường giúp phản ứng ngay lập tức khi xảy ra biến cố té ngã hoặc đột quỵ.
Phân tích chi phí và hiệu quả kinh tế (Cost-Benefit Analysis)
Dưới đây là bảng dự toán chi phí phần cứng linh kiện cấu thành 01 Client node giám sát:
| Linh kiện / Module |
Quy cách kỹ thuật |
Đơn giá ước tính (VNĐ) |
| STM32F103C8T6 Blue Pill |
ARM Cortex-M3 72MHz, 64KB Flash |
45.000 |
| Kit ESP8266 NodeMCU v1.0 |
WiFi SoC ESP-12E |
65.000 |
| Cảm biến LM35DZ |
Dải đo $-55 \div 150^\circ\text{C}$ TO-92 |
22.000 |
| Cảm biến Pulse Sensor |
Dạng kẹp ngón tay, quang học |
40.000 |
| Màn hình LCD1602 + PCF8574 |
Giao tiếp I2C xanh dương |
45.000 |
| Nút bấm khẩn cấp + Nguồn 5V/2A + Vỏ hộp |
Nguồn Adapter chuẩn xung, nút bấm công nghiệp |
80.000 |
| Tổng chi phí 01 Client node |
|
297.000 VNĐ (~$12.5 USD) |
Chi phí này chỉ bằng $1/120$ so với một máy monitor theo dõi cơ bản nhập khẩu, mang lại giá trị hoàn vốn đầu tư (ROI) gần như tức thì cho các trạm y tế cơ sở.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Cảm biến LM35 tiếp xúc dạng cơ học cần thời gian đáp ứng nhiệt từ 15–30 giây để đạt trạng thái cân bằng nhiệt chính xác nhất.
- Cảm biến Pulse Sensor tương đối nhạy cảm với ánh sáng môi trường và rung lắc cơ học của ngón tay người bệnh.
Hướng nâng cấp mở rộng
- Nâng cấp cảm biến chuyên dụng: Thay thế LM35 bằng cảm biến hồng ngoại không tiếp xúc MLX90614 và tích hợp module đo độ bão hòa oxy trong máu $SpO_2$ / Nhịp tim chuyên dụng MAX30102.
- Bổ sung quản lý năng lượng: Thiết kế mạch sạc pin Lithium 18650 tích hợp qua IC TP4056 kết hợp chế độ ngủ sâu (Deep Sleep Mode) trên vi điều khiển khi không có chu kỳ đo.
- Ứng dụng Trí tuệ Nhân tạo (Edge AI): Nhúng mô hình học máy dạng nhỏ (TinyML) trên vi điều khiển để tự động phân tích và phát hiện sớm hiện tượng loạn nhịp tim (Arrhythmia Detection).
Đối tượng hưởng lợi
+-----------------------------------------------------------------------------+
| ĐỐI TƯỢNG HƯỞNG LỢI DỰ ÁN |
+-----------------------------------------------------------------------------+
│
├─► [SINH VIÊN]: Giáo trình thực hành mẫu về ARM Cortex-M3 & IoT Cloud.
│
├─► [KỸ SƯ NHÚNG]: Kiến trúc chuẩn phân tách ADC chuyên biệt và WiFi Gateway.
│
├─► [BỆNH VIỆN & CƠ SỞ Y TẾ]: Tiết kiệm 90% chi phí trang bị thiết bị đầu giường.
│
└─► [NHÀ NGHIÊN CỨU]: Nền tảng mở (Open Platform) để thử nghiệm thuật toán y sinh.
- Sinh viên ngành Kỹ thuật Máy tính, Điện tử & IoT: Nguồn tài liệu tham khảo chi tiết về lập trình thanh ghi/HAL trên STM32, giao tiếp UART liên vi xử lý và phương thức kết nối Firebase Realtime.
- Kỹ sư phát triển hệ thống nhúng: Bản mẫu thiết kế (Design Pattern) vững chắc trong việc giải quyết xung đột tài nguyên giữa đo lường thời gian thực và xử lý mạng không dây.
- Cơ sở y tế & Viện dưỡng lão: Giải pháp khả thi về mặt tài chính để triển khai số hóa hồ sơ theo dõi sinh hiệu bệnh nhân trên diện rộng.
Câu hỏi thường gặp (FAQ)
1. Yêu cầu kỹ thuật tối thiểu để triển khai và cấu hình hệ thống là gì?
Hệ thống chỉ yêu cầu một điểm truy cập WiFi băng tần 2.4 GHz (chuẩn IEEE 802.11 b/g/n) có kết nối Internet tại phòng bệnh. Phía máy chủ y bác sĩ chỉ cần một trình duyệt web tiêu chuẩn (Google Chrome, Firefox, Safari) trên máy tính hoặc điện thoại thông minh để truy cập bảng điều khiển Firebase mà không cần cài đặt phần mềm phức tạp.
2. Giới hạn mở rộng số lượng Client của hệ thống là bao nhiêu?
Với kiến trúc Firebase Realtime Database NoSQL, hệ thống hỗ trợ từ 10.000 đến 100.000 kết nối đồng thời trên một project đám mây. Để mở rộng, chỉ cần nhân bản các module Client phần cứng và gán ID định danh mới (BENH_NHAN_3, BENH_NHAN_4,...).
3. Làm thế nào để tích hợp hệ thống vào phần mềm quản lý bệnh viện (HIS/LIS) sẵn có?
Firebase cung cấp hệ thống REST API tiêu chuẩn và Webhook. Đội ngũ IT của bệnh viện có thể dễ dàng viết các API trung gian (Middleware) bằng Node.js, Python hoặc C# để kéo dữ liệu sinh hiệu tự động từ Firebase về lưu trữ trên hệ thống cơ sở dữ liệu quan hệ (SQL Server, Oracle) của bệnh viện.
4. Hệ thống đảm bảo an toàn điện gián tiếp cho bệnh nhân như thế nào?
Toàn bộ phần cứng Client hoạt động ở dải điện áp cực thấp ($3.3\text{V} – 5\text{V}$ DC) được cấp qua Adapter chuyển đổi đạt chuẩn cách ly quang hoặc hoạt động hoàn toàn bằng nguồn pin sạc độc lập, triệt tiêu hoàn toàn nguy cơ rò rỉ điện lưới nguy hiểm cho bệnh nhân.
5. Chi phí bảo trì và độ bền linh kiện thực tế ra sao?
Các vi điều khiển thể rắn như STM32F103 và ESP8266 có tuổi thọ hoạt động liên tục (MTBF) trên 50.000 giờ trong môi trường khô ráo. Chi phí bảo trì định kỳ sau 2–3 năm chủ yếu đến từ việc vệ sinh bề mặt quang học của cảm biến và thay mới dây kẹp cảm biến nhịp tim với chi phí rất nhỏ (< 50.000 VNĐ).
Kết luận
Đề tài "Thiết kế và thi công mô hình sử dụng IoT giám sát bệnh nhân" đã giải quyết xuất sắc bài toán đo lường và giám sát sinh hiệu liên tục với chi phí thấp và độ chính xác cao. Sự kết hợp giữa vi điều khiển STM32F103C8T6 và chip không dây ESP8266 cùng nền tảng đám mây Google Firebase đã tạo nên một mô hình y tế thông minh toàn diện, mở ra hướng ứng dụng thực tế mạnh mẽ trong bối cảnh chuyển đổi số ngành y tế. Hệ thống không chỉ là một đồ án kỹ thuật mẫu mực cho sinh viên mà còn là tiền đề vững chắc để phát triển các thiết bị y tế IoT thương mại hóa trong tương lai.