伍悅,熊俊俏
(武漢工程大學電氣信息學院,湖北 武漢 430205)
隨著經濟發展和物質生活水平的不斷提高,飲食結構和飲食質量的不斷改變,健康問題也成為了人們密切關注的問題[1]。近年來,以信息化、智能化為基礎的健康檢測智能終端應運而生。傳感器技術的發展也為智能醫療提供了更精準的健康數據,讓人們足不出戶就可以進行個人重要生理指標的檢測,成為醫療保健界的新寵。傳統的運動檢測產品功能過于單一,如計步器單以加速度計算能耗的模式有所欠缺?,F今移動通信技術的迅猛發展以及Android等操作系統智能終端的廣泛普及, 為健康管理提供新的思路。筆者基于智能可穿戴設備和藍牙通信技術,設計并實現了一款基于Android健康監測應用程序,并通過對健康數據進行分析來判斷用戶的健康狀態,給出健康指導建議,為健康管理提供一種智能化的方案。
基于Android平臺,通過傳感器形成可穿戴設備,采集人體的體溫、血壓等體征數據,將測得的數據經藍牙通信模塊實時發送到Android智能終端向用戶展示。該系統由健康監測儀、藍牙模塊、后臺數據庫服務器和Android前端4個部分組成。傳感器采集人體健康信號,后臺服務器接收和解析傳感器采集到的健康數據,響應用戶手機端的業務請求,客戶端與健康監測儀的通信采用藍牙方式,監測儀工作后處于等待與手機藍牙的連接命令狀態,當2個藍牙設備在同一個RFCOMM信道中連接到Bluetoothsocket時,手機端和監測儀連接成功,客戶端獲取監測儀的健康數據;服務器端負責監聽連接請求,建立線程處理數據業務與客戶端交互[2]。系統總體結構如圖1所示。
微控制器MCU選用低功耗的MSP430f149單片機芯片為核心處理器完成人體運動參數的采集、處理和顯示;三維加速度傳感器選用MMA7455L數字傳感器;溫度傳感器選用DS18B20數字式傳感器;脈搏傳感器選用 HKG-07B紅外脈搏傳感器;選用8Mbit的FLASH存儲模塊來存儲采集到的數據,要求存儲模塊有足夠大的存儲速度和存儲空間;系統采用4.2V的鋰電池供電;采用CP2102專用USB接口芯片完成數據傳輸和充電功能[3,4]。人體運動參數檢測系統采集到的信號都會通過藍牙模塊實時傳輸到智能終端,由智能終端設備進行信號分析。該系統選用的藍牙模塊型號是BLE-CC41-A。硬件系統的結構如圖2所示。

圖1 系統總體結構

圖2 硬件系統結構圖
MMA7455L數字加速度傳感器的工作原理是在固定的電容極板中間放置一個可移動的極板,中間的極板在加速度作用下在兩邊的極板間發生位置偏移,通過測量相對電容量的變化測量加速度的大小[5],MMA7455L的數據通信接口為四線SPI,其信號接口電路如圖3所示。
當監測儀與手機成功連接后,監測儀發送對時信號,若對時成功則返回成功的提示。單片機依次采集各傳感器的數據并補償,隨后經由藍牙硬件模塊依次發送給服務器端進行處理[6],系統藍牙傳輸過程如圖4所示。

圖3 MMA7455L接口電路 圖4 系統藍牙傳輸過程

圖5 軟件系統結構圖
為了實現用戶實時地查看其健康狀況,采用了C/S的開發模式,將系統分為客戶端和服務器端2個部分。客戶端基于Android技術開發,服務器端執行后臺服務,響應客戶端的業務請求。其中,客戶端包括注冊/登陸模塊、用戶個人信息模塊、當前/歷史健康數據查詢模塊以及健康跟蹤指導;服務器端包括健康數據存儲模塊、數據處理和報警模塊以及用戶信息管理模塊。軟件系統結構如圖5所示。
當APP啟動后,系統自動跳入登陸界面,登錄界面是用戶打開基于Android的健康監測系統的首個界面。用戶點擊登錄按鈕,系統在按鈕內監聽相應事件,請求連接服務器并通過數據庫查詢相應的帳號和密碼是否正確[7,8]。如不正確系統會自動提示用戶輸入的賬號和密碼有誤,正確則提示登錄成功,頁面跳轉到主界面。
首次登陸的用戶需進行注冊操作。注冊模塊的功能就是把用戶的注冊信息添加到數據庫中。首先在 Activity 內定義Button用于響應用戶的點擊事件,用setOnClickListener給它添加一個監聽器,在監聽器內向服務器請求連接并在數據庫新增信息。用戶填寫好注冊信息后,客戶端將用戶的注冊信息發送至應用服務器進行處理并連接數據庫服務器,對新用戶信息進行存儲和驗證,若注冊成功進入應用程序的主界面,注冊不成功彈出不成功指令。

