国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于藍(lán)牙4.0的移動(dòng)健康管理平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)

2018-01-09 14:34:38孫文學(xué)鄭自強(qiáng)段言成李卓
電腦知識(shí)與技術(shù) 2017年34期
關(guān)鍵詞:服務(wù)端手環(huán)藍(lán)牙

孫文學(xué)+鄭自強(qiáng)+段言成+李卓

摘要:在科技日新月異的今天,隨著生活水平的提高,人們對(duì)于自身的身體健康問題,特別是日常生活方式的關(guān)注更是日益增加。而日常生活中產(chǎn)生的各種身體健康數(shù)據(jù),能夠顯示出人們當(dāng)前的身體健康狀況,若長(zhǎng)期收集起來,就可以更好的幫助人們監(jiān)測(cè)自身身體健康水平變化。該系統(tǒng)是一款基于藍(lán)牙4.0技術(shù)和Android系統(tǒng)的移動(dòng)健康管理平臺(tái),能夠做到收集用戶運(yùn)動(dòng)與睡眠等數(shù)據(jù)并存儲(chǔ)至云端,同時(shí)以美觀的可視化界面友好地展示給用戶,實(shí)現(xiàn)對(duì)用戶身體健康的監(jiān)測(cè),幫助用戶養(yǎng)成良好的生活方式。

關(guān)鍵詞:藍(lán)牙4.0;Android;REST;移動(dòng)健康

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)34-0024-03

1 背景

隨著社會(huì)的發(fā)展,大家的生活也變得越來越便利,與此同時(shí),我們卻慢慢的忽視了自身的身體健康,導(dǎo)致身體不斷地向我們發(fā)出“警告”。但是我們卻很少能及時(shí)意識(shí)到這些“警告”,當(dāng)我們的身體再也承受不住的時(shí)候,往往就為時(shí)已晚了。因?yàn)楝F(xiàn)在移動(dòng)電子越來越便捷,人們也越來越依賴一些移動(dòng)式的設(shè)備,移動(dòng)手環(huán)就是其中的一類,它用電少,便于攜帶,主要使用藍(lán)牙技術(shù)作為通信協(xié)議,不需要連接互聯(lián)網(wǎng)就可以使用,所以我們希望開發(fā)一款可以通過藍(lán)牙通信協(xié)議與手環(huán)進(jìn)行交互的app。通過藍(lán)牙手環(huán)對(duì)我們身體狀況進(jìn)行監(jiān)控并將相關(guān)的數(shù)據(jù)傳給app,讓我們僅僅通過使用手機(jī)app就能夠時(shí)刻對(duì)自己的健康狀況進(jìn)行了解。

我們的先解決了手環(huán)與app之間的通信問題,然后再進(jìn)行服務(wù)器的搭建,并進(jìn)行存儲(chǔ)數(shù)據(jù)測(cè)試,最后處理app與服務(wù)器之間數(shù)據(jù)傳輸問題。

系統(tǒng)全部搭建完成后,可以成功的通過手環(huán)隨時(shí)查看自己已經(jīng)走過的步數(shù)和自己在睡眠時(shí)的睡眠質(zhì)量,了解自己是有達(dá)到每天自己要達(dá)到的運(yùn)動(dòng)量。

下文將具體介紹本項(xiàng)目的系統(tǒng)架構(gòu)、開發(fā)流程、測(cè)試結(jié)果以及硬件的詳細(xì)參數(shù)。

2 設(shè)計(jì)思路

2.1 主體設(shè)計(jì)

該管理平臺(tái)主要分為兩個(gè)部分:服務(wù)端和客戶端。其中服務(wù)端主要使用Tomcat 8.0、MongoDB等技術(shù)存儲(chǔ)用戶的基本信息和步行與睡眠記錄??蛻舳藙t是一個(gè)基于Android系統(tǒng)和藍(lán)牙4.0技術(shù)的手機(jī)應(yīng)用程序。

2.2 服務(wù)端設(shè)計(jì)

服務(wù)端參考了REST設(shè)計(jì)原則,采用RESTful架構(gòu)構(gòu)建API,即是RESTful API。由于用戶的身體運(yùn)動(dòng)數(shù)據(jù)主要是根據(jù)時(shí)間段、步數(shù)、睡眠時(shí)間等結(jié)合而成的十分復(fù)雜的數(shù)據(jù)類型,所以我們選擇采用MongoDB這個(gè)模式自由的數(shù)據(jù)庫。

