吳全玉 賈恩祥 戴飛杰 張文悉 王燁 劉曉杰
摘? ? 要:心率、血氧和體溫都是人體重要的生理信息,設計出體積小和便攜式的系統(tǒng)測量裝置,將會有較大的社會和臨床經(jīng)濟效益。嘗試以STM32F103C8T6為控制器,設計一種便攜監(jiān)測設備。通過MAX30102、GY-MCU90615模塊采集心率血氧及體溫數(shù)據(jù),經(jīng)藍牙模塊將數(shù)據(jù)發(fā)送到Android智能機解析顯示,實現(xiàn)了基于Android系統(tǒng)的心率、血氧、體溫監(jiān)測系統(tǒng)。經(jīng)測試驗證,該采集系統(tǒng)工作穩(wěn)定可靠。
關鍵詞:心率血氧檢測; 體溫檢測; STM32F103C8T6; Android;藍牙通訊
中圖分類號:R318.04;TN929.53? ? ? ? ? ? ? ? ? 文獻標識碼:A? ? ? ? ? ? ? ? ?文章編號:2095-7394(2020)04-0053-09
心率和血氧飽和度是人體重要的生理指標[1],反映了人體的健康狀況。隨著信息技術的發(fā)展,智能健康佩戴設備普及度大幅提升[2-5]。薛俊偉等人設計了一種基于藍牙低功耗技術的可穿戴血氧飽和度監(jiān)測設備,能夠連續(xù)檢測人體血氧飽和度和脈率[6],具有低功耗和可穿戴等特點,但是當模擬儀輸出血氧飽和度低于75%時,設備的檢測精度受到影響。張政豐等人針對現(xiàn)有可穿戴設備的心率檢測方法進行了研究,發(fā)現(xiàn)不同活動狀態(tài)下人體的心率變化很大,但是沒有給出相應的App程序進行實時的檢測[7]。徐盼盼等人介紹了一種基于TI公司 AFE4400集成芯片的血氧模擬采集電路,他們的研究主要是簡化了電路設計、降低了系統(tǒng)功耗和減小了電路尺寸,提高硬件的便攜性,但在整個系統(tǒng)網(wǎng)絡操作開發(fā)方面略顯不足[8]。隨著網(wǎng)絡云平臺技術的發(fā)展,一些具有檢測人體生理參數(shù)功能的產(chǎn)品也在向可穿戴和網(wǎng)絡實時監(jiān)測等方向發(fā)展。如小米公司的可穿戴產(chǎn)品“小米手環(huán)”,可以提供高精準的心率、睡眠質(zhì)量監(jiān)測;國內(nèi)一些廠家生產(chǎn)的低成本指夾儀,可以進行血氧飽和度和心率的檢測,并通過OLED屏顯示數(shù)據(jù)。
筆者設計的基于Android系統(tǒng)的心率、血氧、體溫監(jiān)測系統(tǒng)具有便攜、低功耗、無線傳輸?shù)忍攸c。該系統(tǒng)由硬件端和軟件端兩部分組成。硬件端由傳感器模塊,藍牙通信模塊,STM32核心電路以及電源穩(wěn)壓電路組成。傳感器模塊由MAX30102心率血氧模塊和GY-MCU90615紅外測溫模塊組成,它將采集完成的數(shù)據(jù),通過藍牙模塊發(fā)送至安卓端,解析數(shù)據(jù)并顯示在界面上。具體系統(tǒng)設計如圖1所示。
設備成品可以幫助用戶隨時隨地較為準確地測量其身體的血氧飽和度、心率等生理指標,從而更好地掌握自己的身體狀況。從醫(yī)學上分析,血氧飽和度和心率兩項生理指標作為醫(yī)院診治的重要數(shù)據(jù),血氧飽和度在95及以上為正常指標,心率在每分鐘60~100之間為正常指標。當用戶在不同時間段多次測量結(jié)果均不符合上述兩項指標時,表明身體有異樣,建議就醫(yī)詳查。
1? ? 檢測原理
1.1? 心率血氧檢測原理
光電容積法作為監(jiān)護測量中最常見的手段,具有方法簡單、佩戴方便、可靠性高等特點,其基本原理是利用人體組織在血管搏動時產(chǎn)生的透光率差異來進行心率和血氧飽和度的測量,所使用的傳感器由光源和光電變換器[9-11]兩部分組成,通過綁帶或夾子固定在病人的手指、手腕或耳垂上。光源一般采用對動脈血中氧合血紅蛋白(HbO2)和血紅蛋白(Hb)有選擇性的特定波長的發(fā)光二極管(一般選用660 nm附近的紅光和940 nm附近的紅外光)[12]。當光束透過人體外周血管,由于動脈搏動造成血容積變化致使透光率發(fā)生改變,此時由光電變換器接收經(jīng)人體組織反射的光線,轉(zhuǎn)變?yōu)殡娦盘柌⑵浞糯蠛洼敵?。由于脈搏是隨心臟的搏動而周期性變化的信號,動脈血管容積也周期性變化,因此,光電變換器的電信號變化周期就是脈搏率。同時,根據(jù)血氧飽和度(SaO2)的定義,其表達為:
1.2? ?體溫檢測原理
紅外測溫廣泛應用于非接觸式溫度測量設備[13],其原理是將物體發(fā)射的紅外線具有的輻射能轉(zhuǎn)變成電信號,紅外線輻射能的大小與物體自身的溫度相對應,根據(jù)所轉(zhuǎn)變的電信號值來確定被測體溫度。
2? ?硬件系統(tǒng)設計
2.1? 信號采集模塊
如圖3(a),Maxim公司生產(chǎn)的MAX30102是一種高靈敏度血氧和心率生物傳感器[14]。其集成了LED及驅(qū)動,光感應及AD轉(zhuǎn)換,環(huán)境光干擾消除及數(shù)字濾波部分,只留有數(shù)字接口,極大地減輕了開發(fā)者的設計負擔。
如圖3(b),GY-MCU90615是一種低成本紅外溫度模塊,具有低功耗、體積小等優(yōu)點。其工作原理是通過單片機讀取紅外溫度數(shù)據(jù),串口通信方式輸出。采集模塊的電路連接如圖4所示。
2.2? 藍牙模塊
HC-05是一款高性能主從一體的藍牙模塊,可直接作串口使用。實物與電路連接見圖5。
2.3? 電源電路
在后續(xù)電路設計中,考慮到供電電池的電壓在3.7 V附近,選用TPS7333芯片穩(wěn)壓,該芯片壓差在0.3~0.4 V內(nèi),較為穩(wěn)定。電源電路見圖6 。
2.4? 主控芯片電路
STM32核心電路主要包括4個部分:(1) 復位電路;(2) 晶振電路;(3) 串口下載;(4) I/O口。
STM32外接了兩個晶振為其內(nèi)部系統(tǒng)提供時鐘源。一個8 M的高速外部時鐘(HSE),為系統(tǒng)提供較精確的主頻;另一個是32.768 M的低速外部時鐘(LSE),用于提供精準的時鐘功能。系統(tǒng)核心板具體原理圖如圖7所示。
3? ?軟件開發(fā)及算法
3.1? ?通信協(xié)議
通信協(xié)議是影響系統(tǒng)穩(wěn)定性的主要因素[15]。筆者設計的下位機端需要使用兩個串口,即 USART1和USART2,一個中斷端口,兩個I2C模擬端口。其中,USART1串口連接紅外測溫模塊,USART2串口連接藍牙模塊。
MAX30102模塊采用I2C通信協(xié)議,為保證穩(wěn)定性,采用軟件模擬I2C的方式;由圖5,USART2功能引腳PA2(TXD)、PA3(RXD)作為下位機與上位機的通信接口,波特率9 600 bps。GY-MCU90615模塊通過USRAT1串口與STM32通信,固定封包數(shù)9幀,協(xié)議如下。
(1)幀頭:Byte0與Byte1固定幀頭0x5A。
(2)數(shù)據(jù)位:Byte2表示本幀數(shù)據(jù)類型,Byte3表示數(shù)據(jù)量(4個字節(jié)數(shù)據(jù) 2 組為一個參數(shù)),Byte4 表示目標數(shù)據(jù)的高8位,Byte5表示目標數(shù)據(jù)的低8位,Byte6表示環(huán)境溫度的數(shù)據(jù)高8位,Byte7表示環(huán)境溫度的數(shù)據(jù)低 8位。
(3)幀尾:Byte8范圍在0x00~0xFF是校驗和(前面數(shù)據(jù)累加和,僅保留低8位)。
通過幀頭、幀尾及幀長來判斷數(shù)據(jù)的正確性,從正確的幀組數(shù)據(jù)位中提取所需的數(shù)據(jù)并解析,即可完成數(shù)據(jù)轉(zhuǎn)化。
3.2? 下位機固件開發(fā)
主函數(shù)將心率血氧采集和紅外測溫程序進行了整合。主要邏輯:首先讀出串口數(shù)值,判斷串口所發(fā)送的數(shù)據(jù)能正確解析時,再發(fā)送一條查詢指令;之后,檢查心率血氧檢測的中斷觸發(fā)情況,若已觸發(fā)中斷,說明心率血氧模塊可以正常工作,然后進行紅光和紅外光的讀取,每次讀取100組并將其存入數(shù)組,讀取完畢后,進行AD轉(zhuǎn)換。由于初始階段讀取得值之和不足500組,所以在5 s左右的時間內(nèi)無法顯示數(shù)據(jù),之后正常工作并對采集的500組數(shù)據(jù)進行均值濾波。判斷采集的心率和血氧值是否正常,確認采集值有效,再進行組幀發(fā)送。發(fā)送完成之后,進行數(shù)組的數(shù)據(jù)順移,在此過程中,前面的數(shù)據(jù)會被丟棄,永遠只保存數(shù)組內(nèi)500個數(shù)據(jù)。
紅外測溫模塊是通過串口通信的方式工作,其原理是模塊向設備發(fā)送指令0xa5+0x15+0xBA,設備再返回一段數(shù)據(jù),取其中有效數(shù)據(jù)即可。在此程序中,使用了命令查詢的方法,即每次都需要發(fā)送指令,傳感器才能返回值。
3.3? 算法簡述
心率血氧檢測的算法移植自Maxim公司官方庫。程序中需要用到的主要函數(shù)有:
將讀取到的紅光和紅外光的參數(shù)放入數(shù)組內(nèi),并將紅光和紅外光的數(shù)組名填進對應的數(shù)組參數(shù)名中。參數(shù)*pn_heart_rate和*pn_spo2是輸出結(jié)果的變量。*pn_heart_rate輸出心率,*pn_spo2輸出血氧濃度。*pch_spo2_valid和*pch_hr_valid為判斷采集到的心率和血氧的有效性,如果為1,即表示采集到的對應的參數(shù)有效;如果為0,即表示采集到的數(shù)值誤差過大,并判定為無效值。無效值用-999表示,只輸出有效值。
3.4? 上位機軟件開發(fā)
上位機APP采用Android Studio編寫,主要分為藍牙連接、數(shù)據(jù)處理、UI刷新、曲線圖繪制4個部分。具體軟件主流程如圖8所示。
藍牙連接的前提是手機已經(jīng)與藍牙模塊配對成功。數(shù)據(jù)處理主要是對幀數(shù)據(jù)進行解析。UI刷新采用handler機制,handler根據(jù)sendHandlerMessage發(fā)送的msg參數(shù)來確定刷新UI的哪個部分。在獲取解析的數(shù)據(jù)后,調(diào)用github組件進行曲線圖繪制。
如圖9所示,APP具有主界面(a)以及全部監(jiān)測(b)和單一監(jiān)測(c)兩類分頁面,用于顯示信號當前值及其變化曲線。
4? ?測試結(jié)果
如圖10所示,測試條件為室內(nèi)、氣溫26 ℃、測試者身體狀態(tài)正常(未劇烈運動),選擇在室內(nèi)采集人體靜態(tài)數(shù)據(jù)[16]的主要原因是噪音、光線等干擾因素較少,更利于提取有效數(shù)據(jù)。
接通設備電池電源,藍牙模塊LED常閃,開啟安卓APP進行測試,當藍牙模塊LED閃頻降低,表明上位機與下位機通訊成功。Android端將下位機采集到的心率、溫度以及血氧濃度值實時顯示,并以折線圖的形式表現(xiàn)出來。由于藍牙在接收開始數(shù)據(jù)的約前5 s內(nèi),系統(tǒng)所接收的數(shù)據(jù)不足500組,無法顯示,等待接收500組數(shù)據(jù)后,UI界面將會刷新顯示。
5? ?結(jié)語
簡要介紹了基于Android系統(tǒng)的心率、血氧、體溫監(jiān)測系統(tǒng)設計,旨在提供一種面向家用等環(huán)境下的智能監(jiān)測設備。經(jīng)測試,該系統(tǒng)能夠較為準確地檢測各項信號并在Android端實時顯示數(shù)據(jù)和變化曲線,具有低成本、易于攜帶[17]、操作簡單、無線傳輸?shù)忍攸c。
參考文獻:
[1] 陳孝英,楊濟民.基于STM32血氧心率檢測儀的研制[J].電腦知識與技術,2017,13(15):231-233.
[2] 尚猛,李輝,萬只鵬,等.海外用戶對智能健康穿戴設備持續(xù)使用意愿的模型構(gòu)建及實證研究:以小米運動手環(huán)在韓用戶群為例[J].數(shù)學的實踐與認識,2019,49(7):9-19.
[3] LING T H Y , WONG L J , TAN J E H , et al. Non-intrusive Human Body Temperature Acquisition and Monitoring System[C].International Conference on Intelligent Systems. IEEE, 2015:16-21.
[4] 秦穎, 張晶, 蔡靖, 等. 基于交直流分離的反射式血氧飽和度測量系統(tǒng)的設計[J]. 傳感技術學報, 2015(6):933-937.
[5] MAEDA Y , SEKINE M , TAMURA T . Relationship Between Measurement Site and Motion Artifacts in Wearable Reflected Photoplethysmography[J]. Journal of Medical Systems, 2011, 35(5):969-997.
[6] 薛俊偉,黃岳山,杜欣,等.藍牙低功耗可穿戴血氧監(jiān)測設備的設計[J].中國生物醫(yī)學工程學報,2015,34(6):701-707.
[7] 張政豐,涂亞慶,李明,等.基于PPG的可穿戴設備心率檢測方法[J].后勤工程學院學報,2017,33(4):93-96.
[8] 徐盼盼, 徐冰俏, 徐文龍. 基于AFE4400的脈搏血氧飽和度檢測系統(tǒng)[J]. 激光與紅外, 2015(3):320-324.
[9] LIANG Y, CHEN Z, LIU G , et al.? A new, short-recorded photoplethysmogram dataset for blood pressure monitoring in China[J]. Scientific Data. 2018(5).DOI:10.1038/sdate.2018.20.
[10] HWANG S, SEO J O , JEBELLI H , et al. Feasibility analysis of heart rate monitoring of construction workers using a photoplethysmography (PPG) sensor embedded in a wristband-type activity tracker[J]. Automation in Construction, 2016:S0926580516301832.
[11] LEE S M , SHIN H S , HAHM C Y . Effective PPG sensor placement for reflected red and green light, and infrared wristband-type photoplethysmography[C].2016 18th International Conference on Advanced Communication Technology (ICACT). IEEE, 2016.
[12] 朱明善,曾碧新.基于Android智能手機的血氧飽和度、心率、呼吸頻率監(jiān)測系統(tǒng)設計[J].中國醫(yī)療器械雜志,2015, 39(3):183-186.
[13] 蘇建奎,桂星雨.醫(yī)用紅外體溫測量儀的現(xiàn)狀與發(fā)展[J].醫(yī)療衛(wèi)生裝備,2016,37(1):110-112.
[14] 陳翠.Maxim MAX30102可穿戴血氧和心率生物傳感器解決方案[J].世界電子元器件,2018(4):45-48.
[15] 張偉, 王革輝. 可穿戴設備中的心率檢測技術[J]. 上海紡織科技, 2017(1):12-15.
[16] DING X R, ZHANG Y T, LIU J, et al. Continuous Cuffless Blood Pressure Estimation Using Pulse Transit Time and Photoplethysmogram Intensity Ratio.[J]. IEEE Trans Biomed Eng, 2016, 63(5):964-972.
[17] 廖顯輝.基于健康管理的可穿戴式智能設備發(fā)展桎梏及未來路徑[J].體育科技文獻通報,2019,27(5):139-140.
責任編輯? ? 張志釗