《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于Android的遠程醫療監測系統設計
基于Android的遠程醫療監測系統設計
2015年微型機與應用第19期
張紅北,趙曉軍,李 瑞,王晨康,繩 丹
(河北大學 電子信息工程學院,河北 保定 071002)
摘要: 為滿足人們對于遠程醫療的需求,推出了一個應用Android移動終端的解決方案。該方案結合Android系統的特點,設計了一套采集、顯示存儲、報警推送于一體的遠程醫療監測系統。首先對Android框架與系統架構進行介紹,然后對系統涉及到的Android系統藍牙、Socket等通信方式的開發進行分析,并對Android設備在數據采集、存儲、處理中的應用進行介紹,最后應用MQTT協議完成了對報警信息的推送。結果表明Android系統在遠程醫療服務系統中有很大的應用前景。
Abstract:
Key words :

  摘  要: 為滿足人們對于遠程醫療的需求,推出了一個應用Android移動終端的解決方案。該方案結合Android系統的特點,設計了一套采集、顯示存儲、報警推送于一體的遠程醫療監測系統。首先對Android框架與系統架構進行介紹,然后對系統涉及到的Android系統藍牙、Socket等通信方式的開發進行分析,并對Android設備在數據采集、存儲、處理中的應用進行介紹,最后應用MQTT協議完成了對報警信息的推送。結果表明Android系統在遠程醫療服務系統中有很大的應用前景。

  關鍵詞: Android;遠程醫療;藍牙;消息推送;MQTT

0 引言

  隨著社會的進步,人民生活水平的提高,人們越來越關注自身的身體健康。人們都希望可以足不出戶享受來自醫院及醫生的診療或是根據自身的指標得到針對性的健康指導。對于一些慢性病患者及時將重要的生理參數告知醫生可以防止病情的突然惡化。在西方一些發達國家,遠程診療技術已經應用于實際生活,患者在當地就可以享受到千里之外的專家提供的治療服務[1]。

  另一方面,智能移動終端的普及與移動網絡的發展使得遠程醫療成為可能。智能終端如智能手機、PAD等,其強大的功能可以實現遠程醫療中醫療數據的輸入、輸出、顯示和本地存儲等。常見的智能終端操作系統有Android、iOS、kindle等,相比于其他系統,Android基于Linux內核,具有開放性和免費性的特點。現有的遠程醫療信息系統主要依賴醫生通過客戶端主動訪問服務器獲取病人信息,無法保證信息的實時性,在面對突發事件時無法及時處理。在此背景下,本文結合現有醫療信息系統與Android操作系統的特點對Android遠程醫療信息系統的應用以及相關技術進行研究。

1 遠程醫療信息系統的整體框架

  系統的第一部分是用戶生理參數的采集。用戶使用便攜式醫療設備對心率、血壓等生理數據進行采集,并通過藍牙模塊將采集到的數據發送到移動設備端。移動設備主要是安裝Android操作系統的智能手機和平板電腦,移動端應用程序需要完成兩項功能,一是接收便攜式醫療設備采集的數據并進行本地顯示與存儲,二是應用程序連接到服務器,將所接收的數據發送出去同時準備接收服務器端的推送。服務器端接收信息并存入數據庫中,同時配有前臺網頁以便用戶查詢。此外通過消息代理服務器通過訂閱/發布的形式向客戶端推送患者數據異常的消息或根據患者病史提供醫囑。其總體結構如圖1所示。

001.jpg

