【作 者】陳蓓蓓,盧路瑤
溫州醫(yī)科大學(xué)附屬第一醫(yī)院,溫州醫(yī)科大學(xué) 生物醫(yī)學(xué)工程學(xué)院,溫州市,325000
在傳統(tǒng)醫(yī)院病房中,受傷較重的病人大多需要他人的陪同照料,但不是所有的家庭都能負(fù)擔(dān)起護(hù)工的費(fèi)用,或是長(zhǎng)期不工作帶來(lái)的損失[1];對(duì)于一些特殊的住院病人需要一些機(jī)器輔助治療,而操作設(shè)備的醫(yī)護(hù)人員人數(shù)有限,病患較多,常常導(dǎo)致不能及時(shí)撤下醫(yī)療設(shè)備。為克服或者改善這種情況,使病患和醫(yī)護(hù)人員都能省時(shí)省力解決問(wèn)題,設(shè)計(jì)了智能護(hù)理系統(tǒng),可以實(shí)現(xiàn)護(hù)士在手機(jī)上就能看到哪位病人已經(jīng)做完診療,快速、準(zhǔn)確找到對(duì)應(yīng)的患者,為其撤下裝置[2]。此外,對(duì)于一些手腳不便的病人,可以在不麻煩他人的情況下自行完成例如關(guān)燈、關(guān)電視之類(lèi)改變病房?jī)?nèi)環(huán)境的操作,盡量做到病人躺在床上可以調(diào)節(jié)平臥、半臥、直坐、翻身等姿勢(shì)調(diào)節(jié),以達(dá)到減輕病人家屬及醫(yī)護(hù)人員的負(fù)擔(dān)。
智能護(hù)理系統(tǒng)單片機(jī)端主要由STM32單片機(jī)小系統(tǒng)、電源部分、電機(jī)控制部分、溫濕度監(jiān)控部分、體溫及心率測(cè)量部分、LCD液晶顯示模塊和蜂鳴器報(bào)警部分組成[3],系統(tǒng)控制的實(shí)現(xiàn)方案,如圖1所示。
圖1 系統(tǒng)控制的實(shí)現(xiàn)方案Fig.1 The realization scheme of system control
STM32 mini板需要用+5 V 的直流電壓供電,每個(gè)并行IO口引腳輸出的電壓最大也不會(huì)超過(guò)3 V左右,但我們需要用到的直流電機(jī)需要5 V直流電壓供電,由于單片機(jī)的IO電平電壓不足以直接驅(qū)動(dòng)直流電機(jī),因此光靠STM32的IO口輸出的信號(hào)不足以控制直流電機(jī),所以需要采用驅(qū)動(dòng)電路(ULN2803),電機(jī)控制電路,如圖2所示。病床機(jī)械部分依靠?jī)蓚€(gè)步進(jìn)電機(jī)帶動(dòng),起翻身和起身作用。步進(jìn)電機(jī)通過(guò)ULN2003與單片機(jī)連接。
圖2 電機(jī)控制電路Fig.2 The circuit diagram of motor control
GY-39模塊工作電壓為3 V~5 V,功耗低,安裝方便。溫度測(cè)量范圍為-40oC~85oC,濕度測(cè)量范圍為0%~100%,能夠滿(mǎn)足本系統(tǒng)設(shè)計(jì)的要求[4]。其工作過(guò)程是:MCU收集各種傳感器數(shù)據(jù),進(jìn)行統(tǒng)一處理,并且直接輸出所計(jì)算出的結(jié)果。STM32通過(guò)串行端口發(fā)送0×45到GY39模塊。然后,GY39模塊通過(guò)串行端口發(fā)送測(cè)量數(shù)據(jù)到STM32 MCU。STM32把所測(cè)得的溫度值和濕度值顯示到LCD上,并且通過(guò)對(duì)比預(yù)設(shè)值來(lái)判斷是否需要報(bào)警,溫濕度監(jiān)控電路,如圖3所示。
圖3 溫濕度監(jiān)控電路Fig.3 The circuit diagram of temperature and humidity monitor
藍(lán)牙模塊用于與軟件的交互,智能護(hù)理系統(tǒng)選用HC05型號(hào)的藍(lán)牙模塊,它是一款高性能主從一體藍(lán)牙串口模塊,作為一個(gè)藍(lán)牙轉(zhuǎn)串口的設(shè)備,只要使用串口編程就能使用,并且可兼容安卓設(shè)備實(shí)現(xiàn)數(shù)據(jù)透?jìng)?。HC05的RX和TX腳分別連接至單片機(jī)的PA2和PA3腳,藍(lán)牙電路連接,如圖4所示。
圖4 藍(lán)牙電路連接Fig.4 The circuit diagram of Bluetooth connection
DS18B20體溫模塊提供9位溫度讀數(shù),只需一根線便可連接單片機(jī)與DS18B20[5]。為了確保DS18B20能完成準(zhǔn)確的溫度變換,當(dāng)溫度變換發(fā)生時(shí),I/O線上必須提供足夠的功率。因此在I/O線上提供上拉電阻,以使在有效溫度變換期間DS18B20得到足夠電源電壓,從而達(dá)到足夠的功率DS18B20的引腳1接地;引腳2與單片機(jī)P55相連,并通過(guò)10 kΩ電阻與5 V電源相連使之鉗制在高電位;引腳3連接5 V電源;體溫檢測(cè)電路,如圖5所示。
圖5 體溫檢測(cè)電路Fig.5 The circuit diagram of temperature detection
收集心率信號(hào)用Pulsesensor脈搏心率傳感器。Pulsesensor脈搏心率傳感器可以戴在手指或者耳垂上。當(dāng)脈搏跳動(dòng)時(shí),指尖或者耳垂的動(dòng)脈血管血容量發(fā)生周期性變化[6]。光電傳感器一側(cè)的發(fā)光二極管發(fā)光透過(guò)指尖的光強(qiáng)度隨著動(dòng)脈血管血容量變換發(fā)生周期性變化,傳感器另一側(cè)的光電三極管就會(huì)接收到紅外光信號(hào)并轉(zhuǎn)化為電信號(hào),得到模擬心率的波形。為了方便單片機(jī)檢測(cè)心率傳感器的輸出信號(hào),選擇LM393比較器將波形進(jìn)行轉(zhuǎn)換,使傳感器輸出信號(hào)轉(zhuǎn)換為標(biāo)準(zhǔn)方波信號(hào),利于單片機(jī)采集,保證了信號(hào)的穩(wěn)定檢測(cè)。心率檢測(cè)硬件設(shè)計(jì)電路,如圖6所示。
圖6 心率檢測(cè)電路Fig.6 The circuit diagram of heart rate detection
智能護(hù)理系統(tǒng)APP設(shè)計(jì)采用的ANDROID集成開(kāi)發(fā)工具ANDROID Studio 提供有Bluetooth相關(guān)API,包括藍(lán)牙套接字,藍(lán)牙開(kāi)閉及狀態(tài)查詢(xún)等等,可以滿(mǎn)足系統(tǒng)APP軟件需要達(dá)到的功能。
智能護(hù)理系統(tǒng)APP設(shè)計(jì)作為控制端,將計(jì)劃好所有要用到的控件,用XAML語(yǔ)言和約束布局完成APP UI界面的設(shè)計(jì),隨后使用Java語(yǔ)言進(jìn)行代碼部分編寫(xiě)。首先實(shí)現(xiàn)與藍(lán)牙設(shè)備的連接和配對(duì)的功能,隨后實(shí)現(xiàn)數(shù)據(jù)的發(fā)送和接收、傳輸協(xié)議的制定,最后實(shí)現(xiàn)動(dòng)態(tài)波形的顯示。ANDROID端控制流程,如圖7所示。
圖7 ANDROID端控制流程Fig.7 The flowchart of Android-based control
智能護(hù)理系統(tǒng)初始化(包括液晶,ULN2003,體溫、心率傳感器,預(yù)設(shè)賦初值),調(diào)用電機(jī)、體溫、心率子程序,判斷壓力開(kāi)關(guān)是否閉合,電機(jī)按鍵是否閉合,體溫及心率是否有信號(hào)輸入,然后LCD顯示體溫和心率,并通過(guò)藍(lán)牙傳輸?shù)绞謾C(jī)APP,上述流程,如圖8所示。
圖8 智能護(hù)理系統(tǒng)主程序流程Fig.8 The flowchart of intelligent nursing system
藍(lán)牙通信使用的是藍(lán)牙Socket通信機(jī)制,服務(wù)端將首先建立一個(gè)服務(wù)器套接字,然后該套接字將開(kāi)始監(jiān)聽(tīng)客戶(hù)端是否有連接請(qǐng)求;客戶(hù)端則也建立一個(gè)客戶(hù)端套接字向服務(wù)端發(fā)起連接,此時(shí)如果沒(méi)有異常,那么兩臺(tái)設(shè)備便已配對(duì)成功;由于此時(shí)客戶(hù)端和服務(wù)端都會(huì)持有一個(gè)Socket,利用該Socket即可發(fā)送和接收數(shù)據(jù)了。
藍(lán)牙的連接通訊功能在使用前需在AndroidManifest.xml中添加與藍(lán)牙相關(guān)的權(quán)限。若想要在APP中使用藍(lán)牙,必須申請(qǐng)BLUETOOTH權(quán)限,若涉及更為復(fù)雜的操作,如掃描設(shè)備、操作藍(lán)牙設(shè)置等,還要申請(qǐng)BLUETOOTH_ADMIN權(quán)限,這是ANDROID出于風(fēng)險(xiǎn)管控的考慮而設(shè)置的。ANDROID 6.0以上版本在搜索周?chē)乃{(lán)牙設(shè)備,還需要申請(qǐng)位置權(quán)限ACCESS_COARSE_LOCATION或ACCESS_FINE_LOCATION,并且將手機(jī)的位置服務(wù)(定位 GPS)打開(kāi)。由于位置權(quán)限是“dangerous”級(jí)權(quán)限,除了需要在Manifest里申請(qǐng)之外,還需要在代碼中進(jìn)行動(dòng)態(tài)申請(qǐng)。
APP開(kāi)發(fā)中與藍(lán)牙相關(guān)的API都存在android.bluetooth包內(nèi),實(shí)現(xiàn)藍(lán)牙開(kāi)啟和閉合的類(lèi)是:BluetoothAdapter,它代表本地藍(lán)牙適配器,該BluetoothAdapter使所有藍(lán)牙裝置交互。采用BluetoothAdapter.getDefaultAdapter()方法可獲取到本地手機(jī)藍(lán)牙適配器,即進(jìn)行類(lèi)的實(shí)例化,實(shí)例化后使用BluetoothAdapter.isEnabled()獲取本地藍(lán)牙是否已打開(kāi),若返回值為T(mén)rue則表示本地藍(lán)牙已經(jīng)打開(kāi),可使用BluetoothAdapter.disable()方法關(guān)閉本地藍(lán)牙,若為False則表示本地藍(lán)牙是關(guān)閉狀態(tài),使用mBluetoothAdapter.enable()方法隱式打開(kāi)藍(lán)牙。
藍(lán)牙設(shè)備搜索的處理首先要檢測(cè)定位權(quán)限,如果是禁止?fàn)顟B(tài)則終止流程,若處于待詢(xún)問(wèn)狀態(tài)則前往申請(qǐng),為允許狀態(tài)則繼續(xù)流程。隨后檢測(cè)藍(lán)牙狀態(tài),如非STATE_ON則先用靜默方式打開(kāi)藍(lán)牙。接著,由于藍(lán)牙權(quán)限可能被禁止,需再次檢測(cè)藍(lán)牙狀態(tài),非STATE_ON時(shí)發(fā)送Intent打開(kāi)。
要在兩個(gè)設(shè)備之間連接,必須采用服務(wù)器和客戶(hù)端的機(jī)制。作為服務(wù)器,必須開(kāi)啟服務(wù)端Socket。作為客戶(hù)端,需要使用MAC地址向藍(lán)牙設(shè)備發(fā)起配對(duì)連接。當(dāng)服務(wù)器和客戶(hù)端在相同的RFCOMM通道之間,則已相互連接。以這種方式,每個(gè)設(shè)備可以獲取輸入和輸出流并交換數(shù)據(jù)。服務(wù)器和客戶(hù)端可以獲取以不同的方式所需要的BluetoothSocket。在智能護(hù)理系統(tǒng)中,手機(jī)扮演服務(wù)端的身份,硬件則扮演客戶(hù)端的角色。作為服務(wù)端連接首先需要調(diào)用cre ateRfcommSocketToServiceRecord(UUID)方法獲取到客戶(hù)端接口,作為串口收發(fā)UUID需為"00001101-0000-1000-8000-00805F9B34FB",連接成功后,將返回一個(gè)連接的BluetoothSocket,此時(shí)設(shè)備已配對(duì)成功,如要接受其他連接時(shí)可調(diào)用close()方法。
客戶(hù)端發(fā)送“AB”(ASCII碼),客戶(hù)端接收到該特定指令后,回復(fù)“T%.2fH%.2fD”,“T”代表字符串的開(kāi)頭,第一個(gè)“%.2f”代表保留兩位小數(shù)的溫度測(cè)量數(shù)據(jù),“H”代表該字符后的數(shù)據(jù)為濕度數(shù)據(jù),第二個(gè)“%.2f”代表保留兩位小數(shù)的濕度測(cè)量數(shù)據(jù),“D”代表該字符串已到達(dá)末尾。
客戶(hù)端發(fā)送“C”(ASCII碼),客戶(hù)端接收到該特定指令后,執(zhí)行小燈A的量滅,隨后回復(fù)“K”,“K”代表指令已成功執(zhí)行??蛻?hù)端發(fā)送“D”(ASCII碼),客戶(hù)端接收到該特定指令后,執(zhí)行小燈B的量滅,隨后回復(fù)“K”??蛻?hù)端發(fā)送“H”(ASCII碼),客戶(hù)端接收到該特定指令后,執(zhí)行繼電器的開(kāi)閉,隨后回復(fù)“K”??蛻?hù)端發(fā)送“Gxx”(ASCII碼),“G”為字符串開(kāi)頭,其后數(shù)據(jù)代表對(duì)電機(jī)轉(zhuǎn)速的具體數(shù)值,隨后回復(fù)“K”??蛻?hù)端發(fā)送“Z”(ASCII碼),客戶(hù)端接收到該特定指令后,執(zhí)行電機(jī)轉(zhuǎn)動(dòng)停止的動(dòng)作,隨后回復(fù)“K”??蛻?hù)端發(fā)送“E”(ASCII碼),客戶(hù)端接收到該特定指令后,執(zhí)行舵機(jī)順時(shí)針旋轉(zhuǎn)(開(kāi)門(mén))的動(dòng)作,隨后回復(fù)“K”??蛻?hù)端發(fā)送“F”(ASCII碼),客戶(hù)端接收到該特定指令后,執(zhí)行舵機(jī)逆時(shí)針旋轉(zhuǎn)(關(guān)門(mén))的動(dòng)作,隨后回復(fù)“K”。
客戶(hù)端發(fā)送"YZ"+TemLow+TemHigh+Hu mLow+HumHigh(ASCII碼),客戶(hù)端接收到該特定指令后,回復(fù)“K”,“YZ”代表字符串的開(kāi)頭,隨后的數(shù)據(jù)為新設(shè)定的閾值數(shù)據(jù),“TemLow”代表溫度警報(bào)下限,“TemHigh”代表溫度警報(bào)上限,“HumLow”代表濕度警報(bào)下限,“HumHigh”代表濕度警報(bào)上限。
智能護(hù)理系統(tǒng)的UI界面包括“歡迎頁(yè)”“主界面”“波形顯示界面”“歷史數(shù)據(jù)查詢(xún)界面”?!皻g迎頁(yè)”用于顯示APP及系統(tǒng)的基本信息及l(fā)ogo;“主界面”用于設(shè)置對(duì)本機(jī)藍(lán)牙的開(kāi)閉、藍(lán)牙設(shè)備配對(duì)、設(shè)定警報(bào)閾值、顯示溫濕度數(shù)據(jù)及波形、小燈及繼電器的開(kāi)閉、電機(jī)轉(zhuǎn)速調(diào)節(jié)和開(kāi)關(guān)門(mén)指令;“波形顯示界面”用于以動(dòng)態(tài)的波形描繪的方式直觀體現(xiàn)和顯示室內(nèi)溫度、濕度和體溫、心率的數(shù)據(jù);“歷史數(shù)據(jù)查詢(xún)界面”用于查詢(xún)之前接收到的溫濕度和體溫、心率數(shù)據(jù),可以按照日期進(jìn)行搜索,精準(zhǔn)查詢(xún)。智能護(hù)理系統(tǒng)APP各界面如圖9所示。
圖9 智能護(hù)理系統(tǒng)APP各界面Fig.9 The graphical user interface of intelligent nursing system
為了驗(yàn)證智能護(hù)理系統(tǒng)準(zhǔn)確性和有效性,我們?cè)跍刂葆t(yī)科大學(xué)附屬第一醫(yī)院心臟重癥監(jiān)護(hù)室(CCU)選取了一個(gè)病房進(jìn)行了模擬改造測(cè)試。
我們分不同的時(shí)段,隨機(jī)選取5個(gè)病人,分別在其手機(jī)上安裝智能護(hù)理系統(tǒng)APP,將Pulsesensor脈搏心率傳感器戴在其手指或者耳垂上,DS18B20體溫模塊置于其指尖,準(zhǔn)備就緒平躺于病床上,手機(jī)APP控制病房?jī)?nèi)的燈開(kāi)啟和關(guān)閉并顯示測(cè)量的參數(shù)。每次測(cè)量結(jié)束后,由指定的護(hù)士分別使用福祿克F971對(duì)病房環(huán)境溫濕度測(cè)量、德國(guó)博朗醫(yī)用耳溫槍IRT6520和邁瑞MEC-1000監(jiān)護(hù)儀及對(duì)5個(gè)病人進(jìn)行體溫測(cè)量和心率測(cè)量并記錄測(cè)量結(jié)果,匯總進(jìn)行對(duì)比、分析,如表1所示。
表1 參數(shù)測(cè)試結(jié)果Tab.1 Parameter test results
由表1可知,智能護(hù)理系統(tǒng)實(shí)測(cè)的溫濕度值與Fluke F971測(cè)量得到的溫濕度值對(duì)照,允許的誤差在±2℃、%5RH之內(nèi),符合《溫濕度計(jì)校驗(yàn)規(guī)范》要求;實(shí)測(cè)的體溫值與德國(guó)博朗耳溫槍IRT6520測(cè)量得到的體溫值對(duì)照,允許的誤差在0.2 ℃以?xún)?nèi),符合《醫(yī)用電子體溫計(jì)注冊(cè)指導(dǎo)原則》要求;實(shí)測(cè)的心率值與邁瑞MEC-1000型心電監(jiān)護(hù)儀測(cè)量得到的心率值對(duì)照,最大的允許示值誤差在顯示值的5%以?xún)?nèi),完全符合JJG 1041-2008《數(shù)字心電圖機(jī)檢定規(guī)程》要求。
本研究設(shè)計(jì)了一款應(yīng)用于醫(yī)院病房的智能護(hù)理系統(tǒng),具有操作簡(jiǎn)便、測(cè)量數(shù)據(jù)準(zhǔn)確高、穩(wěn)定性強(qiáng)及實(shí)時(shí)性好等特點(diǎn),經(jīng)過(guò)臨床測(cè)試,可以實(shí)現(xiàn)通過(guò)手機(jī)APP控制病房環(huán)境內(nèi)的溫濕度及燈光,并且可以將測(cè)量到的病患體溫及心率的數(shù)據(jù)通過(guò)藍(lán)牙傳輸?shù)绞謾C(jī)APP,既可以實(shí)現(xiàn)對(duì)病患進(jìn)行全方位實(shí)時(shí)健康監(jiān)測(cè),又可以很大程度上減輕護(hù)士的工作量,提高工作效率。
智能護(hù)理系統(tǒng)是一個(gè)龐大而復(fù)雜的管理監(jiān)控系統(tǒng),本設(shè)計(jì)只是研究了它的一部分,后續(xù)在實(shí)際應(yīng)用中,隨著技術(shù)日新月異的發(fā)展,其概念也會(huì)不停向前延伸,其應(yīng)用也將越來(lái)越廣,一個(gè)較顯而易見(jiàn)的方向在于權(quán)限管控,由于現(xiàn)實(shí)病房中存在的角色涉及醫(yī)生、護(hù)士、護(hù)工、病人和病人家屬等會(huì)更復(fù)雜而多變,通過(guò)設(shè)置不同的權(quán)限實(shí)現(xiàn)控制不同級(jí)別的功能是我們下一步的工作目標(biāo)。