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