聶 雄,黃曉冬,2,韋海燕,2,馮敏瑜
(1.廣西大學 機械工程學院,廣西 南寧 530004;2.南寧學院 智能制造學院,廣西 南寧 530200)
對于下肢運動功能障礙的患者,在進行下肢康復訓練時需要實時采集其心率、血壓、血氧以及運動狀態等數據[1],從而適時調節下肢康復訓練的強度及調整訓練模式,并實現患者與家屬、醫院三者之間的遠程交互,達到遠程監控的目的,因此設計適用的生理信息監測裝置是當前亟待解決的問題。
國內外研究人員對各種生理信息監測裝置進行了大量的研究。Hsu Chien-Chin 等[2]研究了一種可穿戴的12 導聯心電圖監測系統,方便用戶輕松佩戴和拆卸,在步行時可準確地提供質量良好的ECG 信號,并能檢測出心肌缺血、安裝起搏器、室性早搏患者的ECG 特征;Majumder Sumit 等[3]研究了一種非接觸式的可穿戴心電監測系統,基于電容耦合原理,在心電數據采集器和人體皮膚之間隔著紡織衣物也可以采集心電信號,并通過藍牙無線通信進行數據傳輸實現數據處理、存儲與顯示;2019 年賈寧等[4]利用終端應用主要為Android APP、IOS APP 和微信小程序,醫療信息處理服務器采用Hadoop 結構,使用Spark 計算框架,利用分布式數據庫SequoiaDB 存儲信息,設計基于可穿戴設備的個性化健康監管平臺。將專業醫療信息與物聯網技術、大數據技術完美融合在一起。2020 年李超[5]設計了一款融合多種健康家庭式監護系統的APP 比如血壓計、血糖儀、血氧儀、心電監護儀等設備以及服務器。2022 年任郁苗等[6]設計采用STM32F103ZET6 作為系統嵌入式芯片,準確、快速測出人體的生理參數信息。
歸類分析目前的多參數監護儀:一是固定式床邊監護儀,這種監護儀功能強大、性能穩定性好,但便攜性差、專業技能要求高。二是以單片機為核心的監護儀,雖然小巧適合攜帶,但或者監測多生理參數少、功能不全,或者無無線通訊功能等等。
為了能夠便利、有效、準確地監測患者在下肢康復訓練時的運動狀態和生理信息,設計一款基于Android 系統,采用腕式可穿戴式智能設備進行數據采集,運用華為HiHealthKit 運動健康的APP 軟件,不需要自行開發和設計終端設備,簡單方便。
要設計可以實現華為運動健康端側技術訪問的Android APP,需要通過從系統接入提供的開發平臺、使用簡易性等對比選擇使用Android Studio 軟件進行本課題的開發工作。
該平臺搭建的方法[7]:利用jdk(JAVA development kit)JAVA 開發工具包;設定基于intelliJ IDEA的Android 集成開發環境Android Studio,更新SDK;適配手機驅動,配置Android Studio。具體是通過可穿戴智能手環測量經過藍牙傳輸后得到本地數據,采用集成SDK 的方式,將HiHealth kit 接口包集成到開發的APP 內部,通過HiHealth kit JAVA 接口,用戶授權APP 可獲取華為運動健康APP 上的本地用戶數據,或將這些數據寫入華為HiHealth 開放平臺。APP 請求用戶授權交互途徑和用戶授權界面如圖1。
圖1 用戶、三方APP、華為運動健康APP 三者交互
使用Android Studio 軟件進行Android 應用開發中至為關鍵的一點使用布局,接著就是框架設計。
(1)華為HiHealth kit 接口包。通過調用華為HiHealth kit 接口包里的API 從而完成與HiHealth 平臺的對接,獲得運動健康APP 提供的業務服務,如圖2所示。
圖2 三方APP、HiHealthkit 二者交互圖
(2)華為HiHealth kit 接口包的接入。為了在Android Studio 軟件中在本設計工程能夠調用HiHealth kit 接口包,將HiHealth kit 接口包拷貝至工程下的APPlibs 目錄中,然后添加HiHealth kit 接口包的JAR 包依賴,在工程的appuild.gradle 文件的dependencies 中添加代碼:implementation fileT -ree(dir:'libs',include:['*.jar'])。
(3)華為HiHealth kit 的類及其描述。在導入HiHealth kit 接口包后,使用它時需調用它的工具類。HiHealth kit 接口包的類有HiHealthAuth、HiHealth-DataType、HiHealthData、等七種,分別起著管理三方授權及用戶讀寫訪問權限、管理對象存儲、定義了Hi-Health 開放的數據類型和數據對象等。編寫程序實現管理三方授權及用戶讀寫訪問權限、管理對象存儲等。
(4)華為HiHealth kit 部分接口應用實例
1)startRealTimeSportData:開始監聽實時運動數據
A.接口原型:
Public static void startRealTimeSportData(Context context,HiSportDataCallback sportDataCallback)
B.請求參數見表1。
C.響應參數見表2。
表2 startRealTimeSportData 的onResult 的響應參數
void onResult(int errCode)
onResult 用于控制鏈路的回調。startRealTimeSportData 的onDataChanged 的響應參數有兩個,onDataChanged 用于接收數據,其中參數sportState 表示當前運動狀態,運動狀態分為STARTED、PASUED、RUNNING、RESUMED 和STOPED 共5 種,這5 種運動狀態之間的狀態轉換關系如圖3 所示,參數bundle 以key-value 形式保存當前的實時數據,在此不再贅述。
圖3 五種運動狀態之間狀態遷移轉換圖
D.實際代碼調用:
2)startReadingHeartRate:開始監聽實時心率數據
A.接口原型:
Public static void startReadingHeartRate(HiReal-TimeListener hiRealTimeListener)
B.請求參數見表3。
表3 startReadingHeartRate 的請求參數
C.響應參數見表4。
表4 startReadingHeartRate 的響應參數
D.實際代碼調用:
本設計中還調用涉及HiHealth kit 接口包中許多其他接口,這里就不再一一列舉講明。
本設計分別用四個Activity 實現手機Android 屏幕的啟動、主頁面、歷史頁面、歷史記錄頁面的設置。三方APP 軟件的各頁面總體結構框圖如圖4。
圖4 三方APP 軟件的總體結構框圖
(1)啟動頁面Activity
在寫啟動頁面Activity 的Java 文件跟xml 文件時,設置三秒延時,修改Activity 的順序使其能夠按照設想的順序進行跳轉。實現啟動頁面的主要代碼如下:
(2)主頁面Activity
為了獲得患者運動每一秒鐘當時的生理信息心率準確數據,進行如下研究:
1)主頁面顯示
在APP 主頁面用Linechart 設置折線圖表示當前實時心率,同時顯示當前可穿戴式智能設備得到的當次計時測量步數、血壓、心率值以及當前APP 與華為運動健康APP 連接的鏈路狀態(注:還可根據需要設置血氧測量),運動狀態可分為運行、停止、繼續、暫停、開始五種。
主頁面采取CoordinatorLayout 協調者布局作為應用的頂層視圖。將Linechart 圖表嵌套在ConstraintLayout 中,為其他子View 提供確定位置的布局。ConstraintLayout 內部的子View 即Linechart 可實現圖表中當前坐標外心率變化折線圖移出移入該圖表方框范圍的顯示。而AppBarLayout 中的Toolbar 工具欄以點擊的方式在同一個Activity 內實現菜單頁面的打開。
APP 主頁面實時心率圖橫軸為從開始計時到當前經歷的時間(單位為秒),縱軸為當前心率數值,可用手指在實時心率折線圖的方框里滑動,可看到任意時刻的心率值。并且在心率?時間圖標的下方,顯示出當次測量的運動步數、實時心率值(與上方圖表顯示的最新測量所的心率同步)、實時高壓/低壓值、運動狀態,以及本設計APP 與華為運動健康APP 的之間連接的鏈路情況。顯示的主要代碼如下:
2)菜單頁面及關于頁面的顯示
在主頁面顯示的xml 文件中,以CoordinatorLayout 為根布局的AppBarLayout 應用欄布局中的Toolbar 工具欄提供了菜單頁面的顯示,通過點擊,可實現頁面的跳轉。
關于頁面實現關鍵代碼:
(3)歷史記錄頁面Activity
歷史記錄頁面Activity 需要儲存顯示的數據有:開始時間、持續時間、運動里程、心率等。每單次數據的xml 布局采取多重LinearLayout 嵌套的方式,第一至第五行分別是開始時間、持續時間、運動里程、心率值及高低血壓值,并且以垂直布局方式實現。設計歷史記錄頁面實現關鍵代碼及具體數據存儲代碼。具體數據存儲方法以及代碼如下:
i.以時間次序存儲數據的文件TimeSeqData.kt 中添加要存儲的數據(高低血壓、心率等)數據項,使其作為數據庫中相應數據的標簽。
(4)記錄詳情頁面Activity
記錄詳情頁面Activity 顯示之前存儲的某次測量得到的經由可穿戴式智能設備測量藍牙技術支持傳輸得到存在于華為運動健康APP 中的本地數據(包括當時測量時主頁面顯示的圖表、單次測量的開始時間,當次測量時所走步數以及單次測量持續時間)的Activity。
使用真機調試,使用Android Studio 把apk 下載到手機里(本測試中使用的手機為華為榮耀7 與華為榮耀20),打開華為運動健康APP,開啟藍牙功能,對華為可穿戴式智能設備進行綁定和開啟測量,其次開啟應用數據訪問的授權允許;使用可穿戴智能設備進行各項數據測量,接著打開本設計開發的三方APP,可以看到主頁面上鏈路狀態為connected、運動狀態為running,并且將該可穿戴智能設備、華為運動健康APP 上數據同步。
進行各種頁面Activity 調試,顯示效果如圖5。
圖5 各種頁面Activity 的實際顯示效果圖
(1)研究下肢運動功能障礙的患者,在進行下肢康復訓練時需要采集的生理數據信息和運動狀態信息,確定設計基于Android 系統,采用腕式可穿戴式智能設備進行數據采集,從華為運動健康端側技術訪問,使用Android Studio 軟件進行開發工作,實現用戶、三方APP、華為運動健康APP 三者交互,運用華為HiHealthKit 運動健康的APP 軟件的結構方案。
(2)設計調用華為HiHealth kit 接口包里的API從而完成與HiHealth 平臺的對接,添加HiHealth kit接口包的JAR 包依賴,調用在導入HiHealth kit 的工具類。
(3)設計采用三方APP 軟件的各頁面總體結構框圖,分別用四個Activity 實現手機Android 屏幕的啟動、主頁面、歷史頁面、歷史記錄頁面的設置。
總之,通過上述方法實現有效采集、顯示、監控患者在下肢康復訓練時的心率、血壓以及運動相關數據,以調整患者下肢康復訓練的強度和訓練模式。