2.3 客戶端設(shè)計(jì)

客戶端通過藍(lán)牙4.0讓手機(jī)和智能手環(huán)連接起來,并且兩者之間能夠進(jìn)行數(shù)據(jù)交互,從而手機(jī)能夠獲取到智能手環(huán)收集到的身體數(shù)據(jù),智能手環(huán)也能及時(shí)收到手機(jī)的提示信息,實(shí)現(xiàn)一個(gè)以手機(jī)為主要節(jié)點(diǎn)的體域網(wǎng)。客戶端和服務(wù)端的連接主要是通過互聯(lián)網(wǎng)連接,即是客戶端可以通過WiFi或4g網(wǎng)絡(luò)來向服務(wù)端發(fā)送和接收數(shù)據(jù)。

3 服務(wù)器實(shí)現(xiàn)

在本平臺(tái)中,服務(wù)端主要用于存儲(chǔ)用戶的基本信息,并且通過網(wǎng)絡(luò)與客戶端進(jìn)行數(shù)據(jù)傳輸,從而使得客戶端能夠?qū)崿F(xiàn)獲取用戶的基本信息,上傳用戶的運(yùn)動(dòng)數(shù)據(jù),更新用戶的身體信息與健康目標(biāo)等功能。

3.1 RESTful架構(gòu)

REST這一詞是Roy Thomas Fielding在他2000年的博士論文中提出的,如果一個(gè)架構(gòu)符合REST原則,就稱它為RESTful架構(gòu)。REST是Representational State Transfer的縮寫,翻譯過來是“表現(xiàn)層狀態(tài)轉(zhuǎn)化”,意思是網(wǎng)絡(luò)中的資源在網(wǎng)絡(luò)中以某種方式進(jìn)行狀態(tài)轉(zhuǎn)換。其中資源指的是網(wǎng)絡(luò)中的一個(gè)實(shí)體或是信息,如一張圖片,一段文字等。我們可以用一個(gè)URI指向它,并且每個(gè)資源有自己?jiǎn)为?dú)的URI。如果們要使用某個(gè)資源,我只需要調(diào)用其URI即可。表現(xiàn)則是實(shí)體資源的表現(xiàn)方式,例如一段文字我們能夠用txt格式表現(xiàn)出來,也可以使用xml或則html等格式表現(xiàn)。而網(wǎng)絡(luò)中我們可以通過改變HTTP請(qǐng)求頭中的相關(guān)字段來改變資源的表現(xiàn)形式以及資源本身的狀態(tài),即是狀態(tài)轉(zhuǎn)化。

總結(jié)來說RESTful架構(gòu)就是:

1) 每一個(gè)URI代表一種資源;

2) 客戶端和服務(wù)器之間,傳遞這種資源的某種表現(xiàn)層;

3) 客戶端通過四個(gè)HTTP動(dòng)詞,對(duì)服務(wù)器端資源進(jìn)行操作,實(shí)現(xiàn)“表現(xiàn)層狀態(tài)轉(zhuǎn)化”。

3.2 服務(wù)端功能實(shí)現(xiàn)

作為RESTful Web API,通過HTTP動(dòng)詞對(duì)資源進(jìn)行操作。比如注冊(cè)用戶,對(duì)用戶信息施加 HTTP POST 即可完成注冊(cè)。在用戶登錄客戶端后,不需要將密碼保存在客戶端本地,只需保存一個(gè)Token作為標(biāo)識(shí)來完成后續(xù)請(qǐng)求。

本平臺(tái)的用戶登錄是基于Token的認(rèn)證機(jī)制。用戶登錄時(shí),服務(wù)端接收到發(fā)送的登錄請(qǐng)求,然后驗(yàn)證用戶名和密碼是否匹配正確。若正確,則生成一個(gè)唯一Token字符串返回給客戶端,之后的請(qǐng)求中,客戶端不必再發(fā)送用戶名密碼的信息,只需攜帶Token字符串。而服務(wù)器則需驗(yàn)證Token是否過期,驗(yàn)證成功則用戶驗(yàn)證成功。

