《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于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網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
免费不卡在线观看| 免费欧美网站| 性高湖久久久久久久久| 亚洲乱码一区二区| 亚洲国产精品免费| 一区视频在线| 韩日精品在线| 国产视频久久| 国产精品日韩| 国产精品久久久久999| 欧美日韩在线精品一区二区三区| 欧美欧美全黄| 欧美日韩午夜在线| 欧美日韩在线不卡| 欧美午夜电影在线| 国产精品国产亚洲精品看不卡15| 欧美日韩在线精品一区二区三区| 欧美日韩国产在线播放| 欧美精品网站| 欧美日韩免费一区| 国产精品成人播放| 国产精品人人做人人爽| 国产精品嫩草99a| 国产美女诱惑一区二区| 国产精自产拍久久久久久蜜| 国产精品久久久久久久久| 国产精品你懂的| 国产精品一区视频| 国产欧美日韩三区| 欧美日韩精品一区二区三区四区| 欧美日本亚洲韩国国产| 欧美视频官网| 国产女人水真多18毛片18精品视频| 国产伦精品一区二区三区视频孕妇| 国产欧美一区视频| 国产亚洲一区在线| 亚洲高清不卡一区| 日韩亚洲在线| 亚洲欧美国产不卡| 亚洲国产精品成人综合色在线婷婷| 亚洲国产经典视频| 日韩视频一区二区三区| 一本久道久久综合婷婷鲸鱼 | 亚洲电影在线| 精品成人一区二区三区| 欧美午夜激情在线| 国产精品国产a级| 国产色婷婷国产综合在线理论片a| 韩日欧美一区| 亚洲日本va午夜在线电影| 亚洲三级电影在线观看| 亚洲一区二区三区四区视频 | 欧美在线免费| 免费观看一区| 欧美午夜免费电影| 韩国精品在线观看| 日韩视频免费大全中文字幕| 亚洲欧美电影院| 亚洲精品久久久久久久久久久久 | 欧美三级欧美一级| 国产一区二区在线观看免费| 91久久精品一区二区别| 亚洲一区二区三区久久| 亚洲国产三级| 亚洲女同性videos| 猛男gaygay欧美视频| 国产精品www色诱视频| 激情成人综合网| 亚洲性色视频| 亚洲精品一区二区三区四区高清 | 亚洲另类一区二区| 欧美在线影院| 亚洲欧美日韩人成在线播放| 女人色偷偷aa久久天堂| 国产精品一区二区久久国产| 亚洲欧洲在线一区| 亚久久调教视频| 亚洲一二三区视频在线观看| 国产精品红桃| 国产精品久久久久国产精品日日| 国产日韩在线看片| 亚洲精品一区二区三| 欧美在线精品一区| 亚洲一区二区精品| 欧美国产高清| 国产综合色产在线精品| 亚洲一区二区三区中文字幕| 亚洲精品视频啊美女在线直播| 欧美一区二区三区精品电影| 欧美激情亚洲一区| 国产自产高清不卡| 亚洲欧美日韩在线观看a三区| 一区二区三区视频在线播放| 欧美成人亚洲| 精品白丝av| 欧美在线视频一区| 欧美一区三区三区高中清蜜桃| 欧美视频免费在线观看| 亚洲第一页在线| 久久激情视频| 久久久久久网站| 国产欧美综合一区二区三区| 宅男噜噜噜66一区二区| 日韩午夜免费| 欧美激情va永久在线播放| 国语自产精品视频在线看| 午夜精品免费视频| 亚洲欧洲av一区二区三区久久| 欧美久久久久久久久| 亚洲国产高清高潮精品美女| 亚洲国产精彩中文乱码av在线播放| 久久激情五月婷婷| 国产亚洲欧美在线| 午夜精品一区二区三区电影天堂 | 欧美日韩第一区| 亚洲精品色图| 亚洲作爱视频| 欧美日韩在线视频观看| 99热这里只有精品8| 亚洲网站啪啪| 欧美性猛交xxxx免费看久久久| 99国产精品| 亚洲综合精品自拍| 国产精品一区在线观看| 亚洲欧美成人网| 久久久久九九视频| 国产综合欧美| 亚洲激情亚洲| 欧美精品一区二区三区久久久竹菊 | 亚洲国产欧美在线人成| 国产亚洲精品一区二区| 亚洲小少妇裸体bbw| 欧美日韩国产精品成人| 亚洲日韩成人| 一区二区三区高清视频在线观看| 欧美喷水视频| 一区二区久久| 午夜日韩电影| 国产午夜精品久久久久久久| 久久精品国产亚洲aⅴ| 免费不卡在线观看| 亚洲精品一区二| 午夜精品国产更新| 国产午夜精品全部视频在线播放| 欧美在线视频一区二区| 男同欧美伦乱| 一区二区冒白浆视频| 欧美一区二区视频在线观看2020| 国产日韩欧美a| 亚洲激情一区| 国产精品vvv| 欧美一区二区免费视频| 嫩草成人www欧美| 一区二区三区成人| 久久成人人人人精品欧| 136国产福利精品导航网址| 一本久久青青| 国产精品羞羞答答| 亚洲国产精品第一区二区三区| 欧美日韩国产成人高清视频| 亚洲一区在线看| 91久久精品国产| 欧美日韩精品一区二区三区| 亚洲免费小视频| 免费高清在线视频一区·| 亚洲国产va精品久久久不卡综合| 国产精品国产a| 午夜精品久久久久久久久| 美女露胸一区二区三区| 日韩亚洲不卡在线| 欧美一级淫片aaaaaaa视频| 伊人久久综合| 亚洲婷婷综合久久一本伊一区| 国产农村妇女精品| 亚洲免费精彩视频| 国产日韩免费| 宅男66日本亚洲欧美视频| 国产日韩精品一区观看 | 欧美专区福利在线| 欧美日韩国产小视频在线观看| 亚洲欧美999| 欧美日韩国产成人在线91| 午夜精品久久| 欧美日本精品在线| 久久se精品一区精品二区| 欧美日韩精品系列| 亚洲第一精品夜夜躁人人躁| 欧美吻胸吃奶大尺度电影| 亚洲国产精品成人精品| 国产精品亚洲综合久久| 亚洲乱码国产乱码精品精| 国产亚洲精品一区二区| 亚洲一区二区影院| 亚洲国产成人不卡| 久久精品视频在线| 中国亚洲黄色| 欧美激情一区在线观看| 久久国产88| 国产女主播视频一区二区| 亚洲美女视频在线观看|