【正文】
dialog_edit_username = (EditText) view .findViewById()。 圖 接收后續(xù)流程圖 界面布局 界面布局主 要由 xml配置文件管理,一般來說,應(yīng)用中有多少個活動界面,就需要多少否 是 否 返回 連接藍(lán)牙 接收到數(shù)據(jù) ? 存入文件 轉(zhuǎn)換數(shù)據(jù) 讀寫標(biāo)志 ? 監(jiān)測數(shù)據(jù) 波形圖 脈搏穩(wěn)定 ? 計算 BPM 開始 是 是 否 蘭州理工大學(xué)畢業(yè)設(shè)計 22 布局文件,因為本設(shè)計中并不要求有酷炫的界面效果,所有布局相對來說比較簡單。 蘭州理工大學(xué)畢業(yè)設(shè)計 21 y[i] = (i)。 // 如果心率曲線上揚(yáng)則調(diào)用心率判斷方法 if (chartListSize 2) if (yTemp 0 amp。 // 響應(yīng)線程 (new Runnable() { Override public void run() { refreshChart()。 和其他庫文件相似,使用 AChartEngine 引擎也要將相應(yīng)的 jar 包導(dǎo)入項目庫文件中,如下圖所示。 } else { (bpmStr)。 int timeListSize = ()。 } // 將接收到的數(shù)據(jù)加入集合 蘭州理工大學(xué)畢業(yè)設(shè)計 18 (pluse)。 數(shù)據(jù)處理模塊 數(shù)據(jù)處理模塊被設(shè)計為對接收到的數(shù)據(jù)進(jìn)行一定的算法處理,并在用戶選擇下將接收到的所有數(shù)據(jù)以文件形式保存下來,以便之后靜態(tài)觀察;另一方面,將接收到的數(shù)據(jù)進(jìn)行條件分析,判斷波形的周期,并以此計算 BPM( Beat Per Minutes)。 數(shù)據(jù)接收模塊 此模塊承自藍(lán)牙模塊,當(dāng)藍(lán)牙服務(wù)端準(zhǔn)備就緒后,通過點(diǎn)擊設(shè)備列表進(jìn)入下一個活動頁面,而在頁面切換間,就已經(jīng)啟動了數(shù)據(jù)接收功能,此處會判 斷點(diǎn)擊的設(shè)備是否為開發(fā)板配套的心率傳感器,如果是則會進(jìn)入切換,否則是無法進(jìn)入下一個頁面的。 ... private void scanLeDevice(final boolean enable) { if (enable) { // Stops scanning after a predefined scan period. (new Runnable() { Override public void run() { mScanning = false。 否 獲取藍(lán)牙適配器 開始 開啟藍(lán)牙服務(wù) 搜索 BLE 設(shè)備 連接到 GATT 服務(wù)端 搜索到 ? 讀取 BLE 屬性 接收服務(wù)端信息 結(jié)束 設(shè)備列表 是 蘭州理工大學(xué)畢業(yè)設(shè)計 15 mBluetoothAdapter = ()。 由于藍(lán)牙 在 Android 系統(tǒng)及以上才有較好的底層支持,故而無論是模擬器還是真機(jī)都使用 Android 以上的系統(tǒng)才可調(diào)試涉及藍(lán)牙 的應(yīng)用,否則會出現(xiàn)亂碼數(shù)據(jù)或者無法開啟藍(lán)牙服務(wù)的現(xiàn)象。配以藍(lán)牙開發(fā)板 CC254x,連接之后可直接工作(程序代碼需自 行燒寫)。 因此,根據(jù)傳感器的敏感性質(zhì)不同,可分為兩部分介紹。其主要特點(diǎn)如下: ? 國際藍(lán)牙聯(lián)盟 (BT- SIG, TI 是企業(yè)成員之一 )通過的一個標(biāo)準(zhǔn)藍(lán)牙無線協(xié)議 ? 主要新特性是在藍(lán)牙標(biāo)準(zhǔn)版本上添加了 藍(lán)牙規(guī)范( 20xx 年 6 月) ? 針對無線應(yīng)用程序與低功耗,低延遲,小數(shù)據(jù)包的傳輸需求 ? 主要是圍繞手機(jī)和個人電腦系統(tǒng),但也可用于其他應(yīng)用程序 ? 就單模而言,和經(jīng)典藍(lán)牙設(shè)備不兼容 藍(lán)牙 開發(fā)至少要做兩方面的準(zhǔn)備。本次設(shè)計用到的智能手機(jī)為華為榮耀 4X,操作系統(tǒng)為 Android ,支持藍(lán)牙 BLE。 圖 genymotion 和 emulator 的創(chuàng)建設(shè)備界面 另一方面, genymotion 的源碼包較為簡潔明了,創(chuàng)建虛擬設(shè)備時只需填入設(shè)備名稱即可,其他屬性均按照實(shí)際型號的真機(jī)定制,而 emulator 自定義的屬性較多,自主性較強(qiáng),但大多設(shè)置并沒有必要,而且其啟動后尺寸是固定的,不能隨時進(jìn)行調(diào)整,默認(rèn)的屏幕尺寸高度會和 PC 的高度一致,導(dǎo)致開發(fā)視圖的不便(任務(wù)欄會遮住屏幕下方),相反 genymotion 就可以在啟動虛擬設(shè)備后自由調(diào)整其寬高度,以方便不同視圖的需要。 問題在于壓電傳感器過于靈敏,且受干擾較大 ,測出的波形噪聲信號難以處理,故而進(jìn)度緩慢。 數(shù)據(jù)傳輸模塊承接藍(lán)牙模塊,開啟藍(lán)牙傳輸服務(wù)之后,程序會自動接收傳輸過來的數(shù)據(jù)并擬進(jìn)行二次處理。 本設(shè)計則充分利用手機(jī)的無線通信功能,使用傳感器采集脈搏信號,通過手機(jī)藍(lán)牙接收信號,將智能手機(jī)變成一個“醫(yī)療設(shè)備” ( Medical Equipment[6]) 。 目前大型應(yīng)用市場中已經(jīng)涌現(xiàn)了一批用于簡單醫(yī)療的 App 應(yīng)用,有根據(jù)輸入的參數(shù)(如身高,體重)判斷體型是否合格的,有一些日常健康指導(dǎo)的(比如預(yù)防傳染病或感冒的常識),還有和硬件設(shè)備結(jié)合開發(fā)的計步器( 用于跑步時),用于調(diào)整生物鐘的睡眠鬧鐘,測心率的心率應(yīng)用??但是也明顯表明,在不配合硬件的情況下,僅僅軟件是無法完成太多測試的,也無法提供用戶太多有用的信息或數(shù)據(jù)。 就時代科技背景而言,一切與便民服務(wù)相關(guān)的工作最終都將被“移動”,成為一股股“移動 XX”潮流 ,而“移動醫(yī)療”恰恰是其中的一種,也是相當(dāng)重要的一種。其他功能諸如注冊功能,靜態(tài)顯示等也可通過在應(yīng)用中添加相應(yīng)代碼實(shí)現(xiàn),目的是通過保證數(shù)據(jù)的準(zhǔn)確性和添加必要的功能,豐富并完善應(yīng)用,使之可以廣泛使用。 關(guān)鍵詞: 脈搏;藍(lán)牙; Android;波形;健康 蘭州理工大學(xué)畢業(yè)設(shè)計 Abstract Along with rapid development of Mobile Inter,monitoring the health status by portab le terminal, bees a more feasible choice of medical design put foward an available scheme aimed at the the design,first of all,collecting human pulse signal by pulse sensor , then send it to the android terminal by bluetooth as wireless form,extract the signal from bluetooth on Android system, realizes the data read and data store, and then draw the realtime waveform according to received data, the current heart rate could be obtained through the handling of waveform analysis and testing, finally we learn on the current health status of the tester and make a simple review and advice. The datas for the design collected by photoelectric pulse sensor, the pluse sensor works by the transmission of light,to detect the change of blood concentration with the change of light intensity, result in voltage changing. The data converted to the digital signal on the bluetooth development board,and broadcast constantly .The application on the android could start bluetooth of the equipment and gained the broadcasting bluetooth signal, then established a connection and access to data services, received the pulse signal in realtime state. The data would be processed by algorithm in application, saved in the text file, and realtime waveform is given in the chart on the view of the wave form, the application could calculate the current heart rate of tester, and then application could show the the healthy condition of the tester according to the heart rate . Other functions such as registration, and static display can be achieved by adding the corresponding code in the application,such approach ensure the accuracy of the data and add the necessary function, enrich and perfect the application, make it can be widely used. Key words:pluse。眼觀當(dāng)下,衣,可以在“淘寶”手機(jī)客戶端直接購買,食,可以在“大眾點(diǎn)評”中獲得有利信息,行,可以在“百度地圖”“攜程旅行”中隨時得知路況或踩點(diǎn),住,可以在“ 58 同城”中查看租房買房信息??可以預(yù)見的是,醫(yī)療和教育將來也必會在移動互聯(lián)網(wǎng)中大放異彩,然后成為生活中耳熟能詳?shù)囊徊糠帧H绻谖磥?,醫(yī)用設(shè)備能夠便攜化,就代表著移植到智能設(shè)備中的可能性很大,也就意味著,那是一個帶著手機(jī)就能隨時隨地檢測身體健康狀蘭州理工大學(xué)畢業(yè)設(shè)計 2 態(tài)的時代,一個真正的移動醫(yī)療時代。相對于傳統(tǒng)模式下,采集的醫(yī)療數(shù)據(jù)需要上傳到專門的服務(wù)器進(jìn)行分析,移動醫(yī)療模式下 ,智能手機(jī)完全可以實(shí)現(xiàn)在手機(jī)本地對數(shù)據(jù)進(jìn)行智能分析 。 數(shù)據(jù)處理模塊即在傳輸?shù)臄?shù)據(jù)基礎(chǔ)上,對其數(shù)據(jù)進(jìn)行一系列算法處理,可將數(shù)據(jù)存入文件,也可用于繪圖。 Android 應(yīng)用 +光電傳感器 由于 Android 系統(tǒng)的移植性強(qiáng),裝載 Android 系統(tǒng)的設(shè)備越來越多且便攜性大大提高,計劃將此軟件移植到 Android 平臺中,利用光電傳感器和相應(yīng)的藍(lán)牙開發(fā)板,將傳感器采集到的脈搏信號傳輸通過藍(lán)牙的形式傳輸?shù)街悄茉O(shè)備中,并利用 Android 下較為流行的圖表引擎AChartEngine 繪制相應(yīng)的波形。 圖 為兩者創(chuàng)建虛擬設(shè)備時的界面 。 相對于模擬器來說,真機(jī)并不需要人為創(chuàng)建定制設(shè)備,可以直接投入開發(fā)使用。硬件方面,需要購買 TI 公司藍(lán)牙迷你套件,即藍(lán)牙 開發(fā)板(一般指 CC254x)以及 CC Debugger 傳真器;軟件方面, 安裝 IAR for 8051,TI 公司 BTool軟件。 壓電傳感器 壓電傳感器即壓敏電阻脈搏傳感器 HK20xxC,是在 HK20xxB 的基礎(chǔ)上增加了程控放大電路、基線調(diào)整電路、 A/D 轉(zhuǎn)換電路、串行通信電路,方便用戶集成及二次開發(fā)使用。關(guān)于此傳感器有一套自有的工具,主要是關(guān)于 BLE 藍(lán)牙 開發(fā)的必備工具,諸如 IAR 編輯器,SmartNRF 燒錄器,以及 CCDebug 仿真器,感興趣的讀者可自行查閱關(guān)于藍(lán)牙 的官方資料。 繪圖引擎選用 Android 下比較成熟的繪圖引擎 AChartEngine,此引擎專為繪圖而開發(fā),只要導(dǎo)入庫類包后就可以直接或選擇使用其中的有用類,避免開發(fā)時為自定義圖表類作太多繁瑣的工作 [9]。 ③ 開啟藍(lán)牙服務(wù); private BluetoothAdapter mBluetoothAdapter。 (mLeScanCallback)。 數(shù)據(jù)接收并不是可以單一存在的功能,因此代碼是嵌在類中的,由 調(diào)用 中的靜態(tài)方法來達(dá)到目的。 首先,藍(lán)牙傳來的值就波形來看是上下顛倒了,故而為了波形顯示將傳過來的值一律取反,并轉(zhuǎn)換為整型值。 // 如果讀寫標(biāo)志為真,則將接收到的數(shù)據(jù)寫入文件 if (saveFlag) { try { if (!()) ()。 // 求得此時與初始時刻所經(jīng)歷的時間間隔 durTime