亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2019-11-18 07:26:26黃寧陳乙德
        現(xiàn)代計(jì)算機(jī) 2019年28期
        關(guān)鍵詞:設(shè)備系統(tǒng)

        黃寧,陳乙德

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

        0 引言

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        數(shù)據(jù)接收模塊通過(guò)回調(diào)的方式實(shí)現(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){

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

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

        Bundle bundle=new Bundle();

        bundle.putString("data",data);

        msg.setData(bundle);

        handler.sendMessage(msg);

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

        }

        });

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

        2.2 藍(lán)牙控制模塊

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

        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è)備的廣播進(jìn)行比對(duì)

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

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

        mDevice1=intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);

        String s1=mDevice.getBondState();

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

        if(s1!=BluetoothDevice.BOND_BONDED){

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

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

        }

        }

        }

        };

        圖4 藍(lán)牙操作界面

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

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

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

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

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

        3.1 系統(tǒng)測(cè)試

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

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

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

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

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

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

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

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

        4 結(jié)語(yǔ)

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

        猜你喜歡
        設(shè)備系統(tǒng)
        諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無(wú)人機(jī)系統(tǒng)
        ZC系列無(wú)人機(jī)遙感系統(tǒng)
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        基于VB6.0+Access2010開(kāi)發(fā)的設(shè)備管理信息系統(tǒng)
        基于MPU6050簡(jiǎn)單控制設(shè)備
        電子制作(2018年11期)2018-08-04 03:26:08
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        500kV輸變電設(shè)備運(yùn)行維護(hù)探討
        亚洲色成人网站www永久| 国产精品三级自产拍av| 精品久久一品二品三品| 亚洲av成人无码久久精品老人| 亚洲色大成网站www久久九| 精品无码av不卡一区二区三区| 亚洲一区二区三区av色婷婷| 青青草免费在线爽视频| 中文字幕aⅴ人妻一区二区| 亚洲av无码专区亚洲av桃| 中文字幕精品亚洲二区| 风韵人妻丰满熟妇老熟| 日本最新免费二区| 激情另类小说区图片区视频区| 一区二区三区婷婷中文字幕| 亚洲国产av一区二区三区| 国内成+人 亚洲+欧美+综合在线 | 精品日产一区2区三区| 国产精品狼人久久影院软件介绍| 久久久久av无码免费网| 日韩在线精品国产成人| 亚洲国产欲色有一二欲色| 黄片视频免费观看蜜桃| 亚洲人午夜射精精品日韩| 亚洲欧洲日产国产AV无码| 蜜桃成人精品一区二区三区| 无套熟女av呻吟在线观看| 一本一道波多野结衣一区| 91久久综合精品国产丝袜长腿| 国产精品亚洲一区二区三区在线看| 国精品人妻无码一区二区三区性色| 国产96在线 | 亚洲| 国产精品国产三级国av在线观看| 永久免费视频网站在线| ā片在线观看免费观看| 成人亚洲欧美久久久久| av免费在线播放观看| 少妇性bbb搡bbb爽爽爽| 成人区人妻精品一区二区不卡网站 | 人妻少妇中文字幕av| 狠狠摸狠狠澡|