蔡俊 王志剛 王麗 王楷
摘 ? ?要:為有效預(yù)防疾病、關(guān)注空巢老人身心健康,采用嵌入式技術(shù)、傳感器技術(shù)和無(wú)線通信技術(shù)設(shè)計(jì)了一款集檢測(cè)、理療于一體的個(gè)人健康管理系統(tǒng)。系統(tǒng)主要由STM32主控模塊、心率/體溫檢測(cè)與理療設(shè)備、LabVIEW上位機(jī)以及手機(jī)端APP四大部分構(gòu)成。人體心率和體溫?cái)?shù)據(jù)被采集并經(jīng)STM32處理分析后,系統(tǒng)執(zhí)行相應(yīng)控制指令,同時(shí)上傳體檢數(shù)據(jù)至上位機(jī)。當(dāng)人體健康狀態(tài)不佳時(shí),智能啟動(dòng)理療設(shè)備。測(cè)試結(jié)果表明:系統(tǒng)運(yùn)行穩(wěn)定可靠,實(shí)時(shí)性好,準(zhǔn)確度高,操作簡(jiǎn)單安全,適用于老年人群體。
關(guān)鍵詞:STM32;傳感器;無(wú)線通信;上位機(jī)
中圖分類(lèi)號(hào):TP274 ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A ? ? ? ? ? ? ?文章編號(hào):2095-7394(2020)02-0051-10
隨著我國(guó)人口老齡化的發(fā)展,城鄉(xiāng)空巢老人現(xiàn)象愈發(fā)明顯[1],在一些家庭中,子女平時(shí)忙于工作,疏于照顧年邁老人,老年人群體往往身體狀態(tài)欠佳、行動(dòng)不便;且多數(shù)老人患有風(fēng)濕、關(guān)節(jié)炎、脊椎病等,需要配合理療手段才不易反復(fù)發(fā)作,但定期外出體檢、理療又很難實(shí)現(xiàn),因此,老年人群體的健康問(wèn)題備受關(guān)注。近年來(lái),楊裴裴、張自達(dá)等分別基于嵌入式技術(shù)設(shè)計(jì)了人體健康狀況檢測(cè)系統(tǒng),實(shí)現(xiàn)了日常生理參數(shù)的測(cè)量和監(jiān)護(hù)功能。[2-5]
本文基于STM32嵌入式系統(tǒng),結(jié)合LabVIEW 軟件和Android技術(shù),設(shè)計(jì)了一套含人機(jī)交互界面的個(gè)人健康管理系統(tǒng),可實(shí)時(shí)檢測(cè)人體心率/體溫?cái)?shù)據(jù),并配備智能控溫的艾灸理療功能,利用傳統(tǒng)醫(yī)學(xué)中艾灸療法調(diào)理身體、舒緩壓力。該系統(tǒng)方便操作,安全可靠。
1 ? 系統(tǒng)總體設(shè)計(jì)
系統(tǒng)分為下位機(jī)和上位機(jī)兩大部分,其中:下位機(jī)負(fù)責(zé)檢測(cè)人體心率/體溫、提供艾灸理療服務(wù)以及實(shí)時(shí)上傳體檢數(shù)據(jù)至上位機(jī),它主要由STM32主控模塊、心率脈搏/溫度傳感器以及艾灸理療設(shè)備組成;上位機(jī)開(kāi)發(fā)采用LabVIEW和Android技術(shù),主要負(fù)責(zé)顯示體檢數(shù)據(jù)、管理用戶健康狀態(tài),同時(shí)控制理療設(shè)備工作狀態(tài)。系統(tǒng)上/下位機(jī)間采用無(wú)線串口和藍(lán)牙通信,實(shí)現(xiàn)協(xié)調(diào)運(yùn)作,總體框圖如圖1所示。
2 ? 系統(tǒng)硬件設(shè)計(jì)
2.1 ?MCU選擇
下位機(jī)STM32主控模塊和艾灸理療設(shè)備分別選用ARM 公司Cortex-M3為內(nèi)核的STM32F103ZET6和STM32F103C8T6微處理器芯片,系統(tǒng)時(shí)鐘72 MHz,芯片處理速度快、功耗低、串口資源豐富,內(nèi)置兩個(gè)12位數(shù)模轉(zhuǎn)換器,以滿足系統(tǒng)信息采集速度、存儲(chǔ)以及通信需求。
2.2 ?心率/溫度檢測(cè)模塊
心率/體溫是人體健康的重要指標(biāo)。心率檢測(cè)采用pulsesensor脈搏傳感器,它體積小、方便攜帶;供電后,傳感器LED燈點(diǎn)亮并發(fā)出一定波長(zhǎng)入射光,穿過(guò)人體皮膚后反射,從而檢測(cè)人體心率。傳感器實(shí)物圖如圖2(a)所示。
體溫和艾灸理療設(shè)備溫度檢測(cè)均選用DS18B20溫度傳感器,它具有靈敏度高、測(cè)量范圍大等優(yōu)勢(shì),理療設(shè)備一般工作在高溫環(huán)境,實(shí)物圖如圖2(b)所示。
2.3 ?無(wú)線通信模塊
系統(tǒng)中,STM32主控模塊采用無(wú)線串口與心率/體溫檢測(cè)模塊,理療設(shè)備以及LabVIEW上位機(jī)實(shí)現(xiàn)通信,無(wú)線串口通信具有傳輸距離遠(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è)計(jì)
3.1 ?軟件開(kāi)發(fā)環(huán)境概述
系統(tǒng)在開(kāi)發(fā)過(guò)程中,運(yùn)用Keil uVision5軟件環(huán)境編寫(xiě)下位機(jī)代碼,包含STM32主控功能、心率/體溫檢測(cè)以及艾灸理療設(shè)備控制程序;程序下載過(guò)程分別使用了J-LINK下載器在線下載方式和基于FlyMcu軟件的串口下載方式;采用LabVIEW軟件編寫(xiě)PC端上位機(jī)界面,LabVIEW擁有強(qiáng)大的圖形化編輯語(yǔ)言功能,其可視化界面為開(kāi)發(fā)帶來(lái)了便利[6];手機(jī)端APP設(shè)計(jì)是在eclipse軟件開(kāi)發(fā)環(huán)境下完成的,使用Java語(yǔ)言編寫(xiě)APP程序。系統(tǒng)軟件開(kāi)發(fā)環(huán)境如圖4所示。
3.2 ?系統(tǒng)主程序設(shè)計(jì)
個(gè)人健康管理系統(tǒng)下位機(jī)可獨(dú)立完成心率/體溫檢測(cè)以及理療功能,上位機(jī)PC端LabVIEW界面和手機(jī)端APP程序,一方面,可實(shí)時(shí)檢測(cè)并顯示人體健康數(shù)據(jù)以及艾灸理療設(shè)備工作情況;另一方面,可控制下位機(jī)按需啟動(dòng)理療設(shè)備。系統(tǒng)主要分為兩大工作模式:心率/體溫檢測(cè)模式和艾灸理療手動(dòng)模式,主要工作流程如圖5所示。
當(dāng)系統(tǒng)處于心率/體溫檢測(cè)模式下,下位機(jī)STM32主控模塊可發(fā)送指令啟動(dòng)心率/體溫?cái)?shù)據(jù)采集功能,并在上位機(jī)LabVIEW以及APP客戶端界面完成健康數(shù)據(jù)的實(shí)時(shí)顯示;同時(shí),當(dāng)心率或者體溫處于非正常狀態(tài)時(shí),系統(tǒng)自動(dòng)開(kāi)啟艾灸理療設(shè)備,可在一定程度上緩解體檢者的不適狀況。
當(dāng)系統(tǒng)處于艾灸理療手動(dòng)模式下,下位機(jī)STM32主控模塊、艾灸理療設(shè)備、上位機(jī)LabVIEW以及手機(jī)端APP程序均可發(fā)送指令手動(dòng)開(kāi)啟艾灸理療設(shè)備,設(shè)置艾灸盒工作溫度,并在上位機(jī)實(shí)時(shí)顯示理療盒工作狀態(tài)。
3.3 ?心率/體溫檢測(cè)
心率/體溫檢測(cè)模塊采用pulsesensor脈搏傳感器采集人體心率值,由DS18B20溫度傳感器采集體溫值,并上傳體檢數(shù)據(jù)至上位機(jī)軟件,心率/體溫檢測(cè)子流程如圖6所示。
3.4 ?通信模塊程序設(shè)計(jì)
STM32主控模塊采用無(wú)線串口分別實(shí)現(xiàn)與心率/體溫檢測(cè)、艾灸理療設(shè)備、上位機(jī)LabVIEW之間互聯(lián)通信。系統(tǒng)可實(shí)現(xiàn)多設(shè)備全雙工串口通信,通信協(xié)議中設(shè)置包頭、數(shù)據(jù)位及包尾,其中:包頭主要用于識(shí)別設(shè)備,采用十六進(jìn)制0xA1、0xA2,0xA1代表艾灸理療設(shè)備,0xA2代表心率/體溫檢測(cè)設(shè)備;數(shù)據(jù)位中主要存儲(chǔ)控制指令,不同數(shù)據(jù)代表不同指令,如0x10代表打開(kāi)設(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è)計(jì)
LabVIEW采用圖形化編輯語(yǔ)言,其可視化界面為上位機(jī)開(kāi)發(fā)帶來(lái)便利,個(gè)人健康管理系統(tǒng)前面板包含心率/體溫測(cè)量、艾灸理療控制和串口通信界面、系統(tǒng)簡(jiǎn)介和使用說(shuō)明。人機(jī)交互界面可方便用戶直觀了解體檢者的健康數(shù)據(jù),同時(shí)可幫助空巢老人手動(dòng)控制艾灸理療設(shè)備,從而提升用戶體驗(yàn)。
LabVIEW核心程序框圖如圖7所示,主要包含串口數(shù)據(jù)發(fā)送和解析兩大部分。在程序框圖設(shè)計(jì)中:串口通信協(xié)議采用波特率9 600,端口用PC機(jī)COM11端口;上位機(jī)通過(guò)串口VISA讀函數(shù)接收下位機(jī)消息,數(shù)據(jù)解析依據(jù)串口通信協(xié)議,通過(guò)從數(shù)據(jù)包中查找固定包頭以及字符串分割函數(shù)等的使用,提取有效數(shù)據(jù)位;上位機(jī)通過(guò)串口VISA寫(xiě)函數(shù)向下位機(jī)發(fā)送控制指令,同樣依據(jù)串口通信協(xié)議幀結(jié)構(gòu),以數(shù)據(jù)包形式發(fā)送,如A110、A111、A112、A113為控制指令,分別代表關(guān)閉理療設(shè)備、打開(kāi)理療設(shè)備、開(kāi)電機(jī)和關(guān)電機(jī)。
3.6 ?手機(jī)端APP設(shè)計(jì)
手機(jī)端APP設(shè)計(jì)[7]是在eclipse軟件開(kāi)發(fā)環(huán)境下完成的,使用Java語(yǔ)言編寫(xiě)APP程序,可實(shí)現(xiàn)心率/體溫值采集、對(duì)理療設(shè)備開(kāi)/關(guān)、手動(dòng)調(diào)溫功能、預(yù)警和點(diǎn)火功能等。其中:緊急按鍵實(shí)現(xiàn)對(duì)理療設(shè)備緊急處理,即關(guān)閉總電源;點(diǎn)火是輔助功能,作用為防止理療過(guò)程中出現(xiàn)火滅問(wèn)題。APP軟件基于Android 4.03設(shè)計(jì),大部分安卓智能手機(jī)都可下載安裝,大小在333 KB左右,其界面由多種控件組成,如表2所示。
4 ? ?系統(tǒng)調(diào)試及數(shù)據(jù)分析
該系統(tǒng)調(diào)試主要內(nèi)容包含:上位機(jī)LabVIEW、APP客戶端功能測(cè)試、下位機(jī)數(shù)據(jù)采集準(zhǔn)確度和理療設(shè)備工作狀態(tài)受控情況,系統(tǒng)整體實(shí)物圖如圖8所示。
由圖8可見(jiàn),理療設(shè)備整體外觀為長(zhǎng)方形盒體,頂端由傳感器模塊、控制模塊組成,前端包含顯示屏、功能按鍵(含升溫、降溫及一鍵啟動(dòng)),內(nèi)部置有點(diǎn)燃艾條孔洞,孔洞上端是散熱裝置。艾灸理療設(shè)備具備自動(dòng)調(diào)溫功能,相對(duì)于傳統(tǒng)艾灸盒而言,其操作簡(jiǎn)單、使用安全,功能更加人性化。
4.1 ?LabVIEW上位機(jī)測(cè)試
在上位機(jī)LabVIEW測(cè)試過(guò)程中,串口號(hào)選擇COM11端口,波特率9 600,首先點(diǎn)擊串口通信模塊“連接”按鈕,實(shí)現(xiàn)上位機(jī)與下位機(jī)終端連接;然后點(diǎn)擊體溫計(jì)模塊“工作開(kāi)關(guān)”按鈕,測(cè)量體溫并實(shí)時(shí)顯示;最后點(diǎn)擊心率測(cè)量模塊“工作開(kāi)關(guān)”按鈕,測(cè)量心率并實(shí)時(shí)顯示。在測(cè)試中,上位機(jī)顯示人體溫度37.5 ℃,心率76次/min,與專(zhuān)業(yè)測(cè)量設(shè)備數(shù)據(jù)相符;測(cè)試艾灸理療控制界面中各個(gè)控制按鍵功能,發(fā)現(xiàn)與理療設(shè)備實(shí)際工作狀態(tài)一致。LabVIEW測(cè)試效果如圖9所示。
4.2 ?手機(jī)端APP測(cè)試
APP客戶端主要測(cè)試藍(lán)牙連接、下位機(jī)心率/體溫?cái)?shù)據(jù)接收以及理療設(shè)備按鍵控制等功能。在測(cè)試過(guò)程中,點(diǎn)擊“打開(kāi)藍(lán)牙”,啟動(dòng)手機(jī)藍(lán)牙功能,下拉滾動(dòng)條,選擇匹配設(shè)備,點(diǎn)擊“連接”后,APP客戶端與下位機(jī)建立通信,完成心率/體溫值測(cè)試,測(cè)試效果如圖10所示,與下位機(jī)健康數(shù)據(jù)相符。
4.3 ? 數(shù)據(jù)分析
4.3.1人體心率數(shù)據(jù)分析
人體心率無(wú)時(shí)不在波動(dòng),多次測(cè)量可減少測(cè)量誤差。本文使用下位機(jī)心率檢測(cè)模塊以及市場(chǎng)上專(zhuān)業(yè)的心率檢測(cè)設(shè)備,針對(duì)不同受檢者在不同時(shí)間,分別采集了10次心率數(shù)據(jù),對(duì)兩組數(shù)據(jù)進(jìn)行對(duì)比,如表3所示。
如圖11所示為測(cè)試數(shù)據(jù)效果圖。圖11(a)直觀反映了該心率檢測(cè)模塊和第三方測(cè)量數(shù)據(jù)大致相符,相對(duì)誤差控制在±4. 3%以內(nèi),總體來(lái)說(shuō),測(cè)量結(jié)果具有一定的可靠性,值得應(yīng)用推廣。人體溫度測(cè)試方法類(lèi)似,測(cè)試結(jié)果較理想,不再贅述。
4.3.2理療設(shè)備溫度數(shù)據(jù)分析
以下主要完成對(duì)控溫時(shí)間和控溫精度的測(cè)量。在測(cè)試過(guò)程中,將艾灸理療設(shè)備目標(biāo)溫度設(shè)定為50 ℃,分別測(cè)量不同初始溫度(20~80 ℃)下達(dá)到穩(wěn)定狀態(tài)的時(shí)間及溫度誤差。在控制精度方面,理療設(shè)備自動(dòng)控溫相對(duì)誤差可達(dá)±0.4%以內(nèi),測(cè)量結(jié)果如表4所示。
如圖11(b)控溫時(shí)間結(jié)果顯示,預(yù)先設(shè)定溫度值為50 ℃,初始值在20~50 ℃范圍內(nèi)是升溫過(guò)程,必須等待艾條燃燒,而艾條燃燒是一個(gè)緩慢過(guò)程,此過(guò)程會(huì)花費(fèi)一定時(shí)間;初始溫度越是接近50 ℃用時(shí)越少;當(dāng)初始溫度在50~80 ℃之間時(shí),是降溫過(guò)程,因艾條原本處于高溫高熱狀態(tài),降溫過(guò)程所用時(shí)間就會(huì)較多??傮w來(lái)說(shuō),控溫時(shí)間尚可,基本能達(dá)到用戶需求。
5 ? ?結(jié)論
本文基于嵌入式技術(shù)、傳感器檢測(cè)技術(shù)及無(wú)線通信技術(shù),針對(duì)行動(dòng)不便的空巢老人群體,設(shè)計(jì)了一套家用個(gè)人健康管理系統(tǒng),該系統(tǒng)具備心率/體溫檢測(cè)和艾灸理療等功能。LabVIEW上位機(jī)和手機(jī)APP中人性化的交互界面設(shè)計(jì),能方便老人觀察體檢數(shù)據(jù),同時(shí),可智能控制艾灸理療設(shè)備的工作狀態(tài)。系統(tǒng)調(diào)試結(jié)果表明:心率/溫度測(cè)量結(jié)果準(zhǔn)確可靠,艾灸理療功能運(yùn)行穩(wěn)定,能滿足老年人群體對(duì)健康理療的基本需求。當(dāng)然,該系統(tǒng)尚存在不足之處,其目前僅支持心率/體溫基礎(chǔ)測(cè)量,對(duì)于人體其他日常健康指標(biāo)的測(cè)量功能還有待進(jìn)一步完善。
參考文獻(xiàn):
[1] 楊菊華,王蘇蘇,劉軼鋒.新中國(guó)70年:人口老齡化發(fā)展趨勢(shì)分析[J].中國(guó)人口科學(xué),2019(4):30-42.
[2] 楊裴裴,李勝嵐,石恒瑞.基于STM32和Onenet的智能健康管家的設(shè)計(jì)與實(shí)現(xiàn)[J].電子產(chǎn)品世界,2019,26(8):60-64.
[3] 張自達(dá).基于STM32的多功能智能健康手表設(shè)計(jì)[D].銀川:寧夏大學(xué),2018.
[4] 張敏,石倩倩,張珊珊,等.基于語(yǔ)音識(shí)別和STM32的老年人健康狀況監(jiān)護(hù)系統(tǒng)的設(shè)計(jì)[J].電子質(zhì)量,2017(5):57-59.
[5] 尹繼武,付奎.基于STM32的生理參數(shù)無(wú)線監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].陜西理工大學(xué)學(xué)報(bào)(自然科學(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)牙的遙控開(kāi)關(guān)控制系統(tǒng)設(shè)計(jì)[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)練計(jì)劃項(xiàng)目“智能調(diào)溫艾灸盒”(201710381089)
作者簡(jiǎn)介:蔡俊,助教,碩士,主要研究方向?yàn)樾盘?hào)處理與無(wú)線通信、計(jì)算機(jī)圖形圖像處理。
江蘇理工學(xué)院學(xué)報(bào)2020年2期