由于用戶的運(yùn)動(dòng)數(shù)據(jù)包括有時(shí)間段,步數(shù)等復(fù)雜的數(shù)據(jù)結(jié)構(gòu),所以我們選擇使用對(duì)數(shù)據(jù)類型模式自由的MongoDB數(shù)據(jù)庫。當(dāng)客戶端發(fā)起同步數(shù)據(jù)請(qǐng)求時(shí),使用 HTTP PUT 方法向地址 /users/{username} 提交要更新的用戶信息。服務(wù)器首先驗(yàn)證請(qǐng)求頭中的Token是否合法,如果合法,則更新服務(wù)器中MongoDB數(shù)據(jù)庫里對(duì)應(yīng)用戶的信息,并返回請(qǐng)求成功狀態(tài)碼200。否則返回請(qǐng)求失敗碼。

如果在驗(yàn)證Token過程中,發(fā)現(xiàn)Token距離過期時(shí)間小于一天,則返回刷新過期時(shí)間的Token。對(duì)于過期的Token,在服務(wù)器數(shù)據(jù)庫中存在一個(gè)黑名單,存儲(chǔ)過期Token的唯一身份標(biāo)識(shí)。在每次請(qǐng)求中服務(wù)器會(huì)先在黑名單中查找是否存在,如果存在則返回認(rèn)證失敗,提示客戶端重新登錄獲取新的token,如果不存在則進(jìn)行正常請(qǐng)求。

4 客戶端實(shí)現(xiàn)

4.1 主體部分

4.1.1 Android系統(tǒng)介紹

Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動(dòng)設(shè)備,如智能手機(jī)和平板電腦,由Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。同時(shí)由于Google公司將Android項(xiàng)目源代碼以Apache Software License開源了出來,使得該系統(tǒng)迅速發(fā)展完善,成為現(xiàn)今兩大智能手機(jī)系統(tǒng)之一,并且已經(jīng)保持著十足的發(fā)展勁頭。這也是如今智能手機(jī)如此普及的原因之一。

4.1.2 模塊功能

本平臺(tái)的移動(dòng)端主要包含了3個(gè)應(yīng)用模塊——用戶信息管理模塊,計(jì)步監(jiān)測(cè)模塊,睡眠監(jiān)測(cè)模塊。

用戶信息管理模塊:該模塊包含了用戶的注冊(cè)登錄操作,管理用戶身體數(shù)據(jù),制定運(yùn)動(dòng)目標(biāo)的功能。當(dāng)用戶注冊(cè)登錄時(shí),需要添加用戶的身體數(shù)據(jù),如身高,體重等。注冊(cè)成功后會(huì)將這些數(shù)據(jù)存儲(chǔ)到服務(wù)器端,當(dāng)用戶登錄后能夠獲取到,并且在設(shè)置界面能夠隨時(shí)修改基本的身體數(shù)據(jù)。

計(jì)步檢測(cè)模塊:該模塊包含了記錄用戶運(yùn)動(dòng)的功能。我們通過藍(lán)牙4.0協(xié)議使得移動(dòng)端和我們的智能手環(huán)進(jìn)行數(shù)據(jù)交互。當(dāng)我們?cè)谶\(yùn)動(dòng)時(shí),手環(huán)會(huì)通過算法即時(shí)記錄我們運(yùn)動(dòng)的步數(shù)等運(yùn)動(dòng)信息,然后在通過藍(lán)牙將這些運(yùn)動(dòng)數(shù)據(jù)傳輸?shù)揭苿?dòng)端,最后再由移動(dòng)端通過網(wǎng)絡(luò)將數(shù)據(jù)傳輸儲(chǔ)存在服務(wù)端上完成用戶運(yùn)動(dòng)數(shù)據(jù)的記錄儲(chǔ)存。儲(chǔ)存完成后,用戶也可以利用移動(dòng)端來獲取到自己以前的歷史記錄,了解相關(guān)運(yùn)動(dòng)健康狀況。

睡眠監(jiān)測(cè)模塊:該模塊包含了記錄用戶睡眠數(shù)據(jù)的功能。在我們睡覺之前,點(diǎn)擊移動(dòng)端上的睡眠監(jiān)測(cè)按鈕,開始記錄用戶睡眠狀況。結(jié)束后,和計(jì)步檢測(cè)功能一樣,我們也可以查看睡眠記錄。

4.2 藍(lán)牙部分

這是本平臺(tái)中與移動(dòng)端相連接的智能手環(huán)FSBand:

