蔡俊 王志剛 王麗 王楷
摘 ? ?要:為有效預(yù)防疾病、關(guān)注空巢老人身心健康,采用嵌入式技術(shù)、傳感器技術(shù)和無線通信技術(shù)設(shè)計了一款集檢測、理療于一體的個人健康管理系統(tǒng)。系統(tǒng)主要由STM32主控模塊、心率/體溫檢測與理療設(shè)備、LabVIEW上位機(jī)以及手機(jī)端APP四大部分構(gòu)成。人體心率和體溫數(shù)據(jù)被采集并經(jīng)STM32處理分析后,系統(tǒng)執(zhí)行相應(yīng)控制指令,同時上傳體檢數(shù)據(jù)至上位機(jī)。當(dāng)人體健康狀態(tài)不佳時,智能啟動理療設(shè)備。測試結(jié)果表明:系統(tǒng)運(yùn)行穩(wěn)定可靠,實(shí)時性好,準(zhǔn)確度高,操作簡單安全,適用于老年人群體。
關(guān)鍵詞:STM32;傳感器;無線通信;上位機(jī)
中圖分類號:TP274 ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識碼:A ? ? ? ? ? ? ?文章編號:2095-7394(2020)02-0051-10
隨著我國人口老齡化的發(fā)展,城鄉(xiāng)空巢老人現(xiàn)象愈發(fā)明顯[1],在一些家庭中,子女平時忙于工作,疏于照顧年邁老人,老年人群體往往身體狀態(tài)欠佳、行動不便;且多數(shù)老人患有風(fēng)濕、關(guān)節(jié)炎、脊椎病等,需要配合理療手段才不易反復(fù)發(fā)作,但定期外出體檢、理療又很難實(shí)現(xiàn),因此,老年人群體的健康問題備受關(guān)注。近年來,楊裴裴、張自達(dá)等分別基于嵌入式技術(shù)設(shè)計了人體健康狀況檢測系統(tǒng),實(shí)現(xiàn)了日常生理參數(shù)的測量和監(jiān)護(hù)功能。[2-5]
本文基于STM32嵌入式系統(tǒng),結(jié)合LabVIEW 軟件和Android技術(shù),設(shè)計了一套含人機(jī)交互界面的個人健康管理系統(tǒng),可實(shí)時檢測人體心率/體溫數(shù)據(jù),并配備智能控溫的艾灸理療功能,利用傳統(tǒng)醫(yī)學(xué)中艾灸療法調(diào)理身體、舒緩壓力。該系統(tǒng)方便操作,安全可靠。
1 ? 系統(tǒng)總體設(shè)計
系統(tǒng)分為下位機(jī)和上位機(jī)兩大部分,其中:下位機(jī)負(fù)責(zé)檢測人體心率/體溫、提供艾灸理療服務(wù)以及實(shí)時上傳體檢數(shù)據(jù)至上位機(jī),它主要由STM32主控模塊、心率脈搏/溫度傳感器以及艾灸理療設(shè)備組成;上位機(jī)開發(fā)采用LabVIEW和Android技術(shù),主要負(fù)責(zé)顯示體檢數(shù)據(jù)、管理用戶健康狀態(tài),同時控制理療設(shè)備工作狀態(tài)。系統(tǒng)上/下位機(jī)間采用無線串口和藍(lán)牙通信,實(shí)現(xiàn)協(xié)調(diào)運(yùn)作,總體框圖如圖1所示。
2 ? 系統(tǒng)硬件設(shè)計
2.1 ?MCU選擇
下位機(jī)STM32主控模塊和艾灸理療設(shè)備分別選用ARM 公司Cortex-M3為內(nèi)核的STM32F103ZET6和STM32F103C8T6微處理器芯片,系統(tǒng)時鐘72 MHz,芯片處理速度快、功耗低、串口資源豐富,內(nèi)置兩個12位數(shù)模轉(zhuǎn)換器,以滿足系統(tǒng)信息采集速度、存儲以及通信需求。
2.2 ?心率/溫度檢測模塊
心率/體溫是人體健康的重要指標(biāo)。心率檢測采用pulsesensor脈搏傳感器,它體積小、方便攜帶;供電后,傳感器LED燈點(diǎn)亮并發(fā)出一定波長入射光,穿過人體皮膚后反射,從而檢測人體心率。傳感器實(shí)物圖如圖2(a)所示。
體溫和艾灸理療設(shè)備溫度檢測均選用DS18B20溫度傳感器,它具有靈敏度高、測量范圍大等優(yōu)勢,理療設(shè)備一般工作在高溫環(huán)境,實(shí)物圖如圖2(b)所示。
2.3 ?無線通信模塊
系統(tǒng)中,STM32主控模塊采用無線串口與心率/體溫檢測模塊,理療設(shè)備以及LabVIEW上位機(jī)實(shí)現(xiàn)通信,無線串口通信具有傳輸距離遠(yuǎn)、傳輸穩(wěn)定等特點(diǎn),其引腳連接如圖3(a)所示。
STM32主控模塊與手機(jī)端APP之間采用HC-05藍(lán)牙模塊進(jìn)行通信,該模塊體積小巧、使用靈活,用戶可根據(jù)需要設(shè)置波特率,通信距離可達(dá)10 m,其引腳連接如圖3(b)所示。
3 ? 系統(tǒng)軟件設(shè)計
3.1 ?軟件開發(fā)環(huán)境概述
系統(tǒng)在開發(fā)過程中,運(yùn)用Keil uVision5軟件環(huán)境編寫下位機(jī)代碼,包含STM32主控功能、心率/體溫檢測以及艾灸理療設(shè)備控制程序;程序下載過程分別使用了J-LINK下載器在線下載方式和基于FlyMcu軟件的串口下載方式;采用LabVIEW軟件編寫PC端上位機(jī)界面,LabVIEW擁有強(qiáng)大的圖形化編輯語言功能,其可視化界面為開發(fā)帶來了便利[6];手機(jī)端APP設(shè)計是在eclipse軟件開發(fā)環(huán)境下完成的,使用Java語言編寫APP程序。系統(tǒng)軟件開發(fā)環(huán)境如圖4所示。
3.2 ?系統(tǒng)主程序設(shè)計
個人健康管理系統(tǒng)下位機(jī)可獨(dú)立完成心率/體溫檢測以及理療功能,上位機(jī)PC端LabVIEW界面和手機(jī)端APP程序,一方面,可實(shí)時檢測并顯示人體健康數(shù)據(jù)以及艾灸理療設(shè)備工作情況;另一方面,可控制下位機(jī)按需啟動理療設(shè)備。系統(tǒng)主要分為兩大工作模式:心率/體溫檢測模式和艾灸理療手動模式,主要工作流程如圖5所示。
當(dāng)系統(tǒng)處于心率/體溫檢測模式下,下位機(jī)STM32主控模塊可發(fā)送指令啟動心率/體溫數(shù)據(jù)采集功能,并在上位機(jī)LabVIEW以及APP客戶端界面完成健康數(shù)據(jù)的實(shí)時顯示;同時,當(dāng)心率或者體溫處于非正常狀態(tài)時,系統(tǒng)自動開啟艾灸理療設(shè)備,可在一定程度上緩解體檢者的不適狀況。
當(dāng)系統(tǒng)處于艾灸理療手動模式下,下位機(jī)STM32主控模塊、艾灸理療設(shè)備、上位機(jī)LabVIEW以及手機(jī)端APP程序均可發(fā)送指令手動開啟艾灸理療設(shè)備,設(shè)置艾灸盒工作溫度,并在上位機(jī)實(shí)時顯示理療盒工作狀態(tài)。
3.3 ?心率/體溫檢測
心率/體溫檢測模塊采用pulsesensor脈搏傳感器采集人體心率值,由DS18B20溫度傳感器采集體溫值,并上傳體檢數(shù)據(jù)至上位機(jī)軟件,心率/體溫檢測子流程如圖6所示。
3.4 ?通信模塊程序設(shè)計
STM32主控模塊采用無線串口分別實(shí)現(xiàn)與心率/體溫檢測、艾灸理療設(shè)備、上位機(jī)LabVIEW之間互聯(lián)通信。系統(tǒng)可實(shí)現(xiàn)多設(shè)備全雙工串口通信,通信協(xié)議中設(shè)置包頭、數(shù)據(jù)位及包尾,其中:包頭主要用于識別設(shè)備,采用十六進(jìn)制0xA1、0xA2,0xA1代表艾灸理療設(shè)備,0xA2代表心率/體溫檢測設(shè)備;數(shù)據(jù)位中主要存儲控制指令,不同數(shù)據(jù)代表不同指令,如0x10代表打開設(shè)備、0x11代表關(guān)閉設(shè)備;包尾表示數(shù)據(jù)結(jié)束。幀結(jié)構(gòu)如表1所示。
串口通信部分核心程序如下:
……
send[0]=0XA2; ?//包頭
send[4]=0X0d; ?//包尾
send[5]=0X0a; ?//包尾
while(1)
{
u8 ?i ;
temperature = DS18B20_Get_Temp ( ); ?//
獲取溫度值
send[1] = temperature/10; ?//獲取溫度值
整數(shù)部分
send[2] = temperature%10; ?//獲取溫度值
小數(shù)部分
send[3] = Num; ?//將采集的心率值賦值
給send[3]元素
for ( i= 0 ; i<6 ; i++)
{
USART_SendData ( USART1, send [i] ) ;
//按照幀結(jié)構(gòu)發(fā)送數(shù)據(jù)包
while (USART_GetFlagStatus ( USART1,
USART_FLAG_TC )!=SET );//等待發(fā)送
結(jié)束
}……
3.5 ? 上位機(jī)LabVIEW設(shè)計
LabVIEW采用圖形化編輯語言,其可視化界面為上位機(jī)開發(fā)帶來便利,個人健康管理系統(tǒng)前面板包含心率/體溫測量、艾灸理療控制和串口通信界面、系統(tǒng)簡介和使用說明。人機(jī)交互界面可方便用戶直觀了解體檢者的健康數(shù)據(jù),同時可幫助空巢老人手動控制艾灸理療設(shè)備,從而提升用戶體驗(yàn)。
LabVIEW核心程序框圖如圖7所示,主要包含串口數(shù)據(jù)發(fā)送和解析兩大部分。在程序框圖設(shè)計中:串口通信協(xié)議采用波特率9 600,端口用PC機(jī)COM11端口;上位機(jī)通過串口VISA讀函數(shù)接收下位機(jī)消息,數(shù)據(jù)解析依據(jù)串口通信協(xié)議,通過從數(shù)據(jù)包中查找固定包頭以及字符串分割函數(shù)等的使用,提取有效數(shù)據(jù)位;上位機(jī)通過串口VISA寫函數(shù)向下位機(jī)發(fā)送控制指令,同樣依據(jù)串口通信協(xié)議幀結(jié)構(gòu),以數(shù)據(jù)包形式發(fā)送,如A110、A111、A112、A113為控制指令,分別代表關(guān)閉理療設(shè)備、打開理療設(shè)備、開電機(jī)和關(guān)電機(jī)。
3.6 ?手機(jī)端APP設(shè)計
手機(jī)端APP設(shè)計[7]是在eclipse軟件開發(fā)環(huán)境下完成的,使用Java語言編寫APP程序,可實(shí)現(xiàn)心率/體溫值采集、對理療設(shè)備開/關(guān)、手動調(diào)溫功能、預(yù)警和點(diǎn)火功能等。其中:緊急按鍵實(shí)現(xiàn)對理療設(shè)備緊急處理,即關(guān)閉總電源;點(diǎn)火是輔助功能,作用為防止理療過程中出現(xiàn)火滅問題。APP軟件基于Android 4.03設(shè)計,大部分安卓智能手機(jī)都可下載安裝,大小在333 KB左右,其界面由多種控件組成,如表2所示。
4 ? ?系統(tǒng)調(diào)試及數(shù)據(jù)分析
該系統(tǒng)調(diào)試主要內(nèi)容包含:上位機(jī)LabVIEW、APP客戶端功能測試、下位機(jī)數(shù)據(jù)采集準(zhǔn)確度和理療設(shè)備工作狀態(tài)受控情況,系統(tǒng)整體實(shí)物圖如圖8所示。
由圖8可見,理療設(shè)備整體外觀為長方形盒體,頂端由傳感器模塊、控制模塊組成,前端包含顯示屏、功能按鍵(含升溫、降溫及一鍵啟動),內(nèi)部置有點(diǎn)燃艾條孔洞,孔洞上端是散熱裝置。艾灸理療設(shè)備具備自動調(diào)溫功能,相對于傳統(tǒng)艾灸盒而言,其操作簡單、使用安全,功能更加人性化。
4.1 ?LabVIEW上位機(jī)測試
在上位機(jī)LabVIEW測試過程中,串口號選擇COM11端口,波特率9 600,首先點(diǎn)擊串口通信模塊“連接”按鈕,實(shí)現(xiàn)上位機(jī)與下位機(jī)終端連接;然后點(diǎn)擊體溫計模塊“工作開關(guān)”按鈕,測量體溫并實(shí)時顯示;最后點(diǎn)擊心率測量模塊“工作開關(guān)”按鈕,測量心率并實(shí)時顯示。在測試中,上位機(jī)顯示人體溫度37.5 ℃,心率76次/min,與專業(yè)測量設(shè)備數(shù)據(jù)相符;測試艾灸理療控制界面中各個控制按鍵功能,發(fā)現(xiàn)與理療設(shè)備實(shí)際工作狀態(tài)一致。LabVIEW測試效果如圖9所示。
4.2 ?手機(jī)端APP測試
APP客戶端主要測試藍(lán)牙連接、下位機(jī)心率/體溫數(shù)據(jù)接收以及理療設(shè)備按鍵控制等功能。在測試過程中,點(diǎn)擊“打開藍(lán)牙”,啟動手機(jī)藍(lán)牙功能,下拉滾動條,選擇匹配設(shè)備,點(diǎn)擊“連接”后,APP客戶端與下位機(jī)建立通信,完成心率/體溫值測試,測試效果如圖10所示,與下位機(jī)健康數(shù)據(jù)相符。
4.3 ? 數(shù)據(jù)分析
4.3.1人體心率數(shù)據(jù)分析
人體心率無時不在波動,多次測量可減少測量誤差。本文使用下位機(jī)心率檢測模塊以及市場上專業(yè)的心率檢測設(shè)備,針對不同受檢者在不同時間,分別采集了10次心率數(shù)據(jù),對兩組數(shù)據(jù)進(jìn)行對比,如表3所示。
如圖11所示為測試數(shù)據(jù)效果圖。圖11(a)直觀反映了該心率檢測模塊和第三方測量數(shù)據(jù)大致相符,相對誤差控制在±4. 3%以內(nèi),總體來說,測量結(jié)果具有一定的可靠性,值得應(yīng)用推廣。人體溫度測試方法類似,測試結(jié)果較理想,不再贅述。
4.3.2理療設(shè)備溫度數(shù)據(jù)分析
以下主要完成對控溫時間和控溫精度的測量。在測試過程中,將艾灸理療設(shè)備目標(biāo)溫度設(shè)定為50 ℃,分別測量不同初始溫度(20~80 ℃)下達(dá)到穩(wěn)定狀態(tài)的時間及溫度誤差。在控制精度方面,理療設(shè)備自動控溫相對誤差可達(dá)±0.4%以內(nèi),測量結(jié)果如表4所示。
如圖11(b)控溫時間結(jié)果顯示,預(yù)先設(shè)定溫度值為50 ℃,初始值在20~50 ℃范圍內(nèi)是升溫過程,必須等待艾條燃燒,而艾條燃燒是一個緩慢過程,此過程會花費(fèi)一定時間;初始溫度越是接近50 ℃用時越少;當(dāng)初始溫度在50~80 ℃之間時,是降溫過程,因艾條原本處于高溫高熱狀態(tài),降溫過程所用時間就會較多。總體來說,控溫時間尚可,基本能達(dá)到用戶需求。
5 ? ?結(jié)論
本文基于嵌入式技術(shù)、傳感器檢測技術(shù)及無線通信技術(shù),針對行動不便的空巢老人群體,設(shè)計了一套家用個人健康管理系統(tǒng),該系統(tǒng)具備心率/體溫檢測和艾灸理療等功能。LabVIEW上位機(jī)和手機(jī)APP中人性化的交互界面設(shè)計,能方便老人觀察體檢數(shù)據(jù),同時,可智能控制艾灸理療設(shè)備的工作狀態(tài)。系統(tǒng)調(diào)試結(jié)果表明:心率/溫度測量結(jié)果準(zhǔn)確可靠,艾灸理療功能運(yùn)行穩(wěn)定,能滿足老年人群體對健康理療的基本需求。當(dāng)然,該系統(tǒng)尚存在不足之處,其目前僅支持心率/體溫基礎(chǔ)測量,對于人體其他日常健康指標(biāo)的測量功能還有待進(jìn)一步完善。
參考文獻(xiàn):
[1] 楊菊華,王蘇蘇,劉軼鋒.新中國70年:人口老齡化發(fā)展趨勢分析[J].中國人口科學(xué),2019(4):30-42.
[2] 楊裴裴,李勝嵐,石恒瑞.基于STM32和Onenet的智能健康管家的設(shè)計與實(shí)現(xiàn)[J].電子產(chǎn)品世界,2019,26(8):60-64.
[3] 張自達(dá).基于STM32的多功能智能健康手表設(shè)計[D].銀川:寧夏大學(xué),2018.
[4] 張敏,石倩倩,張珊珊,等.基于語音識別和STM32的老年人健康狀況監(jiān)護(hù)系統(tǒng)的設(shè)計[J].電子質(zhì)量,2017(5):57-59.
[5] 尹繼武,付奎.基于STM32的生理參數(shù)無線監(jiān)測系統(tǒng)設(shè)計[J].陜西理工大學(xué)學(xué)報(自然科學(xué)版),2019,35(5):16-20.
[6] 王浩博,唐晨棟,張宇.基于LabVIEW的室內(nèi)環(huán)境智能監(jiān)控系統(tǒng)[J].物聯(lián)網(wǎng)技術(shù),2019,9(9):12-15.
[7] 武志鵬,陶松嵐.基于Android和藍(lán)牙的遙控開關(guān)控制系統(tǒng)設(shè)計[J].物聯(lián)網(wǎng)技術(shù),2019,9(9):49-51.
責(zé)任編輯 ? ?盛 ? ?艷
Design of Personal Health Management System Based on STM32
CAI Jun,WANG Zhigang,WANG Li,WANG Kai
(School of Electronic Engineering,Huainan Normal University,Huainan 232000,China)
Abstract: In order to effectively prevent the diseases,and focus on physical and mental health of the empty-nest elderly,a personal health management system with detection and physiotherapy functions is designed by using embedded technology,sensor technology and wireless communication technology. It is mainly composed of STM32 microprocessor module,the equipment with heart rate/body temperature monitoring and physiotherapy functions,upper computer based on LabVIEW and mobile APP. Data of heart rate and body temperature are measured and analyzed by STM32, then it will execute the corresponding instruction, and upload physical examination data to the upper computer. The physiotherapy equipment will be automatically activated when people is in poor health. The system test results show that it has the advantages of good real time performance,high accuracy,simple and safe operation,which is suitable for the elderly.
Key ?words: STM32;sensor;wireless communication;upper computer
收稿日期:2020-01-09
基金項(xiàng)目:2017年安徽省大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃項(xiàng)目“智能調(diào)溫艾灸盒”(201710381089)
作者簡介:蔡俊,助教,碩士,主要研究方向?yàn)樾盘柼幚砼c無線通信、計算機(jī)圖形圖像處理。