2 遠程醫療系統Android應用的設計與介紹

  2.1 Android平臺簡介

  Android是由Google以及Google牽頭的開放手機聯盟于2007年11月5日推出的一款開源智能手機操作系統[2]。并且,Google采取Apache免費開源許可證的授權方式,發布了Android操作系統的源代碼,以便各手機生產商推出基于Android操作系統的智能手機,Android操作系統后來更是逐漸拓展到平板電腦及其他領域上[3]。Android系統架構由5部分組成,分別是Linux內核(Linux Kernel)、系統運行層(Android Runtime)、函數庫(Libraries)、應用框架(Application Framework)和應用層(Applications)。應用層主要包括電話程序、SMS短消息程序、瀏覽器程序等為用戶提供手機基本功能的軟件集合。應用框架層不直接與用戶接觸,主要面向Android開發人員,開發人員可以調用應用框架提供的各種API,方便對應用程序的開發。函數庫包含常用的C/C++庫,如Surface Manager、OpenGL ES、SGL、SSL、SQLite等。系統運行層可分為Android核心函數庫與虛擬機,為應用程序提供運行環境。Linux核心為Android提供主要的系統服務如安全性管理、內存管理、網絡棧、驅動模型、電源管理等[4]。

  2.2 Android的數據采集

  隨著人們生活水平的不斷提高,人們對自身的健康也越來越關注。定期體檢獲取自身生理數據、及時改變生活習慣可以有效地避免疾病的發生。傳統體檢需要人們到醫院或者社區醫療中心,由于路途遙遠設備資源有限勢必造成大量的時間浪費。便攜式醫療設備的出現極大地改變了這種現狀,人們可以隨時隨地采集自身的生理數據同時避免了路途遙遠和排隊帶來的困擾。

  市場上現有的便攜醫療設備很多都帶有藍牙功能,而Android SDK中提供了用于藍牙通信的標準API,使得通過Android移動端設備獲取便攜式醫療設備上采集的信息成為可能。Android藍牙通信主要使用BluetoothAdapter類,它提供了對于藍牙操作的各種方法。要使用藍牙首先要在AndroidManifest.xml中加入權限:

  <uses-permission android:name="android.permission.BLUETOOTH"/>

  <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>

  在具體操作時首先使用enable方法打開藍牙,之后使用startDiscovery對附近的藍牙設備進行搜索。使用系統廣播的方式將設備信息加入設備列表,由于整個掃描過程需要12 s左右,對資源消耗較大,所以在連接之前需要調用cancleDiscovery方法取消查找。完成配對之后使用BluetoothSocket進行連接,雙方通過RFCOMM通道進行通信完成數據的讀寫。Android移動端通過與便攜式醫療設備之間的協議對設備進行識別,截取接收到的數據中的有用信息完成對采集端數據的接收。開發過程中使用多線程技術完成藍牙的連接和通信,以實現藍牙的后臺搜索與連接。

002.jpg

  圖2中Android端通過設備管理模塊,對藍牙設備進行操作并對接入的設備進行驗證與分類管理,驗證信息是靠便攜式醫療終端與Android設備之間的通信協議規定。數據管理模塊主要負責數據的接收、存儲與打包上傳。通過藍牙接收的數據被傳遞到UI界面進行顯示,同時數據被存儲到Android本地的SQLite數據庫中。這些數據還可以由數據管理模塊進行打包并向服務器端上傳。

  2.3 Android移動端數據的顯示與發送

  Android系統最具代表性的特點之一就是其提供了可視化的設計框架。Android利用XML語言和Java語言結合的方式控制UI布局,并提供了各種各樣的控件,在很大程度上降低了開發難度[5]。Android的界面寫在res/layout的XML文件中,一般情況下一個XML文件對應一個界面。Android操作系統自帶有一個輕量級的關系型數據庫SQLite,對于一些重要的生理數據可以將其在本地存儲起來以便于查詢。通過使用SQL語句創建表并將重要的生理數據插入表中完成對數據的本地存儲,查詢時使用SQLiteDatabase.query方法將數據展示在一個ListView中方便用戶查詢存儲的歷史信息。

  數據發送通過Android SDK中提供的socket使用TCP/IP協議與遠程的服務器進行連接,在生理數據中加入包序號、采樣時間等信息作為包頭,以數據包的形式發送到服務器端,并對因網絡不穩等因素造成的數據包丟失的情況及時請求重傳,以保證服務器可以完整地接收數據信息。

  2.4 Android移動端對推送數據的接收

  Android手機獲取服務器上不定期更新的消息主要有兩種方式:一種是不斷地發送更新請求,或者稱之為“輪詢”方式;另外一種則是在發生改變時,由服務端主動將消息推送給客戶端的用戶,這種方式稱為“推送”。兩者相比“輪詢”方式需要客戶端以一定的時間間隔向服務端發出請求,以頻繁請求的方式來保持客戶端和服務器端的同步。這種同步方案的最大問題是,當客戶端以固定頻率向服務器發起請求時,服務器端的數據可能并沒有更新,這樣會帶來很多無謂的網絡傳輸,而且頻繁的啟動數據連接必然會加速電量的消耗。而對于“推送”的情況,客戶端與服務器端完成連接以后,只有服務器端有信息更新以后才會主動向客戶端發送信息,在推送到來的周期內客戶端只需要保持最基本的連接信息,因此減少了通信流量與手機電量的消耗,是移動端實時消息通知的理想解決方案。

