Bối cảnh và vấn đề nghiên cứu
Sự phát triển của công nghệ thông tin và mạng lưới vạn vật kết nối Internet (IoT) đã tạo ra những tiền đề kỹ thuật quan trọng cho việc tự động hóa và thông minh hóa các hệ sinh thái giám sát từ xa. Trong lĩnh vực y tế, xu hướng già hóa dân số cùng với sự gia tăng nhanh chóng của các bệnh mãn tính trên toàn cầu đặt ra thách thức lớn đối với hạ tầng chăm sóc sức khỏe truyền thống. Việc bệnh nhân phải trực tiếp đến cơ sở y tế để kiểm tra định kỳ các chỉ số cơ bản gây tốn kém thời gian, chi phí, đồng thời tạo áp lực quá tải cho đội ngũ y bác sĩ tại các bệnh viện. Trong bối cảnh đó, các hệ thống giám sát sức khỏe từ xa ứng dụng IoT nổi lên như một giải pháp hỗ trợ theo dõi người bệnh liên tục, giúp phát hiện sớm các dấu hiệu bất thường và cung cấp dữ liệu phục vụ phác đồ điều trị kịp thời.
Tại Việt Nam, việc ứng dụng IoT vào thiết bị y tế dân dụng vẫn còn đối mặt với nhiều rào cản về hạ tầng kỹ thuật và chi phí triển khai. Nhằm giải quyết bài toán giám sát y tế quy mô nhỏ với giá thành hợp lý, đồ án tốt nghiệp ngành Công nghệ Kỹ thuật Máy tính (Khoa Đào tạo Chất lượng cao, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh) đã lựa chọ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", do sinh viên Lê Trọng Lành và Nguyễn Lê Sơn thực hiện dưới sự hướng dẫn của ThS. Nguyễn Ngô Lâm.
Mục tiêu nghiên cứu của đồ án được xác định gồm 4 nội dung chính:
- Đo thân nhiệt của bệnh nhân bằng cảm biến nhiệt độ tương tự.
- Đo nhịp tim của bệnh nhân thông qua cảm biến quang học.
- Quản lý, lưu trữ và hiển thị dữ liệu, thông tin bệnh nhân qua giao diện Web Server thời gian thực sử dụng nền tảng đám mây Firebase.
- Kiểm tra và cảnh báo tình trạng khẩn cấp khi bệnh nhân phát tín hiệu yêu cầu trợ giúp.
Đối tượng nghiên cứu của đề tài tập trung vào việc tích hợp hệ thống phần cứng và phần mềm nhúng bao gồm:
- Vi điều khiển 32-bit STM32F103C8T6 đóng vai trò là khối xử lý trung tâm tại các trạm đo.
- Kit phát triển RF thu phát Wi-Fi ESP8266 NodeMCU (ESP-12E) đảm nhận truyền thông dữ liệu không dây.
- Cảm biến nhiệt độ tương tự LM35.
- Cảm biến nhịp tim dạng quang Pulse Sensor.
- Màn hình tinh thể lỏng LCD1602 kết hợp module chuyển đổi giao tiếp I2C PCF8574.
- Nền tảng cơ sở dữ liệu thời gian thực Firebase Realtime Database của Google.
Phạm vi nghiên cứu của đề tài:
- Không gian và quy mô: Hệ thống được xây dựng dưới dạng mô hình thực nghiệm phân tán gồm hai trạm đo độc lập (Client 1 và Client 2) tương ứng với hai bệnh nhân, truyền dữ liệu qua mạng cục bộ/Wi-Fi về máy chủ cơ sở dữ liệu để theo dõi tập trung qua máy tính hoặc điện thoại thông minh.
- Thời gian thực hiện: Từ ngày 15/09/2018 đến ngày 15/01/2019.
- Giới hạn thông số: Đề tài tập trung xử lý hai dấu hiệu sinh tồn cơ bản nhất là thân nhiệt (°C) và tần số nhịp tim (nhịp/phút - BPM), cùng trạng thái nút bấm khẩn cấp.
Cơ sở lý thuyết và phương pháp nghiên cứu
Nghiên cứu được xây dựng dựa trên mô hình kiến trúc chuẩn 4 lớp của hệ thống IoT:
- Lớp thiết bị (Perception Layer): Thu thập tín hiệu vật lý và sinh học từ bệnh nhân thông qua cảm biến tương tự (LM35 và Pulse Sensor).
- Lớp mạng (Network Layer): Truyền tải dữ liệu sơ bộ từ khối vi điều khiển qua giao tiếp nối tiếp UART đến module Wi-Fi ESP8266, sau đó phát dữ liệu lên Internet qua giao thức TCP/IP.
- Lớp hỗ trợ dịch vụ và ứng dụng (Service Management Layer): Đồng bộ hóa và quản lý cơ sở dữ liệu thời gian thực có cấu trúc JSON trên máy chủ điện toán đám mây Firebase.
- Lớp ứng dụng (Application Layer): Giao diện Web hiển thị các trường dữ liệu sinh tồn, phục vụ quá trình quan sát của nhân viên y tế hoặc người chăm sóc.
Hệ thống tích hợp các khối linh kiện phần cứng và chuẩn giao tiếp chuyên biệt:
| Thiết bị / Chuẩn giao tiếp |
Thông số kỹ thuật / Đặc tính cốt lõi trong đề tài |
Chức năng trong hệ thống |
| STM32F103C8T6 |
Lõi ARM 32-bit Cortex-M3, tần số tối đa 72 MHz, 64 KB Flash, 20 KB SRAM, tích hợp 2 bộ ADC 12-bit (khoảng giá trị 0 - 4095). |
Đọc tín hiệu cảm biến analog, tính toán giá trị vật lý, điều khiển màn hình LCD và xuất dữ liệu sang ESP8266. |
| ESP8266 NodeMCU |
SoC Wi-Fi 802.11 b/g/n (ESP-12E), tích hợp chip nạp CP2102, logic giao tiếp 3.3V, hỗ trợ thư viện Firebase Arduino. |
Nhận chuỗi ký tự từ STM32 qua UART, thiết lập kết nối Wi-Fi và đẩy dữ liệu lên cơ sở dữ liệu Firebase. |
| Cảm biến LM35 |
Dải đo từ -55°C đến 150°C, điện áp ra tuyến tính 10 mV/°C, độ chính xác thực tế 0.25°C ở nhiệt độ phòng, đóng gói TO-92. |
Cảm nhận nhiệt độ cơ thể, chuyển đổi thành điện áp tương tự đưa vào chân ADC của vi điều khiển. |
| Pulse Sensor |
Cảm biến quang sử dụng đèn phát bước sóng 609 nm và quang trở nhạy sáng, tích hợp mạch lọc và khuếch đại tín hiệu sinh học. |
Đo lưu lượng máu qua mao mạch ngón tay theo nguyên lý thể tích quang học (PPG), tạo xung analog nhịp tim. |
| LCD1602 + PCF8574 |
Màn hình ký tự 16x2 dòng, IC chuyển đổi I2C PCF8574, địa chỉ mặc định 0x27 (hoặc 0x3F), kéo trở 4.7 kΩ trên đường SCL/SDA. |
Hiển thị giá trị thân nhiệt và nhịp tim tại chỗ giúp bệnh nhân trực tiếp quan sát, tiết kiệm chân GPIO cho vi điều khiển. |
| Giao tiếp UART |
Truyền nối tiếp bất đồng bộ, sử dụng 2 dây (TX và RX) liên kết giữa cổng USART1 của STM32 và chân GPIO của ESP8266. |
Cầu nối trao đổi dữ liệu nội bộ giữa khối vi điều khiển xử lý tín hiệu và khối truyền thông Wi-Fi. |
Phương pháp nghiên cứu thực nghiệm được tác giả áp dụng bao gồm:
- Phương pháp thiết kế phần cứng: Phân tích các khối mạch nguyên lý, lựa chọn sơ đồ chân tối ưu nhằm tránh xung đột tài nguyên ngoại vi trên vi điều khiển, cấp nguồn 5V DC chuẩn cho hệ thống.
- Phương pháp tính toán và xử lý tín hiệu ADC: Sử dụng bộ biến đổi ADC 12-bit của STM32F103C8T6. Với điện áp tham chiếu $V_{ref} = 5\text{V}$, số mức lượng tử hóa là $2^{12} = 4096$, bước lượng tử tương ứng là $\frac{5}{4096}\text{V} \approx 1.22\text{ mV}$. Vì cảm biến LM35 có hệ số góc $10\text{ mV/}^\circ\text{C}$ ($0.01\text{ V/}^\circ\text{C}$), công thức chuyển đổi từ giá trị số $ADC$ sang nhiệt độ $T$ được thiết lập:
$$T = \frac{ADC \times \frac{5}{4096}}{0.01} = \frac{ADC}{\frac{4096 \times 0.01}{5}} = \frac{ADC}{8.192}$$
- Phương pháp xây dựng phần mềm nhúng: Lập trình điều khiển STM32 bằng ngôn ngữ C kết hợp bộ công cụ STM32 Standard Peripheral Libraries/Keil C; lập trình nạp cho kit ESP8266 bằng môi trường Arduino IDE để tận dụng thư viện tương tác với Firebase Realtime Database.
Nguồn dữ liệu của nghiên cứu là các tín hiệu điện áp tương tự thu nhận trực tiếp theo thời gian thực từ cơ thể người thông qua vị trí tiếp xúc của cảm biến LM35 và đầu dò quang học Pulse Sensor.
Thiết kế và thi công hệ thống
Kiến trúc phần cứng và sơ đồ kết nối
Mô hình hệ thống giám sát bệnh nhân được cấu thành từ hai khối Client đo kiểm độc lập và một khối Server tập trung. Mỗi Client hoạt động như một thực thể thu thập dữ liệu hoàn chỉnh, bao gồm các khối thành phần kết nối với vi điều khiển trung tâm STM32F103C8T6:
| Khối chức năng |
Linh kiện thực hiện |
Chân kết nối trên STM32F103 |
Chân kết nối trên ESP8266 |
| Bộ tạo dao động |
Thạch anh ngoài 8 MHz |
PD0 (OSC_IN), PD1 (OSC_OUT) |
— |
| Đo thân nhiệt |
Cảm biến LM35 (Chân Signal) |
PA1 (Kênh ADC2) |
— |
| Đo nhịp tim |
Pulse Sensor (Chân Signal) |
PA0 (Kênh ADC1) |
— |
| Hiển thị tại chỗ |
Module LCD1602 I2C |
PB6 (SCL), PB7 (SDA) |
— |
| Truyền thông nối tiếp |
Giao tiếp UART |
PA9 (USART1_TX), PA10 (USART1_RX) |
D6 (RX), D5 (TX) |
| Cảnh báo khẩn cấp |
Nút nhấn khẩn cấp + Trở kéo lên |
PC14 |
D2 |
| Cấp nguồn |
Nguồn 5V DC chung |
VCC, GND |
VIN, G |
Mạch nút nhấn khẩn cấp được thiết kế với điện trở kéo lên nguồn (Pull-up resistor). Ở trạng thái bình thường, mức logic tại chân PC14 (STM32) và chân D2 (ESP8266) duy trì ở mức cao (High/1). Khi bệnh nhân nhấn nút, hai chân này lập tức bị kéo xuống mức logic thấp (Low/0), kích hoạt cờ ngắt cảnh báo trên cả phần cứng tại chỗ lẫn đường truyền dữ liệu lên máy chủ.
Cấu trúc cơ sở dữ liệu thời gian thực trên Firebase
Dữ liệu do module ESP8266 gửi qua giao thức mạng được tổ chức theo định dạng JSON trên Firebase Realtime Database. Hệ thống phân bổ các nhánh dữ liệu theo định danh từng bệnh nhân:
| Tên hàng / Khóa dữ liệu |
Kiểu dữ liệu / Giá trị |
Ý nghĩa chức năng |
BENH NHAN 1 / BENH NHAN 2 |
Nhánh đối tượng (Node) |
Phân định thông tin giám sát riêng biệt của từng trạm đo Client. |
NHIP TIM |
Số nguyên (Chuỗi số) |
Giá trị nhịp tim tính theo đơn vị nhịp/phút (BPM). |
THAN NHIET |
Số thực (°C) |
Giá trị nhiệt độ cơ thể đo được từ cảm biến LM35. |
KHAN CAP |
Chuỗi ký tự trạng thái |
Hiển thị định danh Client nào đang gửi tín hiệu yêu cầu trợ giúp. |
Lưu đồ giải thuật và phần mềm nhúng
Quy trình vận hành phần mềm trên vi điều khiển STM32F103C8T6 diễn ra tuần tự theo các bước:
- Khởi tạo và cấu hình hệ thống: Thiết lập cấu hình các chân GPIO, bộ chuyển đổi ADC (ADC1, ADC2), bus truyền thông I2C cho màn hình LCD và cổng truyền thông nối tiếp USART1.
- Đọc và lọc tín hiệu nhịp tim: Gọi chương trình con đo nhịp tim qua chân PA0, thực hiện lấy mẫu tín hiệu analog từ Pulse Sensor, xác định đỉnh sóng mạch đập để tính toán chỉ số BPM.
- Đọc và xử lý tín hiệu thân nhiệt: Khởi động bộ ADC2 đọc giá trị điện áp tại chân PA1 từ cảm biến LM35, áp dụng công thức chia hệ số $8.192$ để đưa ra nhiệt độ thực tế dạng số.
- Hiển thị thông tin tại chỗ: Điều khiển màn hình LCD1602 xuất trực quan thông số thân nhiệt và nhịp tim.
- Truyền thông dữ liệu: Đóng gói các giá trị đo được và gửi sang module ESP8266 qua cổng USART1 (PA9/TX).
- Kiểm tra nút nhấn khẩn cấp: Thăm dò mức logic tại chân PC14. Nếu phát hiện nút được nhấn (mức 0), hệ thống lập tức thay đổi trạng thái đèn LED báo động tại trạm đo.
- Đẩy dữ liệu lên Cloud: Module ESP8266 nhận gói tin từ UART, giải mã và gửi yêu cầu cập nhật các trường
NHIP TIM, THAN NHIET, KHAN CAP lên máy chủ Firebase thông qua mạng Wi-Fi.
Nội dung chính theo từng chương
Chương 1: Tổng quan
Chương 1 khái quát bối cảnh phát triển của cuộc cách mạng công nghiệp lần thứ tư và công nghệ IoT trên phạm vi toàn cầu, nhấn mạnh xu hướng chuyển dịch từ chăm sóc y tế thụ động sang giám sát chủ động từ xa. Nội dung phân tích tính cấp thiết của đề tài xuất phát từ bài toán thực tế: áp lực già hóa dân số, chi phí y tế gia tăng và nhu cầu theo dõi liên tục bệnh nhân mắc bệnh mãn tính. Tác giả xác định rõ 4 mục tiêu nghiên cứu cụ thể, giới hạn đối tượng vào các linh kiện phần cứng thông dụng (STM32, ESP8266, LM35, Pulse Sensor) cùng nền tảng Firebase, đồng thời lập đề cương phân bổ cấu trúc toàn bộ đồ án thành 5 chương nghiên cứu logic.
Chương 2: Cơ sở lý thuyết
Chương 2 cung cấp nền tảng kiến trúc mạng IoT và lý thuyết chuyên sâu về các thiết bị phần cứng được sử dụng:
- Trình bày mô hình 4 lớp IoT, các chuẩn giao tiếp năng lượng thấp (Wi-Fi, Zigbee, Bluetooth) và tiềm năng ứng dụng công nghệ kết nối M2M trong y tế.
- Phân tích chi tiết cấu hình vi điều khiển STM32F103C8T6: cấu trúc lõi ARM Cortex-M3, sơ đồ phân bố chân, hệ thống xung nhịp, các khối ngoại vi ADC 12-bit, DMA, Timer và chuẩn giao tiếp nối tiếp.
- Giới thiệu kit RF ESP8266 NodeMCU, khả năng tương thích với Arduino IDE để nạp chương trình truyền thông mạng.
- Phân tích nguyên lý làm việc của hai loại cảm biến: cảm biến nhiệt độ LM35 với đặc tuyến biến thiên điện áp tuyến tính $10\text{ mV/}^\circ\text{C}$, và cảm biến Pulse Sensor với phương pháp đo thể tích quang học (quang trở ghi nhận biến thiên phản xạ ánh sáng hồng ngoại bước sóng 609 nm theo chu kỳ co bóp mạch máu).
- Trình bày chuẩn giao tiếp I2C giữa vi điều khiển và LCD1602 qua IC đệm PCF8574, nguyên lý truyền dữ liệu bất đồng bộ UART và phương thức tổ chức cơ sở dữ liệu thời gian thực dạng cây JSON của Google Firebase.
Chương 3: Thiết kế và xây dựng hệ thống
Chương 3 là phần trọng tâm về kỹ thuật thi công của đồ án:
- Thiết lập sơ đồ khối chức năng tổng thể gồm: khối xử lý trung tâm, khối đo nhịp tim, khối đo thân nhiệt, khối hiển thị, khối nút nhấn khẩn cấp, khối Wi-Fi, khối nguồn và khối Server.
- Trình bày chi tiết sơ đồ nguyên lý nối dây phần cứng giữa STM32F103C8T6 với các module ngoại vi, giải thích việc lựa chọn chân I/O và cấu hình trở kéo.
- Xây dựng lưu đồ giải thuật cho hệ thống: lưu đồ tổng quát vòng lặp điều khiển, lưu đồ chương trình con đọc ADC và công thức tính toán thân nhiệt, lưu đồ trích xuất xung nhịp tim, lưu đồ truyền dữ liệu qua UART và lưu đồ tiếp nhận/đẩy dữ liệu lên Firebase của ESP8266.
Chương 4: Kết quả thực hiện
Chương 4 công bố kết quả hiện thực hóa mô hình thực nghiệm:
- Hình ảnh thi công hoàn thiện phần cứng của hệ thống với mặt trước, mặt trên, mặt sau và cách bố trí các module bên trong hộp mô hình.
- Kết quả hiển thị giá trị thân nhiệt và nhịp tim thực tế trên màn hình LCD1602 tại các trạm Client.
- Giao diện giám sát dữ liệu thời gian thực trên Firebase, chứng minh các trường dữ liệu
NHIP TIM, THAN NHIET và trạng thái KHAN CAP được cập nhật đồng bộ khi hệ thống đo đạc hoạt động.
- Đánh giá khả năng hoạt động của khối nút nhấn khẩn cấp khi người dùng kích hoạt cảnh báo.
Chương 5: Kết luận và phạm vi ứng dụng
Chương 5 đúc kết mức độ hoàn thành nhiệm vụ nghiên cứu:
- Khẳng định hệ thống đã vận hành đúng yêu cầu thiết kế ban đầu: đo được thân nhiệt, nhịp tim, hiển thị thông tin tại chỗ, cảnh báo khẩn cấp và đồng bộ dữ liệu lên cơ sở dữ liệu đám mây.
- Phân tích các hạn chế kỹ thuật hiện tại của mô hình và đề xuất các phương hướng nghiên cứu mở rộng trong tương lai gần nhằm hoàn thiện thiết bị.
Kết quả và đóng góp
Kết quả chính
- Thi công hoàn chỉnh mô hình phần cứng gồm 2 trạm Client độc lập, mỗi trạm tích hợp đầy đủ các cảm biến sinh tồn, khối xử lý trung tâm và module truyền thông mạng.
- Vận hành thành công thuật toán giải mã tín hiệu tương tự từ hai cảm biến y tế:
- Cảm biến LM35 đo chính xác thân nhiệt thông qua bộ chuyển đổi ADC 12-bit của STM32 với công thức chuẩn $T = \frac{ADC}{8.192}$.
- Cảm biến Pulse Sensor thu thập dạng sóng xung mạch đập, cho phép tính toán ra chỉ số nhịp tim trên phút (BPM).
- Thực hiện giao tiếp nối tiếp UART ổn định giữa STM32F103C8T6 và ESP8266 NodeMCU, đảm bảo việc truyền chuỗi dữ liệu đo đạc không bị gián đoạn.
- Đẩy dữ liệu thành công qua mạng Wi-Fi lên nền tảng đám mây Google Firebase Realtime Database. Dữ liệu của
BENH NHAN 1 và các chỉ số liên quan được cập nhật liên tục theo thời gian thực và hiển thị rõ ràng trên giao diện Web quản trị.
- Cơ chế nút nhấn khẩn cấp hoạt động tin cậy: khi kích hoạt, hệ thống đồng thời đổi trạng thái LED cảnh báo tại trạm đo và cập nhật định danh bệnh nhân cần trợ giúp lên hàng
KHAN CAP trên cơ sở dữ liệu.
Giải pháp và kiến nghị của tác giả
- Tác giả đề xuất giải pháp sử dụng vi điều khiển 32-bit hiệu năng cao kết hợp với module Wi-Fi giá thành rẻ để phân tách nhiệm vụ: vi điều khiển chuyên tâm đọc cảm biến thời gian thực, module Wi-Fi chuyên trách kết nối mạng, từ đó tối ưu hóa tài nguyên phần cứng.
- Kiến nghị ứng dụng giao tiếp I2C thông qua IC đệm để thu gọn số lượng dây dẫn của màn hình LCD từ tối thiểu 6 chân xuống còn 2 chân tín hiệu ($SCL, SDA$), giảm độ phức tạp khi đi dây mạch in và hạn chế chiếm dụng chân vi điều khiển.
Đóng góp của đề tài
- Xây dựng thành công một mô hình mẫu thử nghiệm hệ thống thiết bị y tế IoT phân tán quy mô nhỏ, chứng minh tính khả thi của việc giám sát các thông số sinh tồn bệnh nhân từ xa mà không cần can thiệp thủ công liên tục.
- Cung cấp tài liệu thiết kế chi tiết về sơ đồ nguyên lý mạch, cấu hình chân vi điều khiển và thuật toán lập trình nhúng kết nối cơ sở dữ liệu đám mây, phục vụ học tập và nghiên cứu thực nghiệm trong nhà trường.
Hạn chế và hướng nghiên cứu tiếp
Hạn chế của đề tài
Căn cứ trên phạm vi nghiên cứu và văn bản đồ án, hệ thống tồn tại các hạn chế kỹ thuật:
- Quy mô thử nghiệm mới chỉ dừng lại ở mô hình 2 Client đo cho 2 bệnh nhân, chưa kiểm thử khả năng đáp ứng và độ trễ khi mở rộng số lượng lớn Client trong cùng một mạng.
- Cảm biến sử dụng là loại phổ thông (LM35 và Pulse Sensor), độ nhạy của tín hiệu đo nhịp tim quang học dễ bị ảnh hưởng bởi cử động cơ thể của người đo, vị trí tiếp xúc và nguồn ánh sáng môi trường xung quanh.
- Hệ thống phụ thuộc hoàn toàn vào kết nối mạng Wi-Fi cục bộ và đường truyền Internet tới máy chủ Firebase; nếu mất kết nối mạng, chức năng giám sát từ xa bị gián đoạn.
- Giao diện theo dõi ở phía người dùng cuối mới dừng lại ở bảng hiển thị dữ liệu trực tiếp trên bảng điều khiển Firebase, chưa xây dựng trang Web chuyên dụng hoàn chỉnh có phân quyền bác sĩ/bệnh nhân hay ứng dụng di động riêng.
Hướng nghiên cứu phát triển trong tương lai gần
Để nâng cao tính ứng dụng thực tế, đồ án chỉ ra các định hướng hoàn thiện:
- Mở rộng số lượng trạm đo Client để giám sát đồng thời nhiều bệnh nhân trong khuôn viên phòng bệnh hoặc bệnh viện.
- Tích hợp thêm các cảm biến sinh tồn nâng cao như đo nồng độ bão hòa oxy trong máu ($SpO_2$), huyết áp hoặc điện tâm đồ (ECG).
- Phát triển ứng dụng di động chuyên biệt (trên nền tảng Android/iOS) và trang Web quản trị có biểu đồ trực quan hóa dữ liệu theo thời gian.
- Bổ sung cơ chế cảnh báo tự động thông minh bằng tin nhắn SMS hoặc thông báo đẩy (Push Notification) đến điện thoại của bác sĩ khi các chỉ số vượt ngưỡng an toàn.
- Thiết kế mạch in chuyên dụng (PCB) nhỏ gọn, tối ưu hóa năng lượng và tích hợp nguồn pin dự phòng phục vụ việc mang theo người.
Giá trị tham khảo
Đồ án là tài liệu tham khảo thực nghiệm hữu ích cho sinh viên các ngành Công nghệ Kỹ thuật Máy tính, Điện tử - Viễn thông, Kỹ thuật Y sinh, Tự động hóa và Công nghệ Thông tin đang thực hiện đồ án môn học hoặc khóa luận tốt nghiệp về hệ thống nhúng và IoT.
Các nội dung có giá trị tham khảo chuyên sâu bao gồm:
- Phương pháp phối ghép phần cứng giữa vi điều khiển họ ARM Cortex-M3 (STM32F103) với SoC Wi-Fi (ESP8266) thông qua giao tiếp UART bất đồng bộ.
- Kỹ thuật lập trình bộ chuyển đổi tín hiệu tương tự sang số (ADC 12-bit) trên vi điều khiển STM32 và công thức toán học tính toán nhiệt độ thực tế từ cảm biến LM35.
- Cấu hình và lập trình màn hình LCD qua bus I2C sử dụng module chuyển đổi PCF8574 giúp tiết kiệm tài nguyên chân GPIO.
- Quy trình kết nối, cấu hình định danh và đẩy dữ liệu cảm biến từ module ESP8266 lên hệ thống cơ sở dữ liệu thời gian thực Firebase Realtime Database.
Câu hỏi thường gặp
1. Vi điều khiển STM32F103C8T6 tính toán giá trị nhiệt độ từ cảm biến LM35 dựa trên công thức và cơ chế nào?
Vi điều khiển sử dụng bộ biến đổi ADC2 với độ phân giải 12-bit ($2^{12} = 4096$ mức) và điện áp tham chiếu cấp nguồn 5V. Cảm biến LM35 có hệ số biến thiên điện áp tuyến tính là $10\text{ mV/}^\circ\text{C}$ (tức $0.01\text{ V/}^\circ\text{C}$). Công thức toán học được lập trình là lấy giá trị đọc được từ chân ADC chia cho hằng số $8.192$ (kết quả từ phép tính $\frac{4096 \times 0.01}{5}$), từ đó trích xuất ra giá trị nhiệt độ cơ thể chính xác theo độ Celsius (°C).
2. Cảm biến Pulse Sensor đo nhịp tim theo nguyên lý nào và kết nối với chân nào của STM32?
Pulse Sensor hoạt động theo nguyên lý đo thể tích quang học (Photoplethysmography - PPG). Cảm biến gồm một đèn phát ánh sáng (bước sóng 609 nm) và một quang trở. Khi áp vào da, lượng máu chảy qua mao mạch thay đổi theo từng nhịp đập của tim làm thay đổi lượng ánh sáng phản xạ về quang trở. Tín hiệu này được khuếch đại và đưa vào chân PA0 (kênh ADC1) của STM32F103C8T6 để số hóa và tính toán số nhịp tim trên một phút (BPM).
3. Dữ liệu từ các trạm đo Client được truyền tải lên Web Server Firebase qua quy trình như thế nào?
Quy trình truyền tải trải qua hai giai đoạn: đầu tiên, vi điều khiển STM32 sau khi đọc và tính toán giá trị từ cảm biến LM35 và Pulse Sensor sẽ đóng gói dữ liệu và gửi sang kit ESP8266 NodeMCU thông qua giao tiếp nối tiếp UART (kết nối giữa chân PA9/PA10 của STM32 và chân D6/D5 của ESP8266). Sau đó, ESP8266 kết nối với mạng Wi-Fi và sử dụng thư viện chuyên dụng để đẩy các gói dữ liệu này trực tiếp lên cơ sở dữ liệu thời gian thực Firebase thông qua đường link dự án được cấu hình sẵn.
4. Dữ liệu lưu trữ trên Firebase được tổ chức thành các trường thông tin nào?
Dữ liệu trên Firebase Realtime Database được tổ chức dưới dạng cây JSON phân cấp theo từng bệnh nhân. Cụ thể với mỗi Client (ví dụ BENH NHAN 1), cơ sở dữ liệu quản lý các hàng gồm: NHIP TIM (chứa dữ liệu tần số nhịp tim đo được), THAN NHIET (chứa giá trị nhiệt độ cơ thể), và KHAN CAP (hiển thị trạng thái cảnh báo khẩn cấp khi nút bấm tại trạm đo được kích hoạt).
5. Cơ chế xử lý của hệ thống khi bệnh nhân nhấn nút khẩn cấp diễn ra như thế nào?
Nút nhấn khẩn cấp được nối với điện trở kéo lên, kết nối đồng thời vào chân PC14 của STM32 và chân D2 của ESP8266. Ở trạng thái bình thường, tín hiệu duy trì ở mức cao. Khi bệnh nhân nhấn nút, điện áp bị kéo xuống mức logic 0. Lúc này, STM32 nhận biết sự kiện để đổi trạng thái đèn LED báo động tại chỗ, đồng thời ESP8266 ghi nhận tín hiệu và cập nhật trạng thái cảnh báo lên trường KHAN CAP trên máy chủ Firebase để người theo dõi từ xa kịp thời xử lý.
Kết luận
Đồ án tốt nghiệp "Thiết kế và thi công mô hình sử dụng IoT giám sát bệnh nhân" đã hoàn thành việc thiết kế và chế tạo thành công mô hình hệ thống đo kiểm y tế phân tán gồm hai trạm Client và máy chủ hiển thị dữ liệu tập trung. Đề tài đã giải quyết trọn vẹn bài toán tích hợp phần cứng đa khối giữa vi điều khiển STM32F103C8T6, kit truyền thông Wi-Fi ESP8266 và các cảm biến đo thân nhiệt, nhịp tim, kết hợp xây dựng lưu đồ giải thuật đồng bộ dữ liệu thời gian thực lên nền tảng đám mây Google Firebase. Mặc dù còn giới hạn ở quy mô mô hình phòng thí nghiệm và độ chính xác của các cảm biến phổ thông, công trình đã khẳng định tính khả thi của giải pháp giám sát sức khỏe từ xa giá thành thấp, đồng thời cung cấp tài liệu kỹ thuật có giá trị tham khảo cho các nghiên cứu phát triển thiết bị IoT y tế tiếp theo.