一種基于G-sensor數(shù)據(jù)的監(jiān)測生命體征的方法
【技術領域】
[0001] 本發(fā)明涉及健康監(jiān)測技術領域,具體是一種基于G-sensor數(shù)據(jù)的監(jiān)測生命體征 的方法。
【背景技術】
[0002] 對于殘障、老年、病人等特殊群體,在特別的情況下,需要對他們的生命跡象進行 監(jiān)測。目前所使用的監(jiān)測設備很昂貴,普通家庭難以承受。
[0003] G-sensor中文是重力傳感器的意思(英文全稱是Gravity-sensor),它能夠感 知到加速力的變化,加速力就是當物體在加速過程中作用在物體上的力,比如晃動、跌落、 上升、下降等各種移動變化都能被G-sensor轉(zhuǎn)化為電信號,然后通過微處理器的計算分析 后,就能夠完成程序設計好的功能,比如MP3能根據(jù)使用者的甩動方向,前后更換歌曲,放 進衣袋的時候也能夠計算出使用者的前進步伐。本發(fā)明就是基于G-sensor得到的加速力 值判斷活動狀態(tài),根據(jù)統(tǒng)計經(jīng)驗判斷當前處于活動狀態(tài)還是非活動狀態(tài)。
[0004] 大多數(shù)的android設備具有內(nèi)置的能夠測量諸如:運動、方向以及其他多種環(huán)境 變量值的感應器。這些感應器能夠提供高精度的有用原始數(shù)據(jù)以反映三維空間內(nèi)設備的移 動和位置變換或者周圍環(huán)境的其他變量值的變化。Android平臺支持三大類的感應器:運 動感應器(此類感應器能夠測量出在三維空間的三個軸向上的加速力和旋轉(zhuǎn)力,包括:加 速度計、G-sensor、陀螺儀及旋轉(zhuǎn)向量感應器等)、環(huán)境感應器和位置感應器。在android平 臺上,可以通過android sensor framework利用android設備中內(nèi)置的可用感應器獲取原 始數(shù)據(jù)。Android的sensor framework提供了一些公共類和接口來完成大量的與感應器 相關的任務。例如:在內(nèi)置的感應器中選擇特定的感應器對象、獲取到感應器測量的原始數(shù) 據(jù)、注冊感應器監(jiān)聽事件以追蹤感應器測量值的變化。
[0005] Android感應器framework提供了多種感應器。其中一些感應器是基于硬件的 物理感應器,另一些是基于硬件的軟件感應器。物理感應器是內(nèi)置于android設備之中 的物理模塊,這些感應器通過直接測量特定的環(huán)境變量值(如:加速度、磁場強度和角度 變化等)來向上層提供數(shù)據(jù)。軟件感應器并不屬于物理模塊,但是此類感應器是對物理 感應器的綜合和模擬。軟件感應器提供的數(shù)據(jù)來自于對一個或者多個物理感應器的原始 數(shù)據(jù)的綜合,因此也稱為模擬感應器或者綜合感應器。線性加速度感應器(The linear acceleration sensor)和重力感應器(The gravity sensor)是常用的兩種軟件感應器。
[0006] Android平臺支持的感應器種類如表1所示(具體可參見:http://www. android-doc, com/guide/topics/sensors/sensors overview, html)
[0007] 表1 Android平臺支持的感應器種類
[0008]
【發(fā)明內(nèi)容】
[0011] 本發(fā)明要解決的問題是提供一種基于G-sensor數(shù)據(jù)的監(jiān)測生命體征的方法,該 方法可使用普通帶有G-sensor的Android平臺移動設備監(jiān)測人的生命跡象,成本低廉,監(jiān) 測數(shù)據(jù)準確及時。
[0012] 本發(fā)明的基于G-sensor數(shù)據(jù)的監(jiān)測生命體征的方法,在android平臺下主要通過 Android sensor framework以達到對所需要的重力傳感器的使用。主要使用的公共類如 下:
[0013] SensorManager
[0014] 這個類主要用于創(chuàng)建一個能夠提供重力傳感器服務的對象。通過這個類可以獲取 所有Android平臺所支持的重力傳感器對象、注冊重力傳感器監(jiān)聽事件以及獲取重力傳感 器數(shù)據(jù)。
[0015] Sensor
[0016] 這個類的對象代表了指定類型的重力傳感器,通過對這個類的對象的監(jiān)聽可以獲 取的指定類型重力傳感器提供的數(shù)據(jù)。
[0017] SensorEvent
[0018] 這個類的對象用來獲取與其綁定的相應的重力傳感器所提供的數(shù)據(jù)。
[0019] SensorEventListener
[0020] 這個接口用于監(jiān)聽與其綁定的重力傳感器對象,當重力傳感器對象有數(shù)據(jù)輸出 時,這個接口的回調(diào)方法用于獲取重力傳感器對象的數(shù)據(jù)。
[0021] 本技術方案中主要是對Andriod平臺提供的TYPE_GRAVITY(重力傳感器)的使 用,結(jié)合具體應用場景的需要對重力傳感器提供的原始數(shù)據(jù)進行加工處理。
[0022] 本發(fā)明的基于重力傳感器數(shù)據(jù)的監(jiān)測生命體征的方法,包括以下步驟:
[0023] 1)利用android平臺的sensor framework獲取重力傳感器提供的原始數(shù)據(jù);
[0024] 2)根據(jù)當前時間段對獲取到的原始數(shù)據(jù)進行處理;
[0025] 3)根據(jù)處理后的數(shù)據(jù),結(jié)合當前時間段判斷生命體征狀態(tài),并將判斷結(jié)果上傳至 服務器。
[0026] 所述步驟1)獲取重力傳感器提供的原始數(shù)據(jù)的過程為:
[0027] 11)利用 android 平臺的 sensor framework 提供的 SENS0R_SERVICE 獲取一個 sensormanager ;
[0028] 12)從所述步驟11)中的sensormanager對象中獲取一個Sensor對象sensor ;
[0029] 13)新建一個用于響應傳感器的監(jiān)聽事件MySensorEventListener。
[0030] 所述步驟2)對原始數(shù)據(jù)處理的過程為:
[0031] 21)定義一個浮點型的校準變量calibration,初始化為0· 8 ;
[0032] 22)定義一個三維數(shù)組變量gravity用于存放獲取的三維空間的數(shù)據(jù);
[0033] 23)將所述步驟13)中獲取到的initialValues各維的值按步驟21)中的 calibration和(Ι-calibration)加權(quán)平均后賦值給步驟22)定義的gravity數(shù)組的對應 維;
[0034] 24:)定義浮點型變量 linear_X_acceleration、linear_Y_acceleration、linear_ Z_acceleration,并將將所述步驟13)中獲取到的initialValues各維的值與步驟23)中 處理后得到的gravity數(shù)組的對應維的值作差后分別賦值給以上三個變量;
[0035] 所述步驟3)中判斷生命體征狀態(tài)的過程為:對所述步驟24)中得到的三個變 量 linear_X_acceleration、linear_Y_acceleration、linear_Z_acceleration 的值做一 個判斷,當條件(linear_X_acceleration>0&&linear_X_acceleration〈10)、(linear_Y_ acceleration>0&&linear_Z_acceleration〈10)、 (linear_Z_acceleration>0&&linear_X_ acceleration〈10)中的任意一個被滿足時則說明被監(jiān)護者有生命體征;當條件(linear_ X_acceleration = = 0)、(linear_Y_acceleration = = 0)、(linear_Z_acceleration = =0)、同時滿足時,則說明被監(jiān)護者當前無生命體征。
[0036] 結(jié)合當前時間段判斷生命體征狀態(tài)過程為:
[0037] 31)定義一個Date型變量date,初始化為系統(tǒng)當前時間System. currentTimeMi11i s();
[0038] 32)定義一個SimpleDateFormat型的變量format用于格式化所述步驟31)中獲 取的時間;
[0039] 33)定義一個String型的變量time,用所述步驟32)的變量format格式化步驟 31)的變量date后賦值給變量time ;
[0040] 34)定義一個int型的變量hour,將所述步驟33)中的變量time的小時段值 (time, substring (0, 2). trim())取出賦值給變量 hour ;
[0041] 35)根據(jù)所述步驟34)中的變量hour的值進行判斷,當hour的值滿足條件(hour〈 =24&&hour> = 20)和hour〈 = 6中任意一個時,則說明目前處于白天時間,將每隔三分鐘 做一次生命特征狀態(tài)的判斷,若為無生命狀態(tài)則將信息上報至服務器;當hour的值同時不 滿足條件〇iour〈 = 24&&hour> = 20)和hour〈 = 6時,則說明目前處于夜晚時間,將每隔 兩小時做一次生命特征狀態(tài)的判斷,若為無生命狀態(tài)則將信息上報至服務器。
[0042] 36)當所述步驟35)中連續(xù)三次向服務發(fā)出無生命狀態(tài)反饋時,服務器則通知監(jiān) 護人手機,被監(jiān)護人生命體征異常。
[0043] 本發(fā)明的基于重力傳感器數(shù)據(jù)的監(jiān)測生命體征的方法,使用普通帶有重力傳感器 的Android平臺移動設備監(jiān)測人的生命跡象,特別是對殘障人士、老人、病人等需要監(jiān)護的 人的生命跡象的監(jiān)測,以利于監(jiān)護人及時了解被監(jiān)護人的生命跡象信息并采取相應的對策 保障被監(jiān)護人的生命安全。該方法利用了現(xiàn)有的常用設備,成本低廉,易用性強。
【具體實施方式】
[0044] 下面對本發(fā)明提出的一種基于Android平臺移動設備的音量測算方法進行詳細 描述。
[0045] 本發(fā)明的一種基于G-sensor數(shù)據(jù)的監(jiān)測生命體征的方法,包括以下步驟:
[0046] 第一步,利用android平臺的sensor