圖6 APP主界面 圖7 人體健康數據波形圖
為了營造良好的用戶體驗,該系統的界面編寫采用XML和Java混合控制UI界面,使得系統界面簡潔明了。UI界面是用戶與智能終端之間進行信息交互的重要媒介,是Android系統不可缺少的一部分[9]。該系統的UI界面包括首頁和各個傳感器的參數實時顯示的子界面以及健康指導界面,每個界面之間的相互跳轉是通過按鈕和返回按鍵來實現的。系統主界面設計如圖6所示。
用戶登錄成功后,點擊當前健康數據的圖標即可進入當前健康數據查詢模塊。此時,App會通過藍牙連接便攜式人體健康監測儀,獲取人體體征的實時信息。具體的實現流程為:客戶端發送查詢當前健康情況的請求至應用服務器,隨后應用服務器調用心率、體溫、加速度等傳感器獲取當前健康數據并通過服務器添加到數據庫,然后將得到的數據返回至接口服務器,最后在客戶端呈現給用戶。
歷史健康數據查詢模塊提供用戶過去某段時間的體溫曲線。用戶在查看歷史健康情況時,App會將賬號在服務器端的健康信息通過 queryUserWeight 接口接收并保存到本地的SQLite,再根據用戶選擇的時間段繪制對應折線圖。在歷史健康數據查詢模塊中,用戶通過Android手機對相應歷史時間區域進行選擇,最終的結果以曲線的形式在客戶端上展示。圖7為功能測試試驗中用戶一周的健康數據波形圖,從數據可知用戶處于健康水平。
服務器端接收到客戶端的業務請求后,立即調用數據庫獲取健康數據和用戶信息等,并將其轉化成JSON數據顯示在客戶端。由于該設計的數據量比較小,因此采用了內置的輕量級SQLite數據庫。為了方便使用SQLite數據庫,Android系統提供了一系列對數據庫進行操作的類,包括SQLiteOpenHelper和SQLiteDatebase。其中,SQLiteOpenHelper這個抽象類用于創建數據庫和實現數據庫版本的更新。SQLiteDatebase是一個數據庫訪問類,該類封裝了一系列的API,方便對數據進行增、刪、查、改操作。表1為用戶注冊表,服務器需要對錄入的用戶基本信息進行校驗審核后,方可完成注冊。

表1 用戶注冊表
為了實現對實時監測到的人體健康數據進行分析,準確判斷用戶的健康狀況,該系統還設計了報警參數設置模塊,系統默認設置了健康參數域的上限值和下限值,用戶可根據自身情況進行修改;當監測到的用戶健康數據超出健康域時,系統給出報警提示。
筆者通過三維加速度傳感器和微處理器采集用戶行為的加速度,利用相關算法估算運動的能量消耗[10]。選用的MMA7455L三維加速度傳感器具有檢測X、Y、Z三維6個方向加速度的功能,能夠更精準地實現人體運動能耗的分析估算。
筆者提出了一種基于智能終端的便攜式人體健康監測儀的設計方案,研究了系統的硬件選型、軟件環境搭建、數據庫表設計、詳細開發步驟等,完成了基于Android的人體運動健康參數檢測系統的設計。該系統可以實現人體運動的加速度、心率、體溫等健康數據的測量功能,并通過對測得的健康數據進行分析判斷,給出個性化的健康指導建議。系統測試效果良好,能較為完善地實現人體健康信息的采集、分析和顯示等功能,且界面簡潔明了,交互性強。但有些細節還有待完善,如可以考慮在iOS平臺上實現,從而能夠覆蓋更廣泛的用戶群體。
[1]朱國忠,韋彩虹,潘敏. 基于三維加速度傳感器的人體運動能耗檢測算法的研究[J]. 傳感技術學報,2011,24(8):1217~1222.
[2]青松,程岱松,武建華,等.數字通信系統的SystemView仿真與分析[M].北京:電子工業出版社,2001:53~63.
[3]余賢捷. 運動參數檢測系統[D].武漢:武漢工程大學,2012.
[4]吳昱,黃建明.一種基于Android的健康監控預警系統[J].軟件,2016,37(2):129~133.
[5]熊俊俏,余賢捷,周建軍,等. 便攜式運動參數記錄儀的設計[J]. 測控技術,2013,32(1):4~6+10.
[6]馮艷紅,何加銘,楊任爾,等. 基于Android藍牙技術的健康服務系統設計[J]. 無線電通信技術,2014,40(1):61~64.
[7]楊曉婧. 基于無線傳感器網絡的人體運動能耗檢測系統的設計[D].武漢:武漢工程大學,2014.
[8]郭霖.第一行代碼——Android[M].北京:人民郵電出版社,2014.
[9]羅富財. 基于Android平臺的藍牙通信系統的研究與實現[D].北京: 華北電力大學, 2013.
[10]李易陸,陳洪波,蔣曉旭,等. 基于三軸加速度傳感器的人機交互智能手環[J]. 桂林電子科技大學學報,2015,35(5):412~415.