<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)ndroid的低功耗移動(dòng)心電監控系統的設計方案

基于A(yíng)ndroid的低功耗移動(dòng)心電監控系統的設計方案

作者: 時(shí)間:2014-11-26 來(lái)源:網(wǎng)絡(luò ) 收藏

  4.終端應用程序設計

本文引用地址:http://dyxdggzs.com/article/266001.htm

  4.1藍牙數據接收模塊設計

  現代社會(huì )智能移動(dòng)終端已經(jīng)成為人們生活中不可或缺的一部分,而目前大部分以手機為代表智能移動(dòng)終端都是以系統為操作平臺并配置有藍牙裝置,因此為了滿(mǎn)足人們日常生活使用的需求以配置有藍牙的智能移動(dòng)終端為數據處理和診斷平臺來(lái)開(kāi)發(fā)應用程。該應用程序以Java語(yǔ)言為主來(lái)進(jìn)行開(kāi)發(fā)。如圖3所示為Android設備藍牙數據接收模塊設計。

  

 

  圖3 Android設備藍牙數據接收模塊框圖

  4.2 Android設備藍牙傳輸的實(shí)現方案

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

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

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

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

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

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

  

 

  圖4 Android藍牙傳輸軟件流程圖



關(guān)鍵詞: TI MSP430 Android

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>