手環(huán)參數(shù)表如表1所示:

1) 藍(lán)牙4.0協(xié)議介紹

藍(lán)牙是一種無線傳輸標(biāo)準(zhǔn),能夠?qū)崿F(xiàn)固定設(shè)備,移動(dòng)設(shè)備等相互之間短距離的數(shù)據(jù)交換。其最開始是由愛立信公司于1994年創(chuàng)制的,而如今由藍(lán)牙技術(shù)聯(lián)盟(Bluetooth Special Interest Group,簡(jiǎn)稱SIG)管理。

隨著藍(lán)牙技術(shù)的逐漸發(fā)展,藍(lán)牙4.0標(biāo)準(zhǔn)出現(xiàn)在了大眾面前。由于藍(lán)牙4.0的出現(xiàn),使得計(jì)步器,醫(yī)療器械,智能儀表等能夠?qū)崿F(xiàn)無線傳輸。因?yàn)樗{(lán)牙4.0最重要的特性是省電,極低的運(yùn)行和待機(jī)功耗可以使一粒紐扣電池連續(xù)工作數(shù)年之久。此外,低成本和跨廠商互操作性,3毫秒低延遲、AES-128加密等諸多特色也使得藍(lán)牙4.0協(xié)議越來越受到無線技術(shù)開發(fā)者的追捧。

2) 數(shù)據(jù)傳輸實(shí)現(xiàn)

藍(lán)牙4.0通過GATT協(xié)議進(jìn)行通信,它是一個(gè)在藍(lán)牙連接之上的發(fā)送和接收很短的數(shù)據(jù)段的通用規(guī)范,這些很短的數(shù)據(jù)段被稱為屬性(Attribute)。GATT的全稱是Generic Attribute Profile,它定義兩個(gè) BLE 設(shè)備通過叫做Service和Characteristic的東西進(jìn)行通信。GATT 就是使用了 ATT(Attribute Protocol)協(xié)議,ATT 協(xié)議把 Service, Characteristic遺跡對(duì)應(yīng)的數(shù)據(jù)保存在一個(gè)查找表中,次查找表使用 16 bit ID 作為每一項(xiàng)的索引。一旦兩個(gè)設(shè)備建立起了連接,GATT 就開始起作用了,所以必須完成GAP 協(xié)議。GAP協(xié)議(Generic Access Profile)用來控制設(shè)備連接和廣播,它使藍(lán)牙設(shè)備對(duì)其他設(shè)備可見,并決定了藍(lán)牙設(shè)備是否可以或者怎樣與合同設(shè)備進(jìn)行交互。GATT 事務(wù)是建立在嵌套的Profiles, Services 和 Characteristics之上的,如圖4所示:

Service 把數(shù)據(jù)分成一個(gè)個(gè)的獨(dú)立邏輯項(xiàng),它包含一個(gè)或者多個(gè) Characteristic。每個(gè) Service 有一個(gè) UUID 唯一標(biāo)識(shí)。 UUID 有 16 bit 的,或者 128 bit 的。在 GATT 事務(wù)中的最低界別的是 Characteristic,Characteristic 是最小的邏輯數(shù)據(jù)單元,同樣用一個(gè)UUID作為唯一標(biāo)識(shí),它也可能包含一個(gè)組關(guān)聯(lián)的數(shù)據(jù),例如加速度計(jì)的 X/Y/Z 三軸值。和 BLE 外設(shè)通信,主要是通過 Characteristic??梢詮?Characteristic 讀取數(shù)據(jù),也可以往 Characteristic 寫數(shù)據(jù)。這樣就實(shí)現(xiàn)了雙向的通信。

5 平臺(tái)測(cè)試

本節(jié)測(cè)試主要是模擬用戶正常使用情況,以此來測(cè)試服務(wù)端、客戶端以及智能手環(huán)之間數(shù)據(jù)傳輸?shù)木唧w情況。

5.1 注冊(cè)登錄

用戶第一次使用客戶端時(shí)需要注冊(cè)一個(gè)新的賬號(hào),同時(shí)添加其身體數(shù)據(jù)、運(yùn)動(dòng)目標(biāo)的信息。然后使用賬號(hào)登錄我們的客戶端,之后產(chǎn)生的運(yùn)動(dòng)數(shù)據(jù)信息是基于賬號(hào)來存儲(chǔ)在后端服務(wù)器中的。