003.jpg

  本文使用MQTT協議完成對客戶端信息的推送,MQTT是一個機器對機器(M2M)的“物聯網”連接協議,是一個極其輕量級的基于發布/訂閱的消息傳輸協議,其主要結構如圖3所示[6]。與現有常用的GCM與XMPP推送相比,GCM推送方式受限于谷歌服務器,在國內運行不夠穩定,而XMPP協議發展成熟且具有較強的擴展性,但其協議冗余、復雜,對電量與流量的消耗較大。MQTT是專門為低帶寬、不穩定網絡以及計算和處理能力受限的設備所設計的,協議采用小型傳輸,耗電量小,能大大降低網絡流量,最小化數據包可有效分配與傳輸,非常適合移動系統上的應用[7]。

  服務器端對于MQTT協議的實現主要依靠Mosquitto,Mosquitto是一款開源的MQTT broker,它比較完整地實現了MQTT協議要求的各種基本功能,負責完成協議底層的網絡通信機制以及針對各種不同類型消息的收發機制。Android端在應用編寫時加入Eclipse Paho API,這個API幫助完成服務器連接、話題的發布與訂閱等功能。在訂閱話題時設置為永久訂閱以保證客戶端在離線或者關閉等無法接收信息的情況下,再次連接服務器時仍可以接收到之前沒有接收的信息。除了Activity以外,應用還使用Service組件,當用戶退出應用時其繼續在后臺運行定時向服務器端發送心跳以保證連接不被斷開,心跳以客戶端發送PINGREQ報文并接受從BROKER返回PINGREQ報文的形式維持長連接。當被監控對象出現生理指標異常時,系統會向其家屬、醫生等共同訂閱此話題的客戶端推送消息,推送數據時將以Notification通知的形式提醒用戶。

  2.5 服務器結構

  服務器端主要由服務器網站界面、后臺Windows服務、數據庫以及推送代理服務器組成。前臺網站界面是使用B/S模式的網頁程序,可以為有權限的用戶(例如患者及其家屬或主治醫生等)提供歷史數據的查詢及數據折線圖的顯示等。后臺Windows服務程序是運行在服務器上的后臺程序,負責接收通過socket發送的數據,并對數據進行解包、驗證、分組存入數據庫中。后臺數據庫主要用來把數據分組建表儲存起來(數據包括病人信息、血壓、血氧等生理數據),以便后期數據的訪問。當接收到的生理數據有嚴重異常時,Windows服務程序將消息發送給推送代理服務器,代理服務器負責將消息推送出去。代理服務器接收到生理指數異常、存在危險的信息后發布話題,所有訂閱該話題的手機客戶端將接收到推送的警告消息。服務器端整體結構如圖4所示。

004.jpg

3 實現結果

  經測試,在便攜式醫療設備采集數據并發送時,Android端可以通過藍牙接收到便攜式醫療設備采集的生理指標,并且在服務器端有消息推送時,Android端可以以消息通知的方式顯示接收的信息。實驗結果如圖5所示。

005.jpg

4 結束語

  本文主要研究Android系統在遠程醫療中的應用,通過使用帶有Android系統的智能設備將便攜式醫療設備采集的數據進行處理與發送。使用基于MQTT協議的推送系統,對緊急情況進行實時通知。結果表明,Android系統在遠程醫療的數據采集與發送、緊急事件的通知方面具有良好的應用前景。

參考文獻

  [1] 劉建,周保利.遠程醫療發展和管理問題的探討[J].中華醫院管理雜志,2001,17(1):50-51.

  [2] 胡偉. Android系統架構及其驅動研究[J].廣州廣播電視大學學報,2010,10(4):96-101.

  [3] 梁柱.Android應用程序自動化功能測試平臺的研究與開發[D].廣州:華南理工大學,2012.

  [4] 黃彬華.Android 4.X應用與開發實戰手冊(第2版)——適用Android 4.X~2.X[M].北京:清華大學出版社,2013.

  [5] 楊越譯.精通Android2[M].北京:人民郵電出版社,2010.

  [6] HUNKELER U, TRUONG H L, STANFORD-CLARK A. MQTT-S-a publish/subscribe protocol for wireless sensor networks[C]. 2008 3rd International Conference on Communication Systems Software and Middleware and Workshops, 2008:791-798.

  [7] IBM. MQTelemetryTransport[EB/OL]. (2013-06-05) [2015-06-01]. http://mqtt.org.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 成人精品在线观看 | 透明奶罩的邻居三级在线观看 | 久热996re这里有精品 | 第一页在线播放 | 久久久青青草 | 少妇激情av一区二区 | xxxx日本高清18| 亚洲天堂日韩在线 | 国产色视频在线观看免费 | 看中国国产一级毛片真人视频 | 亚洲影视天堂 | 开心激情婷婷 | 免费啪视频 | 精品女同一区二区三区在线观看 | 青青草国产免费 | 国产精品久久久久无毒 | 最新午夜宅男 | 男女免费网站 | 日本免费一区二区三区中文 | 97夜夜| 性欧美video另类hd高清 | 日本人甡交全过程 | 91po国产在线精品免费观看 | 高清性色生活片免费视频软件 | 国产成人亚洲精品影院 | 综合99 | 欧美日韩中文字幕一区二区高清 | 欧美最猛黑人xxxxx猛交 | 色网站视频 | 成人免费激情视频 | 一级做a爱片久久蜜桃 | 尹人在线视频 | 激情五月婷婷开心 | 日韩免费精品一级毛片 | 亚洲国产第一区二区三区 | 1769国产精品一区2区 | 在线观看你懂的网站 | 在线观看黄a大片爽爽影院免费 | 亚洲免费中文字幕 | bbixx在线观看 | 天天做日日干 |