新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 一款低功耗移動心電監(jiān)控系統(tǒng)的設(shè)計

一款低功耗移動心電監(jiān)控系統(tǒng)的設(shè)計

作者: 時間:2014-03-23 來源:網(wǎng)絡(luò) 收藏

4.2 設(shè)備藍(lán)牙傳輸?shù)膶?shí)現(xiàn)方案

本文引用地址:http://www.butianyuan.cn/article/235140.htm

藍(lán)牙通信采用C / S通信模式。在設(shè)計時將接收端(設(shè)備)的藍(lán)牙作為客戶端,發(fā)送端(智能電極)藍(lán)牙作為服務(wù)器端。

在藍(lán)牙進(jìn)行相互連接時,利用了數(shù)據(jù)通信中常用的Socket(套接字)機(jī)制。當(dāng)兩端的套接字相互連接好以后,收發(fā)雙方的應(yīng)用就可以將數(shù)據(jù)發(fā)送給自己的套接字,并從套接字處獲取數(shù)據(jù),雙方的套接字則作為連接中轉(zhuǎn)站一樣,相互收發(fā)數(shù)據(jù)。下面對設(shè)備上藍(lán)牙接收軟件實(shí)現(xiàn)過程詳細(xì)闡述。

首先開啟A n d r o i d終端的藍(lán)牙功能,Android終端藍(lán)牙設(shè)備作為客戶端需要主動搜索周圍的藍(lán)牙設(shè)備。這個搜索過程需要用到廣播機(jī)制,即搜索發(fā)起端需要一個廣播接收器,用于接收搜索信息。其建立的具體步驟為,首先定義一個繼承BroadcastReceicer的類,用這個類生成的實(shí)例就具備了對接收信息的操作能力,可以獲取需要的信息,比如藍(lán)牙設(shè)備名稱和MAC地址。經(jīng)過設(shè)置,該廣播接收器只對發(fā)現(xiàn)了藍(lán)牙設(shè)備這一消息和藍(lán)牙搜索結(jié)束這兩條消息響應(yīng),并且完成了廣播接收器在本應(yīng)用中的注冊。用戶在使用時,只需要點(diǎn)擊“搜索”按鈕,終端設(shè)備開始搜索周圍藍(lán)牙設(shè)備,整個搜索過程將耗時12秒。這個過程中,本地藍(lán)牙適配器會搜索到周圍所有可以連接的藍(lán)牙設(shè)備,將這些搜索結(jié)果以列表的形式呈現(xiàn)在屏幕上,供選擇。連接開始前,首先關(guān)閉藍(lán)牙搜索功能。

在系統(tǒng)庫中有BluetoothSocket類,利用這個類生成相應(yīng)的實(shí)例便是接收端藍(lán)牙的套接字,如果該藍(lán)牙是作為服務(wù)器來連接的,則利用系統(tǒng)類BluetoothServerSocket來生成套接字對象。在連接之前需要預(yù)先設(shè)置好UUID,然后由Android智能終端發(fā)起連接請求,這里需要調(diào)用BluetoothSocket類中的connect()方法,作為服務(wù)器端的藍(lán)牙設(shè)備監(jiān)聽到連接請求后會驗(yàn)證其UUID是否與自己的一致,驗(yàn)證通過后便可以完成連接了。需要特別注意的是,在這個過程中,連接過程是一個阻塞調(diào)用過程,為不影響主線程的工作,需要一個單獨(dú)的線程來進(jìn)行連接工作。

等待藍(lán)牙連接完成后,便可以進(jìn)行數(shù)據(jù)傳輸。在藍(lán)牙間的數(shù)據(jù)傳輸是由藍(lán)牙模塊自動按照藍(lán)牙協(xié)議棧的要求進(jìn)行的,而在智能電極端從微控制器到藍(lán)牙模塊以及在Android終端從藍(lán)牙設(shè)備到應(yīng)用程序的數(shù)據(jù)傳輸都是按照URAT異步串口通信方式進(jìn)行的數(shù)據(jù)傳輸。在設(shè)計中所設(shè)置的數(shù)據(jù)傳輸格式是以一個字節(jié)長度為一幀來傳輸?shù)?,其中?位數(shù)據(jù)位和1位奇偶校驗(yàn)位共同組成。所以接收端所接收的數(shù)據(jù)都是以字節(jié)為單位來存儲的。在這個通信系統(tǒng)中,還加入了對接收數(shù)據(jù)的另一數(shù)據(jù)檢錯方案。數(shù)據(jù)的收發(fā)并不是將采集數(shù)據(jù)直接轉(zhuǎn)換成二進(jìn)制的串行數(shù)據(jù)進(jìn)行傳輸?shù)?,而是將這些數(shù)據(jù)轉(zhuǎn)換成所對應(yīng)的ASCII碼再轉(zhuǎn)成串行數(shù)據(jù)再進(jìn)行數(shù)據(jù)的發(fā)送,這樣在接收端接收到數(shù)據(jù)后,會將這些數(shù)據(jù)轉(zhuǎn)為ASCII碼,如果這些ASCII對應(yīng)的不是數(shù)字或是已超出ASCII碼范圍,則認(rèn)為是錯誤的數(shù)據(jù),將其丟棄。這樣做了之后,結(jié)合奇偶校驗(yàn),只有低三位同時有兩位都傳輸錯誤的數(shù)據(jù)不能被監(jiān)測出來,出現(xiàn)這種情況的概率比較小,并且藍(lán)牙傳輸距離短,傳輸環(huán)境并不算惡劣,這樣的檢錯能力已經(jīng)足夠了。數(shù)據(jù)接收過程也是一個阻塞調(diào)用的過程,所以同樣需要一個單獨(dú)的線程來完成。