5.2 日常記錄

正常登錄客戶端后,我們的智能手環(huán)就可以通過藍(lán)牙4.0與手機(jī)相連接,保持?jǐn)?shù)據(jù)的交換。在用戶運(yùn)動(dòng)的過程中,智能手環(huán)利用自身的傳感器獲取到的數(shù)據(jù),根據(jù)相關(guān)的算法數(shù)據(jù)化出用戶運(yùn)動(dòng)情況。之后再通過藍(lán)牙將運(yùn)動(dòng)數(shù)據(jù)傳輸?shù)绞謾C(jī)客戶端。手機(jī)接收到數(shù)據(jù)后,就會(huì)將數(shù)據(jù)通過互聯(lián)網(wǎng)傳輸?shù)皆贫说姆?wù)器中存儲(chǔ)。

5.3 修改數(shù)據(jù)

我們的身體數(shù)據(jù),以及運(yùn)動(dòng)目標(biāo)總是會(huì)變化的,所以這些數(shù)據(jù)時(shí)支持修改的。在設(shè)置界面,可以選擇點(diǎn)擊個(gè)人信息(修改運(yùn)動(dòng)目標(biāo)時(shí)點(diǎn)擊目標(biāo)欄下的相關(guān)選項(xiàng)),進(jìn)入相關(guān)界面后根據(jù)情況修改數(shù)據(jù),最后點(diǎn)擊保存并更新。

6 結(jié)束語

本平臺(tái)利用藍(lán)牙4.0技術(shù)實(shí)現(xiàn)無線體域網(wǎng)收集身體健康數(shù)據(jù),并將智能手機(jī)作為其中的核心節(jié)點(diǎn),通過WiFi或4G等網(wǎng)絡(luò)將數(shù)據(jù)數(shù)據(jù)傳輸至云端服務(wù)器中并存儲(chǔ)。而且隨著智能手環(huán)技術(shù)水平的提高,我們能夠檢測(cè)到的健康數(shù)據(jù)類型也會(huì)越來越多,這時(shí)我們只需要修改客戶端中數(shù)據(jù)上傳部分的代碼即可,無需修改服務(wù)端中數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu),拓展性良好。用戶使用該平臺(tái)能夠隨時(shí)查看其過去身體健康數(shù)據(jù),以到達(dá)檢測(cè)自身身體狀況的效果。

參考文獻(xiàn):

[1] Android (operating system) [EB/OL]. [2017-09-20].https://en.wikipedia.org/wiki/Android_(operating_system)#Market_share

[2] 阮一峰, 理解RESTful架構(gòu) [EB/OL]. [2017-09-23].http://www.ruanyifeng.com/blog/2011/09/restful.html.

[3] Race604, GATT Profile 簡(jiǎn)介 [EB/OL]. [2017-09-26].https://race604.com/gatt-profile-intro/.

[4] 郭霖. 第一行代碼[M]. 北京: 人民郵電出版社, 2014.

猜你喜歡
服務(wù)端手環(huán)藍(lán)牙
愛心手環(huán)
藍(lán)牙音箱的直線之美
簡(jiǎn)單、易用,可玩性強(qiáng)Q AcousticsBT3藍(lán)牙音箱
云存儲(chǔ)中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
新時(shí)期《移動(dòng)Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
適合自己的才是最好的 德生(TECSUN) BT-50藍(lán)牙耳機(jī)放大器
在Windows Server 2008上創(chuàng)建應(yīng)用
緊急:藍(lán)牙指尖陀螺自燃!安全隱患頻出
玩具世界(2017年8期)2017-02-06 03:01:38
紅手環(huán)志愿者服務(wù)團(tuán)歡迎您的加入
學(xué)習(xí)監(jiān)測(cè)手環(huán)
白山市| 雷波县| 利川市| 汉寿县| 中方县| 辽阳县| 靖远县| 禄丰县| 光泽县| 晴隆县| 旌德县| 镇远县| 仁布县| 涿鹿县| 孝昌县| 云南省| 南投市| 伊通| 兴安盟| 海门市| 化隆| 江陵县| 出国| 望谟县| 新乡市| 木里| 治县。| 江山市| 河北区| 广水市| 康保县| 龙州县| 于田县| 三门县| 巴南区| 高台县| 北票市| 英超| 苗栗市| 清原| 札达县|