







摘 "要: 傳統的醫療模式很難及時獲取人的健康數據,不能實現對老年人健康及姿態信息的實時監控。文中以STM32F103單片機為核心控制器,采用心率血氧傳感器、姿態傳感器等采集身體健康數據,通過MQTT物聯網協議將其上傳至阿里云平臺,并應用云端數據分析處理平臺對身體健康數據進行實時分析和預警。系統經過測試,當用戶跌倒或心率血壓異常時,設備會發出警報聲,提醒周圍人進行救護,同時監護人手機會收到異常預警。
關鍵詞: 物聯網; 健康監測; STM32; 云平臺; MQTT協議; 心率監測; 姿態檢測; 數據分析處理
中圖分類號: TN919.5?34; TP277 " " " " " " " " " "文獻標識碼: A " " " " " " " " " 文章編號: 1004?373X(2024)15?0157?06
Design and implementation of intelligent health monitoring system
based on Internet of Things technology
ZHAO Hongying1, ZHANG Jianwei2, 3, FENG Yuan4, CAI Zengyu1, ZHU Liang1, LIANG Shujun1
(1. College of Computer Science and Technology, Zhengzhou University of Light Industry, Zhengzhou 450000, China;
2. College of Software, Zhengzhou University of Light Industry, Zhengzhou 450000, China;
3. ZZULI Research Institute of Industrial Technology Co., Ltd., Zhengzhou 450000, China;
4. School of Electronics and Information, Zhengzhou University of Light Industry, Zhengzhou 450000, China)
Abstract: It is difficult to obtain people′s health data in time by the traditional medical modes. Also, the traditional medical modes usually fail to realize the real?time monitoring of the health and posture information of the elderly. In this paper, SCM STM32F103 is used as the core controller, and the heart rate blood oxygen sensor, the attitude sensor and the other sensors are used to collect the physical health data, which are uploaded to the Ali cloud platform by the MQTT (message queuing telemetry transport) Internet of Things (IoT) protocol. The cloud data analysis and processing platform is used for real?time analysis and early warning of the physical health data. The system has been tested. When the user falls down or his heart rate and blood pressure are abnormal, the device will send out an alarm to remind the surrounding people to carry out rescue, and his guardian will receive an abnormal warning.
Keywords: IoT; health monitoring; STM32; cloud platform; MQTT protocol; heart rate monitoring; posture detection; data analysis and processing
0 "引 "言
我國人口老齡化現象正在不斷加劇,中國“十四五”規劃綱要中提出,要積極應對人口老齡化問題,完善養老服務體系,支持家庭養老功能[1?2]。將物聯網技術應用于養老問題,可以切實緩解社會養老壓力。對于居家養老來說,傳統的醫療模式并不適用,因此需要設計開發一種智慧健康監測系統,實時監測個體的健康狀態,并提供預警和建議。為此,國內外不少學者針對健康監測系統進行了廣泛研究,目前的健康監測系統主要有以下三類。
1) 傳感器和通信技術類。利用各種傳感器收集健康數據,并通過藍牙、GSM等通信技術將這些數據傳輸到監測系統中。文獻[3]采用Arduino和AD8232脈搏傳感器,通過藍牙模塊HC?05進行數據傳輸來檢測心臟活動。文獻[4]設計了可穿戴的運動監測系統,采集人體心電和活動信號,通過藍牙傳輸至移動設備。文獻[5]用ADXL345三軸加速度傳感器采集數據,SIM900A發送包含位置信息的求救短信給特定人員。但藍牙等通信技術會受限于信號覆蓋范圍和穩定性的影響。
2) 網絡通信和遠程監測類。通過網絡通信技術,將患者的健康數據遠程傳輸給醫生或相關人員進行實時監測和處理。文獻[6]設計了一種便攜式血氧儀,通過GPRS/WiFi/ZigBee網絡將血氧飽和度和脈搏等數據遠程發送給醫生。文獻[7]通過WiFi技術實時采集居家環境數據,傳輸給STM32主控制器,再通過NB?IoT無線技術發送到后臺上位機進行分析處理。文獻[8]基于MQTT協議和樹莓派的物聯網健康監護系統,通過收集體溫、脈搏、血氧飽和度、血壓和心率等數據實現健康監測。這些技術依賴于網絡連接,會受到網絡延遲、斷網等因素影響。
3) 智能家居和輔助機器人。用智能家居技術[9?10]和輔助機器人[11?12]實現對老年人或獨居者的健康監護、遠程協作和提供支持的功能。文獻[13]提出了一種智能互聯實時語音視頻通信和遙控協作機器人系統,為獨居者提供遠程支持。文獻[14]認為智能家居可以有效地對老年人進行健康監護,通過智能設備和傳感器收集數據并提供相關服務。文獻[15]設計了一款智能輪椅機器人,輔助老人的運動以及進行健康監測。這類技術設備之間的兼容性和互操作性可能存在問題,而且對技術的依賴可能造成老年人或獨居者的信息孤立感和技術接受度問題。
綜上所述,這些檢測系統的技術相對來說成本高、體積大、不便于日常攜帶,因此需要設計成本低、功能齊全、普適性強且便于攜帶的健康監測系統。本文設計的健康監測系統以STM32F103系列單片機為核心主板,外接心率血氧、姿態、GPS傳感器來實時監測人的身體數據,監測數據將會上傳至阿里云平臺。通過對云平臺數據的實時監測可以隨時隨地監測人的行為,當被監護人血壓升高或發生跌倒時可以及時發出預警,便于進行及時救護。本系統具有功能齊全、成本低廉、便于攜帶等優點。
1 "系統方案設計
基于物聯網技術的智慧健康監測系統主要是為人們提供更加便捷、智能化的健康管理服務。該系統以STM32芯片作為控制核心,結合GPS和MPU6050傳感器對人的身體健康和行動軌跡進行實時監測。同時,系統還集成了MAX30102血氧傳感器,用于健康數據的采集和分析。該系統將監測到的數據通過ESP8266WiFi模塊上傳至阿里云平臺,實現數據的存儲和分析。通過阿里云平臺提供的API接口,用戶可以隨時調取歷史數據,以及設置健康參數的預警值,當健康數據超出預警值時,系統會發出預警信息,提醒監護人及時干預,確保被監護人的健康得到及時關注和治療。系統總體框圖如圖1所示。
1.1 nbsp;數據采集模塊
智慧健康監測系統采集模塊由STM32F103微控制器、GPS模塊、MPU6050運動傳感器模塊、MAX30102心率血氧傳感器模塊和ESP8266WiFi無線通信等模塊組成。STM32F103微控制器負責對各種傳感器采集的數據進行處理,并進行數據的存儲和報警;GPS模塊、MPU6050運動傳感器模塊和MAX30102心率血氧傳感器模塊用于采集老人的位置信息、運動狀態、心率和血氧數據;ESP8266無線通信模塊用于將老人的位置信息和健康數據上傳至云端。數據采集模塊原理圖如圖2所示。
1.1.1 "中央控制模塊
本系統采用STM32F103單片機作為中央控制模塊,通過將各種傳感器連接到主控制器來實現信息的收集與交互。其中MPU6050傳感器和MAX30102傳感器作為主要的信息采集傳感器,用于獲取運動和姿態數據以及對心率和血氧等生理參數的監測。通過這些傳感器的協同工作,系統能夠實時獲取、處理和傳輸健康數據,為用戶提供準確的健康監測服務。
1.1.2 "姿態信息采集模塊
智慧健康監測系統采用MPU6050模塊采集用戶的姿態信息,MPU6050傳感器集成了三軸陀螺儀和三軸加速度計,可精確測量設備的姿態、運動、重力等參數。MPU6050傳感器和主控之間采用I2C進行通信,在連接時,MPU6050的SDA串行數據線與SCL串行時鐘線分別與主控相連。
數據傳輸過程中,通過控制串行數據線和串行時鐘線的電平變化,來實現傳感器和主控之間的數據交換和中斷。當串行數據線在高電平狀態下,串行時鐘線從高電平轉換為低電平時,傳感器和主控開始進行數據傳輸。在數據傳輸過程中,串行數據線的高低電平表示不同的數據,而串行時鐘線則控制數據的讀寫時序和速率。當串行數據線再次被設置為高電平時,串行時鐘線從低電平轉換為高電平,傳感器和主控之間停止數據傳輸,這樣就完成了一次基于I2C通信的數據交互過程。
1.1.3 "心率血氧信息采集模塊
智慧健康監測系統使用MAX30102模塊采集用戶的心率血氧數據,通過紅外LED和光電二極管實現對血氧飽和度和脈沖波形的檢測,然后通過信號處理電路對獲得的信號進行處理,最終將結果輸出到微控制器中進行處理和展示。
該模塊可以檢測的心率范圍為30~250 bpm,血氧飽和度范圍為0%~100%。模塊使用I2C接口將TX引腳連接至STM32F103的RX引腳,RX引腳連接至STM32F103的TX引腳。在進行I2C通信時,需要先向設備發送“寫”命令,以設置設備寄存器地址,然后再向設備發送數據或者接收數據。
1.2 "數據傳輸模塊
智慧健康監測系統使用ESP8266模塊實現采集數據的傳輸,該模塊可以連接到互聯網或獨立的網絡,使用AT指令進行配置,支持STA、AP、AP+STA三種工作模式。本系統采用ESP8266的STA模式,使用MQTT物聯網傳輸協議,將采集到的健康信息數據傳輸到云平臺。ESP8266模塊的串口引腳分別是TX和RX,在連接時需要將TX引腳連接至STM32F103的RX引腳;RX引腳連接至STM32F103的TX引腳。
ESP8266模塊與STM32F103之間的通信協議采用的是AT指令集協議,通過在STM32F103上編寫相應的程序,發送AT指令給ESP8266模塊;ESP8266模塊則解析收到的AT指令,并根據具體指令執行不同的操作。
1.3 "數據分析及存儲
本系統采用阿里云平臺作為數據中心,實現系統數據的遠程實時監測和管理。具體實現流程如下:在阿里云平臺上創建數據流并綁定設備,將數據流與傳感器數據進行對接;ESP8266WiFi模塊將采集到的傳感器數據發送到阿里云平臺;通過阿里云平臺API接口獲取老人位置、姿態和心率等信息,并進行數據分析和處理。通過使用阿里云的Web設計平臺,構建自己的可視化界面,快速獲得所需數據,并通過定制化組件實現更加個性化的數據展示方式。
2 "系統軟件設計
2.1 "系統主程序設計
本系統所采用的嵌入式軟件主要是基于Keil μVision5集成開發環境編寫C語言程序,在程序中完成對各個傳感器模塊的初始化和數據采集工作。具體實現流程如圖3所示。
首先,進行初始化,確定各個傳感器模塊的通信協議和通信地址,設置MPU6050傳感器、MAX30102傳感器的采樣頻率、波特率等參數;對各個模塊進行初始化后,對從各個傳感器采集的不同格式數據進行處理,得到用戶的位置、姿態和心率等信息;再將處理后得到的信息通過阿里云平臺進行上傳;若發現異常信息即心率血氧數據異?;虬l生跌倒,系統報警電路會發出報警聲,同時通過手機APP提醒監護人。
2.2 "跌倒檢測算法設計
1) 速度判斷
人的身體在靜止的狀態下,只會受到重力加速度的作用,因此,當人體發生跌倒時,傳感器可以采集到不同坐標軸方向的加速度。這時,就可以通過計算來自[x]、[y]、[z]軸的加速度得到加速度幅度值SVM。加速度幅度值SVM反映了人體運動的劇烈程度,其值越大就表明運動越劇烈。
[SVM=α2x+α2y+α2z] (1)
2) 姿態角判斷
使用MPU6050內置的DMP進行姿態解算,DMP輸出的四元數是[q30],即浮點數被放大了[230]倍,在計算時,需將其轉化為浮點數,隨后再進行計算。
[q0=quat[0] q30] (2)
[q1=quat[1] q30] (3)
[q2=quat[2] q30] (4)
[q3=quat[3] q30] (5)
式中:quat[0]~quat[3]是MPU6050的DMP解算后的四元數;[q30]是一個常量,為1 073 741 824,即[230],代入以下公式,計算出歐拉角。
[pich=arcsin-2q1q3+2q0q2×57.3] "(6)
[roll=arctan22q2q3+2q0q1,-2q1q1-2q2q2+1×57.3] (7)
[yaw=arctan22×q1q2+q0q3,q0q0+q1q1-q2q2-q3q3×57.3] (8)
式中:57.3是弧度轉換為角度,即[180π],這樣得到的結果就是以度為單位。
2.3 "數據傳輸模塊程序設計
在本系統中,ESP8266WiFi模塊主要用于實現將收集到的數據上傳至云平臺。其程序設計流程如下。
1) 在開始使用ESP8266WiFi模塊之前,需要先進行初始化。通過向ESP8266模塊發送AT指令來設置模塊的一些基本參數,比如波特率、WiFi模式等。初始化命令為:AT+RST,表示重啟ESP8266模塊。
2) ESP8266WiFi模塊需要先連接無線網絡才能進行數據傳輸。通過AT+CWMODE命令將ESP8266設置為STA模式,然后通過AT+CWJAP命令連接指定的WiFi網絡。其中,需要設置WiFi的SSID和密碼等信息。如果連接成功,則ESP8266會返回“OK”,否則,會返回“ERROR”。在ESP8266連接到WiFi網絡后,就可以進行數據傳輸。
3) 通過AT+CIPSTART命令建立TCP連接或UDP連接,然后通過AT+CIPSEND命令發送數據。
4) 在發送完數據后,模塊會返回“SEND OK”表示數據發送成功,接著可以再次通過AT+CIPSEND發送數據。
3 "系統測試
3.1 "心率血氧數據測試
智慧健康監測系統采用MAX30102進行用戶心率血氧的采集,測試心率血氧數據時將手指貼近傳感器,等待15 s左右就可以得出結果。其原理就是攜帶氧氣的紅血球能夠吸收較多紅外光,未攜帶氧氣的紅血球吸收較多的紅光。測試結果表明,設備能夠正常采集用戶的心率血氧信息,在不同情況下測量數據,結果如表1所示。
3.2 "姿態數據測試
智慧健康監測系統采用MPU6050傳感器采集用戶的姿態信息,通過讀取傳感器[x]、[y]、[z]三個軸的加速度數據,對三個軸的加速度進行計算,就可以得到加速度幅度值及歐拉角。程序通過對加速度幅度值與歐拉角進行判斷,就可以知道人身體的姿態情況。通過對設備進行不同位置的測試,得到如表2所示的數據。報警正確率達到90%以上,實驗數據符合預期。
通過實驗數據也可以看出,設備存在誤報、漏報的情況。這是受多方面因素的影響,比如設備固定位置不穩定,MPU6050安裝的位置和角度會對測量結果有重要的影響,設備松動或安裝不平穩都會導致測量結果不準確;另一方面,MPU6050還會受到來自周圍噪聲的影響,比如機械振動、電磁干擾等;還有就是跌倒檢測算法的實現方式也會影響測量結果的準確性,要根據不同的情況考慮算法的靈敏度和閾值的設置。
3.3 "數據分析處理平臺
智慧健康監測系統采集的數據通過WiFi模塊上傳至云平臺,可以通過瀏覽器實時查看云平臺收集的相關數據,其界面如圖4所示。同時,為了用戶能夠隨時隨地查詢數據,還開發了對應的手機端APP,其界面如圖5所示。
4 "結 "論
本文研究實現了一套具有實時監控、健康數據采集和報警功能的智慧健康監測系統。該系統可對人的姿態信息、健康數據進行采集,并根據采集到的數據進行實時判斷和報警,有效提升居家養老人員的生活安全和健康水平。通過MPU6050模塊可以檢測步數、運動軌跡等信息,根據運動狀態進行合理的養護建議,通過MAX30102模塊可以實時檢測心率、血氧等指標。通過ESP8266WiFi模塊可以實現數據的實時上傳,阿里云平臺將數據存儲在云端,監護人員可以隨時查看。當指標出現異常情況時,系統會發出預警信息,提醒監護人員及時進行干預。
注:本文通訊作者為馮媛。
參考文獻
[1] 佚名.建言獻策:積極應對人口老齡化國家戰略如何行穩致遠[J].中國社會工作,2022(29):12?13.
[2] 鄒山花,方寧生,鄭愷,等.基于區塊鏈的虛擬養老院生態系統設計與實現[J].制造業自動化,2020,42(5):123?124.
[3] DAS S, ROY S, GHOSH S, et al. Micro?ECG?monitoring system based on arduino with bluetooth feature [J]. Journal of physics: Conference series, 2022, 2286(1): 012006.
[4] 孟瑤.基于可穿戴設備的實時運動監測方法研究[J].計算機應用與軟件,2022,39(4):100?104.
[5] 李京慧,遲宗濤,李鐘曉.基于閾值分析法的人體跌倒檢測系統[J].傳感器與微系統,2019,38(8):80?82.
[6] FU Y, LIU J. System design for wearable blood oxygen saturation and pulse measurement device [J]. Procedia manufacturing, 2015, 3: 1187?1194.
[7] 張震,郭曉金,劉煌.居家智慧養老監測系統的設計[J].現代電子技術,2022,45(18):171?176.
[8] ALSHAMMARI HAMOUD H. The Internet of Things healthcare monitoring system based on MQTT protocol [J]. Alexandria engineering journal, 2023, 69: 275?287.
[9] 吳秋燕,趙杰,鄒慧淋,等.智能家庭養老系統的設計與實現[J].物聯網技術,2023,13(9):111?113.
[10] 周莉,李秀.健康老齡化視角下智能家居產品交互設計研究[J].設計,2023,36(9):81?83.
[11] 范敬珂,劉師沛,臧百永,等.基于STM32的看護服務機器人裝置系統設計[J].科學技術創新,2021(16):185?187.
[12] 劉倩倩.面向老年人精神需求的人工智能機器人系統設計研究[J].智能計算機與應用,2020,10(8):192?193.
[13] WU L, LU J, ZHANG T, et al. Robot?assisted intelligent emergency system for individual elderly independent living [C]// 2016 IEEE Global Humanitarian Technology Conference (GHTC). New York: IEEE, 2016: 628?633.
[14] MAALSEN S, SADOWSKI J. The smart home on FIRE: Amplifying and accelerating domestic surveillance [J]. Surveillance amp; society, 2019, 17(1/2): 118?124.
[15] 李莉,姚家琛.基于物聯網技術的智能養老輪椅機器人設計[J].制造業自動化,2023,45(7):80?84.
作者簡介:趙紅英(2000—),女,河南南陽人,碩士研究生,主要研究領域為網絡安全與人工智能。
張建偉(1971—),男,河南南陽人,博士,教授,研究方向為新一代網絡和大數據。
馮 "媛(1978—),女,河南濟源人,碩士,副教授,主要研究方向為智能信息處理。
蔡增玉(1979—),男,河南鶴壁人,碩士,副教授,研究方向為網絡安全和人工智能。
朱 "亮(1987—),男,河南焦作人,博士,講師,研究方向為智能推薦、隱私保護。
梁樹軍(1977—),男,山西定襄人,碩士,副教授,研究方向為數據安全。