• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Node.js的BLE可穿戴醫(yī)療設(shè)備管理中間件研究與實(shí)現(xiàn)

    2019-06-17 09:28:00張亞兵王俊紅
    關(guān)鍵詞:設(shè)備系統(tǒng)

    陳 剛 閆 航 張亞兵 王俊紅

    1(鄭州大學(xué)互聯(lián)網(wǎng)醫(yī)療與健康服務(wù)協(xié)同創(chuàng)新中心 河南 鄭州 450052)2(鄭州大學(xué)護(hù)理學(xué)院 河南 鄭州 450001)

    0 引 言

    可穿戴醫(yī)療設(shè)備是可以直接穿在身上或作為配件穿戴并能傳輸監(jiān)測數(shù)據(jù)的一種計(jì)算設(shè)備[1]。各類可穿戴醫(yī)療設(shè)備在醫(yī)院病房中發(fā)揮著關(guān)鍵的作用。首先,可穿戴醫(yī)療設(shè)備是護(hù)士對病人進(jìn)行日常健康監(jiān)測的重要工具;其次,在健康方面對特定的生命體征需要進(jìn)行24 h監(jiān)護(hù)[2]。由于采取有線通信方式的傳統(tǒng)可穿戴醫(yī)療設(shè)備在治療過程中導(dǎo)線會限制患者的活動,越來越多的可穿戴醫(yī)療設(shè)備開始采用無線的通信方式。低功耗藍(lán)牙是藍(lán)牙4.0開始在其標(biāo)準(zhǔn)的基礎(chǔ)上針對低功耗應(yīng)用進(jìn)行優(yōu)化后的標(biāo)準(zhǔn),憑借快速連接與超低功耗的顯著特點(diǎn),已經(jīng)廣泛應(yīng)用于醫(yī)療保健、可穿戴設(shè)備等領(lǐng)域[3]。

    近年來絕大多數(shù)BLE可穿戴醫(yī)療設(shè)備由智能手機(jī)管理。甘廣輝等[4]提出了一種基于低功耗藍(lán)牙的家用胎兒監(jiān)護(hù)系統(tǒng),實(shí)現(xiàn)了對胎心率、宮縮壓和胎動生理信號的采集與傳輸,并通過手機(jī)對數(shù)據(jù)進(jìn)行顯示和存儲以實(shí)現(xiàn)胎兒的實(shí)時(shí)監(jiān)護(hù)。張金玲等[5]設(shè)計(jì)了一種基于藍(lán)牙低功耗協(xié)議的手機(jī)無線心電和血氧健康監(jiān)護(hù)系統(tǒng),通過手機(jī)客戶端程序?qū)崿F(xiàn)人體心電和血氧參數(shù)的實(shí)時(shí)監(jiān)控。而通用平臺Windows或Linux上的開發(fā)應(yīng)用較少,謝佳柏等[6]設(shè)計(jì)了一款基于BLE與WebSocket的數(shù)據(jù)網(wǎng)關(guān),實(shí)現(xiàn)了低功耗藍(lán)牙網(wǎng)絡(luò)對手機(jī)、平板和筆記本電腦的兼容性,但是該數(shù)據(jù)網(wǎng)關(guān)采用的是51內(nèi)核,處理能力較弱,僅支持同時(shí)連接3個(gè)簡單的傳感器節(jié)點(diǎn)。在醫(yī)院病房下的健康監(jiān)測場景中,多設(shè)備并發(fā)使用、健康數(shù)據(jù)處理、患者管理等操作需要強(qiáng)大的計(jì)算能力與通用平臺編程需求。此外,由于各個(gè)廠家的設(shè)備開發(fā)標(biāo)準(zhǔn)體系不互通,智能手機(jī)中的一個(gè)APP只能連接同廠家的可穿戴醫(yī)療設(shè)備,難以跨廠家、跨平臺管理多種設(shè)備[7]。

    鑒于此,本文提出了基于Node.js的BLE可穿戴醫(yī)療設(shè)備管理系統(tǒng)。由于Node.js具備跨平臺的特點(diǎn),本系統(tǒng)可以靈活部署于Windows和Linux系統(tǒng)上。通過該中間件系統(tǒng)可以集中進(jìn)行多種可穿戴醫(yī)療設(shè)備的管理,同時(shí)系統(tǒng)對應(yīng)用程序提供調(diào)用接口,從而應(yīng)用程序無需安裝專用的BLE軟件。本系統(tǒng)實(shí)時(shí)性強(qiáng),響應(yīng)速度快,支持并發(fā)操作,能夠以一種更加高效的方式進(jìn)行BLE可穿戴醫(yī)療設(shè)備的管理。

    1 相關(guān)技術(shù)

    1.1 Node.js環(huán)境

    Node.js是一個(gè)基于V8引擎的JavaScript運(yùn)行環(huán)境,采用輕量和高效的事件驅(qū)動、非阻塞I/O模型,常用于構(gòu)建快速、可擴(kuò)展的網(wǎng)絡(luò)應(yīng)用程序[8]。它由Ryan Dahl于2009年設(shè)計(jì)并提出,用異步I/O和事件驅(qū)動取代多線程,不僅大幅度提升了性能,還減少了多線程開發(fā)的復(fù)雜性。Node.js不但采用Chrome V8作為引擎,還使用了高效的libev和libeio庫支持事件驅(qū)動和異步I/O,并在此基礎(chǔ)上抽象出了層libuv,實(shí)現(xiàn)了高性能的運(yùn)行機(jī)制。

    Node.js基于事件觸發(fā)的方式能夠快速接收可穿戴醫(yī)療設(shè)備發(fā)來的監(jiān)測數(shù)據(jù),相比于其他平臺有著顯著的優(yōu)勢,并且能夠適用于高并發(fā)的運(yùn)作方式,所以本文所設(shè)計(jì)的中間件系統(tǒng)選擇Node作為運(yùn)行支撐環(huán)境。

    1.2 BLE協(xié)議簡介

    BLE即藍(lán)牙低功耗技術(shù),是一種低成本、短距離、超低功耗的無線傳輸技術(shù)[3]。如圖1所示為BLE協(xié)議棧,BLE應(yīng)用的開發(fā)所要關(guān)注的是通用訪問配置(GAP)子協(xié)議與通用屬性配置(GATT)子協(xié)議。

    圖1 BLE協(xié)議棧

    GAP協(xié)議負(fù)責(zé)控制設(shè)備連接和廣播。通常將設(shè)備分為中心設(shè)備(Central)與外圍設(shè)備(Peripheral),中心設(shè)備負(fù)責(zé)掃描并連接其他外圍設(shè)備,外圍設(shè)備則將自身的設(shè)備信息對外廣播[9]。本設(shè)計(jì)方案中,可穿戴醫(yī)療設(shè)備作為外圍設(shè)備,而部署中間件系統(tǒng)的計(jì)算機(jī)則作為中心設(shè)備。

    GATT協(xié)議是負(fù)責(zé)雙方數(shù)據(jù)傳輸?shù)耐ㄓ靡?guī)范,把各種屬性表示為服務(wù)(Service)的集合,每個(gè)服務(wù)都有一個(gè) 128 bit 的 UUID 作為這個(gè)服務(wù)的標(biāo)識。為了提高傳輸效率,藍(lán)牙聯(lián)盟也定義了較短的16 bit的UUID來使用。服務(wù)由若干個(gè)特征值(Characteristic)組成,每一個(gè)特征值也有唯一的 UUID 作為標(biāo)識符。特征值由一個(gè)value和零個(gè)或多個(gè)對value的描述組成,相關(guān)的監(jiān)測數(shù)據(jù)即存儲于特征值中[9]。

    1.3 WebSocket通信技術(shù)

    WebSocket是基于TCP協(xié)議實(shí)現(xiàn)Web瀏覽器和服務(wù)器之間的實(shí)時(shí)雙向通信技術(shù)[10]。它支持持久連接,客戶端與服務(wù)器進(jìn)行一次合法的握手建立WebSocket連接后,服務(wù)器便可以主動地向客戶端發(fā)送數(shù)據(jù)[11]。本文采用WebSocket技術(shù)實(shí)現(xiàn)中間件系統(tǒng)與應(yīng)用層之間的雙向數(shù)據(jù)傳輸,在此基礎(chǔ)上進(jìn)一步封裝管理可穿戴醫(yī)療設(shè)備的通信接口。

    2 中間件架構(gòu)設(shè)計(jì)

    2.1 體系拓?fù)浣Y(jié)構(gòu)

    本文提出的體系拓?fù)浣Y(jié)構(gòu)如圖2所示,該體系由BLE可穿戴醫(yī)療設(shè)備、設(shè)備管理中間件和調(diào)用方組成。可穿戴醫(yī)療設(shè)備管理中間件是核心組成部分,一方面它通過BLE協(xié)議接入各類可穿戴醫(yī)療設(shè)備如血壓計(jì)、體溫計(jì)和心率計(jì)等,實(shí)現(xiàn)對可穿戴設(shè)備的統(tǒng)一管理與數(shù)據(jù)處理,同時(shí)協(xié)調(diào)設(shè)備資源的調(diào)度以實(shí)現(xiàn)多設(shè)備并發(fā)運(yùn)行。另一方面,中間件通過WebSocket通信方式響應(yīng)調(diào)用方應(yīng)用程序的操作請求,調(diào)用方通過中間件封裝的控制指令完成對可穿戴醫(yī)療設(shè)備的操作以及健康監(jiān)測數(shù)據(jù)的實(shí)時(shí)傳輸。中間件能夠同時(shí)響應(yīng)多個(gè)Socket客戶端的請求,進(jìn)一步適應(yīng)了對可穿戴設(shè)備的并發(fā)操作,而調(diào)用方只需實(shí)現(xiàn)Socket客戶端訪問中間件即可,能夠兼容各主流平臺如Windows、Android以及MacOS等。

    圖2 體系結(jié)構(gòu)拓?fù)?/p>

    2.2 軟件架構(gòu)

    本文設(shè)計(jì)的中間件系統(tǒng)軟件架構(gòu)如圖3所示。Node環(huán)境下的程序保持單進(jìn)程單線程執(zhí)行,系統(tǒng)由設(shè)備驅(qū)動層、任務(wù)調(diào)度層、服務(wù)接口層組成。設(shè)備驅(qū)動層主要是BLE開發(fā)程序,通過BLE協(xié)議棧實(shí)現(xiàn)對低功耗可穿戴醫(yī)療設(shè)備的基本操作,包括設(shè)備掃描、連接、控制以及獲取監(jiān)測數(shù)據(jù)。任務(wù)調(diào)度層由用戶指令解析程序、多設(shè)備并發(fā)調(diào)度程序和監(jiān)測數(shù)據(jù)處理程序組成。其中,用戶指令解析程序處理客戶端發(fā)來的操作指令,進(jìn)而執(zhí)行相應(yīng)的操作方式。設(shè)備并發(fā)調(diào)度程序負(fù)責(zé)調(diào)度設(shè)備資源與客戶端請求,用以實(shí)現(xiàn)高效的設(shè)備并發(fā)操作。監(jiān)測數(shù)據(jù)處理程序?qū)υO(shè)備驅(qū)動層獲取的原始監(jiān)測數(shù)據(jù)進(jìn)行規(guī)范化處理,將數(shù)據(jù)轉(zhuǎn)換為直觀可讀的健康數(shù)據(jù)。服務(wù)接口層主要是WebSocket服務(wù)器程序,用來提供中間件與調(diào)用者交互的接口,實(shí)現(xiàn)兩者的雙向數(shù)據(jù)傳輸。WebSocket服務(wù)器程序一方面接收調(diào)用者發(fā)來的消息并進(jìn)行json解析,將解析后的數(shù)據(jù)傳遞給任務(wù)調(diào)度層;另一方面將任務(wù)調(diào)度層發(fā)來的健康數(shù)據(jù)與連接狀態(tài)封裝為json格式并發(fā)送給調(diào)用者。此外,系統(tǒng)還包含一個(gè)全局的進(jìn)程守護(hù)程序,負(fù)責(zé)解決Node可能出現(xiàn)的異常進(jìn)而防止崩潰,監(jiān)視全局異常的發(fā)生,包括回調(diào)函數(shù)發(fā)生的異常,保證中間件系統(tǒng)的可靠運(yùn)行。

    圖3 中間件軟件架構(gòu)

    3 系統(tǒng)實(shí)現(xiàn)

    本系統(tǒng)以生活中典型的BLE血壓計(jì)、BLE心率計(jì)和BLE體溫計(jì)作為BLE可穿戴醫(yī)療設(shè)備進(jìn)行系統(tǒng)的實(shí)現(xiàn)與演示。血壓計(jì)、心率計(jì)、體溫計(jì)是三種不同類型的可穿戴醫(yī)療設(shè)備,也是進(jìn)行疾病預(yù)防與診斷的重要設(shè)備。血壓計(jì)與非接觸式體溫計(jì)由專業(yè)廠家生產(chǎn),而心率計(jì)為實(shí)驗(yàn)室自制,以上設(shè)備都實(shí)現(xiàn)了BLE4.0協(xié)議,具有極低的運(yùn)行和待機(jī)功耗。

    3.1 系統(tǒng)的環(huán)境準(zhǔn)備

    系統(tǒng)基于Node平臺采用JS語言編寫,可以將Node環(huán)境部署于Windows或Linux系統(tǒng)上從而實(shí)現(xiàn)跨平臺的可穿戴醫(yī)療設(shè)備接入。首先,部署系統(tǒng)的平臺需要通過外接藍(lán)牙適配器來實(shí)現(xiàn)BLE功能,中間件系統(tǒng)在BLE開發(fā)中就充當(dāng)了中心設(shè)備的角色。

    近年來隨著Node.js的廣泛應(yīng)用,Node社區(qū)也涌現(xiàn)了很多優(yōu)秀的資源。第三方庫noble是基于Node環(huán)境封裝的低功耗藍(lán)牙庫,它基于GAP協(xié)議與GATT協(xié)議對BLE藍(lán)牙的基礎(chǔ)功能進(jìn)行了封裝,并結(jié)合C++與python語言進(jìn)行了低功耗藍(lán)牙底層協(xié)議的開發(fā)。ws庫是Node環(huán)境中流行的用以實(shí)現(xiàn)WebSocket協(xié)議的開發(fā)包,它具有快速、易用和穩(wěn)定的特點(diǎn),并且同時(shí)實(shí)現(xiàn)了服務(wù)器與客戶端。因此本文基于noble庫進(jìn)一步豐富低功耗醫(yī)療類型設(shè)備的開發(fā)工作,實(shí)現(xiàn)對可穿戴醫(yī)療設(shè)備的掃描、連接、特征值發(fā)現(xiàn)等BLE開發(fā)基本操作,引入ws庫實(shí)現(xiàn)WebSocket傳輸協(xié)議,示意代碼如下:

    const WebSocket=require(′ws′);

    var noble=require(′./lib/noble′);

    3.2 可穿戴醫(yī)療設(shè)備基本操作實(shí)現(xiàn)

    中間件系統(tǒng)在低功耗設(shè)備開發(fā)中實(shí)現(xiàn)的基礎(chǔ)功能依次為外圍設(shè)備掃描、設(shè)備連接、發(fā)現(xiàn)服務(wù)、發(fā)現(xiàn)特征值以及數(shù)據(jù)寫入與讀取,相應(yīng)地就可以完成系統(tǒng)對可穿戴醫(yī)療設(shè)備的連接、測量控制與數(shù)據(jù)傳輸工作。

    3.2.1可穿戴醫(yī)療設(shè)備開發(fā)基本流程

    本文借助noble庫實(shí)現(xiàn)低功耗藍(lán)牙的基礎(chǔ)功能,可穿戴醫(yī)療設(shè)備的基本操作開發(fā)主要包括以下步驟:

    (1) 中間件系統(tǒng)開啟藍(lán)牙掃描。通過調(diào)用方法noble.startScanning(serviceUUID)掃描相應(yīng)的BLE設(shè)備,參數(shù)為所要連接設(shè)備主服務(wù)的UUID號。

    (2) 設(shè)備連接。成功掃描到所要連接的BLE可穿戴醫(yī)療設(shè)備后會觸發(fā)設(shè)備發(fā)現(xiàn)的事件,在事件的回調(diào)函數(shù)中通過返回的peripheral對象執(zhí)行設(shè)備連接操作并停止藍(lán)牙掃描。peripheral即是通過掃描獲取到的外圍設(shè)備對象,示意代碼如下所示:

    noble.on(′discover′, function(peripheral) {

    noble.stopScanning();

    //停止掃描

    peripheral.connect(function(err) {…})

    //連接BLE設(shè)備

    })

    連接成功后才能進(jìn)行后續(xù)的一系列操作,此時(shí)可穿戴醫(yī)療設(shè)備被系統(tǒng)占用,且不可被其他中心設(shè)備所連接。

    (3) 發(fā)現(xiàn)服務(wù)。系統(tǒng)要獲取的服務(wù)是與健康監(jiān)測數(shù)據(jù)相關(guān)的服務(wù),通過方法peripheral.discoverServices(s erviceUUID)發(fā)現(xiàn)服務(wù),參數(shù)為所要獲取服務(wù)的UUID值。

    (4) 發(fā)現(xiàn)特征值。在發(fā)現(xiàn)服務(wù)方法的回調(diào)函數(shù)中通過返回的service對象調(diào)用service.discoverCharacteris tics()方法來發(fā)現(xiàn)特征值,此方法的回調(diào)函數(shù)中返回該服務(wù)下的所有特征值,然后遍歷所有特征值來匹配到健康數(shù)據(jù)相關(guān)的特征值,主要包括write特征值和notify特征值。write特征值用來向可穿戴醫(yī)療設(shè)備發(fā)送數(shù)據(jù),而notify特征值則是從可穿戴醫(yī)療設(shè)備中獲取健康監(jiān)測數(shù)據(jù)。

    (5) 設(shè)備控制與數(shù)據(jù)讀取。通過write特征值調(diào)用方法characteristic.write()并傳入控制指令來控制可穿戴醫(yī)療設(shè)備,主要包括啟動設(shè)備、關(guān)閉設(shè)備的命令。通過notify特征值調(diào)用characteristic.subscribe()方法啟動BLE設(shè)備特征值變化時(shí)的notify功能,實(shí)現(xiàn)對監(jiān)測數(shù)據(jù)的監(jiān)聽。如果可穿戴醫(yī)療設(shè)備有新的數(shù)據(jù)變化,notify特征值的回調(diào)函數(shù)就會觸發(fā),系統(tǒng)從回調(diào)函數(shù)中讀取監(jiān)測數(shù)據(jù)。

    系統(tǒng)從可穿戴醫(yī)療設(shè)備直接收到的數(shù)據(jù)為原始的字節(jié)流數(shù)據(jù),必須要對數(shù)據(jù)進(jìn)行解析以及規(guī)范化處理。BLE健康數(shù)據(jù)傳輸格式一般由起始位、數(shù)據(jù)位和結(jié)束位組成,需要從數(shù)據(jù)位中獲取健康數(shù)據(jù)[12]。然而,不同廠家、不同類型的設(shè)備對健康數(shù)據(jù)也存在著不同的編碼方式,必須針對具體的可穿戴醫(yī)療設(shè)備采取對應(yīng)的算法進(jìn)行健康數(shù)據(jù)的解析與處理。通常情況下,數(shù)據(jù)解析與處理的流程如圖4所示。

    圖4 數(shù)據(jù)處理流程

    (6) 斷開連接。完成測量之后通過write特征值向可穿戴醫(yī)療設(shè)備發(fā)送關(guān)閉設(shè)備的指令,之后通過步驟(2)中的peripheral對象執(zhí)行peripheral.disconnect()方法斷開連接,解除設(shè)備占用并釋放系統(tǒng)資源。

    3.2.2可穿戴醫(yī)療設(shè)備的控制

    系統(tǒng)與可穿戴醫(yī)療設(shè)備建立連接并且匹配好讀寫相關(guān)的特征值后,系統(tǒng)將控制指令寫入write特征值對可穿戴醫(yī)療設(shè)備進(jìn)行控制,包括開始測量、停止測量、關(guān)閉設(shè)備等常用的操作。不同的可穿戴醫(yī)療設(shè)備對應(yīng)著不同的指令編碼,寫入的數(shù)據(jù)應(yīng)轉(zhuǎn)換為byte類型的數(shù)組。

    根據(jù)可穿戴醫(yī)療設(shè)備實(shí)際控制需求,本文所使用的血壓計(jì)和心率計(jì)的開始測量、關(guān)閉設(shè)備指令以十六進(jìn)制表示的編碼如表1所示。而系統(tǒng)對體溫計(jì)只提供監(jiān)測數(shù)據(jù)、關(guān)閉連接的控制指令,開始測量、關(guān)閉設(shè)備的操作由設(shè)備自身完成。

    表1 血壓計(jì)與心率計(jì)控制編碼

    3.3 多設(shè)備并發(fā)實(shí)現(xiàn)

    相較于大多數(shù)智能手機(jī)上的可穿戴醫(yī)療設(shè)備管理方式,本系統(tǒng)實(shí)現(xiàn)了多用戶、多設(shè)備并發(fā)使用的功能。設(shè)備并發(fā)使用包含兩種場景,一是單個(gè)用戶同時(shí)使用多臺可穿戴醫(yī)療設(shè)備,二是多個(gè)用戶同時(shí)使用各自的可穿戴醫(yī)療設(shè)備。在可穿戴醫(yī)療設(shè)備基本操作實(shí)現(xiàn)的基礎(chǔ)上,本文提出了以設(shè)備池為中心的調(diào)度策略來解決多用戶、多設(shè)備并發(fā)使用問題。結(jié)合實(shí)際場景考慮,一臺可穿戴醫(yī)療設(shè)備同時(shí)只能服務(wù)一個(gè)用戶,當(dāng)用戶選擇某臺設(shè)備時(shí),分配給用戶與該設(shè)備相關(guān)的資源,直到用戶使用完畢后才能釋放資源,設(shè)備調(diào)度工作流程如圖5所示。

    圖5 設(shè)備調(diào)度工作流程圖

    本研究處理設(shè)備多連接的方法是為每一個(gè)已連接的客戶端生成一個(gè)包含四個(gè)關(guān)鍵屬性的對象,對象包含WebSocket客戶端接口、設(shè)備對象、設(shè)備write特征值和設(shè)備notify特征值,實(shí)例化代碼如下所示:

    function user_info(user_ws, peripheral,ble_notify, ble_write){

    this.user_ws=user_ws;

    this.peripheral=peripheral;

    this.ble_notify=ble_notify;

    this.ble_write=ble_write;

    }

    此對象的作用是保存控制可穿戴設(shè)備所需要的關(guān)鍵資源,并建立調(diào)用者與可穿戴設(shè)備的對應(yīng)關(guān)系。多用戶同時(shí)進(jìn)行各自的健康監(jiān)測時(shí),每臺可穿戴醫(yī)療設(shè)備都會從自身的關(guān)聯(lián)對象中進(jìn)行設(shè)備控制、數(shù)據(jù)處理以及數(shù)據(jù)傳輸工作,能夠保證用戶只與所使用的可穿戴醫(yī)療設(shè)備進(jìn)行交互,不同設(shè)備之間的操作互不影響。當(dāng)一個(gè)用戶同時(shí)使用多臺可穿戴醫(yī)療設(shè)備時(shí),則建立多個(gè)user_info對象來關(guān)聯(lián)多臺設(shè)備,用戶同時(shí)與多臺設(shè)備進(jìn)行互不影響的交互,實(shí)現(xiàn)多設(shè)備聯(lián)動健康監(jiān)測。具體方法如下:

    (1) 客戶端選擇可穿戴醫(yī)療設(shè)備,中間件系統(tǒng)完成設(shè)備連接、服務(wù)與特征值發(fā)現(xiàn)后,調(diào)用函數(shù)user_info()實(shí)例化一個(gè)對象實(shí)現(xiàn)用戶與設(shè)備之間的關(guān)聯(lián)。同時(shí)將該對象以key-value的形式保存在user{}列表中,key設(shè)置為可穿戴醫(yī)療設(shè)備名稱,value為用戶關(guān)聯(lián)對象,user{}設(shè)備池中保存所有用戶關(guān)聯(lián)對象。

    (2) 客戶端發(fā)起測量指令后,在user{}列表中索引對應(yīng)設(shè)備的關(guān)聯(lián)對象,調(diào)用關(guān)聯(lián)對象的ble_write特征值啟動測量任務(wù)。中間件系統(tǒng)通過關(guān)聯(lián)對象的ble_notify特征值監(jiān)聽可穿戴醫(yī)療設(shè)備發(fā)送來的血壓或心率等監(jiān)測數(shù)據(jù),同時(shí)調(diào)用關(guān)聯(lián)對象的WebSocket接口發(fā)送給使用此設(shè)備的用戶。

    (3) 測量任務(wù)結(jié)束后,中間件系統(tǒng)通過關(guān)聯(lián)對象的peripheral屬性來執(zhí)行peripheral.disconnect()函數(shù)斷開所連接的健康設(shè)備,解除設(shè)備資源占用。

    (4) 最后將user{}列表中對應(yīng)設(shè)備的關(guān)聯(lián)對象清空,該可穿戴醫(yī)療設(shè)備可重新分配給其他的客戶端。

    3.4 可穿戴設(shè)備管理接口設(shè)計(jì)

    本文基于WebSocket通信技術(shù)為調(diào)用方提供管理設(shè)備的接口,中間件系統(tǒng)在WebSocket通信中作為服務(wù)器端,而調(diào)用方的應(yīng)用程序則作為客戶端。如圖6所示為中間件設(shè)備管理流程圖,首先使用方法const wss=new WebSocket.Server({port:2800})創(chuàng)建WebSocket服務(wù)器并將端口設(shè)備為2800。服務(wù)器端基于事件驅(qū)動完成客戶端的請求,主要事件函數(shù)包括′connection′、′message′、′close′,分別對應(yīng)連接建立、收到數(shù)據(jù)、連接斷開的事件回調(diào)[13]。

    圖6 可穿戴醫(yī)療設(shè)備管理流程圖

    服務(wù)器實(shí)時(shí)處于監(jiān)聽狀態(tài),當(dāng)有客戶端建立連接后觸發(fā)′connection′事件并返回客戶端對象ws。服務(wù)器在′message′事件回調(diào)中解析用戶指令,中間件提供的操作指令接口分別為設(shè)備連接、開始測量和關(guān)閉設(shè)備。其中,設(shè)備連接指令用來連接用戶所選擇的可穿戴醫(yī)療設(shè)備,并將連接狀態(tài)發(fā)送給用戶。開始測量指令則啟動可穿戴醫(yī)療設(shè)備以進(jìn)行生命體征測量,中間件實(shí)時(shí)獲取監(jiān)測數(shù)據(jù)并進(jìn)一步處理后發(fā)送給用戶。關(guān)閉設(shè)備指令是將可穿戴醫(yī)療設(shè)備關(guān)閉并斷開與設(shè)備之間的藍(lán)牙連接以釋放資源,同時(shí)將設(shè)備連接狀態(tài)發(fā)送給用戶。服務(wù)器通過ws.send(msg)方法向客戶端發(fā)送數(shù)據(jù),參數(shù)msg為發(fā)送的內(nèi)容并封裝為JSON格式,msg的內(nèi)容為設(shè)備連接狀態(tài)和健康監(jiān)測數(shù)據(jù)??蛻舳送顺龊笥|發(fā)′close′事件,在此回調(diào)函數(shù)中首先檢查用戶所關(guān)聯(lián)的設(shè)備是否關(guān)閉,若存在沒有關(guān)閉的設(shè)備則強(qiáng)制關(guān)閉以上設(shè)備,最后進(jìn)行設(shè)備資源的釋放。

    客戶端與服務(wù)器建立連接之后就可以進(jìn)行雙向通信,雙方只需要進(jìn)行一次請求/響應(yīng)操作,之后每次通信傳輸?shù)亩紴榭刂浦噶詈徒】禂?shù)據(jù),加快了數(shù)據(jù)傳輸?shù)乃俣?,進(jìn)一步提高數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性[14]。

    4 中間件系統(tǒng)測試

    本文將中間件系統(tǒng)部署于Windows10操作系統(tǒng),首先從Windows命令行程序中進(jìn)入系統(tǒng)項(xiàng)目的根目錄,執(zhí)行node healthy_central.js運(yùn)行中間件程序,中間件系統(tǒng)就會以后臺的方式掛起并開始監(jiān)聽2800端口。

    本系統(tǒng)以接入的血壓計(jì)、體溫計(jì)和心率計(jì)來進(jìn)行演示,設(shè)備實(shí)物圖如圖7所示。BLE血壓計(jì)為專業(yè)廠家深圳奧又美公司生產(chǎn);BLE體溫計(jì)由深圳智子云守護(hù)科技公司生產(chǎn)的新一代非接觸式體溫計(jì);BLE心率計(jì)由團(tuán)隊(duì)通過心率傳感器、溫度傳感器、電源和低功耗藍(lán)牙RF芯片制作而成。血壓計(jì)能夠測量實(shí)時(shí)血壓值并得出舒張壓、收縮壓和平均心率,非接觸式體溫計(jì)能夠快速、精準(zhǔn)測量體溫,心率計(jì)能夠?qū)崟r(shí)進(jìn)行心率和室內(nèi)溫度的測量。

    圖7 設(shè)備實(shí)物圖

    目前主流的瀏覽器如Chrome、Firefox等均已支持WebSocket API,所以本文采用HTML5+JavaScript語言編寫了簡易的Web界面通過WebSocket客戶端來訪問系統(tǒng)接口,從而作為調(diào)用方來進(jìn)行便捷的演示。該客戶端同時(shí)適應(yīng)了電腦與移動端設(shè)備,頁面設(shè)計(jì)如圖8所示??蛻舳送ㄟ^瀏覽器訪問中間件系統(tǒng)來管理可穿戴醫(yī)療設(shè)備,主要實(shí)現(xiàn)了onopen()、onmessage()、onclose()等回調(diào)函數(shù),觸發(fā)事件分別為連接建立、接收中間件數(shù)據(jù)、連接關(guān)閉,并通過send()函數(shù)主動向中間件發(fā)送數(shù)據(jù)。當(dāng)客戶端與中間件建立連接后,用戶可發(fā)送指令來管理可穿戴醫(yī)療設(shè)備,客戶端頁面會實(shí)時(shí)顯示設(shè)備連接狀態(tài)與健康數(shù)據(jù)。

    圖8 客戶端界面設(shè)計(jì)

    4.1 可穿戴醫(yī)療設(shè)備連接測試

    本文通過所設(shè)計(jì)的客戶端分別連接BLE體溫計(jì)、血壓計(jì)和心率計(jì)設(shè)備,中間件系統(tǒng)立即執(zhí)行外圍設(shè)備掃描、設(shè)備連接以及特征值發(fā)現(xiàn)操作。為便于觀察,采用VS Code編輯器進(jìn)行輸出結(jié)果的顯示,體溫計(jì)與血壓計(jì)連接操作的中間件系統(tǒng)執(zhí)行結(jié)果如圖9所示,系統(tǒng)掃描設(shè)備后返回設(shè)備的廣播信息如設(shè)備名、設(shè)備MAC地址、設(shè)備連接狀態(tài)等,測試表明中間件系統(tǒng)均能夠快速掃描、連接可穿戴醫(yī)療設(shè)備,并能夠成功匹配操作設(shè)備所需的特征值。

    (a) 體溫計(jì) (b) 血壓計(jì)圖9 可穿戴醫(yī)療設(shè)備連接狀態(tài)圖

    4.2 可穿戴醫(yī)療設(shè)備并發(fā)操作以及數(shù)據(jù)傳輸測試

    為更好地演示客戶端跨平臺的效果以及多設(shè)備并發(fā)操作的性能,在Windows10平臺中通過Chrome瀏覽器啟動一個(gè)客戶端連接心率計(jì)設(shè)備,同時(shí)在兩臺Android7.1移動終端通過QQ瀏覽器啟動客戶端分別連接體溫計(jì)與血壓計(jì)設(shè)備。三個(gè)客戶端在同時(shí)段進(jìn)行各自的健康監(jiān)測,通過Date()方法獲取當(dāng)前的時(shí)間進(jìn)行對照??纱┐麽t(yī)療設(shè)備健康監(jiān)測的效果如圖10所示。測試表明三個(gè)客戶端并發(fā)運(yùn)行下均能夠獨(dú)立地操作可穿戴醫(yī)療設(shè)備,中間件正確執(zhí)行連接設(shè)備、開始測量和關(guān)閉設(shè)備的指令,解析健康監(jiān)測數(shù)據(jù)并實(shí)時(shí)傳輸?shù)娇蛻舳恕?/p>

    (a) 體溫計(jì)監(jiān)測數(shù)據(jù) (b) 血壓計(jì)監(jiān)測數(shù)據(jù) (c) 心率計(jì)監(jiān)測數(shù)據(jù)圖10 并發(fā)操作與數(shù)據(jù)傳輸測試

    中間件系統(tǒng)各項(xiàng)測試結(jié)果表明,基于Node.js的可穿戴醫(yī)療設(shè)備管理系統(tǒng)能夠進(jìn)行便捷有效的設(shè)備操控,系統(tǒng)運(yùn)行穩(wěn)定,能夠正常完成可穿戴醫(yī)療設(shè)備連接、控制、數(shù)據(jù)傳輸?shù)裙ぷ?。相比于安卓,在通用平臺上進(jìn)行可穿戴醫(yī)療設(shè)備的管理有著更強(qiáng)的響應(yīng)速度和更快的數(shù)據(jù)處理能力,并能夠?qū)崿F(xiàn)設(shè)備并發(fā)的操作,非常適合有著計(jì)算需求和并發(fā)測量的應(yīng)用場景。

    5 結(jié) 語

    本文提出并開發(fā)了一種適用于通用平臺的可穿戴醫(yī)療設(shè)備管理中間件,實(shí)現(xiàn)了病房場景下多傳感器設(shè)備的綜合管理功能,進(jìn)而擴(kuò)展了可穿戴醫(yī)療設(shè)備的應(yīng)用場景。基于本文工作,后續(xù)將會進(jìn)一步增強(qiáng)對傳感器設(shè)備的管理能力,通過定義標(biāo)準(zhǔn)化接口來兼容更多廠家、類型的可穿戴醫(yī)療設(shè)備,設(shè)計(jì)兼顧結(jié)構(gòu)化、半結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)預(yù)處理模塊來支持復(fù)雜多樣的傳感器數(shù)據(jù)類型,并進(jìn)一步優(yōu)化支持多傳感器的并發(fā)管理任務(wù),為可穿戴醫(yī)療設(shè)備的管理提供一種靈活易用、更趨智能化的方式。

    猜你喜歡
    設(shè)備系統(tǒng)
    諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
    Smartflower POP 一體式光伏系統(tǒng)
    WJ-700無人機(jī)系統(tǒng)
    ZC系列無人機(jī)遙感系統(tǒng)
    北京測繪(2020年12期)2020-12-29 01:33:58
    基于PowerPC+FPGA顯示系統(tǒng)
    半沸制皂系統(tǒng)(下)
    基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
    基于MPU6050簡單控制設(shè)備
    電子制作(2018年11期)2018-08-04 03:26:08
    連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
    500kV輸變電設(shè)備運(yùn)行維護(hù)探討
    亚洲精品乱码久久久久久按摩| 一区二区三区高清视频在线| 中文字幕av在线有码专区| 国产精品久久视频播放| 在线免费观看的www视频| 成人毛片60女人毛片免费| 夜夜看夜夜爽夜夜摸| 日韩av在线免费看完整版不卡| 岛国在线免费视频观看| 干丝袜人妻中文字幕| 黄色欧美视频在线观看| 成年版毛片免费区| www日本黄色视频网| 免费看美女性在线毛片视频| 国产精品一二三区在线看| 久久这里有精品视频免费| 国产黄片美女视频| 美女国产视频在线观看| 国产精华一区二区三区| 欧美97在线视频| 国产熟女欧美一区二区| 精品午夜福利在线看| 国产精品久久久久久av不卡| 久热久热在线精品观看| 国产伦一二天堂av在线观看| 免费看a级黄色片| 国产成年人精品一区二区| 日韩强制内射视频| 搡老妇女老女人老熟妇| 观看美女的网站| 亚洲aⅴ乱码一区二区在线播放| 两个人视频免费观看高清| 免费看美女性在线毛片视频| 欧美一区二区亚洲| 视频中文字幕在线观看| 舔av片在线| 五月玫瑰六月丁香| 97超视频在线观看视频| 一边亲一边摸免费视频| 国产精品一区二区三区四区久久| 久久久久久国产a免费观看| 精品免费久久久久久久清纯| 久久久国产成人免费| 亚洲国产成人一精品久久久| 两性午夜刺激爽爽歪歪视频在线观看| 久久国产乱子免费精品| av卡一久久| 成人亚洲精品av一区二区| 中国美白少妇内射xxxbb| 亚洲真实伦在线观看| 淫秽高清视频在线观看| 欧美3d第一页| www.av在线官网国产| 97人妻精品一区二区三区麻豆| 亚洲av电影在线观看一区二区三区 | 国产精品无大码| 国产精品国产三级专区第一集| 亚洲av中文av极速乱| 午夜福利高清视频| 哪个播放器可以免费观看大片| 色噜噜av男人的天堂激情| 黑人高潮一二区| 99在线人妻在线中文字幕| 久久人人爽人人爽人人片va| 久久精品综合一区二区三区| 我要看日韩黄色一级片| 欧美激情在线99| 国语对白做爰xxxⅹ性视频网站| 99久久精品国产国产毛片| 精品无人区乱码1区二区| 成人二区视频| 亚洲av电影不卡..在线观看| 91精品国产九色| av线在线观看网站| 国产精品麻豆人妻色哟哟久久 | 国产成人午夜福利电影在线观看| 国产又色又爽无遮挡免| 国产成人午夜福利电影在线观看| 高清视频免费观看一区二区 | 国产精品一区二区三区四区免费观看| 欧美最新免费一区二区三区| 亚洲欧美精品自产自拍| 国产一级毛片七仙女欲春2| 精品一区二区三区人妻视频| 美女大奶头视频| 国产三级在线视频| 亚洲国产欧美在线一区| 国产黄色小视频在线观看| 69人妻影院| 亚洲美女搞黄在线观看| 91av网一区二区| 国产成人91sexporn| 国产精品久久久久久av不卡| 女人被狂操c到高潮| 久久久a久久爽久久v久久| 一个人看视频在线观看www免费| 91久久精品电影网| 色综合亚洲欧美另类图片| 丰满人妻一区二区三区视频av| or卡值多少钱| 欧美成人一区二区免费高清观看| 三级毛片av免费| 日本三级黄在线观看| 精品酒店卫生间| 人人妻人人澡欧美一区二区| 日韩欧美精品v在线| 菩萨蛮人人尽说江南好唐韦庄 | 99在线人妻在线中文字幕| 精品久久久久久久久av| 国产成年人精品一区二区| 我要搜黄色片| 国产精品一二三区在线看| 乱码一卡2卡4卡精品| 久久精品国产亚洲av涩爱| 精品不卡国产一区二区三区| 只有这里有精品99| 国产真实伦视频高清在线观看| 亚洲国产欧洲综合997久久,| 一级二级三级毛片免费看| 六月丁香七月| 最近的中文字幕免费完整| 一区二区三区乱码不卡18| 午夜福利在线在线| 亚洲精品,欧美精品| 欧美日韩精品成人综合77777| 亚洲激情五月婷婷啪啪| 亚洲人成网站在线播| 免费看av在线观看网站| 色视频www国产| 欧美成人精品欧美一级黄| 精品99又大又爽又粗少妇毛片| 老女人水多毛片| 欧美潮喷喷水| 中文字幕av在线有码专区| 国产精品.久久久| 三级国产精品欧美在线观看| 国产精品久久久久久精品电影| 我要搜黄色片| 久久精品国产亚洲av天美| 国产午夜福利久久久久久| 男女边吃奶边做爰视频| 内地一区二区视频在线| 男的添女的下面高潮视频| 美女xxoo啪啪120秒动态图| 亚洲国产成人一精品久久久| 一区二区三区高清视频在线| 日本av手机在线免费观看| 亚洲精品乱码久久久v下载方式| av.在线天堂| 九九热线精品视视频播放| 久久草成人影院| 成人亚洲欧美一区二区av| 美女黄网站色视频| 国产精品伦人一区二区| 人妻夜夜爽99麻豆av| 激情 狠狠 欧美| 女的被弄到高潮叫床怎么办| 午夜福利网站1000一区二区三区| 99九九线精品视频在线观看视频| 久久久a久久爽久久v久久| 又粗又爽又猛毛片免费看| av在线播放精品| 观看免费一级毛片| 又粗又爽又猛毛片免费看| 国产亚洲午夜精品一区二区久久 | av黄色大香蕉| 看片在线看免费视频| 亚洲av二区三区四区| 午夜福利在线观看免费完整高清在| 欧美日韩在线观看h| 卡戴珊不雅视频在线播放| 黄色欧美视频在线观看| 久久99蜜桃精品久久| 欧美成人a在线观看| 久久久精品大字幕| 黄片wwwwww| 青青草视频在线视频观看| 在现免费观看毛片| 精品久久久久久成人av| 99热精品在线国产| 欧美人与善性xxx| 国产黄片美女视频| 中文字幕av成人在线电影| 淫秽高清视频在线观看| 真实男女啪啪啪动态图| 哪个播放器可以免费观看大片| 男插女下体视频免费在线播放| 欧美高清成人免费视频www| 亚洲美女视频黄频| 久久久久性生活片| 欧美三级亚洲精品| 中文字幕熟女人妻在线| 欧美一级a爱片免费观看看| 欧美日本亚洲视频在线播放| 91久久精品国产一区二区三区| 亚洲欧美清纯卡通| 国产麻豆成人av免费视频| 国产精品一区www在线观看| 超碰97精品在线观看| 亚洲三级黄色毛片| 欧美日本视频| 插逼视频在线观看| 3wmmmm亚洲av在线观看| 国产黄色小视频在线观看| 日本一本二区三区精品| 男女下面进入的视频免费午夜| 久久久色成人| 国语自产精品视频在线第100页| 国产成人福利小说| 国产综合懂色| eeuss影院久久| 99在线视频只有这里精品首页| 国产乱人偷精品视频| 国产免费又黄又爽又色| 欧美激情久久久久久爽电影| 国产三级在线视频| 美女黄网站色视频| 91精品伊人久久大香线蕉| 特大巨黑吊av在线直播| 精品酒店卫生间| 国产午夜精品久久久久久一区二区三区| 国产亚洲最大av| 久99久视频精品免费| 99在线视频只有这里精品首页| 亚洲图色成人| 国产伦一二天堂av在线观看| 两个人的视频大全免费| 我的女老师完整版在线观看| 久久韩国三级中文字幕| 欧美成人精品欧美一级黄| 日本黄大片高清| 免费大片18禁| 久久草成人影院| 久久亚洲国产成人精品v| 你懂的网址亚洲精品在线观看 | 成年女人永久免费观看视频| 国产美女午夜福利| 秋霞伦理黄片| av在线蜜桃| 亚洲精品成人久久久久久| 国产一区二区在线av高清观看| 禁无遮挡网站| 国产在线一区二区三区精 | 日日啪夜夜撸| 99久久精品热视频| 天天躁日日操中文字幕| 精品一区二区三区视频在线| 国产v大片淫在线免费观看| 精品久久久久久久人妻蜜臀av| 欧美日韩一区二区视频在线观看视频在线 | 七月丁香在线播放| 特大巨黑吊av在线直播| 久久久亚洲精品成人影院| videossex国产| 国产午夜精品论理片| 日韩大片免费观看网站 | 欧美三级亚洲精品| 成人无遮挡网站| 特级一级黄色大片| a级毛片免费高清观看在线播放| 久久久久久久久久久丰满| 国产三级在线视频| 国产淫片久久久久久久久| 国产精品1区2区在线观看.| 噜噜噜噜噜久久久久久91| 国产亚洲av片在线观看秒播厂 | 成人国产麻豆网| 午夜激情欧美在线| 我的老师免费观看完整版| 国产免费视频播放在线视频 | 日韩av在线免费看完整版不卡| 国语对白做爰xxxⅹ性视频网站| 国产午夜精品论理片| 九色成人免费人妻av| 国产乱人偷精品视频| 亚洲欧美日韩无卡精品| 国产成人aa在线观看| 老司机影院毛片| 九色成人免费人妻av| 亚洲不卡免费看| 久久欧美精品欧美久久欧美| 精品人妻熟女av久视频| 午夜福利网站1000一区二区三区| 2021少妇久久久久久久久久久| 免费无遮挡裸体视频| 国产精品爽爽va在线观看网站| 亚洲精品乱码久久久v下载方式| 自拍偷自拍亚洲精品老妇| 成人av在线播放网站| 国产av码专区亚洲av| 91在线精品国自产拍蜜月| a级一级毛片免费在线观看| 久久久久久伊人网av| 欧美丝袜亚洲另类| 日本免费一区二区三区高清不卡| 亚洲四区av| h日本视频在线播放| 欧美性猛交╳xxx乱大交人| 啦啦啦观看免费观看视频高清| 久久久久久久久大av| 国产v大片淫在线免费观看| 婷婷色麻豆天堂久久 | 91午夜精品亚洲一区二区三区| 亚洲va在线va天堂va国产| 亚洲欧美日韩东京热| 久久久久久大精品| 美女被艹到高潮喷水动态| 99热网站在线观看| 蜜桃久久精品国产亚洲av| 2021天堂中文幕一二区在线观| 2021少妇久久久久久久久久久| .国产精品久久| 少妇裸体淫交视频免费看高清| 中文字幕av在线有码专区| 国产精品人妻久久久影院| 九九爱精品视频在线观看| 亚洲真实伦在线观看| 99在线视频只有这里精品首页| 在线天堂最新版资源| 一二三四中文在线观看免费高清| 成人高潮视频无遮挡免费网站| 欧美一区二区国产精品久久精品| 国产精品电影一区二区三区| 亚洲熟妇中文字幕五十中出| 成人综合一区亚洲| 国产国拍精品亚洲av在线观看| 中文字幕免费在线视频6| 国产精品福利在线免费观看| 国产视频内射| 国产午夜精品久久久久久一区二区三区| 乱系列少妇在线播放| 看免费成人av毛片| 精品少妇黑人巨大在线播放 | 搞女人的毛片| 乱码一卡2卡4卡精品| 99久久九九国产精品国产免费| 欧美bdsm另类| 精品久久久久久久末码| av专区在线播放| 国产一区二区在线观看日韩| 精品人妻熟女av久视频| 亚洲国产高清在线一区二区三| 日本免费a在线| 免费黄网站久久成人精品| 一个人看的www免费观看视频| av在线天堂中文字幕| 国产成人a区在线观看| 亚洲成人精品中文字幕电影| 久久国内精品自在自线图片| 免费无遮挡裸体视频| 中国国产av一级| 欧美丝袜亚洲另类| 小说图片视频综合网站| 久久久精品94久久精品| 99久国产av精品| 久久久久久九九精品二区国产| 好男人视频免费观看在线| 麻豆成人av视频| 99久久中文字幕三级久久日本| 韩国高清视频一区二区三区| 国产免费一级a男人的天堂| 天天躁日日操中文字幕| 国产精品野战在线观看| 精品国产三级普通话版| 国产精品久久视频播放| 国产伦一二天堂av在线观看| 九色成人免费人妻av| 国产乱人偷精品视频| www日本黄色视频网| 一本一本综合久久| 亚洲国产精品合色在线| 激情 狠狠 欧美| 免费观看精品视频网站| 久久久成人免费电影| 国产人妻一区二区三区在| 亚洲成色77777| 嫩草影院新地址| 亚洲av成人精品一区久久| 国产 一区精品| 中文乱码字字幕精品一区二区三区 | 久久久久网色| 欧美+日韩+精品| 国产一区亚洲一区在线观看| 国产在线一区二区三区精 | 一本—道久久a久久精品蜜桃钙片 精品乱码久久久久久99久播 | 亚洲av日韩在线播放| av国产久精品久网站免费入址| av专区在线播放| 亚洲欧洲国产日韩| 国产亚洲av嫩草精品影院| 尾随美女入室| 日韩欧美三级三区| 一级av片app| 波多野结衣高清无吗| 色播亚洲综合网| 国产在线男女| 免费av毛片视频| 成人性生交大片免费视频hd| 岛国毛片在线播放| 少妇人妻一区二区三区视频| 国产精品国产三级国产av玫瑰| 乱系列少妇在线播放| 联通29元200g的流量卡| 国产精品无大码| 观看美女的网站| 久久精品久久久久久久性| 亚洲色图av天堂| 只有这里有精品99| 嫩草影院新地址| av在线老鸭窝| 91久久精品电影网| 精品久久国产蜜桃| 久久精品夜色国产| 久久久久久久久久成人| 欧美日本亚洲视频在线播放| 校园人妻丝袜中文字幕| 99久久成人亚洲精品观看| 大香蕉久久网| 国产成人91sexporn| 亚洲在线观看片| 全区人妻精品视频| 激情 狠狠 欧美| a级毛色黄片| 欧美激情国产日韩精品一区| 国产精品久久久久久精品电影| 国模一区二区三区四区视频| av线在线观看网站| ponron亚洲| 久久久久久大精品| 三级国产精品片| 黄色日韩在线| 国产精品女同一区二区软件| 亚洲欧美一区二区三区国产| 一个人看视频在线观看www免费| 久久这里只有精品中国| av卡一久久| 赤兔流量卡办理| 国产亚洲5aaaaa淫片| 一夜夜www| 一级爰片在线观看| 成人毛片60女人毛片免费| 我要看日韩黄色一级片| 日韩欧美国产在线观看| 又粗又爽又猛毛片免费看| 偷拍熟女少妇极品色| videos熟女内射| 欧美精品一区二区大全| 噜噜噜噜噜久久久久久91| 色尼玛亚洲综合影院| 高清午夜精品一区二区三区| 有码 亚洲区| 99久国产av精品| 波野结衣二区三区在线| 午夜a级毛片| av国产久精品久网站免费入址| 午夜精品一区二区三区免费看| 国产极品天堂在线| 深爱激情五月婷婷| 久热久热在线精品观看| 成人亚洲欧美一区二区av| 久久久久久久久久黄片| 日韩 亚洲 欧美在线| 九草在线视频观看| 婷婷六月久久综合丁香| 一本一本综合久久| 特级一级黄色大片| 五月伊人婷婷丁香| 一区二区三区免费毛片| 日韩一区二区视频免费看| 久久99精品国语久久久| 91精品伊人久久大香线蕉| 欧美97在线视频| 日本五十路高清| 国产在视频线精品| 亚洲av中文字字幕乱码综合| 国产一区二区三区av在线| 日韩亚洲欧美综合| 亚洲成av人片在线播放无| 亚洲欧洲国产日韩| 国产精品美女特级片免费视频播放器| 日日摸夜夜添夜夜添av毛片| 日本wwww免费看| 亚洲成人久久爱视频| 欧美人与善性xxx| 五月玫瑰六月丁香| 啦啦啦啦在线视频资源| 白带黄色成豆腐渣| 久久久精品欧美日韩精品| 18禁动态无遮挡网站| 天堂中文最新版在线下载 | 国产精品久久视频播放| 日韩视频在线欧美| 黄片wwwwww| 久99久视频精品免费| 内射极品少妇av片p| 亚洲精品乱久久久久久| 成人鲁丝片一二三区免费| 黄色一级大片看看| 国产视频首页在线观看| 亚洲图色成人| 日韩精品青青久久久久久| 男人的好看免费观看在线视频| 久久久欧美国产精品| 亚洲av免费在线观看| 免费看日本二区| 国内精品美女久久久久久| 99久久无色码亚洲精品果冻| 一级毛片aaaaaa免费看小| 久久久成人免费电影| 99热全是精品| av天堂中文字幕网| 日日干狠狠操夜夜爽| 国产色婷婷99| 男女下面进入的视频免费午夜| 精品人妻熟女av久视频| 白带黄色成豆腐渣| 在线观看美女被高潮喷水网站| 最近最新中文字幕大全电影3| 少妇人妻一区二区三区视频| 亚洲国产精品成人久久小说| 国产精品乱码一区二三区的特点| 久久久久久大精品| 在线播放国产精品三级| 2022亚洲国产成人精品| 欧美色视频一区免费| 日韩,欧美,国产一区二区三区 | 欧美3d第一页| 国产免费一级a男人的天堂| 一级毛片我不卡| 欧美高清成人免费视频www| www.色视频.com| a级毛色黄片| 日本黄大片高清| 插阴视频在线观看视频| 尾随美女入室| 97在线视频观看| av在线老鸭窝| 午夜a级毛片| 国产单亲对白刺激| 纵有疾风起免费观看全集完整版 | 午夜日本视频在线| 在线免费十八禁| 黄色日韩在线| 嫩草影院新地址| 日韩在线高清观看一区二区三区| 亚洲精品色激情综合| 亚洲国产精品国产精品| 村上凉子中文字幕在线| 韩国av在线不卡| 国产一级毛片七仙女欲春2| 国产成人a∨麻豆精品| 亚洲最大成人中文| 淫秽高清视频在线观看| 天堂av国产一区二区熟女人妻| 亚洲美女视频黄频| 久久久国产成人精品二区| 中文字幕av成人在线电影| 日韩高清综合在线| 最近中文字幕2019免费版| 青青草视频在线视频观看| 国产成人午夜福利电影在线观看| 五月玫瑰六月丁香| 99久久人妻综合| 99久久精品热视频| 美女黄网站色视频| 在线播放国产精品三级| 国产精品久久久久久精品电影| 精品99又大又爽又粗少妇毛片| 国产一区二区三区av在线| 免费在线观看成人毛片| 日本黄大片高清| 老司机影院成人| .国产精品久久| videossex国产| 黄色一级大片看看| 嫩草影院新地址| 久久久久免费精品人妻一区二区| 男女边吃奶边做爰视频| av专区在线播放| 国产精品人妻久久久影院| 午夜精品一区二区三区免费看| 亚洲av成人精品一二三区| 日本三级黄在线观看| 欧美日韩精品成人综合77777| 美女高潮的动态| 深夜a级毛片| 三级国产精品片| 国产午夜精品久久久久久一区二区三区| 熟女人妻精品中文字幕| ponron亚洲| 老司机影院成人| 欧美一区二区精品小视频在线| 男插女下体视频免费在线播放| 精品国产一区二区三区久久久樱花 | 别揉我奶头 嗯啊视频| 精品久久久久久久久亚洲| 欧美成人精品欧美一级黄| 自拍偷自拍亚洲精品老妇| 少妇人妻精品综合一区二区| 成人毛片60女人毛片免费| 一本一本综合久久| av在线蜜桃| 2021少妇久久久久久久久久久| 亚洲精品aⅴ在线观看| 好男人在线观看高清免费视频| 久久热精品热| 亚洲成人久久爱视频| av在线观看视频网站免费| 在线免费观看不下载黄p国产| 日产精品乱码卡一卡2卡三| 99热全是精品| 欧美日本亚洲视频在线播放| 女人被狂操c到高潮| 日本与韩国留学比较| 亚洲精品456在线播放app|