接收到的數(shù)據(jù),全部轉(zhuǎn)換為數(shù)字的形式(振幅信息)存儲起來,供心電圖的顯示提供數(shù)據(jù)支持。Android藍(lán)牙傳輸軟件流程如圖4所示。

 

 

4.3 終端心電圖顯示

接收數(shù)據(jù)之后還有要在Android終端上描繪出心電圖,供使用者查看。在Android應(yīng)用開發(fā)中,通常會使用View這樣的控件來描繪圖案。本系統(tǒng)圖形是一個心跳幅度關(guān)于時間的二維坐標(biāo)圖,縱坐標(biāo)以毫伏為單位,橫坐標(biāo)以秒為單位。需要注意的是橫坐標(biāo)的標(biāo)識間隔,藍(lán)牙通信速率設(shè)置為9600位每秒,即1200字節(jié)每秒,所以每秒會收發(fā)1200個數(shù)據(jù)點(diǎn)的信息,橫坐標(biāo)的設(shè)置應(yīng)該以1200個點(diǎn)為1秒進(jìn)行設(shè)置。

波形的描繪是一個坐標(biāo)描點(diǎn)的過程。

將接收到的心電信號數(shù)據(jù)轉(zhuǎn)換成坐標(biāo)點(diǎn)的表示形式,存入到緩存區(qū)當(dāng)中。應(yīng)用程序在進(jìn)行波形描繪時會從該緩存區(qū)中依次提取數(shù)據(jù)點(diǎn),在坐標(biāo)圖上描繪出一個連續(xù)的波形圖。

5.系統(tǒng)功能鏈路實(shí)現(xiàn)

按照如圖5所示鏈路對移動心電監(jiān)控系統(tǒng)進(jìn)行搭建,并以一正常無心電類疾病史人員為測試對象對整個系統(tǒng)鏈路功能進(jìn)行實(shí)現(xiàn)。

 

 

啟動系統(tǒng)的智能電極和Android終端應(yīng)用程序之后,首先進(jìn)行數(shù)據(jù)配對進(jìn)入界面選擇配對設(shè)備,并點(diǎn)擊“connect”按鈕,連接開始,由Android終端主動發(fā)起連接請求,發(fā)送端監(jiān)聽到請求信息后即可回應(yīng)并建立連接。

為了方便使用和控制,數(shù)據(jù)傳輸是由接收端發(fā)起的。點(diǎn)擊屏幕中的“receive”按鈕,接收端通過藍(lán)牙向發(fā)送端發(fā)送數(shù)據(jù)傳輸?shù)?ldquo;開始”信號作為數(shù)據(jù)發(fā)送的起始信號。發(fā)送端在接到發(fā)送的“開始”信號后,便會開始發(fā)送數(shù)據(jù),直到將緩沖區(qū)內(nèi)的數(shù)據(jù)發(fā)送完畢為止,在接收端擁有與發(fā)送端相同大小的緩沖區(qū)接收數(shù)據(jù),當(dāng)接收緩沖區(qū)裝滿后,接收停止。以此來進(jìn)行數(shù)據(jù)的收發(fā)同步。接收端需要對接收到的數(shù)據(jù)進(jìn)行檢錯,丟棄錯誤數(shù)據(jù),然后將有效數(shù)據(jù)存入波形顯示緩沖區(qū)中。在屏幕中部可以看到清晰的心電波形圖,如圖6所示。

 

 

當(dāng)用戶點(diǎn)擊“realTime”按鈕時,就可以在在屏幕上觀測到實(shí)時更新的心電圖。

6.結(jié)束語

本文介紹了移動心電信息監(jiān)控系統(tǒng)方案的設(shè)計與實(shí)現(xiàn)過程,包括系統(tǒng)的總體設(shè)計以及智能電極和Android移動終端的設(shè)計過程和主要實(shí)現(xiàn)方法。

本方案中的系統(tǒng)設(shè)計將傳統(tǒng)系統(tǒng)中數(shù)據(jù)采集、處理和傳輸、診斷進(jìn)行分離,僅利用內(nèi)衣穿戴形式的智能電極對信息參數(shù)進(jìn)行采集并采用微控制器進(jìn)行簡單預(yù)處理,之后將數(shù)據(jù)通過藍(lán)牙無線傳輸技術(shù)通過無線網(wǎng)絡(luò)發(fā)出,交由配置有藍(lán)牙Android智能接收終端進(jìn)行進(jìn)一步的處理和診斷??朔藗鹘y(tǒng)系統(tǒng)體積大,使用不便,功耗大的缺點(diǎn),可在日常生活中多日長期在線工作,對使用者的健康隱患進(jìn)行監(jiān)測;并且終端數(shù)據(jù)管理與診斷分析程序能夠準(zhǔn)確記錄用戶的測試信息并且隨時查詢,而且在發(fā)生危急狀況時發(fā)出報警挽救生命。

模擬信號相關(guān)文章:什么是模擬信號


可控硅相關(guān)文章:可控硅工作原理



上一頁 1 2 下一頁

關(guān)鍵詞: Android Holter

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