羅藝嫻,???,鄒瀟晗,曾偉,許廣慶
(云南大學(xué)信息學(xué)院,云南昆明 650500)
目前,我國經(jīng)濟發(fā)展快速,但現(xiàn)階段國內(nèi)只有少數(shù)醫(yī)院在輸液時使用智能系統(tǒng)來優(yōu)化傳統(tǒng)輸液方式,大多數(shù)醫(yī)院仍然依靠人工監(jiān)督輸液狀態(tài)。人工監(jiān)督方式不但增加了醫(yī)護人員的工作量,而且也存在獨自輸液的病人在輸液狀態(tài)異常時不能及時求助等問題。針對這些問題,設(shè)計一款基于物聯(lián)網(wǎng)云平臺的輸液監(jiān)控系統(tǒng)——Anxin(取自中文“安心”),醫(yī)護人員通過遠程監(jiān)控平臺能夠高效管理病患,病人家屬可以通過手機APP 實時監(jiān)控病人情況,實現(xiàn)了輸液系統(tǒng)的自動化和網(wǎng)絡(luò)化管理。新技術(shù)與醫(yī)療的結(jié)合已經(jīng)成為社會發(fā)展的必然趨勢??梢苿有詮姟⒅悄芑叩奈锫?lián)網(wǎng)技術(shù)在醫(yī)療領(lǐng)域的應(yīng)用給人們展現(xiàn)了一個高效、便捷、可靠的醫(yī)療衛(wèi)生前景[1]。
系統(tǒng)主要針對解決靜脈輸液中的問題進行智能化設(shè)計[2],如病人在輸液時可能處于無意識狀態(tài),無力通知護士來關(guān)閉輸液系統(tǒng),以及輸液過程中病人出現(xiàn)跑針、過敏和體征危機反應(yīng)等危險現(xiàn)象無法及時通知醫(yī)生護士和家屬,從而導(dǎo)致醫(yī)生、護士和家屬有效監(jiān)護困難,醫(yī)生治療反饋滯后等問題。
系統(tǒng)總體設(shè)計方案主要由3 部分組成:下位機是以STM32F103ZET6 為核心的主控板[3],在其上集成ESP8266 WiFi模塊、HMI串口液晶觸摸屏模塊、HX711壓力傳感器、Eixpsy 槽型光耦傳感器、MG996R 金屬舵機和蜂鳴器,上位機為PC 端的網(wǎng)頁和手機端的APP。下位機通過ESP8266 WiFi 模塊連接至阿里云平臺后,使用MQTT 協(xié)議與上位機進行通信。系統(tǒng)方案框圖如圖1 所示。
圖1 系統(tǒng)方案框圖
系統(tǒng)工作流程如下:
病人進行靜脈輸液時,下位機上Eixpsy 槽型光耦傳感器采集實時滴速數(shù)據(jù),壓力傳感器采集實時余量,在HMI 顯示屏上顯示;MG996R 金屬舵機控制當(dāng)前輸液的通斷;蜂鳴器提供警報功能,當(dāng)輸液狀態(tài)發(fā)生異常時,主控板向蜂鳴器發(fā)送指令,使蜂鳴器警報發(fā)出提醒,同時給舵機發(fā)指令使其阻斷輸液過程;主控板上的ESP8266 WiFi 模塊將實時的滴速數(shù)據(jù)、余量信息和輸液狀態(tài)的信息發(fā)送到云平臺,云平臺再通過MQTT 協(xié)議下發(fā)至手機端和PC 端。
病人家屬可以通過手機端了解病人的輸液狀態(tài)及實時定位信息,而病人本身可以通過手機APP 對自身的輸液狀態(tài)進行查看,也可通過按鍵對輸液進行開關(guān)控制[4]。
醫(yī)護人員通過PC 端可實時檢測到每個科室所有病床病人[5]當(dāng)前的剩余藥液容量、當(dāng)前實時滴速、預(yù)計輸液時間;同時還可以看到床位的空缺情況,方便醫(yī)護人員安排病人進行輸液,當(dāng)某病床出現(xiàn)異常時,PC 端也能提醒醫(yī)護人員[6]。
系統(tǒng)硬件以STM32F103ZET6為核心形成主要的控制系統(tǒng),附加蜂鳴器模塊、舵機控制模塊、ESP8266 WiFi 模塊、HX711 壓力傳感器、Eixpsy 槽型光耦傳感器等。
STM32F103ZET6嵌入式主控板搭載芯片STM32,有144 引腳,容量大,芯片內(nèi)嵌資源豐富[7-8],其I/O 口除啟動引腳外都引出,下載、串口調(diào)試、通信三合一,便于連接智能輸液監(jiān)控系統(tǒng)所需要的傳感器模塊。
Eixpsy 槽型光耦傳感器在有遮擋時輸出高電平,此時燈滅;無遮擋輸出低電平,此時燈亮。通過Eixpsy 槽型光耦傳感器可以檢測當(dāng)前輸液液滴的滴速以及當(dāng)前輸液是否正常工作。
蜂鳴器模塊內(nèi)部帶震蕩源,只要通電即可鳴叫。當(dāng)I/O 口輸入高電平時,蜂鳴器鳴叫發(fā)出警報,也可在輸液狀態(tài)異常時發(fā)出警報。
NodeMCU 開發(fā)板板載天線支持完整的TCP/IP協(xié)議棧。文中系統(tǒng)可以使用該模塊為現(xiàn)有的輸液設(shè)備添加聯(lián)網(wǎng)功能,并使其接入阿里云,完成軟硬件數(shù)據(jù)的交互。
HMI 串口液晶觸摸屏可以作為LCD 顯示屏,顯示患者當(dāng)前的輸液信息,以便患者和家屬了解當(dāng)前的輸液狀態(tài)。
HX711 是一款高精度稱重傳感器芯片[9],芯片內(nèi)的時鐘振蕩器不需要任何外接器件,HX711 壓力傳感器可以簡單有效地測量當(dāng)前輸液瓶中的余量,并且及時上傳數(shù)據(jù)。
舵機的控制需要一個20 ms 左右的時基脈沖,該脈沖的高電平部分一般為0.5~2.5 ms 范圍內(nèi)的角度控制脈沖部分,總間隔為2 ms,通過PWM 的方式來控制舵機的旋轉(zhuǎn)角度,比如舵機旋轉(zhuǎn)180°將輸液開關(guān)關(guān)閉,控制輸液的狀態(tài),舵機旋轉(zhuǎn)60°將輸液的滾輪往下滑從而控制輸液滴速[10]。
系統(tǒng)以STM32單片機為核心,在系統(tǒng)中連接WiFi、壓力傳感器、HMI 觸摸屏、測速、舵機等模塊,軟件設(shè)計部分具體可以分為控制信號的收發(fā)、單片機的控制、與云端信息交互和輸液信息的顯示4 部分。當(dāng)WiFi、壓力傳感器等模塊初始化完畢后開始進入整個系統(tǒng)的運作。系統(tǒng)的輸液狀態(tài)檢測設(shè)置由壓力傳感器、測速模塊完成,壓力傳感器不斷地獲取輸液余量,測速模塊不斷測量輸液速度;而控制信號的收發(fā)主要是控制舵機、輸液速度以及蜂鳴器的工作狀態(tài)。輸液狀態(tài)的顯示使用串口收發(fā)完成,利用串口的外部中斷向HMI 觸摸屏發(fā)送實時數(shù)據(jù),同時接收HMI 觸摸屏發(fā)送至主控系統(tǒng)的控制指令,實現(xiàn)人機交互。下位機通過WiFi 模塊實現(xiàn)與阿里云平臺的實時數(shù)據(jù)交互,進而將數(shù)據(jù)傳至上位機。下位機程序設(shè)計圖2 所示。
圖2 下位機程序設(shè)計圖
3.2.1 手機APP的設(shè)計
手機APP使用Andriod studio軟件進行開發(fā)設(shè)計[11],并使用了MobTech 數(shù)據(jù)智能開發(fā)平臺、阿里云平臺、數(shù)據(jù)庫技術(shù)等技術(shù)手段。數(shù)據(jù)庫采用MySQL 數(shù)據(jù)庫,用戶信息等存儲在數(shù)據(jù)庫中。利用安卓開發(fā)的四大組件[12]編寫出具有網(wǎng)絡(luò)連接等功能的Anxin 手機端。功能模塊分為用戶管理、任務(wù)管理和注意事項三大模塊,具體為實現(xiàn)用戶注冊登錄、通過按鍵控制輸液、實時顯示輸液的各項信息、對輸液速度不當(dāng)作出預(yù)警提示等功能。Anxin 手機端功能模塊設(shè)計如圖3 所示。
圖3 Anxin手機端功能模塊設(shè)計
3.2.2 PC端軟件設(shè)計
PC 端軟件設(shè)計主要包括主控制系統(tǒng)、警報模塊和數(shù)據(jù)顯示模塊的設(shè)計。當(dāng)用戶進入系統(tǒng)后,界面顯示當(dāng)前時間各個病人的輸液狀態(tài)等信息。下位機對病人各項數(shù)據(jù)進行收集,通過MQTT 協(xié)議向云端上傳數(shù)據(jù),PC 端訪問數(shù)據(jù)后呈現(xiàn)給醫(yī)護人員,當(dāng)病人各項數(shù)據(jù)發(fā)生異常時,PC 端就會收到消息,發(fā)出警鳴提醒醫(yī)護人員采取措施。PC 端軟件設(shè)計圖如圖4 所示。
圖4 PC端軟件設(shè)計圖
3.2.3 Web可視化界面設(shè)計
文中采用阿里云的IOT Studio 來進行界面功能設(shè)計[13],IOT Studio 是阿里云針對物聯(lián)網(wǎng)場景提供的生產(chǎn)力工具,用戶無需編寫代碼,只需要將組件從編輯器里拖動到指定位置,再對組件樣式、數(shù)據(jù)源和交互方式進行配置,以快速完成設(shè)備數(shù)據(jù)監(jiān)控相關(guān)的Web 應(yīng)用。開發(fā)完成的Web 應(yīng)用可以直接在阿里云服務(wù)器上托管運行。
3.2.4 MQTT協(xié)議
MQTT 協(xié)議用于完成數(shù)據(jù)傳輸,各個傳感器檢測到數(shù)據(jù)后,下位機通過MQTT 協(xié)議上傳數(shù)據(jù)。MQTT 是基于TCP/IP 連接并基于發(fā)布/訂閱模式下的通信協(xié)議[14]。此外,MQTT 基于異步發(fā)布/訂閱的實現(xiàn)解耦消息發(fā)布者和訂閱者,基于二進制的實現(xiàn)節(jié)省了存儲空間及流量。同時,MQTT 擁有更好的消息處理機制,相對于HTTP 和XMPP,MQTT 可以選擇用戶數(shù)據(jù)格式,解析復(fù)雜度低,同時MQTT 也可用于手機推送等領(lǐng)域。
該測試主要針對系統(tǒng)中的主要模塊進行檢測,以保證系統(tǒng)能夠有效運行。測試設(shè)備為裝有Keil5的PC 機、安卓手機、串口調(diào)試助手、阿里云云端數(shù)據(jù)庫、220 V/5 V 電源。
4.1.1 輸液狀態(tài)檢測
1)輸液余量檢測:在初始化完成后獲取稱重模塊經(jīng)HX711 轉(zhuǎn)換后的電信號,并將數(shù)值上傳至串口調(diào)試助手以備調(diào)試使用;得到的數(shù)據(jù)再經(jīng)過人為標(biāo)定和轉(zhuǎn)換后得到以毫克為單位的數(shù)據(jù),即為最終使用數(shù)據(jù)。
2)輸液速度檢測:在初始化完成后可實時獲取測量到的電信號,有遮擋為1,無遮擋為0,并由此配合定時器的時鐘信號,檢測兩滴液滴的時間差,進而推算輸液速度。測量的數(shù)據(jù)和經(jīng)過處理的數(shù)據(jù)均上傳至串口調(diào)試助手進行記錄和調(diào)試。
4.1.2 控制信號檢測
1)按鈕控制信號檢測:按鈕輸入信號為數(shù)字信號,即0 和1,根據(jù)數(shù)字信號檢測按鈕輸入的信號并執(zhí)行相應(yīng)操作,按下一次執(zhí)行一次,用LED 燈的亮滅反映按鈕控制的結(jié)果,并進行調(diào)試,調(diào)試沒問題后改為按鈕控制舵機和蜂鳴器,說明已達到最終控制效果。
2)HMI 觸摸屏控制信號檢測:HMI 觸摸屏發(fā)送數(shù)據(jù)經(jīng)過串口,因此直接將數(shù)據(jù)再上傳至串口調(diào)試助手,得到每一次HMI 觸摸屏傳回主控板的數(shù)據(jù),經(jīng)過數(shù)據(jù)處理后得到相應(yīng)控制指令,并用LED 燈的亮滅反映控制的結(jié)果,由此進行調(diào)試,調(diào)試無誤后改為HMI 控制舵機和蜂鳴器,說明已達到最終控制效果。
4.1.3 ESP8266 WiFi模塊同云端通信檢測
ESP8266 WiFi 模塊同云端相連后,進行數(shù)據(jù)調(diào)試,將交互的數(shù)據(jù)均上傳至串口調(diào)試助手,分析數(shù)據(jù)發(fā)送和接收的正確性以及數(shù)據(jù)傳輸?shù)臏?zhǔn)確性[15],并同時和各模塊檢測到的數(shù)據(jù)進行對比,判斷云端數(shù)據(jù)和實際數(shù)據(jù)是否有誤差,更改定時器分頻率后多次試驗,由此達到最終實際應(yīng)用效果。
4.1.4 舵機控制測試
通過設(shè)計定時器PWM 模式,并通過按鈕實際控制舵機的轉(zhuǎn)動情況,保證舵機轉(zhuǎn)動力度和角度的準(zhǔn)確性,進而達到用舵機控制輸液器調(diào)速裝置,實現(xiàn)輸液速度的控制。
4.2.1 手機端用戶管理功能測試
對手機APP 進行用戶注冊、登錄、修改資料、用戶修改頭像、退出當(dāng)前登錄用戶等功能進行測試,并對用戶管理的容錯性進行測試[16],比如注冊時兩次輸入設(shè)定的密碼不同、輸入的注冊手機號格式不正確等狀況,APP 應(yīng)進行相應(yīng)提示。還要對鏈接的MySQL 數(shù)據(jù)庫的有效性進行驗證,在注冊成功、修改資料等情況時,查看數(shù)據(jù)庫是否發(fā)生相應(yīng)變化[17]。
4.2.2 手機端定位功能測試
對病人手機APP 的定位功能進行測試。當(dāng)開啟病人手機定位服務(wù)時,查看家屬手機APP 端以及護士站PC 端可以獲取到該病人的實時定位。
4.2.3 手機端數(shù)據(jù)上云,云數(shù)據(jù)下發(fā)至下位機測試
在病人手機APP中設(shè)置病人的年齡以及疾病,觀察云平臺中是否成功獲取到正確的數(shù)據(jù),并根據(jù)獲取的數(shù)據(jù)進行分析,下發(fā)最適合的輸液滴速范圍給下位機主控板,主控板再根據(jù)當(dāng)前滴速是否處于合適的輸液滴速范圍來決定是否對輸液速度進行調(diào)整,若處于范圍內(nèi)則不作調(diào)整,否則調(diào)整至合適范圍內(nèi)。
文中主要完成了系統(tǒng)的硬件模塊搭建、軟件系統(tǒng)設(shè)計,并對系統(tǒng)進行了測試。最終Anxin 實現(xiàn)了醫(yī)護人員、病人及其家屬對輸液的智能化監(jiān)控,提升了醫(yī)護人員的看護效率以及輸液治療過程的安全性,讓病人、家屬、醫(yī)生人員更加安心、放心。通過多次測試,驗證了系統(tǒng)的穩(wěn)定性和可靠性。隨著物聯(lián)網(wǎng)行業(yè)的不斷發(fā)展,該系統(tǒng)還有待進一步完善和升級,可將原系統(tǒng)進一步發(fā)展為更豐富的監(jiān)控系統(tǒng)。