吳紹聰,高常青,曲愛濤,余 超,楊 波
(濟南大學(xué),山東 濟南 250022)
隨著科技的發(fā)展,智能醫(yī)療逐漸成為了人們關(guān)注的方向。心率作為人體的一項重要生命體征,在臨床監(jiān)護中可以作為醫(yī)生實時判斷病人生理變化的重要指標(biāo)。目前,大部分醫(yī)院通過心率監(jiān)測儀器對病人的心率進行檢測,醫(yī)護人員需要定期查看病人心率情況并進行登記。這種情況下,一方面需要護士定期對病患進行觀察,增加了護士的工作量,而且人工登記的方式容易產(chǎn)生失誤;另一方面,當(dāng)病患的心率出現(xiàn)緊急情況時,護士較難及時發(fā)現(xiàn)并治療。同時心率監(jiān)測儀體積龐大,價格相對昂貴,檢測時還需要在患者身體上進行復(fù)雜的布線。鑒于以上問題,本文設(shè)計了一款心率檢測系統(tǒng),可用于實時檢測被測者的心率情況,并且可以通過無線網(wǎng)絡(luò)進行遠程通信,用戶也可以遠程監(jiān)測被測者的心率信息。該系統(tǒng)省去了復(fù)雜的布線環(huán)節(jié),節(jié)約了成本和工作量。
本文開發(fā)的基于ZigBee的心率檢測系統(tǒng),其總體結(jié)構(gòu)如圖1所示。系統(tǒng)主要由心率監(jiān)測終端、ZigBee無線通信網(wǎng)絡(luò)、監(jiān)測軟件系統(tǒng)三部分組成。
本系統(tǒng)通過心率監(jiān)測終端設(shè)備對病人的心率進行檢測,利用處理器對采集的數(shù)據(jù)信號進行算法處理,獲取最終心率信息;然后采用ZigBee無線通信模塊實現(xiàn)數(shù)據(jù)的遠程傳輸,將信號發(fā)送至PC主機端;最后在軟件平臺中進行圖形化顯示,同時連接SQL Server數(shù)據(jù)庫進行數(shù)據(jù)保存,為后續(xù)醫(yī)護人員治療病人提供參考。
圖1 系統(tǒng)總體結(jié)構(gòu)
系統(tǒng)的監(jiān)測終端主要負責(zé)對病人的心率進行實時檢測。主要由Arduino UNO控制板、XBee S2C無線模塊、MAX30102心率傳感器、帶IC接口的OLED顯示屏和蜂鳴器構(gòu)成。結(jié)構(gòu)如圖2所示。
圖2 監(jiān)測終端結(jié)構(gòu)
監(jiān)測系統(tǒng)的主控單元采用Arduino UNO處理器。Arduino是一個開放源碼式的電子平臺,提供易用、靈活的硬件和軟件。Arduino UNO作為目前使用率最多的開發(fā)板,其處理器采用ATMEGA328P芯片,擁有存儲量大的FLASH和RAM;同時具有豐富的I/O外圍接口,輸入電壓為7~12 V,工作電壓為5 V。它配有專門的USB接口,能夠通過USB線與電腦連接,實現(xiàn)程序的燒錄和數(shù)據(jù)傳輸,而且可以直接為開發(fā)板供電,開發(fā)板還可以通過AC-DC適配器或電源上電。
病人心率采集模塊采用Maxim公司2016年推出的心率傳感器MAX30102模塊。其本身集成了一個660 nm的紅光LED光源和一個880 nm的紅外光LED光源、光電檢測器、光器件以及對環(huán)境光進行抑制的低噪聲電子電路。芯片采用1.8 V內(nèi)核供電,標(biāo)準(zhǔn)的IC兼容通信接口,可以應(yīng)用于可穿戴設(shè)備上實現(xiàn)心率的采集檢測。其引腳SDA、SCL、VIN、GUD分別接于Arduino處理器的A4、A5、5 V、GND端口。
組網(wǎng)通信模塊采用XBee S2C無線模塊。該模塊是由美國DIGI公司開發(fā)的一款集成ZigBee協(xié)議的無線通信模塊。其工作頻段為2.4 GHz;與其他ZigBee模塊相比,具有良好的通信距離和抗干擾能力,能夠?qū)崿F(xiàn)遠程低功耗的數(shù)據(jù)傳輸。實際工作中模塊底板中的TX和RX引腳與Arduino控制器中的TX和RX引腳連接使用。
信息顯示采用0.96寸OLED顯示屏,帶有IC接口與Arduino控制器連接,用于終端顯示病人的心率信息。報警模塊采用蜂鳴器進行報警,當(dāng)病人的心率出現(xiàn)異常時,蜂鳴器聲音提示醫(yī)護人員進行治療。電源模塊為Arduino控制器模塊、MAX30102心率傳感器、XBee S2C通信模塊、顯示屏和報警模塊進行穩(wěn)定電壓輸出。
系統(tǒng)的軟件部分主要包括心率監(jiān)測終端設(shè)計、信號處理以及上位機信號顯示部分。心率監(jiān)測終端部分采用C語言在Arduino IDE軟件程序開發(fā)平臺上完成編程,利用Serial串口函數(shù)與ZigBee無線通信模塊進行數(shù)據(jù)傳輸。上位機信號顯示部分通過VB.NET在Visual Studio平臺上進行設(shè)計。
心率傳感器工作原理為光電容積法,即驅(qū)動兩種不同波長的光源交替照射至病人的手腕橈動脈處。由于皮膚內(nèi)含有血管組織,會對照射的光線進行吸收。當(dāng)心臟收縮或舒張時,血管中血容量發(fā)生變化,光吸收量相應(yīng)也產(chǎn)生變化。光強度的周期性變化反映了心臟的脈動周期,形成脈搏波信號。
心率檢測終端流程如圖3所示。系統(tǒng)在實際工作過程中,初始化操作后,MAX30102心率傳感器模塊首先對病人的信號進行采集,從而獲得光電容積脈搏波信號。然后將信號傳輸至Arduino處理器,處理器通過微分閾值法對信號進行處理并提取特征點,后續(xù)通過特征點峰值對病人心率進行計算并采用OLED顯示信息;在采集數(shù)據(jù)后通過ZigBee無線通信網(wǎng)絡(luò)進行數(shù)據(jù)傳輸,最終上傳至上位機平臺進行圖形化顯示。
圖3 心率檢測終端流程
根據(jù)前面介紹的心率檢測原理,處理器需要對采集的脈搏波信號進行處理,再進行最終心率的計算。因此,系統(tǒng)采用微分閾值法,將脈搏波信號中具有陡峭下降沿或上升沿形態(tài)的特征點提取出來,從而確定峰值坐標(biāo),計算出病人心率。
設(shè)是經(jīng)過濾波去噪后的光電容積脈搏波信號,是對的一次微分值,計算公式如下:
式中:為一次閾值處理信號;為經(jīng)驗值,實驗中經(jīng)過多次取值,最終確定=2。
其中:為二次閾值處理信號;值為選取一段時間內(nèi)所有的值并截取的最大值的一半的值。光電容積脈搏信號示意圖如圖4所示。圖5和圖6分別為經(jīng)過兩次閾值處理的信號圖。
從圖中可以看出,經(jīng)過一次閾值處理可以取消原信號的下降沿數(shù)據(jù),保留部分重搏脈的影響;經(jīng)過二次閾值處理后波形類似于三角形,只有零與非零取值,根據(jù)相鄰峰值點可以計算出當(dāng)前心率。
圖4 光電容積脈搏圖
圖5 一次閾值處理示意圖
圖6 二次閾值處理示意圖
心率監(jiān)測終端不斷采集病人的心率數(shù)據(jù)并通過無線通信網(wǎng)絡(luò)上傳至PC電腦端。本文在Visual Studio平臺上進行上位機管理界面的設(shè)計,上位機主要用于對實時監(jiān)測的數(shù)據(jù)進行接收和保存。數(shù)據(jù)庫中有心率記錄表用于保存相應(yīng)的數(shù)據(jù),用戶可以通過上位機心率查詢界面對保存的記錄進行查詢,并以波形信息顯示,可以為醫(yī)生對病人進行后續(xù)的診療提供數(shù)據(jù)保證。本系統(tǒng)的信號顯示界面如圖7所示。
圖7 心率記錄顯示界面
本文采用Arduino UNO處理器、XBee S2C無線模塊、MAX30102心率傳感器等進行硬件搭建,結(jié)合上位機軟件開發(fā)了一套基于ZigBee的遠程心率監(jiān)測系統(tǒng)。該系統(tǒng)能夠有效地對病人心率數(shù)據(jù)進行采集并具備報警功能,還提供了上位機平臺可以對數(shù)據(jù)進行接收、顯示和存儲,減少了醫(yī)護人員的工作量,提高了監(jiān)測效率。