• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Android 及Arduino 的可穿戴式生命體征檢測系統(tǒng)

      2019-11-18 07:26:26黃寧陳乙德
      現(xiàn)代計算機 2019年28期
      關(guān)鍵詞:透光率藍牙體征

      黃寧,陳乙德

      (中山大學新華學院信息科學學院,東莞 523133)

      0 引言

      近年來,消費級的可穿戴設(shè)備逐漸走進人們生活,有一部分諸如小米手環(huán)、華為手表之類的可穿戴設(shè)備集成了心率監(jiān)測的功能。然而這些可穿戴設(shè)備普遍存在續(xù)航時間短、無法監(jiān)測體溫、功能冗雜、成本偏高等缺陷[1]。這是由于廠商在可穿戴設(shè)備上集成了過多的功能所導致的。換言之,市面上并不存在一款專注生命體征監(jiān)測的可穿戴設(shè)備。本文介紹了一種低成本、長續(xù)航、高可靠性、專注于生命體征監(jiān)測的可穿戴設(shè)備[2]。

      1 生命體征監(jiān)測系統(tǒng)設(shè)計

      為了提升系統(tǒng)續(xù)航,降低充電頻率,故而硬件應(yīng)該在滿足基本需求的前提下盡可能簡化,同時硬件也應(yīng)當考慮到功耗控制。因此藍牙模塊選取了BT04 藍牙從機模塊。由于系統(tǒng)對精度要求不高,為降低實現(xiàn)難度,溫度傳感器選取了LM35 溫度傳感器模塊。系統(tǒng)控制器采用了集成有ATmega2560 芯片的Mega2560,Mega2560 具有同時具有54 路數(shù)字輸入/輸出口(其中15 路可作為PWM 輸出),15 路模擬輸入,4 路UART接口,預留了極大的升級余地。

      圖1 系統(tǒng)硬件設(shè)計框圖

      LM35 是由National Semiconductor 所生產(chǎn)的溫度感測器,其輸出電壓與攝氏溫標呈線性關(guān)系,轉(zhuǎn)換公式如下,0°C 時輸出為0V,每升高1°C,輸出電壓增加10mV。

      心率測量采用的是PulseSensor 模塊,這一模塊集成了光電變換器和光源兩部分,降低了系統(tǒng)的實現(xiàn)難度。這一模塊的原理是當心臟跳動時人體組織會周期性地出現(xiàn)透光率的改變,通過監(jiān)測透光率的變化就能測量心率,即光電容積法。

      光電容積法的原理是監(jiān)測心臟周期性收縮舒張導致動脈內(nèi)血液充盈程度變化從而進行脈搏測量。進而導致人體組織透光率發(fā)生改變。光電容積法的光源一般采用波長為500nm-700nm 的發(fā)光二極管,這一波長對動脈血中氧和血紅蛋白有選擇性。

      血管內(nèi)血液充盈程度變化將導致血液的透光能力發(fā)生改變,此時光電變換器通過接收反射從人體組織反射的特定波長的光線,將光信號轉(zhuǎn)變?yōu)殡娦盘柌⑼ㄟ^硬件電路將電信號進行處理后輸出。因為脈搏和動脈血管容積都會隨著心臟的搏動而周期性變化,所以根據(jù)電信號變化周期就能得到脈搏率[3]。

      圖2 脈搏數(shù)據(jù)讀取流程圖

      數(shù)據(jù)傳輸考慮到穩(wěn)定性、功耗等多方面因素采用的是藍牙技術(shù)[4],由于無需充當藍牙主機,采用的是BT04-A 藍牙從機模塊,支持藍牙V3.0+EDR、藍牙Class 2、UART 接口,內(nèi)置PCB 射頻天線,使用3.3V 電源供電。

      2 系統(tǒng)軟件設(shè)計

      應(yīng)用運行在Android API 大于等于22 的Android系統(tǒng)上,低于此API 有可能出現(xiàn)未知問題。軟件主要由數(shù)據(jù)接收模塊、藍牙控制模塊以及數(shù)據(jù)顯示模塊構(gòu)成。

      2.1 數(shù)據(jù)接收模塊

      為保證長時間穩(wěn)定接收來自硬件的消息,因而需要創(chuàng)建線程進行專門的數(shù)據(jù)讀取,加上由于Android 特性,無法在主線程中執(zhí)行耗時操作[5],故而使用Service內(nèi)建線程的方法實現(xiàn)數(shù)據(jù)讀取。

      數(shù)據(jù)接收模塊通過回調(diào)的方式實現(xiàn)與數(shù)據(jù)顯示模塊之間的通訊。

      /***數(shù)據(jù)接收模塊內(nèi)代碼****/

      private Callback callback=null;

      public void setThisCallback(Callback mCallback){

      this.callback=mCallback;

      }

      public static interface Callback{

      void onDataChange(String data);//空方法

      }

      public Callback getThisCallback(){

      return callback;

      }

      /***數(shù)據(jù)顯示模塊內(nèi)代碼****/

      bleBinder=(BleListenService.BleBinder)service;

      bleBinder.getService().setThisCallback(new BleListen-Service.Callback(){

      @Override

      public void onDataChange(String data){

      //實現(xiàn)onDataChange 方法

      Message msg=new Message();//新建消息對象

      Bundle bundle=new Bundle();

      bundle.putString("data",data);

      msg.setData(bundle);

      handler.sendMessage(msg);

      //將數(shù)據(jù)發(fā)送至模塊內(nèi)的handler 做進一步處理

      }

      });

      圖3 數(shù)據(jù)讀取流程圖

      2.2 藍牙控制模塊

      藍牙控制模塊包含簡化后的藍牙工具類、藍牙廣播接收器,以及一個進行數(shù)據(jù)測試的輸入框,同時創(chuàng)建了一個顯示界面以便用戶使用進行操作。藍牙控制模塊負責實現(xiàn)藍牙連接、藍牙搜索、藍牙配對及藍牙相關(guān)權(quán)限的申請。

      private final BroadcastReceiver mReceiver1;

      mReceiver1=new BroadcastReceiver(){

      @Override

      public void onReceive(Context context,Intent intent){

      String mAction1=intent.getAction();

      BluetoothDevice mDevice1;

      //與發(fā)現(xiàn)設(shè)備的廣播進行比對

      if (BluetoothDevice.ACTION_FOUND.equals(mAction1)){

      //獲取設(shè)備的詳細信息

      mDevice1=intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);

      String s1=mDevice.getBondState();

      //判斷搜索到的設(shè)備是否配對

      if(s1!=BluetoothDevice.BOND_BONDED){

      s1=mDevice1.getBleName()+":"+mDevice1.get-BleAddress()

      bluetoothDevices.add("未配對"+s1);

      }

      }

      }

      };

      圖4 藍牙操作界面

      圖5 藍牙設(shè)備搜索流程圖

      2.3 數(shù)據(jù)顯示模塊

      數(shù)據(jù)顯示模塊內(nèi)實現(xiàn)了回調(diào)接口,在onRestart 函數(shù)調(diào)用時將現(xiàn)有服務(wù)進行綁定,通過回調(diào)接口實現(xiàn)跨線程通訊,依賴handle 實例對數(shù)據(jù)進行處理并將主界面顯示進行更新。

      圖6 數(shù)據(jù)顯示界面

      3 系統(tǒng)運行結(jié)果及分析

      3.1 系統(tǒng)測試

      系統(tǒng)測試存在于開發(fā)的各階段,測試需要覆蓋每個模塊,一方面是為了保障模塊能夠正常運行,另一方面是為了保障系統(tǒng)符合設(shè)計需求。

      表1 測試環(huán)境搭建

      在表1 所示的測試環(huán)境中,對設(shè)計功能進行測試,得到如表2 的結(jié)果。

      表2 系統(tǒng)功能測試

      3.2 傳輸穩(wěn)定性測試

      為更貼合實際情況,實驗?zāi)M了用戶手持Android設(shè)備時的場景。測試通過統(tǒng)計來自從機的數(shù)據(jù)包編號,Android 應(yīng)用接收到的數(shù)據(jù)包個數(shù),計算不同距離下傳輸中的丟包率。實驗結(jié)果如表3 所示。

      根據(jù)表3 可得到以下結(jié)論。Android 設(shè)備與硬件距離在150cm 以內(nèi)可確保數(shù)據(jù)過程中的穩(wěn)定性,而150cm 的通信距離完全滿足本系統(tǒng)應(yīng)用要求,因此這一系統(tǒng)在正常使用中的穩(wěn)定性滿足要求。

      表3 傳輸穩(wěn)定性測試

      4 結(jié)語

      本文實現(xiàn)了采用可穿戴設(shè)備與手機應(yīng)用協(xié)同工作的構(gòu)想,其主要是結(jié)合可穿戴設(shè)備的浪潮,在Arduino與Android 平臺上進行開發(fā)的。通過Android Studio 與Arduino IDE 這兩個集成開發(fā)環(huán)境,使用Java 與C 語言的一個子集進行完成了系統(tǒng)的開發(fā)。系統(tǒng)的穩(wěn)定性和和可靠性較好,基本可以實現(xiàn)“使用戶能夠便捷且實時的了解到自己的生命體征”這一設(shè)計目標。

      猜你喜歡
      透光率藍牙體征
      藍牙音箱的直線之美
      不同透光率果袋對黃冠梨雞爪病發(fā)生的影響
      河北果樹(2022年1期)2022-02-16 00:41:04
      光照強度對溫室栽培蒲公英風味品質(zhì)的影響
      Endoscopic pedicle flap grafting in the treatment of esophageal fistulas: A case report
      金屬光子晶體的可見光光譜特性
      簡單、易用,可玩性強Q AcousticsBT3藍牙音箱
      柔性可穿戴生命體征傳感器的研究進展
      適合自己的才是最好的 德生(TECSUN) BT-50藍牙耳機放大器
      緊急:藍牙指尖陀螺自燃!安全隱患頻出
      玩具世界(2017年8期)2017-02-06 03:01:38
      光線入射角及光照強度對日光溫室棚膜透光率的影響
      忻城县| 海原县| 横山县| 阳高县| 尚义县| 池州市| 浙江省| 夏邑县| 定边县| 柳江县| 孟村| 贵德县| 华池县| 柞水县| 泸西县| 灯塔市| 嘉兴市| 阿巴嘎旗| 江阴市| 洮南市| 潞城市| 棋牌| 宜君县| 甘泉县| 蒲江县| 安丘市| 庆元县| 阿鲁科尔沁旗| 三门县| 桃园县| 河源市| 马山县| 吴堡县| 怀仁县| 开江县| 昆山市| 吉木萨尔县| 津市市| 双城市| 乌拉特后旗| 宁远县|